一包辣條錢打造物聯網開關
為什么想到這個標題呢? 因為我此刻正在吃辣條….. 大家應該每天面對的是枯燥
的代碼,而今天給大家帶來一個不一樣的東西,有血有肉有生命.
背景📊
一花一世界,一樹一菩提.
在我們程序員的眼里, 一花一樹, 大概是一台耐操的電腦加上一台絲滑的顯示器, 如果兩台顯示器,那就是人生巔峰. 咳咳, 不錯的,我的世界可以沒有女朋友, 但是不能沒有電腦,不能與它一起睡覺,我也要把它們擺在我的卧室,占為己有.

心理上得到了滿足,可是我生理上卻飽受折磨.
每到了我睡覺的時候,顯示器上得電源燈,音響得電源燈,路由器的狀態燈, 更要命的是,我這台年久的音響,到了晚上,不知道是不是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