Mijn Heltec MeshTower werkt niet goed, wat kan ik doen?
Inhoudsopgave
Artikel voor het laatst bijgewerkt op .
Kort antwoord:
De MeshTower dient met 20 volt te worden geladen. Druk op RST om het apparaat te herstarten.
Er zijn meerdere problemen bekend met de HelTec MeshTower. Bij deze een reeks van acties die je kunt nemen:
Generieke suggesties
Laden met 20 volt
Het BMS (battery management system) van de MeshTower dient geactiveerd te worden. Dat gebeurt de eerste keer na het laden met 20 volt. Gebruik derhalve een lader die 20V (PD) ondersteunt. Vaak kan een zwaardere adapter hiervoor gebruikt worden, zoals die van een spelcomputer of notebook. Zie de voltages op de adapter zelf.
Specifieke problemen met MeshTower
USB werkt niet
De MeshTower schakelt na een tijdje automatisch over naar de low-power-mode. Druk op de RST knop en verbindt het apparaat nogmaals.
Het apparaat gaat niet in DFU-mode
Druk twee keer kort op RST om het apparaat in DFU-mode te brengen.
MeshTower valt spontaan uit
Als de MeshTower buiten hangt en na een zonnige dag ineens niks meer doet, dan kan het zijn dat een interne beveiliging hem heeft uitgeschakeld. Dit komt vaak voor als het zonnepaneel te weinig produceert en hij moet schakelen tussen het zonnepaneel en de batterij. Soms gaat dat niet goed en zal hij ter bescherming zichzelf uitschakelen.
Neem contact op met Heltec.
Mijn batterijen laden niet via het zonnepaneel
Sluit een externe voeding aan en haal vervolgens de witte stekker naar de batterijen los. Maak deze daarna weer vast. Dit reset de verbinding van het BMS (battery management system) naar de batterijen, zonder dat de configuratie verloren gaat.
Dank aan Lord Egeltje (suggestie ontvangen via Heltec-engineer)
Mijn MeshTower heeft een lage uptime
Bepaalde revisies van de MeshTower hebben een watchdog gekregen die iedere 9 minuten de node herstart. Hierdoor zal de uptime laag blijven.
Met behulp van Microsoft Visual Studio Code en PlatformIO is firmware v1.13.0 gecompileerd met daarin een patch
voor de watchdog-module in de Heltec MeshTower (en MeshSolar) en de Heltec V4.
Download: heltec_mesh_solar_repeater_v1.13_firmware.zip
Let op: het gebruik van deze firmware is op eigen risico. Werkt hij naar behoren? Dan hoor ik het graag
Stappenplan:
- Eerst de MeshTower laden met oplader die 20V (PD) ondersteunt
- Via MeshCore web-flasher
kiezen voor ‘custom firmware’ helemaal onderaan de pagina
- Zet je apparaat eerst in DFU-mode (druk op “Enter DFU mode”)
- Bij gebruik van Linux de rechten goed zetten op je /dev/ttyACM0 of /dev/ttyACM1:
setfacl -m u:USERNAME:rw /dev/ttyACM0(USERNAME vervangen) - Kies het ZIP-bestand die je hierboven hebt gedownload
- Als het flashen de eerste keer niet meteen goed gaat, dan herhalen
Zelf compileren? Dan zijn de stappen globaal als volgt:
Firmware compileren onder Linux
Download en installeer software
Installeer git, indien nog niet aanwezig
sudo apt install git
Installeer python3-venv, als vereiste voor PlatformIO
sudo apt install python3-venv
Download Microsoft Visual Studio Code
en sla het .deb-bestand op. Installeer het dan door erop te dubbelklikken of met
dpkg -i gevold door de naam van het .deb-bestand.
Open een terminal en maak een nieuwe directory waarin we het MeshCore-project kunnen klonen met git.
mkdir software-build
Git
Vervolgens gaan we de code klonen.
git clone https://github.com/meshcore-dev/MeshCore
Ga de directory in.
cd MeshCore
Daarna halen de benodigde patch binnen (pull request 1446).
git fetch origin pull/1446/head:MTpatch
Nu dienen we te wisselen naar de patchset (branch).
git checkout MTpatch
Openen VSCode
De rest gaan verder doen vanuit VSCode zelf.
Bouwen van de software
Vanuit hier gaan we met PlatformIO bouwen. Vermoedelijk werkt het pio commando niet direct, dus eerst beschikbaar maken als commando door hem toe te voegen aan het pad van beschikbare programma’s.
export PATH=$PATH:~/.platformio/penv/bin
Nu zou het commando pio wel moeten werken en kunnen we het bouwproces starten, zodat alle componenten gecompileerd worden en de benodigde onderdelen geïnstalleerd om het compileren mogelijk te maken.
pio run -e Heltec_mesh_solar_repeater
Als dat goed is gegaan, kunnen we geschikte firmware gaan bouwen. Dat doen we door eerst het versienummer in te stellen van de firmware-versie.
export FIRMWARE_VERSION=v1.13.0
Vervolgens de debug-mode uitschakelen.
export DISABLE_DEBUG=1
Dan uiteindelijk het bouwproces draaien voor deze specifieke hardware.
bash build.sh build-firmware Heltec_mesh_solar_repeater
Gaat het compileren mis op CFG_DEBUG? Open .platformio/packages/framework-arduinoadafruitnrf52/cores/nRF5/rtos.cpp in je home directory en voeg “#define CFG_DEBUG 0” toe bovenaan het bestand (bijv. onder de #include)
Mist er ergens een stap in deze bouwprocedure? Draag bij door het te laten weten. Wel gelukt? Ook dan hoor ik het graag.