發表文章

ESP32-CAM燒錄出現fd_forward.h: No such file or directory錯誤信息<解決方案>

 ESP32-CAM燒錄出現fd_forward.h: No such file or directory錯誤信息<解決方案> 如果在燒錄ESP32-CAM時出現以下訊息: Arduino:1.8.19 (Windows 10), 開發板:"AI Thinker ESP32-CAM, 240MHz (WiFi/BT), QIO, 80MHz" app_httpd.cpp:22:24: fatal error: fd_forward.h: No such file or directory "WiFi.h" 對應多個庫 compilation terminated. 已使用: C:\Users\My\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2\libraries\WiFi 未使用:E:\arduino\libraries\WiFi exit status 1 fd_forward.h: No such file or directory

使用Node-RED控制LED&風扇-ESP32

圖片
 使用Node-RED控制LED&風扇-ESP32 原本這個實作主題是搭配夜市小霸王-尤老師的課程,使用LineBot語音控制LED和風扇, 但因為正好有事,提前請了假,所以就先把手邊拿到的零件先做看看。 一方面也學習一下CSS按鍵的制作。 接線圖 正負端就都接在板子上的Vcc和GND, 風扇 控制線接 IO35 LED 控制線接 IO34 ESP32上的程式碼 #include <WiFi.h> #include <WiFiClient.h> #include <PubSubClient.h> WiFiClient espClient ; PubSubClient client ( espClient ); const int ledR = 15 ; const int ledG = 2 ; const int ledB = 4 ; const int LIGHT = 2 ; const int Fan = 18 ; const char * ssid ="--- " ; const char * password = "-----" ; const char * mqtt_server = "192.168.---.---" ; //如果連線至MQTT成功,即會開始接收訂閱的主題 void reconnect (){   while (! client . connected ()){     Serial . print ( "Attempting MQTT connection..." );     if ( client . connect ( "esp32Client" )){       Serial . println ( "connected" );       client . subscribe ( "linebot/onoff" ); //LED訂閱主題       client . subscribe ( "fan_out/onoff" ); //風扇訂閱主題     } else {    

LoRa-網路通訊無距離-ESP32

圖片
 LoRa-網路通訊無距離-ESP32 某淘上拜了二條TTGO-LoRa32,因為參加社團的課程,漸漸意識到網路的距離 會越來越廣,越來越無所不聯。所以就買了二條回來開始學習。 那麼是什麼是LoRa呢? 這名字每次都聯想到蘿莉控😂,好啦!回歸研究。 LoRa 是一種無線數據通信技術,它使用可由 Semtech LoRa 收發器芯片生成的無線電調製技術。 它有如下特點: 少量數據的長距離通信(這意味著低帶寬) 低功率要求進行長距離通信 不同國家有不同登記的頻率 以下是常用的頻率 868 MHz for Europe 915 MHz for North America 433 MHz band for Asia 或者自行查找自己國家內可用的頻率 https://www.thethingsnetwork.org/docs/lorawan/frequencies-by-country/ LoRa 的 適合 的運用範籌: 物聯網 (IoT) 智能家居 機器對機器通信 以及更多… 所以像牽涉到太陽能這類運用就很適合使用LoRa LoRa 的不適合的運用範籌: 需要高數據速率傳輸; 需要非常頻繁的傳輸; 或者在人口密集的網絡中。 所以可以用在哪?           例如:1.無線電通訊這種點對點式的通訊                          或者                       2. 特定的聯網-LoRaWAN                      3. 智慧農場的監控系統也是符合使用LoRa的範籌 那WIFI和LoRa又有什麼不同呢? Wi-Fi ,在中文裡又稱作“行動熱點”,是Wi-Fi聯盟製造商的商標做為產品的品牌認證,是一個創建於IEEE 802.11標準的無線局域網技術。 優點: 設備可以接入互聯網 避免佈線 缺點: 距離近(50米) 功耗大 必須有熱點 LoRa 是低功耗局域網無線標準 。它最大特點就是在同樣的功耗條件下比其他無線方式傳播的距離更遠,實現了低功耗和遠距離的統一,它在同樣的功耗下比傳統的無線射頻通信距離擴大3-5倍。 優點 : 遠距離(城鎮2~5km,郊區15km) 低功耗(據說電池可工作10年) 安全(AES128加密) 缺點: 速度慢 不可接入互聯網 癈話很多了,終於要來實作一下😴 使用TTGO -LoRa32 2x

秤重感測器-HX711-ESP32

圖片
 秤重感測器-HX711-ESP32 簡單介紹: 稱重傳感器將力轉換為可測量的電信號。電信號與施加的力成比例變化。有不同類型的稱重傳感器:應變計、氣動和液壓。在本教程中,我們將介紹應變式稱重傳感器。 應變計稱重傳感器由一個帶有應變計的金屬棒組成(在上圖中的白膠下方)。應變計是一種電子傳感器,用於測量物體上的力或應變。當對物體施加外力時,應變儀的電阻會發生變化,從而導致物體的形狀(在本例中為金屬棒)變形。電阻的變化與施加的負載成正比,這使我們能夠計算物體的重量。 通常,稱重傳感器有四個應變計連接在惠斯通電橋中(如下所示),使我們能夠獲得準確的電阻測量值。 接線方式: 紅色:VCC (E+) 黑色:GND (E-) 白色:輸出 - (A-) 綠色:輸出 + (A+) 安裝所須的函式庫 使用Arduino IDE 打開 Arduino IDE 並轉到 Sketch >Include Library> Manage Libraries。 搜索“HX711 Arduino Library”並安裝 Bogdan Necula 的庫。 或者也可以使用vsCode 可以在以下路徑看到波特率設制成15200,以及剛安裝好的庫 程式碼: #include <Arduino.h> #include "HX711.h" // HX711 circuit wiring const int LOADCELL_DOUT_PIN = 33 ; const int LOADCELL_SCK_PIN = 32 ; HX711 scale ; void setup () {   Serial . begin ( 115200 );     Serial . println ( "HX711 Demo" );   Serial . println ( "Initializing the scale" );   scale . begin ( LOADCELL_DOUT_PIN , LOADCELL_SCK_PIN );   Serial . println ( "Before setting up the scale:" );   Serial . print ( "r

GPS模組測試-GPS6MV2

圖片
  GPS模組測試-GPS6MV2 介紹: 基本上,GPS(全球定位系統)接收器通過計算它們與許多衛星的距離來工作。它們經過預先編程,可以在任何給定時間了解 GPS 衛星的位置,然後使用眾所周知的三邊測量過程計算地球上的位置。地平線上方的衛星越多,您的 GPS 裝置就越能準確地確定您所在的位置。 工作: 電源:2.7V 至 3.6V 默認波特率:9600 bps 電流消耗:45mA。 多達 22 顆衛星在 50 個頻道跟踪 每秒最多更新 5 個位置,水平位置精度為 2.5m。 導航靈敏度:高達 -161 dBm 導航更新率:1Hz 配備外接天線和內置 EEPROM。 接口:RS232 TTL,串行波特率 4800-230400(默認 9600) 工作溫度:-40°C~85°C 通信協議:UBX 二進制、RTCM 和標準 NMEA 輸出:要了解這些句子中每個數據字段的含義,您可以在此處查閱 NMEA 數據。 接線方式: GPS 模塊將由 3.3V 電源供電。它使用 4pins 接頭上可用的 TX 和 RX 引腳通過串行通信與 ESP32 通信。下圖顯示了本教程中使用的電路原理圖。 將 GPS 模塊的 VCC 引腳連接到 ESP32 3.3V 引腳。 將 GPS 接地引腳連接到 ESP32 接地引腳。 現在,將 GPS 模塊的 RX 引腳連接到 ESP32 的 TX 引腳。同樣,將 GPS 模塊的 TX 引腳連接到 ESP32 的 RX 引腳(ESP32 的 RX 和 TX 引腳在軟件中定義)。 GPS模組接線引腳 程式碼: #include <SoftwareSerial.h> SoftwareSerial ss(16, 17); //Rx, Tx void setup() { Serial.begin(115200); ss.begin(9600); } void loop() { while (ss.available()>0) { byte gpsData=ss.read(); Serial.write(gpsData); } }

mpu6050螺陀儀+3D物件(node-red)-esp32

圖片
 mpu6050螺陀儀+3D物件(node-red)-esp32

天氣預報顯示+mqtt+dashboard

圖片
 天氣預報顯示+mqtt+dashboard-專題作品(1) 我的構想是資訊完全由公開資訊API抓取下來,分成兩個部份顯示 一個是在node-red dashboard由網頁顯示出來 另一個是在TFT顯示器顯示出來 先來看看node-red的dashboard顯示畫面如下: 包含了 日期 AQI空氣品質 七日預報(我只截取了一整天每3小時的預報) PM2.5 溫濕度 TFT顯示

st7735-TFT測試-使用TFT-eSPI庫載入圖片(3)-ESP32

圖片
  st7735-TFT測試-使用TFT-eSPI庫載入圖片(3)-ESP32 接線 ( 更正 :               SCL-->ESP32(D18)               SDA-->ESP32(D23) 1. 首 先到此下載程式庫: https://github.com/Bodmer/TFT_eSPI   並上傳至ArduinoIDE的library 2. 這 裡有幾個設定必須要更改成和自己使用的顯示屏一樣型號的設置 <C:\Users\<用戶名>\Documents\Arduino\libraries\TFT_eSPI>,用同樣的方法找到庫文件,並打開<User_Setup.h>文件, 當我們打開<User_Setup.h>文件後,需要對文件中的內容進行簡單的修改即可使用,修改的目的主要是為了和我們選擇的屏幕驅動型號相匹配 文件,打開後按照下圖內容進行修改,在眾多的驅動文件中,選擇驅動ST7735,其他用不到的註釋掉,如果你使用的屏幕是其他類型的驅動也可以根據自己的驅動進行選擇 <E:\blairan\arduino\portable\sketchbook\libraries\TFT_eSPI>,並打開<User_Setup.h>文件,如果沒有專用的查看軟件的話可以使用最普通的記事本打開 接著設置屏幕顯示的顏色和屏幕的尺寸大小,我們設置屏幕的寬度為128,屏幕顏色有RGB和BGR兩種類型,什麼是RGB和BGR呢,你可以把它簡單的理解為紅綠藍的排列順序 接下来是SPI引脚的设置,按照下图中的引脚设置即可 // For ESP32 Dev board (only tested with GC9A01 display) // The hardware SPI can be mapped to any pins #define TFT_MOSI 23 // In some display driver board, it might be written as "SDA" and so on. #define TFT_SCLK 18 #define TFT_CS   5  // Chip select control pin #def