ESP32CAM物聯網教學02

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都能連接到互聯網,再遠的距離就都不是問題了,這就是物聯網的厲害之處。而有了點燈科技、米思齊等支持,實現物聯網也是這樣的簡單了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/41592.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/41592.shtml
英文地址,請注明出處:http://en.pswp.cn/web/41592.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

andboxie-Plus - 知名沙盒軟件、支持游戲多開測試軟件

我們經常會需要用到一些毒瘤軟件——它們可能不是真正的惡意軟件&#xff0c;但總愛偷摸干一些流氓行為。 工作中&#xff0c;有時還不得不安裝使用一些來路不明、不能完全信任的可疑軟件。 裝上吧&#xff0c;心里膈應、難受&#xff1b;不裝吧&#xff0c;有些工作又進行不…

代碼隨想錄算法訓練營第五十八天|KMC101 孤島的總面積、KMC102 沉沒孤島、KMC103 水流問題

題1&#xff1a; 指路&#xff1a;101. 孤島的總面積 (kamacoder.com) 思路與代碼&#xff1a; 本題要求找到不靠邊的陸地面積&#xff0c;那么我們從地圖的最外層開始遍歷&#xff0c;找到靠近四個邊的陸地&#xff0c;通過搜索將周邊靠陸地且相鄰的陸地1變成海洋0&#xf…

【驅動篇】龍芯LS2K0300之PWM設備驅動

實驗目的 利用脈沖調制效應&#xff08;PWM&#xff09;等效改變輸出功率大小控制LED&#xff0c;從而實現呼吸燈效果&#xff0c;需要用到RGB LED模塊 模塊連接 IO 插針接口上一共集成了兩路PWM&#xff0c;分別是PWM2和PWM3&#xff0c;對應GPIO88、GPIO89 PWM2和PWM3對…

期末考試結束,老師該如何私發成績?

隨著期末考試的落幕&#xff0c;校園里又恢復了往日的寧靜。然而&#xff0c;對于老師們來說&#xff0c;這并不意味著工作的結束&#xff0c;相反&#xff0c;一系列繁瑣的任務才剛剛開始。 成績單的發放&#xff0c;就是其中一項讓人頭疼的工作。家長們焦急地等待著孩子的考試…

Python程序打包成EXE文件指南

本套課在線學習視頻&#xff08;網盤地址&#xff0c;保存到網盤即可免費觀看&#xff09;&#xff1a; ??https://pan.quark.cn/s/57ba5f313c5b?? 將Python程序打包成可執行文件&#xff08;EXE&#xff09;可以方便用戶在沒有Python環境的計算機上運行程序。本文將詳細…

【Linux】在線求助命令--help,man page , info page

我們知道Linux有很多的命令&#xff0c;那LInux要不要背命令&#xff1f; 答案是背最常用的那些就行了 那有的時候我們想查詢一些命令的詳細用法該怎么辦呢&#xff1f; 這里我給出3種方法 1.--help --help的使用方法很簡單啊 要查詢的命令 --help 我們看個例子 這里我只…

C語言4 運算符

目錄 1. 算術運算符 2. 關系運算符 3. 邏輯運算符 4. 位運算符 5. 賦值運算符 6. 自增和自減運算符 7. 條件運算符&#xff08;三元運算符&#xff09; 8. 逗號運算符 9. sizeof 運算符 10. 取地址和解引用運算符 11.運算符的優先級 1. 算術運算符 (加法)&#xff1…

CRT工具

CRT工具 傳輸位置設置 打開SFTP alt p 命令 ls&#xff1a;遠程機器當前目錄內容 lls&#xff1a;傳輸位置文件的目錄內容 pwd&#xff1a;遠程機器的當前位置 lpwd&#xff1a;傳輸位置的位置 get 文件&#xff1a;ftp傳輸文件 get -r 文件夾&#xff1a;ftp傳輸文件…

如何獲取歌曲id---cloudmusic

X-Requested-With:“XMLHttpRequest”: https://blog.csdn.net/muzico425/article/details/102735413 https://www.runoob.com/xml/xml-http.html https://developer.mozilla.org/zh-CN/docs/Web/API/XMLHttpRequest 通過該案例主要還是學習一下X-Requested-With:"XMLHtt…

大華DSS user_toLoginPage.action命令執行漏洞

免責聲明 本文章僅做網絡安全技術研究使用&#xff01;嚴禁用于非法犯罪行為&#xff0c;請嚴格遵守國家法律法規&#xff1b;請勿利用文章內的相關技術從事非法測試&#xff0c;如因此產生的一切不良后果與文章作者無關。使用本文所提供的信息或工具即視為同意本免責聲明&…

go語言day11 錯誤 defer(),panic(),recover()

錯誤&#xff1a; 創建錯誤 1&#xff09;fmt包下提供的方法 fmt.Errorf(" 格式化字符串信息 " &#xff0c; 空接口類型對象 ) 2&#xff09;errors包下提供的方法 errors.New(" 字符串信息 ") 創建自定義錯誤 需要實現error接口&#xff0c;而error接口…

JavaSe系列二十七: Java正則表達式

正則表達式 為什么要學習正則表達式再提幾個問題解決之道-正則表達式正則表達式基本介紹介紹 正則表達式底層實現實例分析 正則表達式語法基本介紹元字符-轉義號 \\\\元字符-字符匹配符元字符-選擇匹配符元字符-限定符元字符-定位符分組非貪婪匹配 應用實例對字符串進行如下驗證…

學習筆記——動態路由——OSPF聚合(匯總)

十一、OSPF聚合(匯總) 1、路由聚合(匯總) 路由匯總是一種重要的思想&#xff0c;在大型的項目中是必須考慮的一個重點事項。隨著網絡的規模越來越大&#xff0c;網絡中的設備所需維護的路由表項也就會越來越多&#xff0c;路由表的規模也就會逐漸變大&#xff0c;而路由表是需…

React中的useMemo和memo

引言 React是一個聲明式的JavaScript庫&#xff0c;用于構建用戶界面。在開發過程中&#xff0c;性能優化是一個重要的方面。useMemo和memo是React提供的工具&#xff0c;用于幫助開發者避免不必要的渲染和計算&#xff0c;從而提升應用性能。 問題背景 在React應用中&#…

實現antd designable平臺的組件拖拽功能

平臺&#xff1a;designable設計器 github&#xff1a;designable 目錄 1 背景2 技術棧3 組件拖拽和放置3.1 類型定義3.2 拖拽3.3 放置 1 背景 由于業務需求&#xff0c;我們需要實現designable平臺的一個簡易版的組件拖拽功能。 #mermaid-svg-QrxSDGe9YyGG3LbQ {font-family:…

【Unity2D 2022:UI】制作角色血條

一、創建血底UI 1. 創建畫布&#xff08;Canvas&#xff09; 2. 在畫布上添加血底圖像&#xff08;Image&#xff09;子物體 二、編輯血底UI 1. 將血底圖片拖入源圖像&#xff08;Source Image&#xff09;中 2. 點擊設置為圖片的原大小&#xff08;Set Native Size&#x…

設計一個會員卡系統

會員卡系統在現代商業環境中是一個重要的客戶關系管理工具。通過會員卡系統&#xff0c;企業可以有效地增加客戶粘性&#xff0c;提高客戶滿意度&#xff0c;進而提升銷售額。本文將詳細討論如何設計一個全面的會員卡系統&#xff0c;包括會員卡的類型、權益設計、續費規則、升…

Java | Leetcode Java題解之第219題存在重復元素II

題目&#xff1a; 題解&#xff1a; class Solution {public boolean containsNearbyDuplicate(int[] nums, int k) {Set<Integer> set new HashSet<Integer>();int length nums.length;for (int i 0; i < length; i) {if (i > k) {set.remove(nums[i - …

# 三 JS的流程控制和函數

三 JS的流程控制和函數 3.1 JS分支結構 if結構 這里的if結構幾乎和JAVA中的一樣,需要注意的是 if()中的非空字符串會被認為是trueif()中的非零數字會被認為是true 代碼 if(false){// 非空字符串 if判斷為trueconsole.log(true) }else{console.log(false) } if(){// 長度為0…

GitHub詳解:代碼托管與協作開發平臺

文章目錄 一、GitHub簡介二、GitHub的核心功能2.1 倉庫&#xff08;Repository&#xff09;2.2 版本控制與分支&#xff08;Branch&#xff09;2.3 Pull Request2.4 Issues與Projects2.5 GitHub Actions 三、GitHub的使用方法3.1 注冊與登錄3.2 創建和管理倉庫3.3 使用Git進行代…