主題
以 ESP32 設計氣體溫濕度感測器,溫度太高,使用 Line 通知使用者。
感測器介紹
本範例使用 DHT-11溫濕度感測器。若要更精準的感測器,可使用 AM2302(又稱DHT22) 高精度温濕度模組 ,但比較貴。
接法
DHT-11 左邊的接腳,板子上有寫 S 。右邊的接腳,板子上有寫 - 。中間的接腳就沒寫。
DHT-11溫濕度傳感器接 PIN 16。
使用三條杜邦線 連到 開發板的 S-V-G。
S接開發板的S, - 接開發板的G, 中間接腳接開發板的V,如果插反很容易燒掉。
程式
程式說明
序列埠 I/O,拿出「序列埠印出(換行)」block。
字串,取出 「字串組合」。
字串,取出 「空白字元」block,再改成 「溫度:」。
也可以直接使用 「序列埠印出(換行)」block後面的空白字元。
從「感測模組/環境感測」類別,取出 「溫濕度計 DHT11 Pin 0 量測數值 相對濕度」block,將Pin 0 改成 Pin 16,相對濕度 改成 溫度。
執行結果
按 「Putty 序列埠監看視窗」鈕,再按 「開啟PUTTY」鈕,就看到結果了!
溫度愈高,值愈高。如把用手握住DHT-11,溫度就愈高。
WiFi連線測試
程式
程式說明
從 Wi-Fi,取出「連線到 Wi-Fi AP」和 「取得 Wi-Fi IP 位址」。
Wi-Fi ID 即 Wi-Fi 的 SSID, Wi-Fi無線基地台的名稱。
從「Putty 序列埠監看視窗」,有看到 ESP32 取得的IP位址,如 192.168.1.114。
用手機5GHz 分享WiFi 要改成相容性
如果手機當成 AP (Access Point),即WiFi 的基地台,因為有的手機是使用 5GHz,而 ESP32是使用2.4GHz,造成 ESP32無法連上手機的WiFi 。
解決方式:
如果是 iPhone,請在 設定/個人熱點,「最大化相容性」要打開。
iPhone當熱點,如果都是 使用 iOS系統,網路互連就比較沒有問題;分享熱點給其他品牌的手機,平板或電腦等,就需要 把「最大化相容性」要打開。
如果是 Android 手機,在設定的「Wi-Fi無線基地台」,「擴充相容性」要打開。
LINE Notify (Line通知)
當溫度超過設定的值時,使用LINE Notify 傳訊到手機LINE中進行提醒來查看。
LINE Notify 製作過程
申請LINE Notify服務
LINE Notify 網址為 :https://notify-bot.line.me/zh_TW/。
按右上角的「登入」。
輸入Email和密碼、圖片中的文字。或者「透過行動條碼登入」。
選「個人頁面」。
移到網頁的最下面,看到 「發行存取權杖(開發人員用)」,按「發行權杖」。
輸入權杖名稱,和要接收通知的聊天室,祇能選自己或群組(不能選個別好友),按 「發行」。
出現 權杖的值,按「複製」,暫時貼到 記事本或Word。再按「關閉」。
程式
程式說明
邏輯,取出 「如果 ...執行」。
邏輯,取出 「=」。
將「= 」改成 「>」。
數學,取出一個數字 「0」,將0 改成 32。
吉哥積木/物聯網/Line通知,取出「Line 通知 設定權杖」,從剛才複製的權杖值貼到後面的數值。
取出「Line 通知 傳送文字訊息」,設定要顯示的字串,通常會加上 地點,知道是從那裏發出通知訊息。
執行結果
當溫度超過32度 ,line 上就出現通知。
使用Line 貼圖包
程式
程式說明
吉哥積木/物聯網/Line通知,取出「Line 通知 傳送文字訊息」」,輸入要傳送的文字,貼上 上面複製 貼圖包編號的值、貼圖編號的值。