這次【1024平頭哥開發套件試用】活動,收到了一塊W800(CB6201)無線開發板,經過研究使用,這塊板子能夠很好的接入阿里云生活物聯網平臺,快速開發成為一款智能小燈。
我們將使用開發板上這個乳白色的超大粒LED,它是一顆三色LED,在其旁邊,有一個撥碼開關,來控制RGB三個通道,測試時請將三個撥碼開關都打開(撥向LED)。同時,可以通過PWM來進行控制,從而不僅可以開關,還能設置亮度。
一、開發板WIFi智能燈控代碼下載和編譯
首先,我們打開CDK開發工具,使用官方W800的WiFi智能燈控新建項目即可,具體如下:
使用W800搜索對應的項目,找到WiFi智能燈控:
然后創建工程:
并進行工作區設置:
設置完成后,即可自動下載代碼:
包括需要的依賴包等:
根據網速,可能需要持續一段時間下載完成:
代碼下載完成后,就可以進行編譯了,編譯無誤后,就會生成固件:
因為使用串口工具進行下載,所以需要的文件為:yoc_total.fls
連接好開發板,并使用串口工具進行下載:
固件下載完成后,開發板就做好了準備,下面的步驟,就是在阿里云生活物聯網平臺進行操作了。
等后續設置好,并給開發板配網成功后,開發板將會和物聯網平臺聯通,然后通過物聯網平臺,就可以控制開發板上的三色LED。
阿里云生活物聯網平臺網址為:
https://living.aliyun.com/
二、阿里云生活物聯網平臺操作和設置
按照如下設置,依次建立自有品牌項目、新的產品(電工照明/燈):
注意新建產品中的節點類型、網關設置,以及聯網方式選WiFi
初次使用,就用默認的標準功能定義即可,不用進行修改,直接下一步。
然后,進入人機交互設置。這一步,主要用于設置該產品,在物聯網平臺控制端云智能App中的呈現:
特別要注意的是,設備面板中的面板,選擇一路燈的:
因為設備需要聯網,才能和物聯網平臺通信,所以物聯網平臺為設備提供了簡便快捷的配網方式,通過藍牙,即可在云智聯App上,給開發板配網了,非常方便。
由于使用藍牙配網,所以配網類型,選擇燈(BLE+WiFi):
下一步,就是模組/芯片選擇。郁悶的是,W800既然不在列表中,我們可以選擇W600:
或者選擇未認證模塊:
然后,添加測試設備后,就可以進行實際測試了:
添加設備后,會給出設備的關鍵信息:
以上五種信息:
hal_devinfo_dn:DeviceName
hal_devinfo_ds:DeviceSecret
hal_devinfo_pk:ProductKey
hal_devinfo_ps:Product Secret
hal_devinfo_pid:Product Id
以上五項信息,就是平頭哥開發中常說的五元組信息
kv set hal_devinfo_dn qWfeoh7lufwKHo7VIqGFkv set hal_devinfo_ds 6f3a92f8e7a6519d20796a5e9efb2fd5kv set hal_devinfo_pk a1lRvEBZi07kv set hal_devinfo_ps TJnG77F27J7LdUdCkv setint hal_devinfo_pid 9487546
將下載WiFi智能燈控固件的開發板連接到電腦,用串口工具連接,并按RST鍵重啟,在串口工具中,按回車,會出現#提示符,進入命令操作環境,然后使用如下命令操作:
kv set hal_devinfo_dn qWfeoh7lufwKHo7VIqGFkv set hal_devinfo_ds 6f3a92f8e7a6519d20796a5e9efb2fd5kv set hal_devinfo_pk a1lRvEBZi07kv set hal_devinfo_ps TJnG77F27J7LdUdCkv setint hal_devinfo_pid 9487546
配置完成后,使用reboot指令進行重啟。
三、設備配網連接
首先在物聯網平臺,進入批量投產頁面,打開配網二維碼:
下載安裝 云智聯App,然后打開App,繼續掃碼,就可以出現添加設備的界面,按照提示,使用2.4G WiFi,進入如下界面:
此時,需要按開發板的USR按鍵,待三色LED點亮一次啟動配網模式,再松開:
待配網完成后,將會自動進入控制界面:
自此,開發板和物聯網平臺成功連接,通過 云智聯 界面,可以控制LED的亮度,以及進行開關操作。
四、在線調試
通過物聯網平臺的測試設備界面,可以查看設備的詳情,并進行在線調試:
在日志查看界面,可以查看上行(設備上報)和下行(控制信息)日志:
進入在線調試界面,可以直接對設備下發控制信息:
可以使用的控制信息如下:
1. 開燈:
{ “powerstate”: 1}
2. 關燈:
{ “powerstate”: 0}
3. 設置亮度:
{ “brightness”: 30}
選擇設置,并發送指令時,注意觀察LED的顯示情況。
五、代碼說明
通過這個實例,我們能夠使用WiFi智能燈控實例,把開發板變成一個被物聯網平臺控制的設備了。
在WiFi智能燈控實例代碼中,除了物聯網平臺相關的基礎服務代碼,我們最需要關注的,就是app/src/app_led.c
在這個文件中,包含了:
1. PWM的定義:使用0號PWM通道
// PWM0static pwm_led_t g_pwm_led_ctx = {0, 60, PWM0_PIN, PWM0_CH, PWM0_PIN_FUNC};
2. led初始化:app_pwm_led_init()
3. led實際顯示控制:app_pwm_led_set_config()
4. 關閉led:app_pwm_led_set_stop()
5. 設置亮度:app_pwm_led_set_normal()
6. 控制led亮滅:app_pwm_led_control
7. 亮度值檢查:app_pwm_led_set_brightness()
現在的代碼,只使用的PWM0,我們可以仔細研讀代碼,把PWM1、PWM2也使用起來,從而可以控制燈的顏色,把一個簡單的只有亮度的燈,變成一個還能控制顏色的燈。
原文標題:【技術分享】平頭哥開發套件開發體驗——基于W800開發板的智能小燈開發
文章出處:【微信公眾號:電子發燒友論壇】歡迎添加關注!文章轉載請注明出處。
責任編輯:pj
-
物聯網
+關注
關注
2931文章
46251瀏覽量
392560 -
開發板
+關注
關注
25文章
5682瀏覽量
104766 -
平頭哥
+關注
關注
0文章
73瀏覽量
9586
原文標題:【技術分享】平頭哥開發套件開發體驗——基于W800開發板的智能小燈開發
文章出處:【微信號:gh_9b9470648b3c,微信公眾號:電子發燒友論壇】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
【米爾-全志T536開發板試用體驗】- 多協議物聯網關的開發測試
【正點原子STM32H7R3開發套件試用體驗】4G聯網工業設備控制網關
ARM開發板在物聯網中的應用
嵌入式linux開發板怎么操作
嵌入式linux開發板芯片的工作原理
盤點那些硬件+項目學習套件:阿里云HaaS EDU物聯網開發板及入門常見問題解答

評論