0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

開發(fā)者案例:使用ESP8266模塊DIY一個熱水器控制器之(2)ESP8266軟件篇

機(jī)智云 ? 2022-04-07 10:23 ? 次閱讀

前言:隨著esp8266物聯(lián)網(wǎng)模塊大量普及,各種“云”應(yīng)接不暇,物聯(lián)網(wǎng)進(jìn)入家庭的速度明顯提高。作為電子DIYER,意味著有了可以快速解決家庭實際需求的有力工具,以前的各種奇思妙想,都可以使用物聯(lián)網(wǎng)技術(shù)用較短的時間內(nèi)實現(xiàn)啦。這不,老婆大人看到我做的門燈控制器,就提出來讓我把家里的熱水器改裝成帶物聯(lián)網(wǎng)遙控的,可以在下班前用手機(jī)打開熱水器,回到家就能有熱水用。


上一篇寫的是硬件篇,包括總體方案設(shè)計、改裝熱水器、WIFI模塊選型、三極管開關(guān)電路設(shè)計、整體組裝等內(nèi)容。

本篇與大家分享ESP8266上運(yùn)行的代碼是如何實現(xiàn)的。換句話說,就是使用ESP8266將硬件設(shè)備的數(shù)據(jù),通過MQTT協(xié)議發(fā)送到機(jī)智云AIoT物聯(lián)網(wǎng)平臺,寫入云端,再傳遞到數(shù)據(jù)上,使用者就能通過手機(jī)APP來遠(yuǎn)程控制硬件設(shè)備。

實現(xiàn)的步驟如下一、注冊機(jī)智云賬號

機(jī)智云自助開發(fā)平臺上注冊自己的賬號,以后自己設(shè)計的任何物聯(lián)網(wǎng)設(shè)備都可以放在這個賬號上面。
98ab2a28-b5ca-11ec-82f6-dac502259ad0.png

二、創(chuàng)建新的設(shè)備并生成源代碼

首先創(chuàng)建一個新設(shè)備
98cef16a-b5ca-11ec-82f6-dac502259ad0.png
然后添加數(shù)據(jù)點(diǎn)
98db14c2-b5ca-11ec-82f6-dac502259ad0.png
數(shù)據(jù)點(diǎn)是light_onoff,這個名字可以是自己定義的其他字母。
98e5eb18-b5ca-11ec-82f6-dac502259ad0.png
在基本信息里面就會看到這個數(shù)據(jù)點(diǎn)的基本信息,注意Secret要想看到完整的,還需要二次密碼驗證。
98f78cba-b5ca-11ec-82f6-dac502259ad0.png
選擇MCU開發(fā)
990d1f12-b5ca-11ec-82f6-dac502259ad0.png
再選擇SOC方案
991aa2f4-b5ca-11ec-82f6-dac502259ad0.png
然后輸入secret,生成代碼包
992835fe-b5ca-11ec-82f6-dac502259ad0.png

下載之后發(fā)現(xiàn)這個代碼包跟樂鑫的結(jié)構(gòu)差不多(這句話是說給用過樂鑫官方代碼朋友聽的)
993f8092-b5ca-11ec-82f6-dac502259ad0.png

三、編譯ESP8266源代碼

上一步生成的源代碼是運(yùn)行在ESP8266模塊內(nèi)部的,怎么編譯和燒寫呢?

下面這個文檔有說明:

https://dwz.date/fpVy

994c2964-b5ca-11ec-82f6-dac502259ad0.png

關(guān)于開發(fā)環(huán)境搭建的內(nèi)容:

https://dwz.date/fpVz

9962b97c-b5ca-11ec-82f6-dac502259ad0.png

關(guān)于ESP8266平臺文件說明:

996f3e9a-b5ca-11ec-82f6-dac502259ad0.png
跟前面學(xué)習(xí)編譯的內(nèi)容都差不多,也是跟樂鑫一樣在D盤新建一個VM文件夾。
然后把所有的文件都放在這個文件夾。我將文件夾名字命名為SoC_ESP8266,這樣短一些,方便輸入。

首先讓linux和windows共享文件夾
輸入用戶密碼:“espressif”,回車確認(rèn)。
9988cc8e-b5ca-11ec-82f6-dac502259ad0.png
這時能夠在VM VirtualBOX虛擬機(jī)里面通過文件夾管理器看到已經(jīng)共享成功了。
999eb3b4-b5ca-11ec-82f6-dac502259ad0.png
本文所要實現(xiàn)的目的是手機(jī)APP控制這個模塊,實現(xiàn)GPIO12的開關(guān),也就是高低電平的轉(zhuǎn)換。

上面的步驟生成的源代碼是不能實現(xiàn)具體引腳的控制的,那么為了實現(xiàn)這個引腳的控制,就需要對代碼進(jìn)行修改。

修改的步驟是在VM文件夾下面,找到相應(yīng)的.c或者.h文件,用記事本或者其他軟件打開并進(jìn)行編輯。

只修改了一點(diǎn)點(diǎn)。

在user_main.c中的keyinit函數(shù)中,添加了初始化GPIO12的代碼。
99b45692-b5ca-11ec-82f6-dac502259ad0.png

然后在gizwits_product.c中,添加了讓小燈翻轉(zhuǎn)的代碼。
99c3f3c2-b5ca-11ec-82f6-dac502259ad0.png
沒錯,就是這么簡單,就像是51單片機(jī)一樣,對引腳初始化,然后在功能函數(shù)中讓它變成高低電平。

四、編譯源代碼并燒寫進(jìn)入ESP8266

接下來開始對這個源代碼進(jìn)行編譯。
下面進(jìn)入app目錄,下面這個界面是運(yùn)行了VM VirtualBOX虛擬機(jī)里面的LX客戶端。模擬的是linux操作系統(tǒng)。
進(jìn)入某個目錄用的是cd命令。
99d9cfbc-b5ca-11ec-82f6-dac502259ad0.png
運(yùn)行編譯腳本:./gen_misc.sh
編譯速度很快
99e7964c-b5ca-11ec-82f6-dac502259ad0.png

接下來開始燒寫
機(jī)智云自動生成的代碼中,有一張圖片,這個圖片說明了該燒寫進(jìn)入哪個地址
99f701ea-b5ca-11ec-82f6-dac502259ad0.png
下面開始燒寫。
9a0fba5a-b5ca-11ec-82f6-dac502259ad0.png
為了方便初學(xué)者看懂,這里說一下硬件連接,ESP8266模塊由上下兩塊組成,其中上面這個就是ESP8266功能板,下面這個其實是一個USB轉(zhuǎn)串口的板子,芯片是CH340,只不過做成了和ESP8266功能板的尺寸一樣了,其實它的功能是和買的那種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幾,串口號記下來,在燒寫的時候,選擇這個串口號就行了。

點(diǎn)擊電腦上的燒寫軟件START,然后按下板子上的FLASH按鍵不松手,然后按下RST按鍵,松手,再松開FLASH按鍵。一般情況下可以一次燒寫成功,如果不成功,請再次點(diǎn)擊燒寫START,再次按照FLASH和RST按鍵步驟進(jìn)行燒寫。

燒寫完之后,模塊就能夠使用了。

下一篇文章分享一下機(jī)智云APP的制作過程,模塊配網(wǎng)連接家里的路由器的過程,以及設(shè)備二維碼的生成。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16041

    瀏覽量

    176762
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2899

    文章

    43822

    瀏覽量

    369351
收藏 人收藏

    評論

    相關(guān)推薦

    ESP8266 太空人動畫的 OLED 顯示

    ESP8266 太空人動畫的 OLED 顯示
    的頭像 發(fā)表于 10-08 15:06 ?122次閱讀
    <b class='flag-5'>ESP8266</b> 太空人動畫的 OLED 顯示

    ESP8266 通過 MQTT 協(xié)議實現(xiàn) LED 的遠(yuǎn)程控制

    本文簡要介紹了搭建 EMQX 服務(wù)實現(xiàn)基于 MQTT 協(xié)議遠(yuǎn)程控制 NodeMCU ESP8266 板載 LED 的解決方案。
    的頭像 發(fā)表于 09-25 09:11 ?1476次閱讀
    <b class='flag-5'>ESP8266</b> 通過 MQTT 協(xié)議實現(xiàn) LED 的遠(yuǎn)程<b class='flag-5'>控制</b>

    arduino(1)--ESP8266配置

    硬件準(zhǔn)備 首先需要準(zhǔn)備開發(fā)板,這里我準(zhǔn)備的是淘寶購買的兼容arduino的ESP8266模塊。 arduino配置 我使用的是ardu
    發(fā)表于 09-06 11:00

    STM32 ESP8266阿里云鏈接源碼

    stm32F103C8T6 ESP8266 物聯(lián)網(wǎng)電表 登錄阿里云
    發(fā)表于 08-29 14:21 ?4次下載

    esp32和esp8266代碼共用嗎

    作為兩款具有Wi-Fi功能的微控制器,因其低成本、易用性和靈活性而受到廣泛關(guān)注。然而,盡管它們在某些方面具有相似性,但在硬件性能、開發(fā)環(huán)境和編程語言等方面仍存在定差異。 二、ESP3
    的頭像 發(fā)表于 08-19 18:23 ?809次閱讀

    esp8266esp32區(qū)別是什么

    以下是關(guān)于ESP8266ESP32的主要區(qū)別: 處理和架構(gòu) : ESP8266 :使用T
    的頭像 發(fā)表于 08-19 18:16 ?3039次閱讀

    ESP8266需要燒錄固件庫嘛

    需要。ESP8266款非常流行的Wi-Fi模塊,廣泛應(yīng)用于物聯(lián)網(wǎng)項目中。它具有低成本、低功耗、易于編程等特點(diǎn),因此受到了許多開發(fā)者的喜愛。在開發(fā)
    的頭像 發(fā)表于 08-19 17:30 ?500次閱讀

    esp8266不燒錄可以使用嗎

    ESP8266款非常流行的Wi-Fi模塊,廣泛應(yīng)用于物聯(lián)網(wǎng)項目中。然而,如果不進(jìn)行燒錄,ESP8266將無法正常工作。 1. ESP8266
    的頭像 發(fā)表于 08-19 17:28 ?497次閱讀

    esp8266wifi模塊怎么連接手機(jī)

    ESP8266 WiFi模塊連接手機(jī)主要可以通過兩種方式實現(xiàn): 通過路由連接(STA模式)和直接作為熱點(diǎn)連接(AP模式) 。以下是兩種連接方式的步驟: 、通過路由
    的頭像 發(fā)表于 08-19 17:27 ?1469次閱讀

    STM32F103 + ESP8266與機(jī)智云開發(fā)常見問題集錦:入門必讀!

    關(guān)于ESP8266模塊的選擇針對初學(xué)者,強(qiáng)烈建議選擇帶有串口的ESP8266開發(fā)板!這可以避免像我曾經(jīng)遇到的燒錄固件失敗等問題。推薦直接購買已預(yù)裝機(jī)智云固件的
    的頭像 發(fā)表于 07-18 08:11 ?353次閱讀
    STM32F103 + <b class='flag-5'>ESP8266</b>與機(jī)智云<b class='flag-5'>開發(fā)</b>常見問題集錦:入門<b class='flag-5'>者</b>必讀!

    開源項目!用ESP8266 DIY會爬墻的無人機(jī)

    的錢買飛行控制器,怎么辦?我們可以自己做一個自己的飛行控制器。之前作者已經(jīng)做了非常便宜的飛行控制器
    發(fā)表于 07-04 09:22

    ESP8266網(wǎng)絡(luò)天氣時鐘OLED顯示

    基于ESP8266實現(xiàn)網(wǎng)絡(luò)獲取天氣和時鐘并OLED顯示
    的頭像 發(fā)表于 06-28 04:46 ?843次閱讀
    <b class='flag-5'>ESP8266</b>網(wǎng)絡(luò)天氣時鐘OLED顯示

    國產(chǎn)低成本W(wǎng)i-Fi SoC解決方案芯片ESP8266ESP8285對比差異

    ESP8266ESP8285對比差異 ESP8285相當(dāng)于在ESP8266基礎(chǔ)上多加了1/2MB Flash,
    的頭像 發(fā)表于 05-17 11:44 ?1057次閱讀
    國產(chǎn)低成本W(wǎng)i-Fi SoC解決方案芯片<b class='flag-5'>ESP8266</b>與<b class='flag-5'>ESP</b>8285對比差異

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

    ESP8266模塊芯片是基于無線通信協(xié)議的UARTWi-Fi透傳模塊芯片,支持802.11b/g/n的無線標(biāo)準(zhǔn),并帶有三種可選擇的工作模式。ESP8266
    的頭像 發(fā)表于 05-10 08:20 ?1543次閱讀
    使用Wi-Fi <b class='flag-5'>ESP8266</b>方案模組接入云平臺

    基于ESP8266的機(jī)智云平臺控制系統(tǒng)設(shè)計

    項目摘要:本項目以智能家居為主題,基于ESP8266的機(jī)智云平臺控制系統(tǒng),利用機(jī)智云平臺和ESP8266WiFi模塊、紅外發(fā)射模塊、STM3
    的頭像 發(fā)表于 11-07 08:10 ?1334次閱讀
    基于<b class='flag-5'>ESP8266</b>的機(jī)智云平臺<b class='flag-5'>控制</b>系統(tǒng)設(shè)計