發表文章

目前顯示的是 7月, 2021的文章

MQTT Publish + Node-RED + BMP280

圖片
  MQTT Publish + Node-RED + BMP280 參考文獻- https://randomnerdtutorials.com/esp32-mqtt-publish-subscribe-arduino-ide/ 這次實作是使用MQTT發送BMP280的數據到樹莓派上的Node-RED儀錶版上 我是參考這篇文章- https://randomnerdtutorials.com/esp32-mqtt-publish-subscribe-arduino-ide/ 所以會使用類似的程式碼手法來完成項目。 開始之前 先備妥樹莓派上所須的軟硬體 安裝 Mosquitto broker (如果沒玩過樹莓派,請連結 這裡 安裝樹莓派系統和 如 何使用SSH和VNC鏡像 ) 安裝   Node-RED installed  和  Node-RED Dashboard 在樹莓派上。 備註:安裝Node-RED時若出現錯誤訊息改用下面所附下載    bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered) 接下來先測試BMP280是否可正常測溫度和壓力-請參考之前的紀錄( 點我傳送 )。 先來看一下整個發送原理比較容易理解自己要學的重點在哪裡 此次實驗我只寫從ESP32發送數據到樹莓派的Mosquitto代理接收/發送 然後通過MQTT通信協議去控制ESP32發送數據到Node-RED,其實我覺 得和ThingSpeak很類似,只是使用Node-RED更能客製化。 看一下這張圖

DS1306實時時鐘模組+0.96OLED -ESP32

圖片
  DS1306實時時鐘模組-ESP32 這是 廣華電子上 的介紹 ◎ 時鐘具有能計算2100 年之前的秒、分、時、日、星期、月、年的能力,還有閏年調整的能力 ◎ 31 8 位暫存數據存儲RAM ◎ 串行 I/O 口方式使得管腳數量最少 ◎ 寬範圍工作電壓2.0 5.5V ◎ 工作電流 2.0V 時,小於300nA ◎ 讀 / 寫時鐘或RAM 數據時有兩種傳送方式單字節傳送和多字節傳送字符組方式 ◎ 8 腳DIP 封裝或可選的8 腳SOIC 封裝根據表面裝配 ◎ 簡單 3 線接口 ◎ 與 TTL 相容Vcc=5V ◎ 雙電源管用於主電源和備份電源供應 ◎ 電池:CR2032 電壓3V,電流260mAh ◎ 晶振32.768KHz,匹配電容為6pF ◎ DS1302為8腳直插大晶片,晶片下面有IC座,方便更換及插拔片 6.模塊工作電壓兼容3.3V/5V,可與5V及3.3V單片機連接 ◎帶4個定位孔,直徑3.1mm ◎工作溫度:0°~70° ◎ 安裝注意! 1.VCC與GND千萬不要接反,以免燒壞晶片 2.51系列單晶片P0接腳需要連接上拉電阻,如果單晶片沒有連接上拉電阻,可以將數據線接到其他接腳 步驟1: 在Arduino IDE下載程式庫DS1302,並選好版型,COM和波特率 接線 // DS1302 CLK/SCLK --> 5 // DS1302 DAT/IO --> 4 // DS1302 RST/CE --> 2 // DS1302 VCC --> 3.3v - 5v // DS1302 GND --> GND

BMP280+ThingSpeak loT

圖片
  BMP280+ThingSpeak IoT ESP32真的是個方便又神奇的版子,3個月前我還在猶豫要不要跨足 研究ESP32,帶著一份不安的心,買了一些書開始學,至今約三個月 ,覺得之前有玩Arduino因為語言相通,省去了一些時間,只是比較 略顯不足的是esp32沒有5V倒是有點可惜,另外我覺得優勢是內建WIFI 和藍芽,不用又外接,並且也支援mpython,這讓我無形中不會因為只 玩esp32用了C語言,而忘了Python。

BMP280氣壓,溫度模組-ESP32

圖片
  BMP280氣壓,溫度模組-ESP32 BMP280,該傳感器可以非常準確地測量氣壓和溫度。 您可以使用 I2C 或 SPI 連接協議將其與您的 Arduino 板連接。它有一個 3.3V 穩壓器和電平轉換,因此您可以毫無問題地將它與 3V 或 5V 邏輯微控制器一起使用。

超音波測距(HC-SR04)&網頁顯示(wifi_server)

圖片
超音波測距(HC-SR04)&網頁顯示(wifi_server)   超音波測距參考- https://esp32-blairan.blogspot.com/2021/07/blog-post.html 接線 程式碼 #include   <Arduino.h> #include   <WiFi.h> #include   <ESPAsyncWebServer.h> #include   <Ultrasonic.h> // ---------------------     ---------------------     ------------------- //  * | HC-SC04 | Arduino |     | PING))) | Arduino |     | Seeed | Arduino | //  * ---------------------     ---------------------     ------------------- //  * |   Vcc   |   5V    |     |   Vcc   |   5V    |     |  Vcc  |   5V    | //  * |   Trig  |   12    | AND |   SIG   |   10    | AND |  SIG  |    8    | //  * |   Echo  |   13    |     |   Gnd   |   GND   |     |  Gnd  |   GND   | //  * |   Gnd   |   GND   |     ---------------------     ------------------- //  * --------------------- const   char *  ssid = "基地台名稱" ; const   char *  password = "基地台密碼" ; AsyncWebServer   server ( 80 ); Ultrasonic   ultrasonic1 ( 32 ,  33 );  //ultrasonic(trig, echo) con

超音波&0.96OLED

圖片
  超音波&0.96OLED 0.96OLED實作參考 - https://esp32-blairan.blogspot.com/2021/05/091oled-esp32.html 超音波(Arduino)實作參考 - https://blairandreamwork.blogspot.com/2021/05/hc-sr04.html 超音波和Arduino上的模組大同小義,不過我使用的模組比一般簡單多了,省去 計算,直接呼叫函式就能取得inc和cm。 接線 --------------------------        ---------------------      //  * | HC-SC04 | ESP32  |     |    OLED | ESP32 | //  * ---------------------     ---------------------      //  * |   Vcc   |   3.3V  |     | Vcc | 3.3V | //  * |   Trig  |   32    |      | Gnd | GND | //  * |   Echo  |   33    |     | SCL | 21 | //  * |   Gnd   |   GND   |      | SDA | 22 | //  * --------------------- ----------------------

DHT11/12網路監測-ESP32

圖片
  DHT11/12網路監測-ESP32 單純實驗DHT11/12參考 - https://esp32-blairan.blogspot.com/2021/07/dht11dht12-esp32.html 先下載伺服器的庫 - ESPAsyncWebServer 完整程式碼如下: #include   <WiFi.h> #include   <ESPAsyncWebServer.h> #include   <Adafruit_Sensor.h> #include   <DHT.h> #include   <DHT_U.h> const   char *  ssid  =  "CTK" ; const   char *  password  =  "ctk674011" ; AsyncWebServer   server ( 80 ); #define   DHTPIN   4       #define   DHTTYPE      DHT11      // DHT 11 sensors_event_t   event ; DHT_Unified   dht ( DHTPIN ,  DHTTYPE ); const   char   indexHtml []  PROGMEM  =  R"===(   <html> <head>   <meta charset="utf-8" />   <meta name="viewport" content="width=device-width, initial-scale=1.0" />   <style>     h1  {text-align: center; background-color: orange; margin-right:5px;}     dl { width: 320px; margin: 12px auto; }     dt {        font-size: 20pt; color: #444; background-color: #ddd;       marg

DHT11/DHT12溫溼度傳感器實驗-ESP32

圖片
DHT11/DHT12溫溼度傳感器實驗   參考網址 - https://randomnerdtutorials.com/esp32-dht11-dht22-temperature-humidity-sensor-arduino-ide/ 溫溼度傳感器在控制板學習裡是必備入門實作的課題 它包含DHT11/DHT12這兩種形式, 這些傳感器包含一個 芯片,可以進行模擬到數字的轉換,並輸出帶有溫度和濕度 的數字信號。這使得它們很容易與任何微控制器一起使用。 DHT11 和 DHT22 非常相似,但它們的規格不同。下表比較 了 DHT11 和 DHT22 溫濕度傳感器的一些最重要的規格。 要對這些傳感器進行更深入的分析,請查看傳感器的數據表。 DHT11 DHT22 Temperature range 0 to 50 ºC  +/-2 ºC -40 to 80 ºC  +/-0.5ºC Humidity range 20 to 90%  +/-5% 0 to 100%  +/-2% Resolution Humidity: 1% Temperature: 1ºC Humidity: 0.1% Temperature: 0.1ºC Operating voltage 3 – 5.5 V DC 3 – 6 V DC Current supply 0.5 – 2.5 mA 1 – 1.5 mA Sampling period 1 second 2 seconds

網頁控制LED燈-ESP32

圖片
  網頁控制LED燈-ESP32