首頁 > 評測 > 傳感器、BLE及云的完美結合——TI CC2650STK開發(fā)板評測

傳感器、BLE及云的完美結合——TI CC2650STK開發(fā)板評測

TI   CC2650   STK   BLE   無線   射頻   開發(fā)套件   
  • 作者:netlhx
  • 來源:21ic
  • [導讀]
  • TI將STK系列定位為下一代IoT演示套件,除了無線通信技術,STK系列都板載了豐富的傳感器并實現(xiàn)了云端連接的功能,TI宣稱可在3分鐘內實現(xiàn)快速體驗,看上去很美。

另外從設備信息節(jié)可以看到當前產品的型號CC2650STK及當前固件(Firmware)的版本號,此處為1.3,與PCB上的標出的固件版本一致。

APP提供了固件OAD升級功能,在APP滑動內容至底部,打開TI OAD Service,檢測當前設備可用的固件,如下圖

TI CC2650STK19.jpg

可以看到針對CC2650STK的固件有兩個,一個是BLE版本,版本號為1.32,另一個是ZigBee版本,版本號為1.12,這里選擇將固件升級為BLE的1.32版本,點擊下載升級按鈕,APP開始下載固件并升級,如下圖

TI CC2650STK20.jpg

這是下載升級新版固件的畫面。

然而悲劇總是在不經意間發(fā)生。為了截取下載升級固件的畫面,在手機上截圖時不小心打破了升級的過程,然后CC2650就變磚了,真變磚了!LED沒有了閃爍,APP也檢測不到任何設備。

不過對于一款開發(fā)板來說,是沒有變磚的說法的。只不過意味著再一次刷寫固件代碼而已,不過STK有自己的特殊性,并沒有板載XDS調試/下載器,所以需要使用Debug DevPack來再次為CC2650STK燒錄代碼。

CC2650STK的出廠代碼在BLE-STACK2軟件包中,從官方下載該SDK包并安裝,使用CCS7來編譯得到一個HEX文件并通過DevPack下載到開發(fā)板,然后就滿血復活了,當前最新的固件版本呈為1.4,奇怪的是,該版本號比OAD升級中的1.32版本號要高,估計是最新的固件版本號還沒有在OAD服務中提供吧。

接下來將數據推送到云端,按如下設置打開云端推送功能

TI CC2650STK21.jpg

打開Push to Cloud開關,數據將推送到云端,實現(xiàn)網絡訪問功能。默認設置是將數據推送到IBM Watson網絡,該網絡不需要特定的認證,只需要一個唯一的設備標識即可,如下圖

TI CC2650STK22.jpg

其中247189e99b06是設備的ID號,下面顯示的是推送數據的圖形化顯示,APP向云端推送了很多數據,這里顯示的是溫度數據,如果想顯示其它數據如光照值的圖形化顯示,在頁面的下部選擇相應的指標值即可。

這樣子確實很方便,不過有一個問題。從頭到尾,你只不過是個觀眾,要了解設備的工作原理,還是需要從代碼著手。接下來看看如何使用CCS(Code Composer Studio)來建立、編譯及調試一個程序,讓開發(fā)板按照我們的意愿來執(zhí)行任務。

CCS當前最新的版本為CCS7,從CCS7開始,TI免費提供CCS的使用,也就是不再需要License了。從官網下載CCS7安裝程序,安裝過程中CCS會根據用戶設置的選項從網絡下載需要的軟件包,另外要注意的是CCS安裝過程中最好是關閉操作系統(tǒng)的反病毒軟件如Windows Defender等程序

TI CC2650STK23.jpg

這里我們選擇了針對TI CC13XX及CC26XX系列的MCU支持,后期如果需要添加其它設備的硬件支持,可以在CCS里再行添加。

安裝好CCS之后,可以新建工程,從頭開始編寫代碼,實現(xiàn)特定的功能。最快的方式無疑是使用TI為設備提供的示例代碼,CCS中的資源管理器可以聯(lián)機搜索代碼資源,針對TI CC2650STK的相關代碼包如下

TI CC2650STK24.jpg

CCS資源管理器左邊是可用的資源,右邊可以對資源進行相關的操作,首先要下載相關的資源到本地,然后再導入到CCS中編譯及調試/下載。

這里以PWM LED為例,該示例工程是TI-RTOS里面的示例代碼。TI-RTOS是TI專門為MCU打造的一款RTOS系統(tǒng),相比與裸機程序而言,在RTOS里面編寫代碼可以更加專注代碼功能,而代碼的調度等工作則交給RTOS來管理,程序的邏輯性更強。

PWM LED的主要代碼如下

 

code1.jpg

 

同大多數MCU工程代碼一樣,在main函數里先是初始化硬件,例如時鐘的配置,GPIO/PWM的配置等。初始化硬件之后,是配置一個PWM專用的任務函數,交由RTOS來管理及調度,TI-RTOS中的任務創(chuàng)建通過使用Task_Params結構體來指定相關的參數如任務函數名及任務參數等。

任務創(chuàng)建好后調用BIOS_start()來啟動主循環(huán),開始調度用戶創(chuàng)建的任務。

具體實現(xiàn)PWM任務的函數定義如下

 

code2.jpg

 

這一段代碼設定占空比,通過duty變量的值來實現(xiàn)調整不同的輸出亮度,然后使用Task_sleep來指定簡單的延遲,需要注意的Task_sleep中的參數是tick值,默認每個tick是10us,該值在每個工程文件的cfg文件中指定。

編譯并下載代碼到開發(fā)板,實現(xiàn)的效果如下

TI CC2650STK25.jpg

前面曾提到CC2650變磚及修復的問題。如果已有對應固件的HEX文件,也可以不使用CCS來下載。

  • 本文系21ic原創(chuàng),未經許可禁止轉載!

網友評論