Wiren BoardDocumentation
Documentation · Français

Micrologiciel personnalisé et GPIO du WB-MGE v.3

révision 94857

Description

Le module est livré avec un micrologiciel d’usine assurant les fonctions de passerelle et permettant les mises à jour par l’interface web.

Cette page décrit l’exécution d’un micrologiciel personnalisé sur le matériel WB-MGE v.3. Le manuel utilisateur est disponible ici : Passerelle Modbus Ethernet WB-MGE v.3.

Les demandes de garantie sont acceptées pour les modules utilisant le micrologiciel d’usine. Si des essais de micrologiciel personnalisé révèlent un problème matériel, restaurez le micrologiciel d’usine, reproduisez le problème avec celui-ci et contactez l’ assistance technique.

Programmation du micrologiciel

Illustration du WB-MGE v.3
Le connecteur de programmation

Pour la programmation, utilisez l’utilitaire esptool ou un équivalent. Un convertisseur USB-UART à base de CH343 est intégré à l’appareil.

Vérifiez la communication en demandant l’identifiant de la puce, par exemple :

$ esptool.py -p /dev/ttyACM0 -b 115200 chip_id
esptool.py v4.8.1
Serial port /dev/ttyACM0
Connecting......
Detecting chip type... Unsupported detection protocol, switching and trying again...
Connecting.....
Detecting chip type... ESP32
Chip is ESP32-U4WDH (revision v3.1)
Features: WiFi, BT, Dual Core, 240MHz, Embedded Flash, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 2c:bc:bb:31:8b:00
Uploading stub...
Running stub...
Stub running...
Warning: ESP32 has no Chip ID. Reading MAC instead.
MAC: 2c:bc:bb:31:8b:00
Hard resetting via RTS pin...

Exemples de micrologiciels personnalisés

Pour vous aider à démarrer, nous fournissons des exemples de configuration pour la plateforme courante ESPHome. Ils démontrent uniquement l’accès matériel et sont sans rapport avec le micrologiciel d’origine du WB-MGE v.3.

Lien : https://github.com/wirenboard/wb-mge-v3-diy-firmware-demo

GPIO et interfaces

Les tables suivantes indiquent les connexions des modules d’interface et les affectations de sortie de l’extension de ports.

Important ! Une section MIO interne à base de STM32 est raccordée à RS485-2. Elle utilise Modbus RTU et occupe l’adresse Modbus imprimée sur l’étiquette de l’appareil. Elle peut être désactivée via le GPIO correspondant.

Interface Ethernet RTL8201FI
ESP32 GPIO18 GPIO23 GPIO0 GPIO5 GPIO19 GPIO22 GPIO21 GPIO25 GPIO26 GPIO27
RTL8201FI MDIO MDC CLK RST TXD0 TXD1 TXEN RXD0 RXD1 CRS_DV
Extension TCA9535
TCA9535 SDA SCL PD00 PD01 PD02 PD03 PD04 PD05 PD06 PD07 PD10
ESP32 GPIO32 GPIO33
RS485-1 terminaison activée polarisation de repos activée
RS485-2 terminaison activée polarisation de repos activée
MIO OFF
VOut et voyant VOut ON
Voyant Wi-Fi OFF
Voyant Eth OFF
Status ON

Dans la table ci-dessus, ON signifie qu’un niveau logique haut active le circuit correspondant. Le voyant Status s’allume également lorsque son port est à haute impédance (HiZ). TCA9535 utilise l’adresse de bus standard 0x20.

RS-485
ESP32 GPIO10 GPIO9 GPIO4 GPIO14 GPIO12 GPIO15
RS485-1 TX RX RTS
RS485-2 TX RX RTS

Pour l’ESP32, RX est une entrée et TX une sortie.

Boutons
ESP32 GPIO34
Config (B1) +

Appuyer sur un bouton ramène le port ESP32 correspondant au niveau logique bas.

Restauration du micrologiciel d’usine

Vous pouvez restaurer le micrologiciel d’usine si nécessaire. La garantie de l’appareil reste valable.

Effacez le contenu expérimental de la mémoire flash :

esptool.py --chip esp32 --port /dev/ttyACM0 erase_flash

Téléchargez les fichiers de micrologiciel :

  • factory_mge.bin — partitionne la mémoire flash et démarre l’interface web utilisée pour charger le micrologiciel principal.
  • mge_main.bin — micrologiciel principal assurant les fonctions de passerelle.

Programmez le micrologiciel Factory en remplaçant factory_mge.bin par le nom du fichier téléchargé :

  1. esptool.py --chip esp32 -p /dev/ttyACM0 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 4MB 0x0 factory_mge.bin
    

Le micrologiciel principal mge_main.bin peut être programmé de deux façons :

  1. Par l’interface web en mode Factory ; consultez Mise à jour du micrologiciel et réinitialisation des paramètres pour les détails.
  2. Par l’interface USB :
    • Écrivez le fichier dans la partition OTA_0 en remplaçant mge_main.bin par le nom du fichier téléchargé :
      esptool.py --chip esp32 -p /dev/ttyACM0 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 4MB 0x90000 mge_main.bin
      
    • Activez le démarrage depuis la partition OTA_0 :
      otatool.py --port /dev/ttyACM0 --baud 460800 switch_ota_partition --slot 0