[ 本文概述 ]
本案例爲機智雲平臺入門級基礎應用開發實例,開發者通過使用機智雲AIoT自助開發平臺和ESP8266,實現對傳統燈泡的遠程APP控制,本案例原理簡單、製作成本低,適合所有具備嵌入式基礎的開發者,尤其適合準備進入IoT的從業者、高校相關專業學生參考學習,掌握物聯網設備基礎開發邏輯。其他更多應用開發詳見官方案例教程。
機智雲物聯網平臺提供多種在線自動開發工具、多型號Gagent固件(Wi-Fi、GPRS、4G等主流聯網方式的固件)、多型號MCU代碼自動生成器(51、STM32、Arduino等)、開源跨平臺APP SDK(iOS、Android、APiCloud)、開源案例和在線教程,以及社區及FAE支持,幫助開發者0成本、快速實現IoT設備遠程控制、數據採集分析、設備及用戶管理等應用開發,詳見:www.gizwits.com機智雲物聯網平臺的開發者中心,club.gizwits.com 物聯網開發者社區。
[ 1、準備工作 ]
智能燈,是一個簡單常見的智能產品,硬件電路簡單,程序本身也不復雜;下面我們使用esp8266開發板和機智云云端,實現如何將一個傳統的燈泡,改造成可以遠程控制開關的智能燈。
1、準備工作
硬件:
(1)esp8266開發板
(2)usb線
軟件:
(1)esp8266開發環境 eclipse IDE
(2)Vmwave 虛擬機 linux
[ 2、開始開發 ]
2.1 註冊開發者賬號
機智雲開發者賬號,用於產品接入、設備管理、OTA服務、MCU開發等的功能使用。
註冊鏈接://dev.gizwits.com/zh-cn/developer/
2.2新建產品
註冊完成後,登陸至機智雲開發者中心後臺後,點擊開發者中心後臺右上角的“創建新產品”菜單,在跳轉頁面新建一個名爲“LED燈”的產品,選擇“Wi-Fi/移動網絡方案”方式接入,並完成產品創建。如下圖
2.3 新建數據點
本次的項目“LED燈”,它需要實現的功能是遠程開燈和關燈,那我們只需在雲端建立一個“布爾值”的數據點即可完成這件事,如下圖:
添加數據點完成之後,點擊“應用”,即可完成整個產品的數據點的新建工作。
2.4 雲端生成代碼
如圖,左邊菜單欄選擇MCU開發,需要填寫的Product Secret看下面
如圖,左邊菜單欄選擇基本信息,點擊顯示完整密鑰就行了
下載代碼包
2.5 修改代碼
在如下目錄導入rgb的.c和.h文件
在主函數下初始化rgb燈
設置回調函數
smartconfig 按鍵配網,長按和短按RGB顏色反饋
修改app/Gizwits/gizwits_product.c 下的 gizwitsEventProcess
在之前設置的數據點(EVENT_)對應的case下添加代碼
代碼修改就完成了
還有一些細節如聲明頭文件就不發出來了,各位自行添加
因爲電腦使用的x86編譯器生成的機器碼是無法在esp8266上運行的,需要交叉編譯工具鏈編譯,所以要在虛擬機LINUX系統上進行
具體操作參考機智雲的開發平臺搭建,這裏就不再贅述
http://docs.gizwits.com/zh-cn/deviceDev/WiFiSOC/GoKit3S%E4%BA%8C%E6%AC%A1%E5%BC%80%E5%8F%91.html#GoKit3-S-%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E5%87%86%E5%A4%87
注意事項:
要使當前編譯的環境變量生效,執行source /etc/environment,這樣在當前命令行終端下該編輯的環境變量有效,換個命令行終端就無效了!當然更好的方式就是重啓系統了
檢查編譯器
1、cd ~
2、執行echo $PATH,查看當前環境變量,是否已經存在/opt/xtensa-lx106-elf/bin。
3、在命令行終端執行xtensa-lx106-elf-gcc -v,如可看到版本號,表示當前交叉編譯器安裝成功
如圖表示編譯完成
2.7 燒寫固件
下載燒寫軟件
https://www.espressif.com/sites/default/files/tools/flash_download_tools_v3.6.4.rar
esp_init_data_default.bin 0x3fc000
blank.bin 0x3fe000
boot_v1.6.bin 0x00000
user1.4096.new.6.bin 0x01000
開發板進入燒錄方式
如圖,開關撥到下載位置,開發板關閉
點擊燒錄軟件的開始按鈕後,給開發板上電
燒錄完畢後記得將開關撥回運行
bin 文件的燒錄地址看下面
2.8設備開始連接雲
下載配網APP
到這個網址去下載app用來給esp8266配網,ios還是安卓看個人手機
https://download.gizwits.com/zh-cn/p/98/99
登陸開發者賬號
軟件需要登陸的,就先前創建的賬號
設備配網
如下面幾個圖操作
至此,實現了手機遠程控制LED燈
剛開始會遇到各種各樣的問題
比如手機連不上開發板,檢查rgb燈是否變綠,家裏wifi是否正常,注意:5G wifi是無法連接上esp8266的
還有ununtu修改了環境變量後重啓顯示空白桌面的情況,要重新安裝gnome
等等等等。。
加油,共勉吧
相關推薦:
- 27個免費視頻教你學安卓APP開發
- 連載六部曲:機智雲Android開源之旅
- Android自定義View系列(時間軸、桌面空間、刮刮樂)
- ESP8266智能定時插座
掃一掃,開啓您的IoT開發之旅
智能淨水/ 智能照明/ 智慧家電互聯互通/ 智慧煙感/ 冷鏈運輸/ 智慧零售/ 工業互聯
文章由 物聯網平臺 機智雲 www.gizwits.com 整理髮布