ESP32CAM物聯網教學02
物聯網門鎖
小智來到姑姑家門口,按了門鈴;還在公司上班的姑姑用電腦給小智開了門,讓他先進屋休息。小智對物聯網門鎖產生了興趣:什么是物聯網?為什么這么厲害?
- 初識物聯網
我們在百度搜索“物聯網”,可以查閱到關于物聯網的百科知識。
物聯網源自英文Internet of Things,簡稱IOT,指的是物物相連的互聯網(或者萬物相連的互聯網)。
在這個物聯網門鎖的應用中,小智按動門鈴,把開鎖的請求通過網絡連接,發送到互聯網上面的IOT服務器;姑姑利用公司的電腦中接收到了小智的請求,于是就發出了開門的操作命令;開鎖的命令經過IOT服務器的轉發,被家里的門鎖接收,門鎖也打開了。
這個物聯網門鎖的實現原理,和我們平常使用的微信聊天是否有些相似之處呢?小智和姑姑的聊天過程中,增加了一個新的對象,那就是門鎖,聊天的內容也和門鎖有了密切的關聯啦,這個就是物聯網的應用實例。
- 點燈科技物聯網
做物聯網服務的公司很多,物聯網品牌和很多,今天我們就認識一下點燈科技物聯網Blinker。
我們在百度搜索“點燈科技”,就能找到點燈科技的官方網站。
我們利用手機號碼,可以在點燈科技官網中注冊一個新的用戶,然后就可以登錄進入到官網的用戶管理界面了
用戶登錄后,“快速體驗”按鈕指向的是開發文檔,這里有詳細的使用教程;“APP & SDK下載”指向的是一個手機APP的下載,可以把一個安裝文件APK下載到電腦中。
當然,如果你對于如何把一個安裝文件APK傳送到手機中進行安裝的操作不夠熟練的話,我們這里強烈建議在手機中操作就好,用手機瀏覽器訪問點燈科技官網,再去下載這個安裝文件APK。等下載完成后,點擊安裝就可以了。然后就可以用戶的注冊、登錄了。
- 注冊設備
在手機中,第一次登錄“點燈Blinker”,APP會引導你注冊設備,點擊“添加設備”,選擇設備類型為“Arduino”就可以。
這樣就進入了第二個界面,在這里,我們可以查看這個設備的密鑰,這個密鑰等一下ESP32Cam開發板聯網的時候需要用到的,如果以后往了這個密鑰的話,就要到這里來查看了。
點擊第二界面上面的后退按鈕“<”,可以進入第三個界面(以后每次打開APP都會直接進入到第三個界面,首次使用會出現第一個界面而已)。這第三個界面是設備管理界面,我們可以點擊上面的“+”,來增加第二、第三個設備。已添加的設備會出現在中間的窗口中。
點擊第三界面的這個Arduino開發板,會跳轉到第四界面,設備控制界面。在這個界面的右上角有兩個按鈕:“...”是這個設備的屬性查看按鈕,點擊這個按鈕可以跳轉到第二個界面,查看當前設備的屬性(密鑰)。鉛筆的按鈕是控件編輯按鈕,點擊可以挑戰到后面的控件編輯窗口了。
- 編輯控件
接上面的當前設備的控制界面,點擊鉛筆編輯按鈕,進入第二個界面。
在第二個控件編輯界面,點擊底部的“按鈕”,添加一個按鈕控件到中間的舞臺窗口。可以拖動這個控件在窗口中的位置。
點擊這個按鈕本身,就可以跳轉到第三個控件屬性編輯界面,在這里我們特別需要注意的是編輯按鈕組件鍵名為“btn-led”,(這個鍵名可以根據需要自己自由命名,但是這個名字需要記住,因為后面會用到的),然后勾選“開關按鍵”,其他的默認值就可以了。
編輯完成后,點擊右上角的確認打鉤按鈕“√”,就會跳轉到第四界面(其實是返回第二界面),點擊右上角的鎖形確認修改的按鈕,則返回到第一個界面(這時候在第一界面中,會出現剛剛添加的這個按鈕了)。
到這里,控件編輯操作就算完成了,我們添加了一個鍵名為“btn-led”的開關型按鈕。
- 給米思齊導入點燈科技的驅動庫
這次我們改用米思齊mixly來編輯ESP32Cam的驅動程序。打開電腦中的米思齊2.0,在開始的界面中選擇開發板的類型為“Arduino ESP32”。
??? 點擊米思齊軟件右上角的“設置——管理庫”按鈕。在打開的庫管理器窗口中,勾選“Blinker”。選擇從云端下載。等待下載完成,這個點燈科技Blinker的驅動庫就安裝好了。
- 編輯LED控制程序
安裝完點燈科技驅動庫后,我們可以在左側的積木倉庫的底部看到“blinker點燈”的積木了。從“blinker”組里面拖動一個“全局區域”的積木組合到舞臺中;再從“示例組合”組里面拖動一個“創建按鈕”積木組合到舞臺中。
接下來就是編輯這兩個控件組合的參數了。首先我們選擇開發板的類型為“AI Thinker ESP32-Cam”(切記要選擇這款的開發板,至于什么原因如果忘了,可以去看前一篇文章)。
輸入“設備密鑰”“WiFi設備名”“WiFi密碼”。修改按鈕控件的鍵名為“btn-led”(和前面的設置一致),修改LED等的端口和控制亮滅的參數。這里對LED燈做一下說明,在這塊ESP32Cam開發板中,有一個高亮度的LED燈,作為攝像頭補光的閃光燈,連接的端口是4號端口,由于這個燈全開時太亮了,所以我們這里采用PWM模擬輸出的方法,讓這個燈點亮時亮度壓低一些(亮度的控制是模擬輸出的值在0——255之間)。
接下來我們可以點擊上方的“上傳”按鈕,用于把這個程序燒寫到ESP32Cam開發板中了。等上個三四分鐘,就可以看到上傳成功。
- APP物聯網控制點燈
把ESP開發板拔出,重新插入電腦中(利用電腦的USB口給開發板提供5V的工作電源)。
在手機中,重新打開點燈科技APP,在設備管理界面中,會看到這個Arduino圖形的開發板設備變成彩色的了,表示這個接通電源的ESP32Cam設備已經連接到了點燈科技的物聯網服務器了(如果是離線狀態,也就是這個設備處于掉線斷開時,設備是灰色的。這時候只要用手指往下劃手機屏幕,這個程序就會刷新連接檢測,刷幾次就會看到ESP32Cam設備連接在線了)
這時候點擊這個在線的設備,就進入設備控制界面。點擊界面上的開關按鈕,ESP32Cam開發板上的閃光燈LED點亮了,而APP中的按鈕也變成了紅色,并用文字顯示“燈打開了”(如圖所示)。? 當再次點擊按鈕時,則會關閉LED,響應的按鈕顏色、文字也會改變了。
需要說明的是,這個是真正的物聯網控制。手機APP發送的開燈關燈的指令,發送到了點燈科技的物聯網服務器,并由服務器轉發給ESP32Cam開發板,由開發板執行LED燈的亮滅;開發板會再次把燈的亮滅狀態,用顏色、文字的形式,發送到物聯網服務器,并傳遞給手機APP。
這些交流的信息都是通過互聯網傳遞的,所以不受空間的限制,只要手機APP和ESP32Cam都能連接到互聯網,再遠的距離就都不是問題了,這就是物聯網的厲害之處。而有了點燈科技、米思齊等支持,實現物聯網也是這樣的簡單了。