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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

機智云自助開發(fā)平臺+ESP8266 WiFi模塊實現(xiàn)插排的智能控制

機智云 ? 2022-01-13 11:22 ? 次閱讀

本文是由開發(fā)者分享基于機智云物聯(lián)網(wǎng)平臺的一款開發(fā)設計,通過ESP8266模塊、NodeMCU開發(fā)板,實現(xiàn)普通排插到Wi-Fi智能控制排插的改造升級,以下為開發(fā)者的分享內(nèi)容。我買了某品牌LED燈 ,可以通過手機App控制開關狀態(tài)和亮度,晚上睡覺前躺著就能關燈,大大方便了我等懶人。拆開一看,發(fā)現(xiàn)其核心部分是一片Wi-Fi模塊 ,電路也不算復雜,我覺得可以自己DIY一個,就去網(wǎng)上淘了幾個ESP8266模塊和基于該模塊的NodeMCU開發(fā)板,打發(fā)空閑時間。本人有一點51單片機Keil基礎,但對于Wi-Fi模塊來說還是個 “小白”,僅簡單地了解過NodeMCU固件,后來發(fā)現(xiàn)了機智云平臺能夠根據(jù)需求在云端生成代碼,下載后簡單地改一下就能用了,平臺還提供手機端App 。用了七八天的空閑時間,我終于完成了Wi-Fi插座的制作。ESP8266芯片是樂鑫生產(chǎn)的,而我們買到的ESP-XX模塊是安信可用樂鑫的模塊再加上必要電路形成的一個單片機最小系統(tǒng)。機智云提供了云平臺并可在云端生成代碼,生成的代碼是建立在安信可SDK的基礎上,然后又添加了自己的一些控制協(xié)議。下面我們就以控制一個LED的亮滅為例,看看具體怎么操作吧!>>>在線生成機智云代碼在機智云官網(wǎng)注冊一個賬號,然后登錄 ,進入開發(fā)者中心創(chuàng)建新產(chǎn)品。產(chǎn)品名稱就叫LEDtest吧 ,選 擇 “Wi-Fi/移動網(wǎng)絡方案”,通信方式和數(shù)據(jù)傳輸方式保持默認即。c65e2a72-73c8-11ec-8495-dac502259ad0.png接著新建數(shù)據(jù)點。c6a9358a-73c8-11ec-8495-dac502259ad0.png本次制作只是控制一個LED的開關, 所以我只定義了一個最簡單的可寫布爾型數(shù)據(jù)點,也就是說只有開和關這兩種狀態(tài)。c70f8fce-73c8-11ec-8495-dac502259ad0.png在MCU開發(fā)頁面中選擇SOC方案和自己的硬件平臺 ,注意這里的單位是 Mbit ( 4 MB= 32Mbit) 。在基本信息中復制 Product Secret后粘貼,然后生成代碼包。c74322c6-73c8-11ec-8495-dac502259ad0.png>>>搭建開發(fā)環(huán)境開發(fā)環(huán)境我選擇了AiThinker_IDE, 因為它不需要安裝 Linux,也不需要虛擬機,在Windows下直接解壓就能使用。下載解壓后先運行ConfigTool.exe,單擊“Default” 后 ,再選擇 “Save” 。c79e3314-73c8-11ec-8495-dac502259ad0.png打開AiThinker_IDE. exe,這里會用到DotNetFx40 Framework,以前沒安裝的話可能會提示安裝。打 開 “File”, 單 擊 “Import”,選擇下圖所示的文件。c815cffa-73c8-11ec-8495-dac502259ad0.png然后單擊 “Next”, 選擇下載到的機智云代碼主目錄 。c863446a-73c8-11ec-8495-dac502259ad0.png>>>修改程序打開主目錄下的 Makefile,把下圖所示的紅框內(nèi)容按照實際情況進行修改。c8bc1644-73c8-11ec-8495-dac502259ad0.png修改參數(shù)如下:BOOT?=none: 不使用 bootBOOT?=old: 用老版本的 boot_*v l . l 十BOOT?=new: 使用新版本的 boot_ v l.2+APP?=0: 不使用遠程升級 F0TAAPP?=1: 使用FOTA, 生成 user1...binAPP?=2: 使用 FOTA, 生成 user2...binSPI 工速度和模式,一般不用改動,保持默認即可。SPI SPEED?=40SPI_MODE?=QIOSPI_SIZE_MAP: Flash映射方式注意:有人說用的是多少MB的Flash就寫多少,本人試過2MB和4MB都沒問題,但用1MB的Flash寫SPI_SIZE_MAP?=1時,編譯失敗。這里還要修改幾個選中的文件,我們一個一個來吧。c96d204c-73c8-11ec-8495-dac502259ad0.pngc99f4fa4-73c8-11ec-8495-dac502259ad0.png

要實現(xiàn)控制LED的亮滅或繼電器的吸合,需要用到一個變量,我們先在 gizwits_ ptoduct.h 中聲明一下。因為只有開和關2個狀態(tài),用bool型就可以,這有點像KeilC51中的bit類型。

別忘了在gizwits_ product.c中進行初始化設置,這里設置LED是低電平點亮,上電初始化為高電平,默認不點亮。c9e01e3a-73c8-11ec-8495-dac502259ad0.png往下拉,找到 gizwitsEventProcess 函數(shù)。這個函數(shù)的作用是用云端數(shù)據(jù)點的值 CurrentDataPoint.valueLED 來控制LED等需要控制的實際電路,當云端為1時(ON),我們自己定義的變量STA=0,LED點亮;云端為0時(OFF),則STA=1,LED熄滅。ca15c652-73c8-11ec-8495-dac502259ad0.png繼續(xù)向下 ,修改userHandle用戶定 時器的回調(diào)函數(shù),默認為1000ms調(diào)用一次 ,也可以在 gizwits_ protocol.c文件中修改 USER_TIME_MS,此處調(diào)用時間修改為100ms。把 STA賦值給實際操作的 GPIO來完成 LED的亮滅 ,并把本地狀態(tài)與云端完成同步。ca60ee48-73c8-11ec-8495-dac502259ad0.png文件最下面,初始化云端數(shù)據(jù)點的值。ca8a7272-73c8-11ec-8495-dac502259ad0.png接下來 ,打開 user_main.c文件, 找到下圖所示的位置。

cad1ee22-73c8-11ec-8495-dac502259ad0.png

云端生的代碼默認定義了2個按鍵,而我們只需要1個就夠了。NodeMCU開板的Flash按鍵接在 GPIO0 引腳。在定義按鍵時要注意 GPIO 的命名規(guī)則,比如GPIO1在程序里要寫為U0TXD,這對初學者來說是要重點注意的地方。Inst Name、 GPIO 和 NodeMCU 的對照關系,如圖所示。caec7648-73c8-11ec-8495-dac502259ad0.png在user_main.c 文件中把與Key2有關的函數(shù)都刪掉。在Key1ShortPress函數(shù)里添加 “STA= ! STA; ”, 即每次短按把STA取反,也就是說短按點亮 LED,再按一下LED燈滅 。Key1LongPress里還有—句“gizwitsSetMode(WIFI_ AIRLINK_ MODE)”, 其作用是在長按按鍵時讓ESP8266模塊進入配對模式,此時開發(fā)板右上角LED點亮 ,然后通過手機 App把模塊接入Wi-Fi。cb31d60c-73c8-11ec-8495-dac502259ad0.png再往下就是GPIO 的初始化。ESP8266 模塊右上角有一個 LED接到了 GPIO2 , 在程序中配置一下用作配對指示 。開發(fā)板靠近Micro USB的LED接在了 GPIO16 ,這就是我們最終要控制的指示燈了。值得注意的是,GPIO16的控制與其他端口的控制是不同的。cb848050-73c8-11ec-8495-dac502259ad0.png下圖所示是按鍵與LED的電路圖。cbb83512-73c8-11ec-8495-dac502259ad0.png到這里程序就修改完了,仔細檢查確認無誤后保存。在最左側C/C + + Projects窗口主目錄上單擊鼠標右鍵,選擇 “Build Project”。如果沒有錯誤,就會看到生成了 user1.4096.new.4.bin 等文件,如下圖所示。沒看到的話說明程序有錯誤,請仔細確認。cbf8656a-73c8-11ec-8495-dac502259ad0.png打開ESP8266燒寫工具ESPFIashDownloadTool_ v3 .6.4,選擇ESP8266 DownloadTool,按照圖所示進行配置 。cc60c3e4-73c8-11ec-8495-dac502259ad0.png設置好后單擊 “START”,下載完成后按一下模塊的 Reset,模塊端配置完成。>>>手機端配置下載安裝并打開機智云App。賬號 、密碼頁面直接選跳過,點擊右上角的 “ + ”號 ,選一鍵配置后輸入當前手機所連接的 SSID和 Wi-Fi密碼。進行下一步 ,模組類型選擇樂鑫,在出現(xiàn) “通電后按以下提示操作”后(如圖所示) ,長按 NodeMCU開 發(fā) 板 Flash按鍵 ,右上角 LED點亮后,點 擊 “我已完成上述操作”, 稍等一會兒會提示完成設備添加。cd47ae6c-73c8-11ec-8495-dac502259ad0.png試著劃動 “開啟/關閉”按鈕,看NodeMCU開發(fā)板上的LED是否可以正常亮滅。cd814848-73c8-11ec-8495-dac502259ad0.png按動NodeMCU開發(fā)板上的Flash按鍵,LED亮滅的同時,手機 App上的開關狀態(tài)也應同步開關。cdb4d514-73c8-11ec-8495-dac502259ad0.png到這里,我們已完成了DIY—個Wi- Fi插座的所有知識介紹。接下來找出洞洞板,抄起電烙鐵,開工制作。>>>實際制作我找出以前買來的3位插排。拆掉開關和接線端子,用騰出來的空間安裝220V轉 5V 開關電源、ESP8266控制板和繼電器,把開關蓋用熱溶膠固定在原來的位置。在確定可以放下2個繼電器后,我決定做2路的智能插座,剩下的1路用來做常通插座。cdffc0ec-73c8-11ec-8495-dac502259ad0.png找一個手機5V適配器,去掉外殼和USB 接口以減小體積。ce3dc3b0-73c8-11ec-8495-dac502259ad0.png電路用洞洞板簡單搭一下,ESP07 小板加上 LDO、阻容、繼電器,一會就焊好 了 。ce7f07e4-73c8-11ec-8495-dac502259ad0.png修改上面調(diào)試好的程序,把數(shù)據(jù)點改成 2個, 編譯完成后燒寫到模塊,然后用熱熔膠固定。高壓 、低壓之間記得用塑料片隔離,安全第一。ced16f84-73c8-11ec-8495-dac502259ad0.png因為沒有按鍵作AIRLINK,所以我將程序改為上電后30s未連接到Wi-Fi自動切換為AIRLINK配網(wǎng)模式,同時板載的藍色LED點亮, 因為很少會用到此功能,且從側面也能看到燈光,就沒有額外開LED孔位。cf2b9fa4-73c8-11ec-8495-dac502259ad0.png在手機端輸入Wi-R的SSID和密碼就能把插排接入互聯(lián)網(wǎng),測試正常后,把插座裝好,就可以投入使用了。

智能插排的用途可以自由發(fā)揮,只要是能用開關控制的電器都可以接入,比如USB小燈、 普通風扇、電動車充電(可以將程序改為開啟后定時關閉)等 。

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

    關注

    2899

    文章

    43822

    瀏覽量

    369351
  • 機智云
    +關注

    關注

    2

    文章

    572

    瀏覽量

    26349
收藏 人收藏

    評論

    相關推薦

    機智入門必備》手把手教你燒錄GAgent固件

    本文《機智入門必備》將詳細講解GAgent固件的燒錄過程,從基礎設置到實際操作,將一步步帶你完成每一個環(huán)節(jié),確保你的設備順利連接機智平臺
    的頭像 發(fā)表于 09-12 08:04 ?251次閱讀
    《<b class='flag-5'>機智</b><b class='flag-5'>云</b>入門必備》手把手教你燒錄GAgent固件

    基于機智智能私家車庫控制系統(tǒng)設計與實現(xiàn)

    煙霧傳感器用于火災檢測,HC-SR04超聲波傳感器用于水位監(jiān)測,esp8266作為WiFi通信模塊,通過機智物聯(lián)網(wǎng)
    的頭像 發(fā)表于 09-11 08:04 ?344次閱讀
    基于<b class='flag-5'>機智</b><b class='flag-5'>云</b>的<b class='flag-5'>智能</b>私家車庫<b class='flag-5'>控制</b>系統(tǒng)設計與<b class='flag-5'>實現(xiàn)</b>

    esp8266wifi模塊怎么連接手機

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

    機智ESP8266開發(fā)板RGB彩燈控件

    隨著智能家居技術的迅猛發(fā)展,RGB彩燈控件正逐漸成為現(xiàn)代家庭不可或缺的一部分。在這一潮流中,機智(Gizwits)的ESP8266開發(fā)板R
    的頭像 發(fā)表于 08-09 08:10 ?295次閱讀
    <b class='flag-5'>機智</b><b class='flag-5'>云</b><b class='flag-5'>ESP8266</b><b class='flag-5'>開發(fā)</b>板RGB彩燈控件

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

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

    個人機智開發(fā)實踐:經(jīng)驗總結與技術分享

    無線模塊的GAgent固件。例如,我使用了正點原子的esp8266模塊,選擇了對應的GAgentforESP8266固件。5.MCU方案代碼移植6.將
    的頭像 發(fā)表于 07-05 08:10 ?269次閱讀
    個人<b class='flag-5'>機智</b><b class='flag-5'>云</b><b class='flag-5'>開發(fā)</b>實踐:經(jīng)驗總結與技術分享

    確定ESP8266固件下載成功的方法

    在物聯(lián)網(wǎng)設備的開發(fā)過程中,確定esp8266固件是否成功下載至設備十分關鍵。以下是一種簡單有效的確認方法:機智物聯(lián)網(wǎng)平臺首先,確保你的
    的頭像 發(fā)表于 05-16 08:10 ?432次閱讀
    確定<b class='flag-5'>ESP8266</b>固件下載成功的方法

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

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

    通過STM32+ESP8266 Wifi模塊 +服務器,做一個數(shù)據(jù)收發(fā)控制的板子服務器方面該如何選擇?

    通過STM32+ESP8266 Wifi模塊 +服務器 做一個數(shù)據(jù)收發(fā)控制的板子 服務器方面
    發(fā)表于 04-25 08:16

    單片機怎么連接wifi模塊esp

    連接WiFi模塊ESP8266到單片機有多種方法和步驟。在這篇文章中,我將為您詳細介紹如何連接ESP8266模塊到Arduino單片機。本文
    的頭像 發(fā)表于 12-25 13:42 ?2132次閱讀

    ESP8266 WiFi模塊用戶手冊V1.0

    電子發(fā)燒友網(wǎng)站提供《ESP8266 WiFi模塊用戶手冊V1.0.doc》資料免費下載
    發(fā)表于 11-17 10:09 ?20次下載
    <b class='flag-5'>ESP8266</b> <b class='flag-5'>WiFi</b><b class='flag-5'>模塊</b>用戶手冊V1.0

    ESP8266-01燒寫機智GAgent使用哪種SPI模式?

    ESP8266-01燒寫機智GAgent使用哪種SPI模式 官網(wǎng)有DIO和QIO兩種
    發(fā)表于 11-10 08:06

    ESP8266-01燒錄機智GAgent時SPI Mode選擇哪種?

    ESP8266-01燒錄機智GAgent時SPI Mode選擇哪種?是選擇合并的固件還是單獨燒寫
    發(fā)表于 11-10 07:54

    Esp8266接入什么平臺支持阿里智能方糖控制?

    Esp8266接入什么平臺支持阿里智能方糖控制
    發(fā)表于 11-09 06:41

    基于ESP8266機智平臺控制系統(tǒng)設計

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