做了一個簡單的遠程控制儲物箱。主控選擇使用STM32的單片機STM32F030F4P6,最簡易的MCU,通信模塊選擇ESP8266,使用Wifi的方式進行控制。控制鎖就選用電平控制的電磁鎖,驅動使用的是L9110S進行驅動。
1. 硬件部分
先上一個電路原理圖和PCB圖
主控:STM32F030F4P6
電源:AMS1117
通信模組:ESP8266
控制驅動:L9110S
L9110的介紹,主要是控制電機的,所以控制個電磁鎖的短時間閉合也是沒有問題,通過配置兩個引腳的電平,從而控制輸入IO的電平狀态。
就這麼簡單,主要通過雲端服務器下發指令到路由,ESP8266通過路由器聯網後收到數據,從而再進行控制驅動。
放張PCB的圖,闆子很小,3cm左右。
2. 雲端服務器
這次就不用OneNet了,使用一個小型的物聯網平台,貝殼物聯。
主頁看下圖:
感覺挺人性化的一個物聯網平台,功能做得很像MQTT,但是又沒有MQTT那麼繁瑣。簡單的說就是創建兩個設備,一個用于MCU端的ESP8266,一個用于雲端的服務器,然後這個兩個設備之間進行通信。
協議可以看看這個:
更加具體的可以進官網的文檔裡去查看,給我的感覺是很适合新手,協議特别的簡單,看一遍照這個做就可以完成。還算穩定,基本沒有出現過掉線的問題,就是創建的設備不是無限的,需要靠登錄時長去積累分數,類似QQ等級那種,多少等級就可以創建多少個設備。
3. 軟件部分
軟件很簡單,就是通過ESP8266連接路由器,之後登錄貝殼物聯的TCP,登錄好設備後,就可以與服務器進行通信了。
初始化:
1. GPIO初始化:主要配置L9110S的引腳狀态等等。
2. 串口初始化:ESP8266的引腳配置及串口通信的配置。
3. 定時器初始化:用于服務器的保持心跳。
ESP8266聯網初始化:
1. 設置ESP8266為STA模式(因為連接的是路由器)
2. 開啟透傳模式
3. 8266連接TCP服務器
4. 連接貝殼服務器設備
進入主循環:
1. 判斷服務器發來的開鎖指令
2. 判斷服務器發來的心跳指令(或者使用定時器自己上傳給服務器心跳,模式可以選擇)
3. 判斷服務器發來的查詢指令(這個電磁鎖有檢測信号線,就是鎖上的時候,信号線是低電平,開鎖的時候是高電平,可以通過這個判斷鎖的開閉情況)
代碼和原理圖已上傳附件
4. 實物部分
簡單地做了一個亞克力外殼,把鎖粘在裡面(不用螺絲是因為可以在外面把鎖擰下來),把鎖扣也粘起來,亞克力外殼打孔穿線,連接闆子,完工。
原标題:制作簡易遠程控制的儲物箱
原作者:小葉三千
本文為21ic有獎征文作品,詳情請見21ic論壇活動專區:第二屆萬元紅包——藍V達人有獎征文活動,如果您也有興趣參與征文,歡迎進入論壇參與活動~
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!