ESP32數據記錄器是一種具有經濟高效的數據採集系統,該系統支持使用RS-485,TTL協議來支持振動線傳感器和其他傳感器。要設置數據記錄器作為最終用戶,您可以將其插入計算機,並使用瀏覽器在網站中配置記錄器。對於高級配置,您可以使用Platformio或Arduino IDE在PC上編程並在PC上刷新記錄器。
使用本指南:https://community.platformio.org/t/redirect-esp32-log-messages-to-sd-card/33734 TAG更新esp32-hal-log.h
#ifdef USE_ESP_IDF_LOG
#ifndef TAG
#define TAG "myAPP"
#endif
更新platformio.ini將包括:
build_flags= -DUSE_ESP_IDF_LOG -DCORE_DEBUG_LEVEL=5
包括以下庫和定義:
#include "esp_log.h"
#include "esp32-hal-log.h"
#define LOG_LEVEL ESP_LOG_WARN
#define MY_ESP_LOG_LEVEL ESP_LOG_INFO
Mac OS驅動程序問題:https://arduino.stackexchange.com/questions/91111/how-to-now-to-install-ftdi-serial-drivers-drivers-on-mac
在
#define ELEGANTOTA_USE_ASYNC_WEBSERVER 1
為了通過USB為ESP32開發套件供電,使用了18650電池。但是,出於生產目的,將設計自定義的PCB,並且該模塊應通過3V3或VIN引腳供電,以最大程度地減少功率損耗。為了利用太陽能,採用了18650的盾牌,為ESP32提供了供電。此Aliexpress鏈接提供了有關盾牌的詳細信息。輸入電壓範圍指定為5V至8V,儘管初步測試表明5V太陽能電池板是功能性的。將進一步驗證。 SD似乎僅與Vin Pin中的Power一起使用,並在中間有一個雄鹿轉換器。
下表概述了各種操作模式下ESP32的當前消費:
| 模式 | 當前的消費 |
|---|---|
| WiFi TX,DSSS 1 Mbps,pout = +19.5 dbm | 240 MA |
| WiFi TX,OFDM 54 Mbps,pout = +16 dbm | 190 MA |
| WiFi TX,OFDM MCS7,pout = +14 dbm | 180 MA |
| wifi rx(聽) | (95〜100)ma |
| bt/ble tx,pout = 0 dbm | 130 MA |
| bt/ble rx(聽) | (95〜100)ma |
目前,該設置包括兩個0.3W 5V太陽能電池板,能夠向盾牌提供最多120mA的120mA。
Logger應使用time.h library的configTime在加速時與NTP服務器同步。使用getLocalTime(&timeinfo)獲得當前時間。該功能應在記錄函數中調用以獲取確切的時間。但是,如果損失電力,就不會保留時間。需要一個RTC模塊以在PowerLoss之後提供沒有WiFi的時間。注意:不確定當前實現(RTCLIB)是否會定期對NTP服務器進行輪詢。但是,Espressif的官方實施會定期進行民意調查。 https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/system/system/system_time.html
請注意,DS1307和OLED屏幕都連接到I2C總線,但相同的總線但地址不同。庫的設計使其可以掃描I2C總線以獲取共同地址。使用本指南:https://esp32io.com/tutorials/esp32-ds1307-rtc-module注意,小型RTC模塊不適用於3V3,而應提供VIN。
在分區表上的ESPRESSIF文檔:https://docs.espressif.com/projects/esp-idf/en/latest/ep32/api-guides/partition-tables.htables.html如果使用平台, .platformio/packages/framework-arduinoespressif32/tools/partitions可以在此目錄中找到默認分區
https://components101.com/modules/micro-sd-card-module-pinout-pinout-features-datasheet-alternatives https://www.electronicwings.com/esp32/microsd-card-card-interter-interfacing-ingerfacing-with-with-with-esp32
不確定,按日期存儲文件可能就足夠了。
WiFi.onEvent()函數用於註冊回調函數WiFiEvent ,當WiFi事件發生時將調用。在WiFiveent函數中,我們檢查SYSTEM_EVENT_STA_DISCONNECTED事件,表明WiFi斷開連接。當此事件發生時,我們將reconnectToWiFi()撥打重新連接。這樣,重新連接邏輯被封裝在Wifivent回調中,使loop()函數無重新連接相關的代碼。
托多。當單擊物理按鈕開關時,觸發此功能,ESP32將以WiFi訪問點開始,以允許用戶通過WiFi連接到它。設備配置網站將通過WiFi提供。 https://dronebotworkshop.com/wifimanager/閱讀此問題,以了解如何從ESP32,link刪除WiFi設置。否則,ESP32將啟動並自動使用先前的設置,真的會弄亂。
ESP32應從接入點請求靜態IP(例如WiFi路由器,LTE路由器);另一種方法是在Router Admin頁面中為ESP32設置靜態IP。路由器可能具有動態的IP地址,除非從ISP購買靜態IP,否則該路由器可能每隔幾天過期。 TODO:ESP32 API將IP更新為管理服務器。
對於大多數民用基礎設施應用程序,低延遲監控並不關鍵並且數據速率並不高,勞拉萬(Lorawan)作為行業標准出現。但是,在要求更高數據速率的情況下,現在可以利用ESP用於較短的距離項目。對於更長的距離項目,替代方法可能涉及將其他單元調製解調器集成到每個站點,並放棄站點之間的互連。 ESP現在 - 同行ESP32通信
參考:Andreas Spiess的Lorawan簡介。
| 方面 | 尤其是現在 | 洛萬 |
|---|---|---|
| 範圍 | 短距離,本地 | 遠距離區域 |
| 功耗 | 低功率 | 超低功率 |
| 數據速率 | 高數據速率,實時 | 低數據速率,針對范圍進行了優化 |
| 拓撲 | 點對點(P2P) | 明星 |
| 可伸縮性 | 中小網 | 大規模網絡 |
| 監管 | 2.4 GHz ISM頻段 | 亞吉格赫茲ISM樂隊 |
| 基礎設施 | 包含在Bare ESP32模塊中 | 需要網關設備 |
進行研究後,似乎實施Lorawan需要門戶設備。但是,選擇ESP-NOW提供了一種替代解決方案,並可以探索範圍擴展的可能性。預算可用時,可以添加Lorawan。
如果不需要Lora網關,則所有ESP32設備的固件都可以保持相似。只有“網關設備”或主站需要調整才能處理來自遠程客戶端的HTTP請求的數據通信和數據表組合。變電站仍應支持本地WiFi通信,並在沒有單元格服務的地區為用戶提供網頁。
該設備將通過WiFi Manager接口進行配置,該接口實質上是為用戶設置模式的網站提供服務。
ESP-32 DEV板帶有外部天線連接可用:ESP32-Woom-U。應在城市和農村地區進行尤其遠程模式。
數據記錄功能應支持不同的日誌記錄模式。可以根據所使用的協議進行概括:I2C,SPI,RS485等。在發送ESP-NOW之前,應首先將讀數保存在設備上。在刪除文件之前需要確認。
與新外圍設備接口時,此GPIO PIN監視器可以為原型設計提供遠程監視的用戶接口。
待有測試尚未振動電線傳感器,模擬傳感器,SaaS。我想擁有相同的功能:https://www.geo-instruments.com/technology/wireless-logger-networks/
使用ESP32 VIN進行電源,萬用表顯示約4.5V的電壓。將ESP32 VIN連接到VM501上的V33,GND與GND。將UART端口1用GPIO16初始化為RX,而GPIO17則將UART端口17初始化為TX。運行HardwareSerial VM(1);在ESP32上配置UART端口。運行VM.begin(9600, SERIAL_8N1, 16, 17);將UART端口1用GPIO16初始化為RX和GPIO17為TX。 vm.本項目中實現的serial UART協議函數基於Modbus協議:
目前,未經許可用於商業應用程序,使用了Elegant Free版本。文檔:https://docs.elegantota.pro/對於商業應用,可以開發一個簡單的Arduino Ota包裝庫,以避免Elegantota。 Todo Develope自己的OTA版本以避免限制。重要的是,請記住要在./pio/libdeps/esp32dev/ElegantOTA中啟用ElegantOTA.h中的異步WebServer opetion。
在端口80上創建了異步工具的實例。設置了回調函數,以通過響應Spiffs文件系統中存儲的文件的內容來處理root(“/”)的傳入HTTP獲取請求。調整文件名變量以匹配所需的文件。配置服務器後,它以server.begin()啟動。
使用prexprence.h庫進行侵犯。
credentials
{
"WIFI_SSID": "*********",
"WIFI_PASSWORD": "**********",
"gmtOffset_sec": "************"
}
主記錄器應具有所有變電站系統信息的主列表。
[
{
"macAddress": "30:83:98:00:52:8C",
"batteryVoltage": "3.7V"
},
{
"macAddress": "30:83:98:00:52:8C",
"batteryVoltage": "3.7V"
},
]
記錄儀應在路由/api/readings上列出時間,以獲取時間播放的請求。客戶端可以指定sensorId , start和end以及readingsOptions 。示例請求應如下如下:
/api/readings?sensorId=238&start=2024-02-06T13:40:00&end=2024-02-13T13:40:00&readingsOptions=0
由Qiwei Mao創建
隨機書呆子教程:https://randomnerdtutorials.com/projects-esp32/ dashboard:https://github.com/ayushsharma82/esp-dash github參考