Micrologiciel personnalisé et GPIO du WB-MGE v.3
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

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.
| ESP32 | GPIO18 | GPIO23 | GPIO0 | GPIO5 | GPIO19 | GPIO22 | GPIO21 | GPIO25 | GPIO26 | GPIO27 |
|---|---|---|---|---|---|---|---|---|---|---|
| RTL8201FI | MDIO | MDC | CLK | RST | TXD0 | TXD1 | TXEN | RXD0 | RXD1 | CRS_DV |
| 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.
| 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.
| 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é :
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 :
- Par l’interface web en mode Factory ; consultez Mise à jour du micrologiciel et réinitialisation des paramètres pour les détails.
- Par l’interface USB :
- Écrivez le fichier dans la partition OTA_0 en remplaçant
mge_main.binpar 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
- Écrivez le fichier dans la partition OTA_0 en remplaçant