前言:隨著esp8266等物聯網模塊大量普及,各種“云”應接不暇,物聯網進入家庭的速度明顯提高。作為電子DIYER,意味著有了可以快速解決家庭實際需求的有力工具,以前的各種奇思妙想,都可以使用物聯網技術用較短的時間內實現啦。這不,老婆大人看到我做的門燈控制器,就提出來讓我把家里的熱水器改裝成帶物聯網遙控的,可以在下班前用手機打開熱水器,回到家就能有熱水用。
上一篇寫的是硬件篇,包括總體方案設計、改裝熱水器、WIFI模塊選型、三極管開關電路設計、整體組裝等內容。
本篇與大家分享ESP8266上運行的代碼是如何實現的。換句話說,就是使用ESP8266將硬件設備的數據,通過MQTT協議發送到機智云AIoT物聯網平臺,寫入云端,再傳遞到數據上,使用者就能通過手機APP來遠程控制硬件設備。
實現的步驟如下一、注冊機智云賬號
在機智云自助開發平臺上注冊自己的賬號,以后自己設計的任何物聯網設備都可以放在這個賬號上面。
二、創建新的設備并生成源代碼
首先創建一個新設備
然后添加數據點
數據點是light_onoff,這個名字可以是自己定義的其他字母。
在基本信息里面就會看到這個數據點的基本信息,注意Secret要想看到完整的,還需要二次密碼驗證。
選擇MCU開發
再選擇SOC方案
然后輸入secret,生成代碼包
下載之后發現這個代碼包跟樂鑫的結構差不多(這句話是說給用過樂鑫官方代碼朋友聽的)
三、編譯ESP8266源代碼
上一步生成的源代碼是運行在ESP8266模塊內部的,怎么編譯和燒寫呢?
下面這個文檔有說明:
https://dwz.date/fpVy
關于開發環境搭建的內容:
https://dwz.date/fpVz
關于ESP8266平臺文件說明:
跟前面學習編譯的內容都差不多,也是跟樂鑫一樣在D盤新建一個VM文件夾。
然后把所有的文件都放在這個文件夾。我將文件夾名字命名為SoC_ESP8266,這樣短一些,方便輸入。
首先讓linux和windows共享文件夾
輸入用戶密碼:“espressif”,回車確認。
這時能夠在VM VirtualBOX虛擬機里面通過文件夾管理器看到已經共享成功了。
本文所要實現的目的是手機APP控制這個模塊,實現GPIO12的開關,也就是高低電平的轉換。
上面的步驟生成的源代碼是不能實現具體引腳的控制的,那么為了實現這個引腳的控制,就需要對代碼進行修改。
修改的步驟是在VM文件夾下面,找到相應的.c或者.h文件,用記事本或者其他軟件打開并進行編輯。
只修改了一點點。
在user_main.c中的keyinit函數中,添加了初始化GPIO12的代碼。
然后在gizwits_product.c中,添加了讓小燈翻轉的代碼。
沒錯,就是這么簡單,就像是51單片機一樣,對引腳初始化,然后在功能函數中讓它變成高低電平。
四、編譯源代碼并燒寫進入ESP8266
接下來開始對這個源代碼進行編譯。
下面進入app目錄,下面這個界面是運行了VM VirtualBOX虛擬機里面的LX客戶端。模擬的是linux操作系統。
進入某個目錄用的是cd命令。
運行編譯腳本:./gen_misc.sh
編譯速度很快
接下來開始燒寫
機智云自動生成的代碼中,有一張圖片,這個圖片說明了該燒寫進入哪個地址
下面開始燒寫。
為了方便初學者看懂,這里說一下硬件連接,ESP8266模塊由上下兩塊組成,其中上面這個就是ESP8266功能板,下面這個其實是一個USB轉串口的板子,芯片是CH340,只不過做成了和ESP8266功能板的尺寸一樣了,其實它的功能是和買的那種USB轉串口的模塊是一樣的。用一根micro USB數據線,也就是目前手機常用的充電/數據線就行了,注意,不是TYPE-C數據線。連接電腦之后,會自動安裝驅動程序,當然,要確保電腦是聯網狀態。驅動安裝成功之后,就會在設備管理器中顯示當前串口是COM幾,串口號記下來,在燒寫的時候,選擇這個串口號就行了。
點擊電腦上的燒寫軟件START,然后按下板子上的FLASH按鍵不松手,然后按下RST按鍵,松手,再松開FLASH按鍵。一般情況下可以一次燒寫成功,如果不成功,請再次點擊燒寫START,再次按照FLASH和RST按鍵步驟進行燒寫。
燒寫完之后,模塊就能夠使用了。
下一篇文章分享一下機智云APP的制作過程,模塊配網連接家里的路由器的過程,以及設備二維碼的生成。
-
控制器
+關注
關注
112文章
16212瀏覽量
177446 -
物聯網
+關注
關注
2903文章
44296瀏覽量
371379
發布評論請先 登錄
相關推薦
評論