首頁(yè) > 評(píng)測(cè) > 藍(lán)牙之秘——PSoC 6 BLE Pioneer Kit評(píng)測(cè)系列之二
藍(lán)牙之秘——PSoC 6 BLE Pioneer Kit評(píng)測(cè)系列之二
- [導(dǎo)讀]
- PSoC 6號(hào)稱(chēng)專(zhuān)為物聯(lián)網(wǎng)而生,自然少不了互聯(lián)與低功耗方面的特性。本文就來(lái)一探究竟。
PSoC 6號(hào)稱(chēng)專(zhuān)為物聯(lián)網(wǎng)而生,自然少不了互聯(lián)與低功耗方面的特性,F(xiàn)有的互聯(lián)技術(shù)中,大多還是以WiFi及BLE為主,我們都知道WiFi是耗電大戶,但是WiFi可以直接接入現(xiàn)有的網(wǎng)絡(luò)中,BLE雖則能實(shí)現(xiàn)低功耗傳輸,但是并不能直接接入現(xiàn)有的互聯(lián)網(wǎng)中。比較而言,二者各有千秋,各有自己適用的場(chǎng)景。
PSoC 6 BLE Pioneer Kit提供的互聯(lián)技術(shù)是BLE,低功耗毫無(wú)壓力,只是聯(lián)網(wǎng)時(shí)需要結(jié)合手機(jī)、平板等移動(dòng)終端或者IoT網(wǎng)關(guān)才能實(shí)現(xiàn)真正的接入互聯(lián)網(wǎng),在當(dāng)今的應(yīng)用場(chǎng)景中,也不是大問(wèn)題。
PSoC 6內(nèi)置雙核,包括一顆Cortex-M4內(nèi)核及一顆Cortex-M0+內(nèi)核。M4作為主處理器,最高運(yùn)行主頻達(dá)150MHz,可實(shí)現(xiàn)單指令周期乘法運(yùn)算,主要完成大量的數(shù)據(jù)處理及計(jì)算,在低功耗方面,該內(nèi)核能實(shí)現(xiàn)低至22-uA/MHz的功耗;M0+內(nèi)核作為輔助內(nèi)核,最高運(yùn)行主頻也高達(dá)100MHz,電流消耗低至15‑µA/MHz。
BLE并不稀奇,PSoC 6上值得稀罕的東西是該BLE是最新的BLE 5。雖然也有人稱(chēng)之為BLE 5.0,不過(guò)按照Bluetooth SIG的說(shuō)法,就是BLE 5,而非5.0。BLE 5是全新的標(biāo)準(zhǔn),并不只是BLE 4.2的簡(jiǎn)單改進(jìn)。為了讓用戶更好的進(jìn)行BLE相關(guān)的調(diào)試,PSoC 6 BLE Pioneer Kit套件內(nèi)還提供了一個(gè)BLE USB DONGLE,基于BLE 4.2,結(jié)合CySmart程序,可以清楚的了解BLE通信過(guò)程中發(fā)生的各種事件。
打開(kāi)PSoC Creator 4.2,咦,有新?tīng)顩r。
原來(lái)是license過(guò)期了,得重新申請(qǐng)一個(gè),沒(méi)有l(wèi)icense,就沒(méi)法繼續(xù)用設(shè)計(jì)工具了。只是這個(gè)上面顯示還是PSoC3!
重新申請(qǐng)一個(gè)吧,記得填上自己的EMAIL,否則這個(gè)license code會(huì)發(fā)到別人家里去了。
用新申請(qǐng)的license code重新激活,現(xiàn)在終于OK了。
Cypress為PSoC 6開(kāi)發(fā)套件提供了大量的例程,新手可以參考這些例程來(lái)入門(mén),老鳥(niǎo)們也可以以此為參照,迅速建立自己的產(chǎn)品模型。在PSoC Creator里查找例程,如下
這個(gè)例程除了使用了BLE功能,也使用了墨水屏來(lái)顯示一些指令提示,用來(lái)研究用正好。選擇好示例工程后,PSoC 6 Creator會(huì)將所有必要的文件復(fù)制到當(dāng)前工作區(qū)里,以獨(dú)立的工程形式呈現(xiàn)給用戶。值得稱(chēng)贊的是除了工程文件外,還有完整的PDF文檔供用戶參考,
示例提供的頂層設(shè)計(jì)參考如下
這里包括一個(gè)BLE組件,一個(gè)GPIO中斷組件,一個(gè)MCWDT組件。其中BLE用來(lái)實(shí)現(xiàn)與其它設(shè)備的BLE通信功能,GPIO中斷組件用來(lái)開(kāi)始BLE廣播,MCWDT組件則用來(lái)控制狀態(tài)LED燈,顯示BLE的當(dāng)前工作狀態(tài)。
雙擊BLE組件,彈出BLE設(shè)計(jì)窗口
General選項(xiàng)卡里設(shè)置的主要內(nèi)容是GAP Role,這里是作為Peripheral,供其它設(shè)備來(lái)連接并使用藍(lán)牙來(lái)控制及讀取相關(guān)數(shù)據(jù)。
這個(gè)選項(xiàng)卡定義服務(wù)及特性,也就是GATT設(shè)置,每個(gè)服務(wù)都有自己特定的GUID,這是一個(gè)128位的數(shù)值,用來(lái)唯一區(qū)分每個(gè)服務(wù)及特性,實(shí)際上這里定義了3個(gè)服務(wù),即滑動(dòng)觸摸、RGB三色LED及觸摸按鈕,其中觸摸相關(guān)的信息會(huì)使用Notify的方式推送給Central,RGB LED則是用來(lái)顯示用戶發(fā)送的命令后實(shí)際執(zhí)行的效果。
這里設(shè)置的的GAP參數(shù),包括設(shè)備名,廣播參數(shù)的設(shè)置等,大部分使用默認(rèn)值就好。
看上去很簡(jiǎn)單,然而實(shí)際上并沒(méi)有這么簡(jiǎn)單,下面來(lái)說(shuō)說(shuō)具體設(shè)計(jì)自己的BLE通信時(shí)至少要注意哪幾個(gè)問(wèn)題。
第一個(gè)問(wèn)題是UUID的選擇,如果是自己設(shè)計(jì)BLE服務(wù),需要使用UUID工具生成自己的UUID值,如果是在LINUX系統(tǒng)下,可以直接使用UUID命令即可,當(dāng)然WINDOWS下也有不少工具軟件可以用來(lái)生成UUID。
第二個(gè)問(wèn)題,在設(shè)計(jì)具體的服務(wù)和特性時(shí),要根據(jù)實(shí)際情況指定服務(wù)及特性的一些參數(shù),如下
例如這里的LED控制部分,需要指定特性的一些屬性,如讀/寫(xiě)/通知等。另外也要指定屬性值的長(zhǎng)度及類(lèi)型,例如這里的RGB控制屬性就是一個(gè)4字節(jié)長(zhǎng)度的無(wú)符號(hào)8位整形數(shù)組。
另外還有一個(gè)問(wèn)題是字節(jié)的順序,即大端還是小端的問(wèn)題,當(dāng)然如果只關(guān)心數(shù)據(jù)的RAW形式,倒是不要花太多的心思來(lái)了解這個(gè)問(wèn)題。
為什么沒(méi)有看到EINK的模塊,這只是一個(gè)接口而已,通過(guò)代碼來(lái)實(shí)現(xiàn)了,跟設(shè)計(jì)半毛錢(qián)關(guān)系也沒(méi)有。
接下來(lái)生成代碼,編譯,下載到評(píng)估套件上,開(kāi)始體驗(yàn)BLE。
BLE通信過(guò)程是不可見(jiàn)的,所以得借助特定的工具來(lái)查看這個(gè)通信過(guò)程,像NORDIC的nRF Connect之類(lèi)的就行。前面介紹了,評(píng)估套件里包含一個(gè)BLE USB DONGLE,可以直接在PC上進(jìn)行調(diào)試。
-
- 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!
網(wǎng)友評(píng)論
- 聯(lián)系人:巧克力娃娃
- 郵箱:board@21ic.com
- 我要投稿
-
歡迎入駐,開(kāi)放投稿
- NRF52810藍(lán)牙數(shù)字耳機(jī)找人定制
預(yù)算:¥30005天前
- 125KW模塊式PCS軟硬件外包開(kāi)發(fā)
預(yù)算:¥1100000015小時(shí)前
- 12V汽車(chē)啟動(dòng)電源項(xiàng)目BMS設(shè)計(jì)
預(yù)算:¥50000023小時(shí)前
- 數(shù)據(jù)可視化軟件 開(kāi)發(fā)
預(yù)算:¥5000023小時(shí)前
- PLC項(xiàng)目調(diào)試修改
預(yù)算:¥100001天前
- 起動(dòng)電機(jī)控制器開(kāi)發(fā)
預(yù)算:¥1100001天前