首頁 > 評(píng)測 > 傳感器、BLE及云的完美結(jié)合——TI CC2650STK開發(fā)板評(píng)測
傳感器、BLE及云的完美結(jié)合——TI CC2650STK開發(fā)板評(píng)測
- [導(dǎo)讀]
- TI將STK系列定位為下一代IoT演示套件,除了無線通信技術(shù),STK系列都板載了豐富的傳感器并實(shí)現(xiàn)了云端連接的功能,TI宣稱可在3分鐘內(nèi)實(shí)現(xiàn)快速體驗(yàn),看上去很美。
另外從設(shè)備信息節(jié)可以看到當(dāng)前產(chǎn)品的型號(hào)CC2650STK及當(dāng)前固件(Firmware)的版本號(hào),此處為1.3,與PCB上的標(biāo)出的固件版本一致。
APP提供了固件OAD升級(jí)功能,在APP滑動(dòng)內(nèi)容至底部,打開TI OAD Service,檢測當(dāng)前設(shè)備可用的固件,如下圖
可以看到針對(duì)CC2650STK的固件有兩個(gè),一個(gè)是BLE版本,版本號(hào)為1.32,另一個(gè)是ZigBee版本,版本號(hào)為1.12,這里選擇將固件升級(jí)為BLE的1.32版本,點(diǎn)擊下載升級(jí)按鈕,APP開始下載固件并升級(jí),如下圖
這是下載升級(jí)新版固件的畫面。
然而悲劇總是在不經(jīng)意間發(fā)生。為了截取下載升級(jí)固件的畫面,在手機(jī)上截圖時(shí)不小心打破了升級(jí)的過程,然后CC2650就變磚了,真變磚了!LED沒有了閃爍,APP也檢測不到任何設(shè)備。
不過對(duì)于一款開發(fā)板來說,是沒有變磚的說法的。只不過意味著再一次刷寫固件代碼而已,不過STK有自己的特殊性,并沒有板載XDS調(diào)試/下載器,所以需要使用Debug DevPack來再次為CC2650STK燒錄代碼。
CC2650STK的出廠代碼在BLE-STACK2軟件包中,從官方下載該SDK包并安裝,使用CCS7來編譯得到一個(gè)HEX文件并通過DevPack下載到開發(fā)板,然后就滿血復(fù)活了,當(dāng)前最新的固件版本呈為1.4,奇怪的是,該版本號(hào)比OAD升級(jí)中的1.32版本號(hào)要高,估計(jì)是最新的固件版本號(hào)還沒有在OAD服務(wù)中提供吧。
接下來將數(shù)據(jù)推送到云端,按如下設(shè)置打開云端推送功能
打開Push to Cloud開關(guān),數(shù)據(jù)將推送到云端,實(shí)現(xiàn)網(wǎng)絡(luò)訪問功能。默認(rèn)設(shè)置是將數(shù)據(jù)推送到IBM Watson網(wǎng)絡(luò),該網(wǎng)絡(luò)不需要特定的認(rèn)證,只需要一個(gè)唯一的設(shè)備標(biāo)識(shí)即可,如下圖
其中247189e99b06是設(shè)備的ID號(hào),下面顯示的是推送數(shù)據(jù)的圖形化顯示,APP向云端推送了很多數(shù)據(jù),這里顯示的是溫度數(shù)據(jù),如果想顯示其它數(shù)據(jù)如光照值的圖形化顯示,在頁面的下部選擇相應(yīng)的指標(biāo)值即可。
這樣子確實(shí)很方便,不過有一個(gè)問題。從頭到尾,你只不過是個(gè)觀眾,要了解設(shè)備的工作原理,還是需要從代碼著手。接下來看看如何使用CCS(Code Composer Studio)來建立、編譯及調(diào)試一個(gè)程序,讓開發(fā)板按照我們的意愿來執(zhí)行任務(wù)。
CCS當(dāng)前最新的版本為CCS7,從CCS7開始,TI免費(fèi)提供CCS的使用,也就是不再需要License了。從官網(wǎng)下載CCS7安裝程序,安裝過程中CCS會(huì)根據(jù)用戶設(shè)置的選項(xiàng)從網(wǎng)絡(luò)下載需要的軟件包,另外要注意的是CCS安裝過程中最好是關(guān)閉操作系統(tǒng)的反病毒軟件如Windows Defender等程序
這里我們選擇了針對(duì)TI CC13XX及CC26XX系列的MCU支持,后期如果需要添加其它設(shè)備的硬件支持,可以在CCS里再行添加。
安裝好CCS之后,可以新建工程,從頭開始編寫代碼,實(shí)現(xiàn)特定的功能。最快的方式無疑是使用TI為設(shè)備提供的示例代碼,CCS中的資源管理器可以聯(lián)機(jī)搜索代碼資源,針對(duì)TI CC2650STK的相關(guān)代碼包如下
CCS資源管理器左邊是可用的資源,右邊可以對(duì)資源進(jìn)行相關(guān)的操作,首先要下載相關(guān)的資源到本地,然后再導(dǎo)入到CCS中編譯及調(diào)試/下載。
這里以PWM LED為例,該示例工程是TI-RTOS里面的示例代碼。TI-RTOS是TI專門為MCU打造的一款RTOS系統(tǒng),相比與裸機(jī)程序而言,在RTOS里面編寫代碼可以更加專注代碼功能,而代碼的調(diào)度等工作則交給RTOS來管理,程序的邏輯性更強(qiáng)。
PWM LED的主要代碼如下
同大多數(shù)MCU工程代碼一樣,在main函數(shù)里先是初始化硬件,例如時(shí)鐘的配置,GPIO/PWM的配置等。初始化硬件之后,是配置一個(gè)PWM專用的任務(wù)函數(shù),交由RTOS來管理及調(diào)度,TI-RTOS中的任務(wù)創(chuàng)建通過使用Task_Params結(jié)構(gòu)體來指定相關(guān)的參數(shù)如任務(wù)函數(shù)名及任務(wù)參數(shù)等。
任務(wù)創(chuàng)建好后調(diào)用BIOS_start()來啟動(dòng)主循環(huán),開始調(diào)度用戶創(chuàng)建的任務(wù)。
具體實(shí)現(xiàn)PWM任務(wù)的函數(shù)定義如下
這一段代碼設(shè)定占空比,通過duty變量的值來實(shí)現(xiàn)調(diào)整不同的輸出亮度,然后使用Task_sleep來指定簡單的延遲,需要注意的Task_sleep中的參數(shù)是tick值,默認(rèn)每個(gè)tick是10us,該值在每個(gè)工程文件的cfg文件中指定。
編譯并下載代碼到開發(fā)板,實(shí)現(xiàn)的效果如下
前面曾提到CC2650變磚及修復(fù)的問題。如果已有對(duì)應(yīng)固件的HEX文件,也可以不使用CCS來下載。
- 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!
網(wǎng)友評(píng)論
- 聯(lián)系人:巧克力娃娃
- 郵箱:board@21ic.com
- 我要投稿
-
歡迎入駐,開放投稿
- NRF52810藍(lán)牙數(shù)字耳機(jī)找人定制
預(yù)算:¥30005天前
- 125KW模塊式PCS軟硬件外包開發(fā)
預(yù)算:¥1100000015小時(shí)前
- 12V汽車啟動(dòng)電源項(xiàng)目BMS設(shè)計(jì)
預(yù)算:¥50000023小時(shí)前
- 數(shù)據(jù)可視化軟件 開發(fā)
預(yù)算:¥5000023小時(shí)前
- PLC項(xiàng)目調(diào)試修改
預(yù)算:¥100001天前
- 起動(dòng)電機(jī)控制器開發(fā)
預(yù)算:¥1100001天前