(1)(1.4) ESP32 wifi telemetry

文章目錄

前言

1 用于ESP32的DroneBridge

2 推薦的硬件

3 下載和燒錄固件

4 為ESP32配置DroneBridge


前言

ESP32 是現成的 Wi-Fi 模塊,具有完整的 TCP/IP 協議棧和微控制器功能。它們提供專用的 UARTSPII2C 接口。它們可與任何 ArduPilot 自動駕駛控制器配合使用。


1 用于ESP32的DroneBridge

適用于 ESP32DroneBridge 提供透明、雙向的串行至 WiFi 橋接器。

使用 WiFi 協議無法提供與其他 DroneBridge 實現相同的范圍。典型的 WiFi 范圍約為 50m?200m,具體取決于天線。高增益定向天線可提供更大的范圍。

2 推薦的硬件

幾乎所有 ESP32 開發板都能運行 ESP32DroneBridge。建議使用帶有外部天線連接器的電路板和模塊,因為這些電路板和模塊可以提供更遠的距離。

Warning

大多數模塊僅支持 3.3V 輸入,而某些自動駕駛儀串行端口僅提供 5V。你需要檢查兼容性,必要時降低電壓。一般不建議使用自動駕駛儀3.3V 電源,除非你確定它能為你使用的 ESP32 板提供足夠的電流。

接受 3.3V 電源的模塊和 DevKits 的一些示例:

  • AZDelivery DevKit C
  • TinyPICO - ESP32 Development Board - V2
  • Adafruit HUZZAH32 – ESP32 Feather Board
  • Adafruit AirLift – ESP32 WiFi Co-Processor Breakout Board (需要 FTDI 適配器來燒錄固件)
  • Adafruit HUZZAH32 (需要 FTDI 適配器來燒錄固件)
  • ESP32-WROOM-32UE (僅模塊 - 需要定制 PCB)
  • ESP32-WROOM-32E (僅模塊 - 需要定制 PCB)

Note

帶有 IPEX 外置天線端口的 NodeMCUDevKit 板通常也提供默認激活的板載天線。你可能需要重新焊接一個電阻器來激活外部天線端口。

3 下載和燒錄固件

GitHub 存儲庫下載固件(Download the firmware from the GitHub repository),并按照其中的燒錄說明進行操作(follow the flashing instructions there)。它們始終是最新的。

Note

請按照 GitHub 存儲庫中的閃存說明進行操作(Follow the flashing instructions inside the GitHub Repository)。不同版本的 ESP32 DroneBridge 可能會有不同的確切參數。

為方便起見,在此給出一些簡短說明:

  • 下載預編譯固件二進制文件(Download the pre-compiled firmware binaries);
  • 通過 USB/Serial 橋接器將 DEVKit 與電腦連接(大多數 DEVKit 已提供 USB 端口,用于閃存和調試);
  • 擦除閃存并將 DroneBridge for ESP32 固件燒錄到 ESP32 上;
  • 使用 Espressif Flash 下載工具(Espressif Flash Download Tool)(僅限 Windows);
  • 使用 esp-idf/esptool(所有平臺)。
  • ESP32 進行電源循環;
  • 連接到"DroneBridge for ESP32"?WiFi 網絡并為你的應用配置固件。

4 為ESP32配置DroneBridge

你可以通過 Web 界面更改默認配置。通過 WiFi 連接到 ESP32,然后在瀏覽器地址欄中輸入 dronebridge.localhttp://dronebridge.local192.168.2.1

默認配置

  • SSID: DroneBridge for ESP32
  • Password: dronebridge
  • Transparent/MAVLink
  • UART baud rate 115200
  • UART TX pin 17
  • UART RX pin 16
  • Gateway IP: 192.168.2.1

自定義設置和網絡界面

你可以通過網絡界面更改默認配置。

通過 WiFi 連接到 ESP32,并在瀏覽器地址欄中輸入 dronebridge.localhttp://dronebridge.local192.168.2.1

Note

某些設置需要重新啟動 ESP32 才能生效。

布線

接線非常簡單,對于連接到自動駕駛儀任何串行端口(如 TELEM1TELEM2)的所有設備而言,接線方式基本相同。本指南在此不作詳細介紹,但提供了以下接線大綱。

1.ESP32UART 連接到自動駕駛儀UART(例如 TELEM 1TELEM 2 端口)。確保電壓水平匹配!大多數 ESP32 DevKits 只能使用 3.3V

  • TX to RX;
  • RX to TX;
  • GND to GND;
  • ESP32 提供穩定的 3.3V5V 電源(取決于 DevKit 的可用輸入和自動駕駛儀的功能)。

2.自動駕駛儀端口設置為 MAVLINK 12 協議。

有些 ESP32 DevKits 制造商在其產品上標注了錯誤的引腳。如果遇到問題,請確保電路板上的引腳標簽正確無誤。

確保在布線時始終遵循 ESP32 板制造商的說明。尤其是電源。

ArduPilot配置

配置與 ESP32 連接的自動駕駛儀UARTDroneBridge 的默認配置為:

  • Protocol: MAVLink (v1 or v2);
  • Baudrate: 115200 baud。

如果連接到串行接口 2,則應在自動駕駛儀上設置這些參數(如果使用其他串行接口,請將參數名稱中的"2"替換為串行接口的編號):

  • SERIAL2_PROTOCOL = 2 (MAVLink2) or 1 (MAVLink1);
  • SERIAL2_BAUD = 115 (115200 baud)。

如果出現連接問題,可將 BRD_SER2_RTSCTS = 0 設置為禁用流量控制,但通常沒有必要這樣做。

連接到地面站

提供以下連接選項:

  • 通過 14550 端口向所有連接設備發送 UDP 單播;
  • 5760 端口的 TCP

DroneBridge for ESP32 將自動通過 UDP 將所有數據轉發至所有連接的 WiFi 設備的 14550 端口。QGroundControlMission Planner 將自動檢測連接,無需采取進一步行動。

故障排除

在刷新新版本/固件之前,請務必擦除 ESP32 的閃存。

檢查 ESP 板上的引腳是否標注正確。

在瀏覽器地址欄中輸入 IP 地址 http://192.168.2.1。不支持 https!使用手機時,可能需要斷開蜂窩網絡連接才能訪問網絡界面。

如果你的網絡與 ESP32 DBIP 范圍相同,則需要將 Webinterface 中的網關 IP 地址更改為 192.168.5.1

API

ESP32DroneBridge 提供 REST:API,允許你讀寫配置選項。你不必局限于 Web 界面提供的選項(如波特率)。你可以使用 API 設置自定義波特率或將系統集成到自己的設置中。

申請設置

http://dronebridge.local/api/settings/request

申請統計資料

http://dronebridge.local/api/system/stats

觸發重啟

http://dronebridge.local/api/system/reboot

觸發設置更改:發送有效的 JSON

{

? "wifi_ssid": "DroneBridge ESP32",

? "wifi_pass": "dronebridge",

? "ap_channel": 6,

? "tx_pin": 17,

? "rx_pin": 16,

? "telem_proto": 4,

? "baud": 115200,

? "msp_ltm_port": 0,

? "ltm_pp": 2,

? "trans_pack_size": 64,

? "ap_ip": "192.168.2.1"

}

to

http://dronebridge.local/api/settings/change

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/214255.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/214255.shtml
英文地址,請注明出處:http://en.pswp.cn/news/214255.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2023-12學習筆記

1.NonNull要手動寫無參構造器 這是一個我今天研究了很久的問題,開始不知道原因是在這里,還在那想是不是Data覆蓋了無參構造,結果當然不是。先說下解決歷程 1.問題起因 通過RequestBody接收前端報文的時候報錯,大致是說我構造方…

python中tkinter實現GUI程序:三個實例

python中tkinter實現GUI程序 寫在最前面Python中使用Tkinter實現GUI程序的基本元素Tkinter簡介基本元素1. 根窗口(Root Window)2. 小部件(Widgets)3. 布局管理4. 事件處理 1.用 tkinter實現一個簡單的 GUI程序,單擊“click”按鈕&…

項目方看過來,詳解Moonbeam Grants申請技巧

Grants加速計劃是Moonbeam基金會發起的生態資助計劃,旨在支持生態系統中的不同項目、社區和個人,幫助他們順利進入Moonbeam發展,依靠早期的生態扶持迅速成長。 每一份Grant計劃旨在融合社區參與、包容性和透明度等特性,加速Moonb…

Java項目-瑞吉外賣Day3

填充公共字段: 目的:由于某些屬性,例如createdTime這些需要填充的字段會在多個地方出現,所以考慮使用公共字段自動填充的辦法減少重復代碼。 在對應屬性上加入TableField注解。通過fill字段表明策略,是插入/更新的時候…

Android studio之ConstraintLayout使用

文章目錄 優勢使用ConstraintLayout的步驟使用多種方式定義控件的位置 優勢 ConstraintLayout是一個相對布局,是在Android 2.3版本中引入的。它可以在不同的屏幕大小和分辨率中提供一致的布局,并且是支持復雜布局的最佳選擇之一。ConstraintLayout相對于…

ROS2+ROS_DOMAN_ID

The ROS_DOMAIN_ID? Table of Contents Overview Choosing a domain ID (short version) Choosing a domain ID (long version) Platform-specific constraints Participant constraints Domain ID to UDP Port Calculator Overview? As explained elsewhere, the de…

Dockerfile模板和Docker Compose模板

記錄一下Dockerfile模板和Docker Compose模板, 基礎的系統加JDK環境來構建一個Java應用,其Dockerfile內容如下: # 基礎鏡像 FROM openjdk:11.0-jre-buster # 設定時區 ENV TZAsia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/local…

如何搭建廢品上門回收小程序

如今,隨著環境保護意識的增強,廢品的回收和再利用變得越來越重要。為了方便人們進行廢品回收,搭建一個廢品上門回收的小程序成為了一個不錯的選擇。本文將介紹如何從零開始搭建一個廢品上門回收小程序。 …

vue寶典之項目結構介紹

文章目錄 🍁前言🍁Vue.js基本概念🍁Vue.js核心特性🍁Vue.js應用場景🍁Vue項目結構🍁Vue開發流程 目前在學習vue項目,之前只是學習vue中基本語法,當接觸項目時發現vue項目結構之間配置…

【Go自學版】02-goroutine

利用時間片分割進程,致使宏觀上A,B,C同時執行(并發) CPU利用率包含了執行和切換,進程/線程的數量越多,切換成本也會增大 最大并行數:GOMAXPROCS work stealing: 偷其他隊列的G hand off: 當前G1阻塞&#…

css 修改滾動條樣式,解決Windows瀏覽器中滾動條不美觀問題

Windows環境中的瀏覽器中滾動條默認是直接顯示了,不管光標是否進入該區域,這樣就很不美觀,如下圖: 之前樣式為 .well {display: block;background-color: #f2f2f2;border: 1px solid #ccc;margin: 5px;width: calc(100% - 12px);h…

mycat部署和配置讀寫分離(二)

說明: MyCAT 是使用 JAVA 語言進行編寫開發,使用前需要先安裝 JAVA 運行環境(JRE),由于 MyCAT 中使用了 JDK7 中的一些特性,所以要求必須在 JDK7 以上的版本上運行。 1. jdk1.8安裝 詳見jdk環境安裝 2. Mysql安裝 詳見mysql8.0.11源碼安裝…

websoket 的使用

WebSocket是HTML5的API之一,允許瀏覽器和服務器之間進行雙向通信。Vue.js可以輕松地與WebSocket API集成,使用原生WebSocket API或其他WebSocket庫(如socket.io)都是可行的。 下面是一個使用Vue.js實現WebSocket的簡單示例&#…

【lesson11】數據類型之string類型

文章目錄 數據類型分類string類型set類型測試 enum類型測試 string類型的內容查找找所有女生(enum中)找愛好有游泳的人(set中)找到愛好中有足球和籃球的人 數據類型分類 string類型 set類型 說明: set:集…

SL9008 3.6-60V輸入 LED降壓恒流芯片 內置MOS管 帶PWM調光

SL9008是一款內置MOS管、具有PWM調光功能的LED降壓恒流芯片,適用于3.6-60V的輸入電壓范圍。它采用了先進的電路設計,確保了高效率和長壽命,同時具有寬電壓輸入范圍和優異的負載調整率。 SL9008的主要特點包括: 1. 寬輸入電壓范圍&…

C語言中常用的庫函數和頭文件

下面是C語言中常用的一部分庫函數和頭文件,不同編譯器或操作系統可能會有所差異。 1. 字符串相關函數 (string.h): - strlen:獲取字符串長度。 - strcpy、strncpy:復制字符串。 - strcat、strncat:連接字符串…

HarmonyOS4.0開發應用——【ArkUI組件使用】

ArkUI組件使用 這里會詳細演示以下組件使用: ImageTextTextInputButtonSliderColumn&&RowList自定義組件以及相關函數使用 Image 可以是網絡圖片、可以是本地圖片、也可以是像素圖 Image("https://ts1.cn.mm.bing.net/th?idOIP-C.cYA-_PINA-ND9OeBaolDTwHaHa&…

MySQL GTID詳解

概念 GTID 全局事務唯一標識( global transaction identifier) 格式 單個GTID由兩部分組成 ,用冒號分割;前面一部分為server_uuid,后面一部分transaction_id是由事務在源上提交的順序確定的序列號 GTID server_u…

免費熱門的API大全整理

實人認證(人像三要素):輸入姓名、身份證號碼和一張人臉照片,與公安庫身份證頭像進行權威比對,返回比對分值。實名認證(身份證二要素):核驗身份證二要素(姓名和身份證號碼…

CLIP在Github上的使用教程

CLIP的github鏈接:https://github.com/openai/CLIP CLIP Blog,Paper,Model Card,Colab CLIP(對比語言-圖像預訓練)是一個在各種(圖像、文本)對上進行訓練的神經網絡。可以用自然語…