久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> Arduino >> 瀏覽文章

終于搞定了通過兩路藍(lán)牙接收數(shù)據(jù)

作者:未知   來源:互聯(lián)網(wǎng)   點(diǎn)擊數(shù):  更新時(shí)間:2014年07月31日   【字體:

一直想做無線傳感器,通過藍(lán)牙來接收數(shù)據(jù),無奈因?yàn)閍rduino接收串口數(shù)據(jù)的一些問題,一直擱到現(xiàn)在。因?yàn)閷W(xué)校里給學(xué)生開了選修課,所以手邊有一些nano和mega可以使用,所以就做了用兩個(gè)nano加上兩個(gè)藍(lán)牙模塊來發(fā)射數(shù)據(jù),用mega加兩個(gè)藍(lán)牙模塊來接收數(shù)據(jù)。因?yàn)閙ega可以同時(shí)使用4路串口,所以考慮用mega來作為主控機(jī),用來接收來自傳感器的數(shù)據(jù),每個(gè)傳感器加一個(gè)nano和藍(lán)牙來無線發(fā)射數(shù)據(jù)。

 

因?yàn)槭菧y(cè)試,所以在nano中寫了一個(gè)簡(jiǎn)單的發(fā)射信號(hào)的語句。以下四nano中的程序:

————————————————我是分界線——————————————————————

int i=1;
void setup() { 
  Serial.begin(9600);   }
  void loop(){
         Serial.print(i);
       Serial.print("$");
       delay(50);
       i++;        
    }

————————————————我是分界線——————————————————————

以下是mega中的程序:

——————————————————我是分界線————————————————————————

String comdata = "";
String shuju="";
String shuju2="";
int i;
void setup()
 {
     Serial.begin(9600);
     Serial1.begin(9600);
     Serial2.begin(9600);
 }

void loop()
 {
     while (Serial1.available() > 0) 
     {
         shuju += char(Serial1.read());
         delay(2);
     }
     while (Serial2.available() > 0)
     {
       shuju2 +=char(Serial2.read());
       delay(2);
     }
     if (shuju.length() > 0)
     {
         i=shuju.indexOf("$");
         if(i!=-1){
         comdata=shuju.substring(0,i);
         Serial.print("#1=");       
         Serial.print(comdata);
         Serial.println("$");
         shuju=shuju.substring(i+1,shuju.length());
         comdata = "";
         i=0;
         }
     }
       if (shuju2.length() > 0)
     {
         i=shuju2.indexOf("$");
         if(i!=-1){
         comdata=shuju2.substring(0,i);
         Serial.print("#2=");
          Serial.print(comdata);
          Serial.println("$");
         shuju2=shuju2.substring(i+1,shuju2.length());
         comdata = "";
         i=0;
          }

——————————————我是分界線————————————————————

上篇忘記介紹藍(lán)牙模塊的設(shè)置了,如果想要利用兩路藍(lán)牙來接收數(shù)據(jù),那么這兩路藍(lán)牙必須設(shè)置不同的密碼,以下是藍(lán)牙模塊的設(shè)置方法,可以將藍(lán)牙模塊接到串口模塊上,然后里喲你串口軟件發(fā)指令給藍(lán)牙模塊,以下設(shè)置是針對(duì)DFrobot的藍(lán)牙模塊的,它上面有開關(guān)可以設(shè)置接收命令狀態(tài)。如果不是DFrobot的藍(lán)牙模塊,只要將KEY針腳接高電平就是可以接受命令狀態(tài)。將兩個(gè)藍(lán)牙模塊設(shè)置為主,然后設(shè)置不同的密碼。再將另外兩個(gè)設(shè)置為從,設(shè)置對(duì)應(yīng)主藍(lán)牙的密碼。以下是具體的命令設(shè)置:

 

在發(fā)送欄中輸入AT(不分大小寫),然后點(diǎn)擊發(fā)送,可看見模塊返回OK,這表示AT指令通訊正常。當(dāng)AT指令設(shè)置完畢后,將2號(hào)開關(guān)AT Mode撥到2端退出AT命令模式,重新上電后設(shè)置才生效。

1.AT指令集如下:

指令 響應(yīng) 參數(shù)
AT OK





2.模塊重啟指令:

指令 響應(yīng) 參數(shù)
AT+RESET OK





3.設(shè)置和查詢模塊連接模式:

當(dāng)模塊無法被適配器、主機(jī)連接時(shí),需配置該參數(shù),配置為AT+CMODE=1。

指令 響應(yīng) 參數(shù)
AT+CMODE=< Param > OK Param:

0 —— 指定藍(lán)牙地址連接模式 (指定藍(lán)牙地址由綁定指令設(shè)置)

1 —— 任意藍(lán)牙地址連接模式 (不受綁定指令設(shè)置地址的約束)

默認(rèn)連接模式:0

AT+CMODE? +CMODE: < Param > OK  
















 

4.設(shè)置和查詢模塊角色:

當(dāng)模塊無法被適配器、主機(jī)搜索到時(shí),需配置該參數(shù),配置為從角色。


模塊角色說明:

Slave(從角色) ——被動(dòng)連接,可以和任意藍(lán)牙適配器配對(duì)使用;

Master (主角色)——查詢周圍從設(shè)備,并主動(dòng)發(fā)起連接,從而建立主、從藍(lán)牙設(shè)備間的透明數(shù)據(jù)傳輸通道。

Slave-Loop(回環(huán)角色) ———被動(dòng)連接,接收遠(yuǎn)程藍(lán)牙主設(shè)備數(shù)據(jù)并將數(shù)據(jù)原樣返回給遠(yuǎn)程藍(lán)牙主設(shè)備;

5.設(shè)置和查詢配對(duì)碼:

6.設(shè)置和查詢串口參數(shù):

舉例:設(shè)置串口波特率:115200,1位停止位,無校驗(yàn)

AT+ UART=115200,0,0\r\n

OK

AT+ UART?

+UART:115200,0,0

OK

注:在應(yīng)用中,選擇1位停止位,無校驗(yàn)。

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 欧美性受xxxx白人性爽 | 欧美一区二区三区久久精品 | 国产一区二区三区四区 | 91 中文字幕| 日本精品国产 | 亚洲不卡在线观看 | 成人欧美一区二区三区1314 | 久久不卡 | 欧美精品一区二区三 | 国家一级黄色片 | 精品视频一区二区三区在线观看 | 国产精品久久亚洲 | 一级毛片成人免费看a | 国产美女在线观看 | www性色 | 国产精品污www在线观看 | 成人一区二| 亚洲精品66 | 正在播放一区二区 | 天天插天天操 | 九九九视频在线 | 亚洲精品天堂 | 正在播放国产精品 | 国产999精品久久久久久 | 国产偷录视频叫床高潮对白 | 美国一级黄色片 | 久久久久久国产精品免费免费 | 一区二区三区国产 | 国产亚洲久 | jizz中国日本 | 99久久久国产精品免费消防器 | 红桃视频一区二区三区免费 | 成人免费视频网站在线看 | 日韩三级精品 | 伊人焦久影院 | 99资源 | 久久乐国产精品 | 午夜精品久久久久久久久久久久久 | 日韩国产免费 | 亚洲人a| 国产伦精品一区二区三区高清 |