用最簡易的MCU,自己動(dòng)手做一個(gè)遠(yuǎn)程控制儲(chǔ)物箱
網(wǎng)站:bbs.21ic.com
制作簡易遠(yuǎn)程控制的儲(chǔ)物箱
做了一個(gè)簡單的遠(yuǎn)程控制儲(chǔ)物箱。主控選擇使用STM32的單片機(jī)STM32F030F4P6,最簡易的MCU,通信模塊選擇ESP8266,使用Wifi的方式進(jìn)行控制??刂奇i就選用電平控制的電磁鎖,驅(qū)動(dòng)使用的是L9110S進(jìn)行驅(qū)動(dòng)。
1. 硬件部分
先上一個(gè)電路原理圖和PCB圖
主控:STM32F030F4P6電源:AMS1117通信模組:ESP8266控制驅(qū)動(dòng):L9110S
L9110的介紹,主要是控制電機(jī)的,所以控制個(gè)電磁鎖的短時(shí)間閉合也是沒有問題,通過配置兩個(gè)引腳的電平,從而控制輸入IO的電平狀態(tài)。
就這么簡單,主要通過云端服務(wù)器下發(fā)指令到路由,ESP8266通過路由器聯(lián)網(wǎng)后收到數(shù)據(jù),從而再進(jìn)行控制驅(qū)動(dòng)。
放張PCB的圖,板子很小,3cm左右。
2. 云端服務(wù)器這次就不用OneNet了,使用一個(gè)小型的物聯(lián)網(wǎng)平臺(tái),貝殼物聯(lián)。網(wǎng)址:https://www.bigiot.net主頁看下圖:
感覺挺人性化的一個(gè)物聯(lián)網(wǎng)平臺(tái),功能做的很像MQTT,但是又沒有MQTT那么繁瑣。簡單的說就是創(chuàng)建兩個(gè)設(shè)備,一個(gè)用于MCU端的ESP8266,一個(gè)用于云端的服務(wù)器,然后這個(gè)兩個(gè)設(shè)備之間進(jìn)行通信。
協(xié)議可以看看這個(gè):
更加具體的可以進(jìn)官網(wǎng)的文檔里去查看,給我的感覺是很適合新手,協(xié)議特別的簡單,看一遍照這個(gè)做就可以完成。還算穩(wěn)定,基本沒有出現(xiàn)過掉線的問題,就是創(chuàng)建的設(shè)備不是無限的,需要靠登錄時(shí)長去積累分?jǐn)?shù),類似QQ等級那種,多少等級就可以創(chuàng)建多少個(gè)設(shè)備。
3. 軟件部分軟件很簡單,就是通過ESP8266連接路由器,之后登錄貝殼物聯(lián)的TCP,登錄好設(shè)備后,就可以與服務(wù)器進(jìn)行通信了。
初始化:1. GPIO初始化:主要配置L9110S的引腳狀態(tài)等等。2. 串口初始化:ESP8266的引腳配置及串口通信的配置。3. 定時(shí)器初始化:用于服務(wù)器的保持心跳。
ESP8266聯(lián)網(wǎng)初始化:1. 設(shè)置ESP8266為STA模式(因?yàn)檫B接的是路由器)2. 開啟透傳模式3. 8266連接TCP服務(wù)器4. 連接貝殼服務(wù)器設(shè)備
進(jìn)入主循環(huán):
1. 判斷服務(wù)器發(fā)來的開鎖指令
2. 判斷服務(wù)器發(fā)來的心跳指令(或者使用定時(shí)器自己上傳給服務(wù)器心跳,模式可以選擇)
3. 判斷服務(wù)器發(fā)來的查詢指令(這個(gè)電磁鎖有檢測信號線,就是鎖上的時(shí)候,信號線是低電平,開鎖的時(shí)候是高電平,可以通過這個(gè)判斷鎖的開閉情況)
代碼和原理圖已上傳附件
4. 實(shí)物部分
簡單的做了一個(gè)亞克力外殼,把鎖粘在里面(不用螺絲是因?yàn)榭梢栽偻饷姘焰i擰下來),把鎖扣也粘起來,亞克力外殼打孔穿線,連接板子,完工。
本文系21ic論壇網(wǎng)友小葉三千原創(chuàng),資料下載請點(diǎn)擊“閱讀原文”。版權(quán)歸原作者所有,如有侵權(quán),請聯(lián)系刪除。