一包辣條錢打造物聯網開關
- 2020 年 3 月 6 日
- 筆記
Md2All export document
一包辣條錢打造物聯網開關
為什麼想到這個標題呢? 因為我此刻正在吃辣條….. 大家應該每天面對的是枯燥
的程式碼,而今天給大家帶來一個不一樣的東西,有血有肉有生命.
背景?
一花一世界,一樹一菩提.
在我們程式設計師的眼裡, 一花一樹, 大概是一台耐操的電腦加上一台絲滑的顯示器, 如果兩台顯示器,那就是人生巔峰. 咳咳, 不錯的,我的世界可以沒有女朋友, 但是不能沒有電腦,不能與它一起睡覺,我也要把它們擺在我的卧室,佔為己有.
心理上得到了滿足,可是我生理上卻飽受折磨.
每到了我睡覺的時候,顯示器上得電源燈,音響得電源燈,路由器的狀態燈, 更要命的是,我這台年久的音響,到了晚上,不知道是不是WIFI訊號對它有干擾,中覺得它在發出嘟嘟嘟的電流聲~~~
我當然可以在睡覺前把總開關關閉,早上起來打開電腦再把開關打開,可是咱們是程式設計師,這種重複的事情就應該交給程式來做!! ?
然後我想到的是米家的智慧插座, 配合其他感測器,可以實現各種場景的自動控制. 可偏偏找不到這樣的解決方案:
電腦開機-> 電源接通
電腦關機-> 電源關閉
找不到現成的解決方案,那我就只能自己做一套了,我在網上找到最廉價的物聯網開關ESP8266
+物聯網繼電器
,一套不是998更不是99,而是9.9.為了避免廣告嫌疑,我就不放鏈接了,大家自行某寶搜索?.
買來之後我的心裡也是犯嘀咕的,我一個C#開發,能玩轉這種單片機?? 然鵝… 我就用一個晚上的時間,真還就被我搞出來了,所以我覺得在座的各位大佬更是沒問題.
ESP8266 科普(硬體準備)?
ESP8266 是一款國產成本極低且具有完整TCP/IP協議棧的Wi-Fi 物聯網控制晶片, 並且深受西方創客的喜愛,生態比較豐富,某寶售價6元左右.
與其配套的是這麼一個物聯網繼電器,某寶售價3-4元,把ESP8266插入對應的插孔兩即可完美❤結合❤.
為了給ESP8266注入生命力,還需要購買這麼一個ESP8266的燒錄器,某寶8元.
軟體準備?
- Arduino IDE並安裝好esp8266擴展
Arduino IDE下載地址
ESP8266擴展包安裝方法
- 下載並安裝blinker APP
我需要解釋一下,為什麼安裝這個APP呢? blinker是一家做物聯網解決方案的,作為愛好者的我們可以免費接入他們的平台,接入該平台後,我們不管是不是在家,都可以通過手機App控制,並可藉助他們的SDK實現小愛同學的語音控制.
Android下載點擊下載或 在android應用商店搜索“blinker”下載安裝
IOS下載點擊下載或 在app store中搜索“blinker”下載
- 下載並安裝blinker Arduino庫
點擊下載
Windows:將下載好的blinker庫解壓到 我的電腦>文檔>Arduino>libraries 文件夾中
Mac OS:將下載好的blinker庫解壓到 文稿>Arduino>libraries 文件夾中
解壓之後目錄結構像這樣子.
獲取Secret Key?
- 進入App,點擊右上角的“+”號,然後選擇 添加設備
- 點擊選擇Arduino > WiFi接入
- 選擇要接入的服務商
- 複製申請到的Secret Key
DIY介面?
-
在設備列表頁,點擊設備圖標,進入設備控制面板
-
按如下圖添加button_on和button_off兩個按鈕
編譯並上傳示常式序?
在我的GitHub下載為大家準備好的程式碼
https://github.com/liuzhenyulive/ESP8266SmartSwitch(記得Star噢)
雙擊blinker_app_xiaoai.ino
用Arduino IDE打開, 輸入剛剛在App中申請的Secret Key和你們家的WIFI名稱和密碼,建議2.4Gwifi, 5Gwifi我沒有測試, 還有UDP的監聽埠.
1char auth[] = "2cf492755d68"; //設備key
2char ssid[] = "2.4"; //路由器wifi ssid
3char pswd[] = "12345678"; //路由器wifi 密碼
4unsigned int localUdpPort = 4210; // 區域網中的UDP監聽埠
編譯並上傳程式到esp8266開發板,如果提示缺少什麼庫,就在Arduino的項目->載入庫->管理庫 中下載缺失的庫即可.
當看到如下提示,代表上傳成功了.
此時不要把它從你的電腦上拔掉,登錄你們家的路由器,查看該設置的IP地址.
打開在我GitHub倉庫中為大家準備的UDP調試工具和串口調試工具,在UDP調試工具中輸入該設備的IP和UDP監聽埠,發送on,串口調試工具能接收到on,發送off能接收到off.
同時,我們打開點燈blinker的app,如果你幸運的話它應該已經上線了,在app中點擊on或off, 串口調試工具有對應的響應輸出.
通電⚡
最後也是最?躁動人心?的一步,給繼電器接上5V的供電,拿一根沒用的USB線剪開,一般紅線是正極,負極請自行嘗試,然後把你要控制的設備的火線(紅色)斷電
斷電
斷電
後剪斷,分別接入負載入與負載出.
通電成功後,設備大概是這樣子.
UDP控制?
我用我的老本行.net core給大家寫了一個命令行工具 通過如下命令調用該工具,即可實現該設備的開和關.
1CSharpUdpClient.exe 192.168.1.5 4210 on
2CSharpUdpClient.exe 192.168.1.5 4210 off
APP控制?
App的控制,打開電燈blinker app, 該設備在線後,可通過設備內你自定義的兩個圖標控制該設備的開關.
小愛同學?
小愛同學的控制就有點複雜了,首先要下載米家app, 在我的 -> 其他平台設備->綁定點燈科技
的帳號並同步設備.
然後下載小愛同學app, 用小米賬戶登錄,添加訓練,比如打開電腦,關閉電腦,即可語音控制開關.
電腦開關機控制?
Win+R 輸入 gpedit.msc 在電腦配置->電腦設置-> 開關機腳本內,添加我在前面UDP控制的那一章節中描述的腳本,即可在電腦開機時自動打開顯示器,音響等設備, 晚上睡覺前,電腦關機的時候,也會自動把電源斷開.
同理,你也可以新建兩個bat文件,在文件裡面把命令寫入,在我的GitHub中已經把相關文件準備好了,僅供參考.
所有程式碼和工具可以去我的GitHub倉庫下載,
好了,今晚總算睡個好覺了(~﹃~)~zZ 能得到心理和生理得滿足,我真是個幸福的人?.
https://github.com/liuzhenyulive/ESP8266SmartSwitch