謝作如 鄭蕾蕾
據(jù)說99%的人都有關(guān)門強迫癥,筆者也不例外。每次在踏出家門的1分鐘后,總會在糾結(jié)門是否關(guān)上?有時忍不住折回檢查,而十有八九門都是鎖好了的。如果能讓門變得智能該多好啊。打開手機,點個按鈕,它能告訴我們當前狀態(tài),鎖了還是沒鎖,就一清二楚了。
現(xiàn)在,強迫者的救星來了。借助一塊IOT模塊(OBLOQ模塊),開源硬件micro:bit就能連接上網(wǎng)絡(luò),把門的狀態(tài)上傳到特定的服務(wù)器,隨時可以告訴這些關(guān)門強迫癥“患者”:門已經(jīng)關(guān)好了,別擔心!這,就是“強迫癥關(guān)門利器”的設(shè)計初衷。
解決思路
要想讓門和手機之間可以通信,需要借助物聯(lián)網(wǎng)技術(shù)。所謂物聯(lián)網(wǎng),就是物物相連的網(wǎng)絡(luò)?,F(xiàn)在很多開源硬件都能連接互聯(lián)網(wǎng),如虛谷號、樹莓派、掌控板等。Arduino和micro:bit等大家比較熟悉的開源硬件雖然自身沒有連接網(wǎng)絡(luò)的功能,但是借助OBLOQ模塊,同樣也能夠連上互聯(lián)網(wǎng),實現(xiàn)“物物相連”。
“強迫癥關(guān)門利器”首先是利用micro:bit結(jié)合傳感器來檢測門的狀態(tài),然后將狀態(tài)信息輸出到物聯(lián)網(wǎng)服務(wù)器,供手機查詢。對開門和鎖門的狀態(tài)檢測,可以使用紅外數(shù)字避障傳感器,只要安裝在合適的位置即可。物聯(lián)網(wǎng)服務(wù)器則采用DFRobot的物聯(lián)網(wǎng)平臺,結(jié)合Easy IoT微信小程序,使得我們能夠在移動設(shè)備中查看門的狀態(tài)。
如圖1所示,用戶登錄微信,通過微信小程序EasyIoT發(fā)送“door”的檢測消息,已連接上Wi-Fi的IOT模塊接收到檢測指令后,發(fā)送給micro:bit,micro:bit讀取紅外數(shù)字避障傳感器的數(shù)值,檢測到目標返回1(門為打開狀態(tài)),未檢測到目標返回0(門為關(guān)閉狀態(tài))。根據(jù)傳感器的數(shù)值,micro:bit通過IOT模塊向待定服務(wù)器發(fā)送對應(yīng)的字符串“Gobackandclosethe door”或“Thedoorisclosed”,這消息最后會在用戶手機中的微信小程序EasyIoT中的消息列表中呈現(xiàn)。
硬件準備
“強迫癥關(guān)門利器”需要OBLOQ模塊、紅外數(shù)字避障傳感器、micro:bit和Micro:Mate擴展板,核心模塊如上頁圖2所示。
上頁表中列出了“強迫癥關(guān)門利器”所需的具體器材,這些器材在DFRobot的商城上都可以找到。
解決過程
1.物聯(lián)網(wǎng)配置
打開微信,搜索微信的小程序“EasyIoT”,使用DF IoT平臺創(chuàng)建設(shè)備配置物聯(lián)網(wǎng)(如圖3)。在小程序中可以找到用戶的Iot_id和Iot_pwd,添加設(shè)備后,可以得到設(shè)備的topic值。
2.micro:bit代碼編寫
打開makecode編程平臺,并將如圖4的程序?qū)懭雖icro:bit中?!癢i-Fi”部分寫的是無線路由器的信息,“物聯(lián)網(wǎng)服務(wù)”部分,則填寫在小程序中看到的各種信息。“引腳設(shè)置”要和OBLOQ在Micro:Mate上的連接一致。筆者是將綠色導線接在P1上,藍色導線接在P2上。
注意,makecode編程平臺需要先導入obloq軟件包,才能找到這一編程模塊。具體做法是“添加軟件包”-“填寫項目地址”。obloq軟件包的地址:https://github.com/DFRobot/pxt-Obloq。
3.實驗測試
由于OBLOQ模塊與紅外數(shù)字避障傳感器在5V電壓下才能正常工作,因此需要將擴展板上的開關(guān)撥到5V。LED陣列上第一次出現(xiàn)“√”,說明聯(lián)網(wǎng)成功(如圖5)。第二次出現(xiàn)“√”,表示已成功連接IoT服務(wù)。
根據(jù)實際的檢測環(huán)境,即紅外數(shù)字避障傳感器離門的距離,要用一字螺絲刀調(diào)節(jié)傳感器背后的旋鈕。
登錄微信小程序EasyIoT發(fā)送door消息進行門的開關(guān)檢測(如圖6),打開消息列表進行查看(如圖7)。
當傳感器沒有監(jiān)測到目標的時候,micro:bit發(fā)送信息“Goback andclosethedoor”;當傳感器監(jiān)測到目標的時候,micro:bit發(fā)送信息“Thedoorisclosed”。
思考與總結(jié)
“強迫癥關(guān)門利器”用物聯(lián)網(wǎng)技術(shù)幫助了強迫者用戶,避免了無效的折返檢查關(guān)門的行為。雖然代碼很簡單,作品的結(jié)構(gòu)也很簡單,但的確能夠有效檢測門的當前狀態(tài)。EasyIoT小程序中還能看到“門”的歷史狀態(tài),以及發(fā)送的信息列表。
對于開門關(guān)門的狀態(tài)檢測,也可以用其他的方案,如超聲波傳感器、觸碰傳感器等。如果借助于電子鎖之類的其他裝置,還可以實現(xiàn)遠程開門和關(guān)門。如果加上溫度、濕度之類的傳感器,就能實現(xiàn)簡單的智能家居功能。本項目的成功制作,告訴我們物聯(lián)網(wǎng)技術(shù)并不神秘,小學生都可以駕馭。