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

熱水器繼電器壞了是什么情況
電熱水器繼電器com和no如何接線
esp32和esp8266代碼共用嗎
esp8266和esp32區(qū)別是什么
esp8266不燒錄可以使用嗎
esp8266wifi模塊怎么連接手機(jī)
是否可以使用ESP-NOW協(xié)議,將ESP8266板作為與其他ESP8266板之間的中繼器?
如何配置ESP8266的I2S模塊以接收來自外部微控制器的數(shù)據(jù)?
開源項(xiàng)目!用ESP8266 DIY會爬墻的無人機(jī)
國產(chǎn)低成本W(wǎng)i-Fi SoC解決方案芯片ESP8266與ESP8285對比差異

使用Wi-Fi ESP8266方案模組接入云平臺

評論