前言
其實在學習單片機的道路上我發現,所有單片機的功能都是基于通過内部程式控制對輸出引腳進行配置實作的。這樣說來,一切都可以看作是對“點燈”這一實踐的延伸。我們常說“點燈”是學習單片機的第一步,那麼這篇文章将從“物聯網”這一概念作為連接配接單片機和網際網路的第一次“點燈”。
一、硬體選擇
這個實驗無需額外配置硬體,隻需要一塊ESP32開發闆。一般網上選購ESP開發闆有30Pin(30個引腳)的還有38Pin(38個引腳)的,我們可以選擇30Pin的那款。隻要是開發闆上晶片封裝寫着“ESP-WROOM-32”且是30Pin的款式(或者搜尋ESP32 DEVKIT v1),通常這款都會帶有兩個LED顯示,一個是電源信号燈(一般顯示紅色),一個是由GPIO2引腳/D2引腳控制的LED(一般顯示藍色)。而我們就是利用這個開發闆自帶的LED進行實驗,是以無需再買其他硬體。(以下是參考圖檔)
二、軟體配置
這次軟體部分我們需要用到米思齊(電腦上)和點燈科技(手機)。
-
米思齊
關于米思齊的下載下傳,可以在這個網站下載下傳http://mixly.org/,下載下傳教程可以參考http://t.csdn.cn/t2Lvu這篇文章。下載下傳好之後,打開找到Arduino ESP32并點進去。
點進去後在右上角找到“設定”再找到“管理庫”,點開之後可以看到這界面:
選擇名字叫“點燈科技Blinker”的那一項,點選那項最前面的空白框:
然後在這個庫管理器界面右上角點選這個标志即可完成配置:
完成配置關閉庫管理器界面後可以在左側看到有這麼一欄即為配置成功:
-
點燈科技
關于點燈科技的資訊,可以參照官方文檔:https://diandeng.tech/doc/home
關于點燈科技的下載下傳,可以通過手機的應用商城搜尋“點燈blinker”,找到名字一模一樣的應用下載下傳即可,要是擔心下載下傳的應用不對,也可以用手機浏覽器打開這個連結:https://diandeng.tech/home下載下傳手機APP。
下載下傳之後注冊登陸,一般登陸後悔顯示為空白界面,這時點選右上角的加号:
點進去後悔顯示這個界面,選擇“獨立裝置”并點選:
點選進去後下方選擇網絡接入:
選擇點燈科技:
之後會等到一個密鑰,這個密鑰是接入裝置的重要途徑,可以先複制下來或者先不管,每個裝置在建立後都會得到一個專屬的密鑰,這個密鑰最好不要透露給其他人,防止裝置被人占用或盜用。建立完新的裝置之後傳回主界面,點選剛剛建立的“新的裝置”:
點進來可以看到這個界面,選擇“載入示例”即可:
載入後就會顯示這個畫面:
這樣我們就配置好點燈科技APP的部分了,可以開始程式設計了。
三、程式編寫
-
程式設計前需知
1.1密鑰
在之前的說明中,我們在建立新裝置的時候有出現過密鑰:
在推出這個界面後,我們可以在裝置的按鍵界面再次找到密鑰資訊:
一般點進這個界面後密鑰那一欄是隐藏的,可以點選密鑰旁邊的眼睛圖示讓他顯示出來。
密鑰作為識别裝置的重要标準,在程式設計時往往需要輸入對應的密鑰碼,這樣通過點燈科技的伺服器才能找到搭載密鑰的裝置。
1.2按鍵配置——鍵名
在這個界面,我們可以看到有多個按鍵和一個顯示代碼的文本框,每個按鍵需要通過鍵名識别收到和發送的按鍵指令,而想要設定按鍵的鍵名,可以在這個界面點選右上角的編輯按鈕:
随之可以看到這個界面:
在這個界面可以添加自己想要的按鍵功能塊,以及選擇要做具體設定的按鍵。
在每個按鍵的左上角淡藍色框内的的就是鍵名,不同的按鍵設定的鍵名不同,我們一般在程式設計時設定鍵名友善點燈科技的伺服器接收和發送APP裡設定好的同名的按鍵資訊。
當我們點選進入一個按鍵的具體設定時,我們可以看到這些資訊:
我們可以設定圖示的形狀或圖樣,也可以設定按鍵鍵名、顔色等等資訊。在程式設計時,我們可以通過程式設定接收信号後傳回給APP的資訊,這些資訊會改變按鍵的狀态,一般包括按鍵的顔色、按鍵底下的文本内容、按鍵的狀态、按鍵涉及的數值等等資訊。
1.3按鍵配置——按鍵狀态
按鍵一共有5種狀态:打開(on)、關閉(off)、點按(tap)、長按開始(press)、長按結束(pressup)。打開和關閉是類似普通點燈開關,按下後會保持目前狀态;點按相當于隻是告訴程式執行過一次“按下”這個動作;長按開始和長按結束就好比飲料機,需要人對按鍵一直進行按下或松手的操作。一般我們用點按來計數,其餘用來開關燈或其他功能。
-
程式編寫技巧
如果你想自己DIY設計一個獨屬于自己的程式,但是不知道從何下手,可以點選點燈科技那部分中的“示例組合”:
在“示例組合”中,第一項有一個寫着“示例程式:XXXX 打開”的選項:
将他拖出來,可以點選他的下拉菜單:
裡面隻要點選你想選擇的功能,再點選“打開”,就會出現功能對應的圖形化程式。然後根據自己的需要和配置設定好各個按鍵的鍵值和密鑰,就可以下載下傳到闆子上進行實驗了。
-
點燈程式
3.1連接配接網絡
這個點燈程式,我們首先要讓裝置連接配接上網絡,并通過密鑰和APP裡設定好的裝置界面進行連接配接:
3.2設定按鍵
我們在設定按鍵的時候首先要考慮按鍵的鍵名,然後是按鍵所操控的單片機引腳,我們這塊開發闆的自備LED在GPIO2/D2引腳上,是以我們通過按鍵控制該引腳:
3.3設定第二個按鍵(擴充實驗,可做可不做)
此處擴充一個可以用來計數和通過長按控制LED亮滅的按鍵,可以配合APP中計數界面的使用:
3.4點燈程式(簡易版)
此版本為無第二個按鍵的版本:
3.5點燈程式(完整版)
此版本為包含第二個按鍵的版本: