SuperDMZ Arduino v1.1.0 : ProvisioningPortal production-grade + nouvel exemple SmartIoT
Quatre heures après v1.0.2 nous publions v1.1.0 avec les deux exemples qui manquaient pour transformer la bibliothèque en produit réel. Portail captif avec scan WiFi, dashboard live sur le tunnel, OTA via le tunnel lui-même et bouton GPIO0 avec reconfiguration partielle.
Ce qui a changé
Nous avons reçu un retour direct juste après le lancement : "les exemples ne vont pas jusqu'au produit — je veux un portail captif pour la config WiFi, un dashboard pour voir l'état SuperDMZ et de la télémétrie capteur". Juste. v1.1.0 livre ça.
ProvisioningPortal réécrit (production-grade)
L'exemple s'appelle toujours ProvisioningPortal mais tout a changé à l'intérieur :
- Scan des réseaux WiFi à l'intérieur du portail captif — le client final choisit le SSID dans un menu déroulant trié par RSSI avec des barres visuelles (▂▄▆█), au lieu de taper le nom du réseau à la main et se tromper la première fois.
- Transition AP→STA sans reboot — après avoir enregistré la config, l'ESP entre directement en mode client. Avant il fallait redémarrer ; maintenant la page "Saved" apparaît et 5 secondes plus tard le tunnel est en ligne.
- Dashboard en direct servi par le tunnel lui-même, montrant 3 cartes : état SuperDMZ (URL publique, bytes in/out), WiFi (SSID, IP, RSSI avec barres, MAC) et Système (puce, free heap, uptime). Auto-refresh toutes les 5 s via
/api/status. - Bouton GPIO0 (BOOT) avec deux modes :
- Maintenir 3 secondes : efface uniquement le WiFi, garde le jeton, retour en mode AP. Utile quand le client change de réseau.
- Maintenir 10 secondes : factory reset complet, efface tout y compris le jeton. Utile pour revendre l'appareil.
- SSID de l'AP dérivé du MAC :
SuperDMZ-Setup-A4F2. Dans une pièce avec 10 ESPs, chacun apparaît avec un suffixe unique — sans collision.
Nouvel exemple : SmartIoT (modèle complet)
Pour qui veut aller plus directement, l'exemple SmartIoT a tout de ProvisioningPortal plus :
- Télémétrie de capteurs — température et humidité. L'exemple utilise des valeurs synthétiques en random walk pour tourner sur n'importe quelle carte sans matériel supplémentaire. Remplacez
readTempC()etreadHumidity()par la lecture réelle de votre DS18B20/BME280/SHT3x/etc. - Sparkline de température sur le dashboard — graphique simple en vanilla JS (sans Chart.js ni autres libs externes) montrant les 60 dernières secondes de mesures.
- Endpoint JSON
/api/telemetryavec tout (capteurs, état du tunnel, WiFi, système) pour l'intégration avec des systèmes externes. Curl de l'URL publique et vous avez l'état complet de l'appareil en un GET. - OTA via le tunnel lui-même — POST d'un
.binsur/api/otaet l'ESP écrit le nouveau firmware et redémarre. Mise à jour à distance depuis n'importe où sur la planète, sans accès au LAN, sans serveur supplémentaire. - Bouton Reboot sur le dashboard pour redémarrage à distance.
Lequel choisir
Dépend d'où vous êtes dans le cycle :
| Exemple | Lignes | Utiliser pour |
|---|---|---|
HelloWorld | ~50 | Tester la bibliothèque en 5 min. Identifiants en dur. |
WebServerBridge | ~80 | Intégrer avec votre projet qui utilise déjà ESPAsyncWebServer. |
ProvisioningPortal | ~280 | Vrai appareil IoT sans capteur — caméra, panneau de contrôle, gateway, etc. |
SmartIoT | ~380 | Modèle pour produit commercial complet, avec capteur et télémétrie. |
Comment mettre à jour
Dans l'Arduino IDE : le Library Manager détecte la nouvelle version sous 1 heure. Ouvrez Sketch → Include Library → Manage Libraries…, cherchez SuperDMZ, cliquez Update. Vous pouvez forcer plus tôt en téléchargeant le ZIP v1.1.0 et en l'installant via Add .ZIP Library.
Dans PlatformIO : le ^1.0.2 dans votre platformio.ini va déjà prendre v1.1.0 au prochain pio pkg update (semver caret couvre toute la major).
Dépôt et issues
Code, exemples et roadmap : github.com/superdmz/SuperDMZ-Arduino. Demandes de fonctionnalité (prochaine carte, prochaine capacité) et bugs : issues GitHub.
Prochaine : v1.1.x pour les bugs au fur et à mesure. Prochaine major v1.2 : Arduino UNO R4 WiFi et MKR WiFi 1010.
Envie d'essayer SuperDMZ ?
Offre gratuite sans carte bancaire. Votre premier tunnel est en ligne en moins de 60 secondes.
Créer un compte gratuitPlus dans Mises à jour
Nous avons sorti SuperDMZ pour ESP32 et le chemin vers l'Arduino Library Manager
La bibliothèque SuperDMZ pour Arduino est maintenant disponible directement depuis l'IDE. Quatre lignes de code transforment n'importe quel ESP32 en une adresse publique https://votre-hôte.dmzgate.com. On en profite pour raconter le chemin de publication sur GitHub et les coulisses du release.
SuperDMZ v1.8.6 : le client Linux et macOS atteint la parité avec Windows
La version qui ferme 3 versions d'écart entre les clients desktop. Gateway, pause globale et par tunnel, planification hebdomadaire — désormais aussi via CLI sous Linux et macOS.