Drohnen-basierte Over-the-Air (OTA) Updates für schwer erreichbare Repeater
MeshCore Blog von recrof

Drohnen-basierte Over-the-Air (OTA) Updates für schwer erreichbare Repeater

OTA Updates von Drohnen

Als wir immer mehr Repeater in unser lokales Mesh in der Slowakei einfügten, stellten wir fest, dass es nicht immer möglich ist, manche Repeater-Standorte oft genug physisch zu erreichen. Wir wurden schrittweise besser in der Bewältigung dieses Problems, indem wir verschiedene Ansätze ausprobierten. Ich baute eine benutzerdefinierte nrf dfu App, die auf Desktop-Betriebssystemen läuft, sodass man externe Bluetooth-Adapter mit RP-SMA-Anschlüssen und Richtantennen verwenden kann.

Lokalen Repeater mit uConsole, Hochleistungs-BLE-Adapter und Richtantenne aktualisieren.

Mein Kollege lucidnx begann, mit nrf_dfu_py zu experimentieren und entwickelte ein ganzes Framework für Drohnen-Updates. Diese Lösung funktioniert gut, aber der Raspberry Pi Zero-Ansatz ist nicht trivial einzurichten, erfordert zusätzliches Basteln und ist schwer zu verwenden und zu debuggen. Deshalb beschloss ich, eine benutzerfreundlichere Version zu entwickeln, damit die Drohne kein ganzes Linux-Board auf dem Rücken tragen muss.

rpi drone

Ältere Version des Drohnen-Udaters – mit Raspberry Pi Zero 2W und massivem Akkupack. Insgesamt 70g Nutzlast.

Der Star der Show

Der Xiao nRF52840 vereint eine perfekte Kombination von Eigenschaften, die man für einen sehr kleinen, stromsparenden Repeater-Updater benötigt: Der nRF MCU ist energieeffizient, verfügt über 2 MB Onboard-Flash und einen vollwertigen USB-Controller. Inspiriert vom Arduino-Bootloader mit UF2-Modus, beschloss ich, den externen 2 MB Flash als Massenspeicher mit einem echten FAT12-Dateisystem zu verwenden, sodass man sogar ein Telefon benutzen kann, um die Firmware-Datei zu kopieren, den Updater zu konfigurieren und das Update-Protokoll zu überprüfen – sehr praktisch im Feld.

xiao drone

DJI Neo2 mit Xiao nRF52840 Updater und 250mAh Li-Ion Akku. Insgesamt 7,5g Nutzlast.

So richten Sie den Updater ein und verwenden ihn

Stellen Sie sicher, dass der Repeater, den Sie aktualisieren möchten, den OTAFIX-Bootloader von Oltaco in Version 2.1 oder höher verwendet.

Laden Sie die Firmware von der Project-Releases-Seite herunter. Es werden 2 Boards unterstützt: Xiao nRF52840 und RAK3401/RAK4631 mit externem Flash-Modul RAK15001. Wir konzentrieren uns auf den Xiao, da dieser für die meisten Leser einfacher zu handhaben ist.

Laden Sie updater-xiao_nrf52840-vX.X.uf2 herunter

Verbinden Sie den Xiao über USB mit Ihrem Computer

Drücken Sie den kleinen Reset-Knopf in der Nähe des USB-Anschlusses zweimal – möglicherweise müssen Sie dazu Ihren Fingernagel verwenden

Kopieren Sie updater-xiao_nrf52840-vX.X.uf2 auf das neu geöffnete USB-Laufwerk

Der Xiao wird neu starten (möglicherweise erhalten Sie eine Fehlermeldung über eine fehlgeschlagene Übertragung, ignorieren Sie diese)

Ihnen wird ein neues, leeres USB-Laufwerk mit der Bezeichnung „XIAO DFU“ angezeigt

Kopieren Sie die config.txt auf das USB-Laufwerk

Öffnen Sie die config.txt mit einem Texteditor

Stellen Sie den ble_name auf den OTA-Namen ein, den Ihr Repeater verwendet. Hier sind einige Beispiele: 4631 | 3401 für RAK-basierte Boards – deckt sowohl RAK4631 als auch RAK3401 1W ab

SENSECAP | SCAP für Seeed SenseCap Solar P1 XIAO für XIAO NRF52-basierte Repeater (ja, Sie können einen Xiao mit Ihrem Xiao aktualisieren!) T114 für Heltec T114 ProMicro | PROM für FakeTec / ProMicro-basierte Boards

(optional) Stellen Sie beliebige Konfigurationsparameter ein, die Sie möchten, aber die Standardwerte sind bereits gut ausbalanciert.

Laden Sie die Firmware-Zip herunter und kopieren Sie sie, die Sie auf Ihren Repeater flashen möchten.

Entscheiden Sie, wie Sie Ihr Xiao-Board mit Strom versorgen möchten. Ich würde empfehlen, Batteriekabel an die Batterie-Pads zu löten, aber Sie können es auch mit USB-Strom versuchen, wenn Sie möchten.

Befestigen Sie den Xiao an Ihrer Drohne, senden Sie start ota an Ihren Repeater und stellen Sie sicher, dass der Xiao blau blinkt – das bedeutet, er ist bereit, Ihren Repeater zu flashen.

Fliegen Sie so nah wie möglich an das Ziel heran – die Übertragung beginnt, sobald der Updater den ble_name mit min_rssi oder besser erkennt.

Pingen Sie Ihren Repeater weiterhin über LoRa an – er zeigt Ihnen an, ob der Vorgang gestartet wurde und nach wenigen Minuten wieder erreichbar ist.

Holen Sie Ihre Drohne zurück und achten Sie auf die LED-Farbe des Xiao – wenn sie GRÜN ist, war das Update erfolgreich, wenn sie ROT ist, ist es fehlgeschlagen. Wenn sie immer noch blau blinkt, bedeutet das, dass das Update noch nicht einmal gestartet wurde – der ble_name war nicht richtig eingestellt, der RSSI war zu schwach oder start ota ist fehlgeschlagen.

(optional) Sie können die log.txt auf dem USB-Laufwerk des Xiao einsehen – sie sollte den Update-Prozess mit Zeitstempeln relativ zum Boot-Vorgang enthalten. Sie können sich ansehen, wie ein erfolgreiches Update-Protokoll aussieht.

Lassen Sie uns wissen, ob diese Anleitung Ihnen geholfen hat, Ihre weit entfernten Repeater zu flashen! Zögern Sie nicht, Fragen in den Kommentaren oder auf unserem Discord zu stellen.

Original auf blog.meshcore.io →