本文是由開發(fā)者分享基于機智云物聯(lián)網(wǎng)平臺的一款開發(fā)設(shè)計,通過ESP8266模塊、NodeMCU開發(fā)板,實現(xiàn)普通排插到Wi-Fi智能控制排插的改造升級,以下為開發(fā)者的分享內(nèi)容。我買了某品牌的LED燈 ,可以通過手機App控制開關(guān)狀態(tài)和亮度,晚上睡覺前躺著就能關(guān)燈,大大方便了我等懶人。拆開一看,發(fā)現(xiàn)其核心部分是一片Wi-Fi模塊 ,電路也不算復(fù)雜,我覺得可以自己DIY一個,就去網(wǎng)上淘了幾個ESP8266模塊和基于該模塊的NodeMCU開發(fā)板,打發(fā)空閑時間。本人有一點51單片機和Keil基礎(chǔ),但對于Wi-Fi模塊來說還是個 “小白”,僅簡單地了解過NodeMCU固件,后來發(fā)現(xiàn)了機智云平臺能夠根據(jù)需求在云端生成代碼,下載后簡單地改一下就能用了,平臺還提供手機端App 。用了七八天的空閑時間,我終于完成了Wi-Fi插座的制作。ESP8266芯片是樂鑫生產(chǎn)的,而我們買到的ESP-XX模塊是安信可用樂鑫的模塊再加上必要電路形成的一個單片機最小系統(tǒng)。機智云提供了云平臺并可在云端生成代碼,生成的代碼是建立在安信可SDK的基礎(chǔ)上,然后又添加了自己的一些控制協(xié)議。下面我們就以控制一個LED的亮滅為例,看看具體怎么操作吧!>>>在線生成機智云代碼在機智云官網(wǎng)注冊一個賬號,然后登錄 ,進入開發(fā)者中心創(chuàng)建新產(chǎn)品。產(chǎn)品名稱就叫LEDtest吧 ,選 擇 “Wi-Fi/移動網(wǎng)絡(luò)方案”,通信方式和數(shù)據(jù)傳輸方式保持默認(rèn)即。接著新建數(shù)據(jù)點。本次制作只是控制一個LED的開關(guān), 所以我只定義了一個最簡單的可寫布爾型數(shù)據(jù)點,也就是說只有開和關(guān)這兩種狀態(tài)。在MCU開發(fā)頁面中選擇SOC方案和自己的硬件平臺 ,注意這里的單位是 Mbit ( 4 MB= 32Mbit) 。在基本信息中復(fù)制 Product Secret后粘貼,然后生成代碼包。>>>搭建開發(fā)環(huán)境開發(fā)環(huán)境我選擇了AiThinker_IDE, 因為它不需要安裝 Linux,也不需要虛擬機,在Windows下直接解壓就能使用。下載解壓后先運行ConfigTool.exe,單擊“Default” 后 ,再選擇 “Save” 。打開AiThinker_IDE. exe,這里會用到DotNetFx40 Framework,以前沒安裝的話可能會提示安裝。打 開 “File”, 單 擊 “Import”,選擇下圖所示的文件。然后單擊 “Next”, 選擇下載到的機智云代碼主目錄 。>>>修改程序打開主目錄下的 Makefile,把下圖所示的紅框內(nèi)容按照實際情況進行修改。修改參數(shù)如下:BOOT?=none: 不使用 bootBOOT?=old: 用老版本的 boot_*v l . l 十BOOT?=new: 使用新版本的 boot_ v l.2+APP?=0: 不使用遠(yuǎn)程升級 F0TAAPP?=1: 使用FOTA, 生成 user1...binAPP?=2: 使用 FOTA, 生成 user2...binSPI 工速度和模式,一般不用改動,保持默認(rèn)即可。SPI SPEED?=40SPI_MODE?=QIOSPI_SIZE_MAP: Flash映射方式注意:有人說用的是多少MB的Flash就寫多少,本人試過2MB和4MB都沒問題,但用1MB的Flash寫SPI_SIZE_MAP?=1時,編譯失敗。這里還要修改幾個選中的文件,我們一個一個來吧。
要實現(xiàn)控制LED的亮滅或繼電器的吸合,需要用到一個變量,我們先在 gizwits_ ptoduct.h 中聲明一下。因為只有開和關(guān)2個狀態(tài),用bool型就可以,這有點像KeilC51中的bit類型。
別忘了在gizwits_ product.c中進行初始化設(shè)置,這里設(shè)置LED是低電平點亮,上電初始化為高電平,默認(rèn)不點亮。往下拉,找到 gizwitsEventProcess 函數(shù)。這個函數(shù)的作用是用云端數(shù)據(jù)點的值 CurrentDataPoint.valueLED 來控制LED等需要控制的實際電路,當(dāng)云端為1時(ON),我們自己定義的變量STA=0,LED點亮;云端為0時(OFF),則STA=1,LED熄滅。繼續(xù)向下 ,修改userHandle用戶定 時器的回調(diào)函數(shù),默認(rèn)為1000ms調(diào)用一次 ,也可以在 gizwits_ protocol.c文件中修改 USER_TIME_MS,此處調(diào)用時間修改為100ms。把 STA賦值給實際操作的 GPIO來完成 LED的亮滅 ,并把本地狀態(tài)與云端完成同步。文件最下面,初始化云端數(shù)據(jù)點的值。接下來 ,打開 user_main.c文件, 找到下圖所示的位置。 云端生的代碼默認(rèn)定義了2個按鍵,而我們只需要1個就夠了。NodeMCU開板的Flash按鍵接在 GPIO0 引腳。在定義按鍵時要注意 GPIO 的命名規(guī)則,比如GPIO1在程序里要寫為U0TXD,這對初學(xué)者來說是要重點注意的地方。Inst Name、 GPIO 和 NodeMCU 的對照關(guān)系,如圖所示。在user_main.c 文件中把與Key2有關(guān)的函數(shù)都刪掉。在Key1ShortPress函數(shù)里添加 “STA= ! STA; ”, 即每次短按把STA取反,也就是說短按點亮 LED,再按一下LED燈滅 。Key1LongPress里還有—句“gizwitsSetMode(WIFI_ AIRLINK_ MODE)”, 其作用是在長按按鍵時讓ESP8266模塊進入配對模式,此時開發(fā)板右上角LED點亮 ,然后通過手機 App把模塊接入Wi-Fi。再往下就是GPIO 的初始化。ESP8266 模塊右上角有一個 LED接到了 GPIO2 , 在程序中配置一下用作配對指示 。開發(fā)板靠近Micro USB的LED接在了 GPIO16 ,這就是我們最終要控制的指示燈了。值得注意的是,GPIO16的控制與其他端口的控制是不同的。下圖所示是按鍵與LED的電路圖。到這里程序就修改完了,仔細(xì)檢查確認(rèn)無誤后保存。在最左側(cè)C/C + + Projects窗口主目錄上單擊鼠標(biāo)右鍵,選擇 “Build Project”。如果沒有錯誤,就會看到生成了 user1.4096.new.4.bin 等文件,如下圖所示。沒看到的話說明程序有錯誤,請仔細(xì)確認(rèn)。打開ESP8266燒寫工具ESPFIashDownloadTool_ v3 .6.4,選擇ESP8266 DownloadTool,按照圖所示進行配置 。設(shè)置好后單擊 “START”,下載完成后按一下模塊的 Reset,模塊端配置完成。>>>手機端配置下載安裝并打開機智云App。賬號 、密碼頁面直接選跳過,點擊右上角的 “ + ”號 ,選一鍵配置后輸入當(dāng)前手機所連接的 SSID和 Wi-Fi密碼。進行下一步 ,模組類型選擇樂鑫,在出現(xiàn) “通電后按以下提示操作”后(如圖所示) ,長按 NodeMCU開 發(fā) 板 Flash按鍵 ,右上角 LED點亮后,點 擊 “我已完成上述操作”, 稍等一會兒會提示完成設(shè)備添加。試著劃動 “開啟/關(guān)閉”按鈕,看NodeMCU開發(fā)板上的LED是否可以正常亮滅。按動NodeMCU開發(fā)板上的Flash按鍵,LED亮滅的同時,手機 App上的開關(guān)狀態(tài)也應(yīng)同步開關(guān)。到這里,我們已完成了DIY—個Wi- Fi插座的所有知識介紹。接下來找出洞洞板,抄起電烙鐵,開工制作。>>>實際制作我找出以前買來的3位插排。拆掉開關(guān)和接線端子,用騰出來的空間安裝220V轉(zhuǎn) 5V 開關(guān)電源、ESP8266控制板和繼電器,把開關(guān)蓋用熱溶膠固定在原來的位置。在確定可以放下2個繼電器后,我決定做2路的智能插座,剩下的1路用來做常通插座。找一個手機5V適配器,去掉外殼和USB 接口以減小體積。電路用洞洞板簡單搭一下,ESP07 小板加上 LDO、阻容、繼電器,一會就焊好 了 。修改上面調(diào)試好的程序,把數(shù)據(jù)點改成 2個, 編譯完成后燒寫到模塊,然后用熱熔膠固定。高壓 、低壓之間記得用塑料片隔離,安全第一。因為沒有按鍵作AIRLINK,所以我將程序改為上電后30s未連接到Wi-Fi自動切換為AIRLINK配網(wǎng)模式,同時板載的藍(lán)色LED點亮, 因為很少會用到此功能,且從側(cè)面也能看到燈光,就沒有額外開LED孔位。在手機端輸入Wi-R的SSID和密碼就能把插排接入互聯(lián)網(wǎng),測試正常后,把插座裝好,就可以投入使用了。智能插排的用途可以自由發(fā)揮,只要是能用開關(guān)控制的電器都可以接入,比如USB小燈、 普通風(fēng)扇、電動車充電(可以將程序改為開啟后定時關(guān)閉)等 。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2911文章
44824瀏覽量
375116 -
機智云
+關(guān)注
關(guān)注
2文章
590瀏覽量
26441
發(fā)布評論請先 登錄
相關(guān)推薦
esp8266連接阿里云平臺時mqtt連接超時
esp8266nodemcu在使用arduino.ide連接阿里云平臺的時候,wifi配置正常但連接不上mqtt,顯示報錯如下:
Attempting MQTT connection.
發(fā)表于 10-26 21:39
ESP8266 通過 MQTT 協(xié)議實現(xiàn) LED 的遠(yuǎn)程控制
本文簡要介紹了搭建 EMQX 服務(wù)器實現(xiàn)基于 MQTT 協(xié)議遠(yuǎn)程控制 NodeMCU ESP8266 板載 LED 的解決方案。
《機智云入門必備》手把手教你燒錄GAgent固件
本文《機智云入門必備》將詳細(xì)講解GAgent固件的燒錄過程,從基礎(chǔ)設(shè)置到實際操作,將一步步帶你完成每一個環(huán)節(jié),確保你的設(shè)備順利連接機智云平臺
基于機智云的智能私家車庫控制系統(tǒng)設(shè)計與實現(xiàn)
煙霧傳感器用于火災(zāi)檢測,HC-SR04超聲波傳感器用于水位監(jiān)測,esp8266作為WiFi通信模塊,通過機智云物聯(lián)網(wǎng)
esp32和esp8266代碼共用嗎
本文將介紹ESP32和ESP8266兩款流行的微控制器在代碼共用性方面的可能性與差異性。 一、引言 隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,越來越多的智能設(shè)備開始進入我們的生活。其中,
esp8266不燒錄可以使用嗎
ESP8266是一款非常流行的Wi-Fi模塊,廣泛應(yīng)用于物聯(lián)網(wǎng)項目中。然而,如果不進行燒錄,ESP8266將無法正常工作。 1. ESP8266簡介
esp8266wifi模塊怎么連接手機
ESP8266 WiFi模塊連接手機主要可以通過兩種方式實現(xiàn): 通過路由器連接(STA模式)和直接作為熱點連接(AP模式) 。以下是兩種連接方式的步驟: 一、通過路由器連接(STA模式
機智云ESP8266開發(fā)板RGB彩燈控件
隨著智能家居技術(shù)的迅猛發(fā)展,RGB彩燈控件正逐漸成為現(xiàn)代家庭不可或缺的一部分。在這一潮流中,機智云(Gizwits)的ESP8266開發(fā)板R
STM32F103 + ESP8266與機智云開發(fā)常見問題集錦:入門者必讀!
關(guān)于ESP8266模塊的選擇針對初學(xué)者,強烈建議選擇帶有串口的ESP8266開發(fā)板!這可以避免像我曾經(jīng)遇到的燒錄固件失敗等問題。推薦直接購買已預(yù)裝機
個人機智云開發(fā)實踐:經(jīng)驗總結(jié)與技術(shù)分享
無線模塊的GAgent固件。例如,我使用了正點原子的esp8266模塊,選擇了對應(yīng)的GAgentforESP8266固件。5.MCU方案代碼移植6.將
確定ESP8266固件下載成功的方法
在物聯(lián)網(wǎng)設(shè)備的開發(fā)過程中,確定esp8266固件是否成功下載至設(shè)備十分關(guān)鍵。以下是一種簡單有效的確認(rèn)方法:機智云物聯(lián)網(wǎng)平臺首先,確保你的
使用Wi-Fi ESP8266方案模組接入云平臺
ESP8266的模塊芯片是基于無線通信協(xié)議的UARTWi-Fi透傳模塊芯片,支持802.11b/g/n的無線標(biāo)準(zhǔn),并帶有三種可選擇的工作模式。ESP8266
通過STM32+ESP8266 Wifi模塊 +云服務(wù)器,做一個數(shù)據(jù)收發(fā)控制的板子云服務(wù)器方面該如何選擇?
通過STM32+ESP8266 Wifi模塊 +云服務(wù)器 做一個數(shù)據(jù)收發(fā)控制的板子
云服務(wù)器方面
發(fā)表于 04-25 08:16
STM32、ESP8266與MQTT連接阿里云物聯(lián)網(wǎng)的串口通信異常解析
STM32、ESP8266與MQTT協(xié)議連接阿里云物聯(lián)網(wǎng)平臺時常見的串口通信異常介紹 在構(gòu)建物聯(lián)網(wǎng)應(yīng)用時,STM32、ESP8266與MQTT協(xié)議的結(jié)合是
評論