Outils pour utilisateurs

Outils du site


Panneau latéral

Accès aux Documents

documentation:wifi1

Le module WIFI1

Présentation générale du module WIFI1

Caractéristiques générales

Les sources d'alimentation possibles

  • Via le +5V de la carte Arduino. Il suffit pour ce faire de laisser en place le cavalier (JP3).
  • Via une alimentation externe de 5V continue ( de 1.5A au minimum ) branchée sur la prise USB (X1) de type B mini. Si l'on souhaite également alimenter la carte Arduino avec cette tension de 5V, il suffit de mettre en place le cavalier (JP3). Si la carte arduino dispose de sa propre alimentation, il convient d'enlever le cavalier (JP3).

Attention ! L'utilisation d'une tension supérieure à 5V sur la prise USB (X1) détruira le module Wifi1 et l'éventuelle carte Arduino qui y serait alimentée, car ceux-ci ne dispose pas de circuits de protection contre le sur-voltage !

  • Lorsque l'on utilise le module comme plateforme de développement pour ESP-01 ou ESP-12, on allimente celui-ci via le module de liaison USB–>Série 5V connecté sur (JP2). Dans ce cas il convient de ne pas alimenter le module par une autre source de tension. Ne pas connecter d'alimentation sur la prise USB (X1). Il est également fortement conseillé de ne pas brancher le module à une carte Arduino ou a défaut d'enlever le cavalier (JP3).

Première utilisation : initialisation du module

La procédure qui suit est réaliser avec une carte arduino uno et un shield EASYBOT1.

Pour initialiser le module sans le shield EASYBOT1.

Afin de pouvoir utiliser le module, il faut que celui-ci puisse se connecter à votre réseau Wifi. Pour cela il est nécessaire lors de la première utilisation du module de le configurer avec les paramètres de votre réseau. Les paramètres étant sauvegardés en mémoire EEPROM, cette opération n'est à réaliser qu'une seule fois !

  • Modifier (1) selon les broches utilisées pour connecter votre module WIFI1
  • Modifier (2) avec les paramètres de votre réseau ( ssid, passwd, dns, masque de sous-réseau ). Par défaut le module aura pour adresse fixe 192.168.0.150 mais libre à vous de changer cette adresse.
  • Copier le code dans le logiciel Arduino puis téléverser-le dans votre carte. Une fois le téléversement achevé, patienter au moins 30s afin de laisser le temps à la carte arduino d'effectuer la configuration du module.
  • Appuyez sur le bouton RESET du module WIFI1 afin de prendre en compte les nouveaux paramètres
  • Ouvrez un navigateur internet et tapez l'adresse ip de votre module ( par défaut 192.168.0.150 ) pour accéder à la page principale du module WIFI1.

  • Accédez à l'éditeur d'interface en cliquant sur le bouton bleu “L'éditeur d'interface”.

Utilisation de l'éditeur d'interface

Construire son interface

  • Glisser les widgets sur la surface de travail.
  • Il est possible d'accéder aux propriété d'un widget en cliquant sur l'icône de gauche.
  • L'icône de droite permet de supprimer un widget.
  • En bas à droite d'un widget apparaît une poignée de redimenssionnement.
  • On peut déplacer un widget en le glissant à partir de son entête bleu.

Editer les propriétés d'un widget

  • Pour chaque widdget, on peut modifier certaines propriétés qui modifie l'aspect de celui-ci. Tous les widgets ont un champ qui s'appelle “Description” qu'il convient de renseigner au mieux afin de pouvoir identifier à l'avenir le rôle de chaque widget. Ceci permettra à l'utilisateur de s'y retrouver au moment de programmer l'interaction avec son interface avec Blockly@rduino.
  • Chaque widget est associé à un unique champ numéroté ( de 1 à 100 ). C'est via ce numéro de champ, que la carte arduino pourra lire ou écrire l'état d'un widget.

Téléversement de l'interface dans le module WIFI1

  • Une fois votre interface construite, il vous suffit de vérifier que l'adresse IP de votre module est correcte ( Ne pas modifier le numéro de port qui doit être 81 ! ) puis de cliquer sur le bouton “Téléverser dans le module WIFI”.

  • Le téléversement terminé, vous pouvez accéder à votre interface depuis n'importe quel navigateur internet en tapant l'adresse : http://192.168.0.150/interface ( remplacer éventuellement le numéro IP par celui de votre module )

Interaction avec votre interface depuis une carte Arduino

Préambule

Je vous propose afin de suivre ce tutotiel de construire l'interface ci-dessous :

  • Glisser un label , changer le texte en “Etat de la led rouge” , agrandir le widget d'une case vers la droite
  • Glisser un interrupteur
  • Glisser une led
  • Téléverser votre interface dans le module WIFI1

Votre interface Web est prête, elle a été téléversée dans votre module WIFI1. Maintenant, il est temps d’interagir avec elle en programmant votre carte Arduino ( UNO ou MEGA ). Cette étape sera grandement facilitée par l'utilisation de Blockly@rduino

Utilisation de Blockly@rduino

  • Sélectionner votre carte ( UNO ou MEGA )
  • Les blocs sont accessibles sous la catégorie “Technozone51” puis “Wifi”

  • L'exemple ci-dessous , permet d'intercepter les changement d'état de l'interrupteur ( attaché au champ n°2 ) afin de modifier l'état de la led sur l'interface web ( attachée au champ n°3 ) ainsi que d'une led physique connectée à la broche 4 de l'arduino. Vous pouvez chargez ce programme directement dans Blocly@rduino

Quelques points importants sur ce premier programme :

  • Remarque 1 : Dans la boucle principale de votre programme, il faut obligatoirement y mettre une temporisation d'au moins 10ms afin de dégager du temps processeur pour que l'arduino gère correctement l'interruption logiciel qui s'occupe de la liaison série avec le module wifi1. En cas d'oublie de cette temporisation, l'interruption logiciel n'étant pas géré, la communication avec le module wifi1 est impossible !
  • Remarque 2 : Ne pas utiliser la clause sinon du test car on teste si un évènement ce produit. En effet , ce n'est pas parce qu'un événement ne se produit pas que sont événement contraire se produit ! Dans l'exemple du programme, ce n'est pas parce que l'interrupteur n'a pas basculé sur vrai qu'il a obligatoirement basculé sur faux ! C'est pourquoi le programme teste les deux événements possibles dans deux tests “si” distincts.
  • remarque 3 : Ne pas oublier de vider le tampon de réception des messages wifi, une fois tous les cas testés. Si on oublie de vider le tampon, les ordres suivants seraient ignorés…

Utilisation du module WIFI1 comme programmateur d'ESP8266 (utilisateurs expérimentés)

Câblage

La carte WIFI1 intègre tous ce qu'il faut pour programmer l'ESP8266 contenu dans les modules ESP-01 et ESP-12. Il faudra se reporter à ce dépot pour installer le support de l'ESP8266 dans le logiciel Arduino. En mode programmation, il ne faut pas relier le module WIFI1 à une carte Arduino par les prises jacks TX et RX. L'alimentation du module WIFI1 se fait via l'adaptateur USB/Série, il est donc inutile d'alimenter le module sur sa prise mini USB (X1).

  • Connectez un adaptateur USB–>Série 5V sur le connecteur JP2 comme indiqué sur le tableau ci-dessous :
Broche du module WIFI1Broche de l'adaptateur USB–>Série 5V
GNDGND
+5V+5V
RXITX
TXORX

Communication avec le firmware Technozone51

Par défaut, les modules WIFI1 sont livrés préprogrammés avec le firmware Technozone51. Ce firmware inclus un serveur Web ( port 80 ) et un serveur Websocket ( port 81 ). Il gère la communication avec les différents clients ( navigateurs web / websocket ) et avec la carte Arduino via un simple port série ( vitesse 9600 bauds ) en utilisant un protocole simple. La section suivante liste les commandes reconnues par le firmware Technozone51. Une fois le module WIFI1 branché à votre ordinateur via l'adaptateur USB/Série, il vous suffit d'ouvrir une console “moniteur série” ( la loupe dans le logiciel Arduino ) pour communiquer avec votre module.

Attention ! certaines commandes ( delete, format ) étant irréversibles, la plus grande prudence est de mise !

  • Une fois la console série active, cliquez sur le bouton RESET du module WIFI1, Vous voyez apparaitre dans la console, les informations de démarrage du module.

  • En tapant “help” dans la console, vous avez le listing des commandes reconnues qui apparait.

Commandes reconnues par le firmware Technozone51

  • help : show this quick reference
  • ? : same as help
  • getip : show the module ip
  • getmac : show the mac adress
  • getconfig : show all the configuration stored in EEPROM
  • ping : test if module is responsive. the response is '>OK'
  • dir : list the content of the filesystem
  • delete [file] : delete a file from the file system

example :

delete /interface.html
  • format : erase all files in the file system

no recovery is possible ! so be aware that you know what you do !

  • list : show the content of all the 100 fields of the websocket server
  • read [n] : show the content of the field number 'n' ( 1⇐n⇐100 ) of the websocket server

example :

read 1
  • write [n] [s] : write the string 's' into the field number 'n' of the websocket server

example :

write 1 hello
  • ver : show the firmware version of the module
  • serverip [ip] : fix the IP of the module

example :

serverip 192.168.0.150
  • gatewayip [ip] : fix the gateway IP

example :

gatewayip 192.168.0.1
  • subnetip [ip] : fix the subnet IP mask

example :

subnetip 255.255.255.0
  • ssid [ssid] : fix your network ssid of your wifi connection

example :

ssid manu8756
  • passwd [pass] : fix your wifi password

example :

passwd C6754AE23
  • store : stores all the configuration into the EEPROM
  • restore : restore all the configuration from the EEPROM

Lien vers le compositeur d'interface Lien vers une vidéo de démonstration

documentation/wifi1.txt · Dernière modification: 2017/04/03 10:02 par admin