20221015高科大微學分研習二

教材講義:http://gg.gg/1015nkust2

  • 補充:顯示手機畫面在電腦螢幕上

    • 方法一:使用USB線讓手機與電腦有線連接(使用軟體 scrcpy )

      • 手機端:(以我的紅米手機 Note 7 Pro為例)

        • 手機要啟動【USB錯偵模式】(要先進入【開發者模式】),設定如下

    • 方法:利用Google meet

      • 電腦端

        • 開啟Google meet會議

      • 手機端:

        • 進入該會會議

        • 並把整個螢幕分享出來

          • 執行

      • 手機端:

一、藍牙測試

  • 利用手機APP透過藍牙來開關燈

    • 手機APP輸入1(或是on),點亮內建LED燈

    • 手機APP輸入0(或是off),關閉內建LED燈

    • 程式如下:使用下方圖的作法


  • 手機APP介紹

    • 可使用下面幾款APP來傳輸料給ESP32,不用配對,直接使用

      • Serail Bluetooth Terminal (好像只有for android)

      • nRF Connect (好像有for ISO)

  • Serail Bluetooth Terminal操作

  • nRF Connect 操作

  • 除了接收資料外,也可以透過藍牙來發送資料

    • 持續發送資料

    • 按鍵時發送資料

    • 接收到訊息時發送資料

    • 請設計一個自問自答機

、ESP-NOW廣播測試

  • 接收端程式

  • 把發送端和接收端的程式寫在一起

    • 自己當發送端也可以當接收端,但自己不會接收到自己傳的東西

、基本WIFI使用

  • 連上網路

  • 顯示目前日期及時間

    • 透過網路利用NTP校正時間

    • 設計了一函數,來讓日期、時間都能兩位數呈現

、MQTT

  • MQTT介紹:

    • 這是目前物聯網最夯的應用

    • 相當於youtube的訂閱機制(youtuber為【發布者】、youtube網站為【Broker】、你我為【訂閱者】)

    • MQTT由三種角色構成,分別是Publisher(發布者)、 Broker(代理人)和Subscriber(訂閱者)

    • MQTT的主題(Topic)名稱:MQTT主題名稱是UTF-8(萬國碼)編碼的字串,我們可以自行決定主題名稱,例如,傳送溫度的訊息主題可命名成「溫度」、傳送亮度的訊息主題叫做「照度」…等等。主題名稱也支援類似檔案路徑的階層式命名方式 ,如: wenyu/home/1f/led

    • 免費的Broker資料,其他常見的Broker

      • MQTTGO.io:mqttgo.io 、TCP Port:1883

      • HiveMQ:broker.hivemq.com 、TCP Port:1883

      • EMQX:broker.emqx.io、TCP Port:1883 / 8883(TLS)

  • 利用MQTTgo.io網頁工具來控制遠端設備的開關燈

    • 利用電腦網頁當【發布者】 http://mqttgo.io/

    • NodeMCU-32S當【訂閱者】

    • Broker:mqttgo.io 、TCP Port:1883

    • 主題:wenyu38(獨一無二即可)

      • Payload(訊息)為ron時,EZ Start Kit+的紅色LED燈點亮

      • Payload(訊息)為roff時,EZ Start Kit+的紅色LED燈關掉

  • MQTT程式的基本架構

    • 接收端(訂閱端)

      • 除了設定MQTT伺服器外

      • 還要設定訂閱主題

    • 發送端:

      • 通常透過【按鍵】發送訊息

  • 本作品程式:

LINE Notify

  • 參考資料:

  • 申請 LINE Notify 權杖

    • 打開 LINE Notify 的網站 ( https://notify-bot.line.me/zh_TW/ ),使用自己的 LINE 帳號登入。

    • 登入後滑鼠移至上方個人帳號,選擇「個人頁面」

  • 測試:按A鍵,傳LINE出去,包含溫度、光線、可變電阻值

    • 目前LINE Notify積木與按鈕積木好像有衝突,所以不要使用按鍵積木

    • EZ Start Kit+ 的DHT11好像常出問題

、Google 試算表