單片機(jī)如何實(shí)現(xiàn)單片機(jī)+藍(lán)牙模塊或手機(jī)藍(lán)牙模塊,手機(jī)上應(yīng)用程序 ?
假如你用單片機(jī)的串口進(jìn)行通信的話,這樣只需要考慮串口轉(zhuǎn)藍(lán)牙和藍(lán)牙轉(zhuǎn)串口的過程就可以了,主要是二者在通信過程中的編碼和解碼,當(dāng)然你具體處理的肯定是比特流,利用現(xiàn)成的藍(lán)牙模塊,至于具體的藍(lán)牙通信協(xié)議不用深究,但要知道大概。
藍(lán)牙信號(hào)會(huì)被手機(jī)的藍(lán)牙模塊識(shí)別,但是手機(jī)具體如何響應(yīng),需要你控制,這一步相對(duì)要難一些,當(dāng)然只是簡(jiǎn)單功能的話還好說,可以把智能手機(jī)想像成一個(gè)ARM的開發(fā)平臺(tái),就類似單片機(jī)一樣,但是這個(gè)平臺(tái)上已經(jīng)有一個(gè)大型程序,就類似燒芯片一樣,這個(gè)程序叫做操作系統(tǒng),可能是IOS,也可能是安卓,操作系統(tǒng)上會(huì)有現(xiàn)成的API函數(shù),就是為了方便開發(fā),基本可以不考慮硬件而去實(shí)現(xiàn)功能。
根據(jù)你的目的在手機(jī)上編寫小的app,程序,來解讀你所收到的藍(lán)牙信號(hào),比如說可以觸發(fā)手機(jī)按鍵控制單片機(jī)上的LED。當(dāng)然二者的通信過程肯定是有來有往的,就是你必須雙向編碼和解碼,同時(shí)做出相應(yīng)。
///插播一條:我自己在今年年初錄制了一套還比較系統(tǒng)的入門單片機(jī)教程,想要的同學(xué)找我拿就行了免費(fèi)的,私信我或者看個(gè)人簡(jiǎn)介就可以找到我哦~點(diǎn)我頭像黑色字體加我地球呺也能領(lǐng)取哦。最近比較閑,帶做畢設(shè),帶學(xué)生參加省級(jí)或以上比賽///
藍(lán)牙模塊的應(yīng)用中串口助手里的波特率實(shí)際上這個(gè)9600和這個(gè)38400他們倆之間沒有關(guān)系,關(guān)鍵就是說如果用單片機(jī)來做,那這個(gè)模塊單片機(jī)的這個(gè)波特率就要設(shè)置成38400,但是一般來講,單片機(jī)51單片機(jī)波特率做不了特別高,可以把這個(gè)波特率改成9600,就是用之前說的指令可以把它改一下,就是說這個(gè)波特率修改指令,就可以把它改成9600的波特率,這樣的話用起來就更方便了.
這個(gè)AT指令只要自己用串口助手來配,就看得見摸得著,配錯(cuò)了也沒關(guān)系,再重新配,這樣的話就熟悉了這個(gè)AT指令的用法,一旦這個(gè)配置完成之后,比如把他們倆重新斷電,然后再給他上電,大概一兩秒鐘之后,他們倆就自動(dòng)配對(duì)成功了,這樣的話比如把主機(jī)放在你的小車的遙控器上,從機(jī)把它放在小車端,不用的時(shí)候就把電關(guān)了,當(dāng)想用的時(shí)候,你給他打開電源,他們倆就會(huì)自動(dòng)的配對(duì),那就可以完成你的遙控控制了。
剩下的遙控控制就很簡(jiǎn)單了,那就是用串口了,比如說就用指令用ABCD來代表前進(jìn)后退左轉(zhuǎn)右轉(zhuǎn),主機(jī)你發(fā)送一個(gè)a,代表是前進(jìn),從機(jī)接收到一個(gè)a,就控制小車的電機(jī)都正轉(zhuǎn)讓他往前跑,然后發(fā)送一個(gè)B,就代表讓小車后退,主機(jī)發(fā)送,這個(gè)時(shí)候小車端接收到這個(gè)B就控制他后退。
至于這個(gè)發(fā)送,之前說串口的時(shí)候,用發(fā)送一個(gè)字節(jié)的函數(shù),就發(fā)送這個(gè)B,發(fā)送這個(gè)指令就行了,在這個(gè)串口中斷當(dāng)中接收到這個(gè)字符,然后來判斷看看是什么,這樣的話不就完成了一個(gè)小車了嗎?所以AT指令并不是特別復(fù)雜,可以用助手來把它配好,特別是做這種簡(jiǎn)單的應(yīng)用,就比如要用這個(gè)藍(lán)牙做一個(gè)無線耳機(jī)之類,做這種模塊的話,基本上都做這些簡(jiǎn)單的小應(yīng)用。
通過這個(gè)就能熟悉一方面,把串口再重新拾起來,另外一方面,了解這種AT指令,對(duì)你以后學(xué)習(xí)其他的關(guān)于涉及到AT指令的模塊會(huì)有好處,當(dāng)然了,對(duì)配置東西也可以用單片機(jī)來做,但是如果做這種簡(jiǎn)單的東西,沒有必要用單片機(jī)來配,比如用單片機(jī)來配這個(gè)東西,還要查這個(gè)地址什么的,還要去監(jiān)控串口的一些數(shù)據(jù),還要把它讀出來,還要再去做這些處理,那不如用這個(gè)串口助手把他們倆配好,然后只用他的透?jìng)鞴δ芫涂梢粤恕?/p>
包括平時(shí)做的一些項(xiàng)目,用到4G的模塊,那這個(gè)時(shí)候,我們實(shí)際上也是用串口把它配置好,然后只用他的透?jìng)鞴δ?,開機(jī)就是進(jìn)入透?jìng)髂J搅耍苯佑镁托?,這樣的話就比較方便,否則的話也沒必要去買這個(gè)模塊,大家用這種模塊就要學(xué)習(xí)這種模塊的用法。
-
單片機(jī)
+關(guān)注
關(guān)注
6067文章
44992瀏覽量
650664 -
串口
+關(guān)注
關(guān)注
15文章
1588瀏覽量
79970 -
藍(lán)牙模塊
+關(guān)注
關(guān)注
30文章
610瀏覽量
56687
發(fā)布評(píng)論請(qǐng)先 登錄

英銳恩精選筆記UART串口通信#單片機(jī)開發(fā)#單片機(jī)芯片#UART串口通信#單片機(jī)
瑞薩Cortext-M85內(nèi)核RA8系列單片機(jī)的串口輸出實(shí)現(xiàn)方法

單片機(jī)和ads1146進(jìn)行spi通信,讀出的數(shù)據(jù)很亂是怎么回事?
LabVIEW與單片機(jī)無法串口通信 提示串口打開錯(cuò)誤 端口設(shè)置有問題嗎?
使用Python進(jìn)行串口通信的案例
基于51單片機(jī)的多路溫度檢測(cè)調(diào)節(jié)及串口顯示

基于51單片機(jī)的遙控開關(guān)仿真(雙機(jī)通信)

如何實(shí)現(xiàn)51單片機(jī)與PC機(jī)的串行通信
單片機(jī)怎么寫入程序
io口和串口的區(qū)別 單片機(jī)有多少個(gè)io口
單片機(jī)SPI通信實(shí)現(xiàn)
單片機(jī)燒錄程序的線比單片機(jī)上的少還能燒錄嗎
單片機(jī)燒錄程序的串口線怎么連接
第19.1 章-星瞳科技 OpenMV視覺循跡功能 超詳細(xì)OpenMV與STM32單片機(jī)通信

藍(lán)牙模塊如何實(shí)現(xiàn)單片機(jī)和手機(jī)端數(shù)據(jù)互傳

評(píng)論