上一篇寫了嘗鮮1.6元的藍牙芯片KT6368A,還沒完,今天的主題是實現(xiàn)手機端的測試軟件。手機端大家通常會用LightBlue或者Nordic的nRF Connect軟件做測試,但是作為干嵌入式的攻城獅,我相信肯定有不少人會有興趣想自己弄一個可以修改的軟件,難不成今天要介紹安卓編程了嗎?不,因為我不會!我覺得也沒必要專門為了這個去學(xué)安卓,畢竟我們也不是專門從事安卓開發(fā)的。有一種方法可以搞定,那就是使用QT,大家知道QT可以跨平臺運行,并且用的也是嵌入式工程師熟悉的C++語言,所以可以用QT整一個在安卓系統(tǒng)里運行的藍牙軟件。
下面介紹實現(xiàn)方法:
第一步:QT安卓開發(fā)環(huán)境搭建
我用的QT 5.13,具體環(huán)境搭建大家可以參考:
https://blog.csdn.net/tanglei1224/article/details/104820485
搭建完安卓環(huán)境,如果想編譯安卓平臺的程序,編譯的時候只選擇如下Kit就可以,其它都不用變
如果手機通過USB連接電腦的話,點擊運行,手機端就會提示你安裝應(yīng)用程序。當(dāng)然也可以把編譯后生成的apk放到手機里安裝,編譯生成的apk在如下目錄:
第二步:找QT 安卓BLE程序
我喜歡用前人造好的輪子,在網(wǎng)上找到了這篇文章:
https://blog.csdn.net/rsd102/article/details/112453131?,恰巧還認(rèn)識該作者小哈哥,我把他的公眾號原文也放到這里:Qt編程實例:基于Android的BLE通信軟件,文中有代碼的解釋,感謝小哈哥的分享,讓我很快實現(xiàn)了自己的想法。
為了證明我也干了一點事情,我實際上做了幾處小小的改動:
1.??修改UUID。因為原作者用的藍牙模塊和我不一樣,不改動是沒法正常使用的。
static?const?QLatin1String?serviceUuid("{00010203-0405-0607-0809-0a0b0c0d1910}");
改為:
static?const?quint16?serviceUuid?=?(quint16)0xfff0;
KTA6368A默認(rèn)是16位UUID 0xFFF0,這個在芯片的使用手冊里有說明
增加了發(fā)送區(qū),可以發(fā)送自己手動輸入的內(nèi)容。原來例程是點擊發(fā)送,發(fā)送一個Hello World。
增加了接收區(qū),將接收區(qū)和日志輸出區(qū)分開了。原來例程是一起的。
把原作者的廣告信息換成了新的廣告信息,這個是重點
關(guān)注公眾號,掃碼加入嵌入式交流群: