概述html
智能燈,是一個簡單常見的智能產品,硬件電路簡單,程序自己也不復雜;下面咱們使用esp8266開發板和機智云云端,實現如何將一個傳統的燈泡,改形成能夠遠程控制開關的智能燈。linux
一、準備工做ios
硬件:網絡
(1)esp8266開發板session
(2)usb線app
軟件:eclipse
(1)esp8266開發環境 eclipse IDE函數
(2)Vmwave 虛擬機 linux工具
二、開始開發spa
2.1 註冊開發者帳號
機智雲開發者帳號,用於產品接入、設備管理、OTA服務、MCU開發等的功能使用。
註冊連接:http://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下添加代碼
代碼修改就完成了
還有一些細節如聲明頭文件就不發出來了,各位自行添加
2.6 編譯
由於電腦使用的x86編譯器生成的機器碼是沒法在esp8266上運行的,須要交叉編譯工具鏈編譯,因此要在虛擬機LINUX系統上進行
具體操做參考機智雲的開發平臺搭建,這裏就再也不贅述
注意事項:
要使當前編譯的環境變量生效,執行source /etc/environment,這樣在當前命令行終端下該編輯的環境變量有效,換個命令行終端就無效了!固然更好的方式就是重啓系統了
檢查編譯器
一、cd ~
二、執行echo $PATH,查看當前環境變量,是否已經存在/opt/xtensa-lx106-elf/bin。
三、在命令行終端執行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
登錄開發者帳號
軟件須要登錄的,就先前建立的帳號
設備配網
以下面幾個圖操做
開發板調至待鏈接狀態:長按smartconfig鍵,直到rgb燈變綠
設備已鏈接
遠程控制LED燈
至此,實現了手機遠程控制LED燈
剛開始會遇到各類各樣的問題
好比手機連不上開發板,檢查rgb燈是否變綠,家裏wifi是否正常,注意:5G wifi是沒法鏈接上esp8266的
還有ununtu修改了環境變量後重啓顯示空白桌面的狀況,要從新安裝gnome
等等等等。。
加油,共勉吧