Step 1 : upload demo code to Arduino board 

 

Arduino demo code

=================

int counter =0;

void setup() {
  Serial.begin(9600);  
  delay(50);
}
 
void loop() {
  counter++;
  Serial.print("Arduino counter: ");
  Serial.println(counter);
  delay(500); // wait half a sec
}

================

sketch_apr17a | Arduino 1.0_004   

 

* 注意 上傳程式時 , Buletooth 模組先不接 , 否則 Tx Rx pin 可能會衝突

Step 2 : 上傳完成 ,再將藍牙模組接上 ; 重新接上 Arduino board usb cable , 讓arduino 與藍牙模組重新啟動 , 此時藍牙模組燈號會快閃

 

Step3 : 在 ubuntu 中利用藍牙管理工具 , 將Arduino 藍牙模組完成配對 , 並記下 mac address , 此時藍牙只完成配對 , 尚無法連結 ,  此時藍牙模組燈號會慢閃 .

 

藍牙_005  

 

             * 注意: 若在windows環境下, 此時不可開啟 Arduino IDE , 否則會導致 RX TX 衝突 , 藍牙失去效用 . 若失效則 Arduino usb cable 需 replus 來重啟 . Linux 下好像無此問題.

 

Step4 : 在 ubnutu 上建立藍牙連結並綁到 rfcomm0  device name , 指令如下

 

jm@hardy:~$ sudo hcitool scan  // 掃瞄藍牙裝置硬體編號 , 也可由上步驟查詢
Scanning ...
00:02:C7:7D:F5:17 BlueGPS 7DF517

jm@hardy:~$ sudo rfcomm bind /dev/rfcomm0 00:02:C7:7D:F5:17 1  // bind device port

jm@hardy:~$ ls -l /dev/rfcomm0
crw-rw---- 1 root dialout 216, 0 2008-12-14 23:15 /dev/rfcomm0

完成連線後 , 此時藍牙模組燈號會恆亮 .

 

Step5 : 開啟 puttyssh client 或 MiniCom  , connection type : serial  , serial line /dev/rfcomm0 , 確認連線 .

 

PuTTY Configuration_006  

 

Step6 : 終端機視窗會開始顯示 Arduino程式 透過藍牙連接 , 所傳送過來的 counter 訊息 .

 -dev-rfcomm0 - PuTTY_007  

 

=============================================================

補充也可以由步驟四開始 , 改為:

Step4 : 直接將藍牙裝置綁定在 /dev/rfcomm0   device name , 並完成連線 . 藍牙模組燈號會顯示恆亮 .

jm@hardy:~$ sudo rfcomm connect  /dev/rfcomm0  00:13:03:20:04:20
Connected /dev/rfcomm0 to 00:13:03:20:04:20 on channel 1
Press CTRL-C for hangup

Step5 : 執行 Arduino IDE , tools -> Serial Port 選擇 rfcomm0 .

 sketch_apr17a | Arduino 1.0_011  

 

Step6 : 開啟 Serial Monitor

sketch_apr17a | Arduino 1.0_012  

 

Step7 : Serial Monitor 開始顯示 Arduino 程式所傳送出來的 counter 訊息

-dev-rfcomm0_013 

 

*Windows下 Arduino IDE  Serial monior 選藍牙的  com port 會有問題 , Linux 則不會 .

 

補充 , 也可上載下面程式 ======================================================

 

    int iLedPin        = 13;
    void setup(){
      // define the PIN as OUTPUT
      pinMode(iLedPin        ,OUTPUT);
       
      // using baud rate 9600 to listen.
      Serial.begin(9600);
    }
    
    void loop(){
      while (Serial.available()){
        char cCmd = Serial.read();
        if (cCmd =='o'){
          digitalWrite(iLedPin,HIGH);
        }else if (cCmd == 'c'){
          digitalWrite(iLedPin,LOW);
        }
      }
    }

================================

再用putty ssh client 連線到藍牙 serial port

輸入  'o' 可開啟 led13 , 輸入 'c' 則關閉.

文章標籤

puffer 發表在 痞客邦 留言(1) 人氣()