Page 2 sur 53
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Posté : ven. 20 févr. 2015 11:15
par vague nerd
Bonjour.
+1, toujours !
Je rentre du magasin de bricolage : 12€ pour deux prises 230V commandable par radio (+la télécommande, ou 19€ 5 prises +télécommande), 50€ la prise commandable par wifi !
Pour le moment, c'est un pi qui commande ma prise maison (avec détection mouvement par capteur PIR, et capteur de luminosité).
Comme la fonction de base peut se passer du pi (commuter un relais si faible luminosité + détection de mouvement), il ne me manque plus qu'un moyen de parler wifi...
Cdt.
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Posté : ven. 20 févr. 2015 12:24
par Jean-Marie
Hello domi et Manfraid
Merci d'avoir marqué votre intérêt.
L'aventure se poursuit donc, bien que je ne sois pas aussi véloce que Veloce
Il m'a donc fallu la matinée pour établir le contact avec mon module.
Comme il s'agissait seulement d'établir un premier contact, je n'ai pas encore mis en oeuvre l'Arduino, l'alimentation PC et le convertisseur de niveau logique.
J'ai utilisé un 'USB to serial TTL converter' à base de CP210x pour la liaison série et pour alimenter le module car il a une source de 3.3V:

- USB to TTL Module.jpg (39.64 Kio) Vu 9496 fois
Voici le montage sur la platine d'expérimentation:

- P1110023.JPG (79.55 Kio) Vu 9496 fois
Voici les connections:
ESP8266 =====> CP210x
- VCC =====> 3.3V
- CH_PD ===> 3.3V
- GND =====> GND
- GPIO15 ==> GND
- TxD =====> RxD
- RxD =====> TxD
Comme terminal, j'ai utilisé le Terminal de Bray, disponible gratuitement
ICI.

- Terminal contact 01.jpg (112.54 Kio) Vu 9496 fois
Voici les points auxquels il faut être attentif:
- Choisir le Port COM attibué au convertisseur USB-TTL
- Choisir le bon Baud Rate. Cela varie selon les documentations.
- Dans la cadre "Transmit", cocher 'CR=CR+LF'
- Cocher également '+CR'
- écrire 'AT' dans le cadre blanc
- Cliquer sur '-> Send'
Si tout va bien, le cadre de réception central affiche alors 'AT' suivi de 'OK'.
La présence de 'OK' indique que le module est prêt à recevoir de nouvelles commandes.
J'avoue que j'ai chipoté pas mal avant d'obtenir ce OK. Notamment parce que le GPIO15 n'était pas relié à GND et parce que beaucoup de docs renseignent un Baud Rate à 115200 alors que mon module veut du 9600 Baud.
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Posté : ven. 20 févr. 2015 15:22
par Veloce
domi a écrit :vague nerd a écrit :Linux n'est qu'un programme écrit en C
+1

+2

Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Posté : ven. 20 févr. 2015 15:46
par Veloce
Jean-Marie, tu n'es peut-être pas véloce, mais en tout cas tu es soigneux.
Bravo pour ton adaptateur c'est impressionnant.
Par contre fais attention, en branchant ton adaptateur TTL directement sur le module tu risques de le cramer.
Il attend du 3,3v et pas du 5V en entrée.
Pour limiter les risques j'ai mis une résistance de pull-up de 15k et une diode sur TXD et une résistance de 1k sur RXD.
Je n'ai pas de convertisseur USB-TTL, donc j'ai forcé le reset de mon Arduino, et j'utilise son ATTiny comme convertisseur.
Je sais, c'est moche.
Mes modules sont différents, avec une antenne intégrée au circuit imprimé.
J'ai juste soudé des pattes sur une plaque à trous pour pouvoir monter ça sur une plaque d'essais:
Bonne continuation en tous cas !
Veloce

Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Posté : ven. 20 févr. 2015 15:49
par Veloce
Que je suis con: c'est pas 1K, c'est 220 ohms, c'est marqué sur la feuille !
Quand je dis txd et rxd, il s'agit des pattes de l'ESP, pas de l'Arduino, puisque c'est l'inverse.
Veloce
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Posté : ven. 20 févr. 2015 16:04
par Veloce
Jean-Marie a écrit :Il me reste à potasser la documentation car je n'ai pas encore vraiment compris comment le PC et le module peuvent échanger des infos par Wifi et encore moins par Internet.
Sur le PC tu crées un socket, c'est à dire un port réseau sur lequel ton programme peut lire et écrire, comme sur une console.
Si tu choisis le port 23, tu crées un serveur Telnet. Si tu choisis le port 80, tu as un serveur web.
C'est pas beaucoup plus compliqué que de faire des printf ou scanf sur la console.
En fait si tu sais lire et écrire sur un port série tu sais déjà lire et écrire sur une liaison Wifi.
Moi en ce moment je lis ça quand j'ai du mal à m'endormir:
http://www.advancedlinuxprogramming.com/
J'avais téléchargé le bouquin gratuit, puis je l'ai acheté en papier parce que c'est pénible à lire sur mon Kobo.
Mais alors c'est dense, je n'ai pas beaucoup de temps libre et je n'avance pas vite du tout.
Veloce
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Posté : ven. 20 févr. 2015 20:20
par 2RJ
Tout à fait intéressant.... j'attend mes modules et, si j'ai bien compris jusqu'à maintenant, je pourrais monitorer à distance (wifi) une sonde de température qui sera installée sur un tuyau d'entrée d'eau. Ce que je fais avec fil présentement.
C'est bien celà ??
Ca me semble bien compliqué mais habituellement, je réussis mes montages.
Merci pour ce tuto Zenos.... et les commentaires des autres utilisateurs.
2rj
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Posté : ven. 20 févr. 2015 23:15
par Jean-Marie
veloce a écrit :fais attention, en branchant ton adaptateur TTL directement sur le module tu risques de le cramer.
Il attend du 3,3v et pas du 5V en entrée.
L'adaptateur USB-serial TTL sort du 5V mais aussi du 3.3V. J'ai bien sûr alimenté le ESP8266 avec le 3.3V mais j'ai hésité pour Tx/Rx car je n'ai pas de documentation prouvant que le Tx de l'adaptateur a un niveau logique en 3.3V. J'ai eu plus confiance en lisant
cette page web.
Mes modules sont différents, avec une antenne intégrée au circuit imprimé.
Sur les modules que j'ai, l'antenne n'est pas dessinée sur le circuit imprimé, elle est du type céramique. Je crois avoir lu quelque part qu'elle est un peu plus puissante , mais franchement, je n'y connais rien en ce domaine.
Sur le PC tu crées un socket, c'est à dire un port réseau sur lequel ton programme peut lire et écrire, comme sur une console.
Si tu choisis le port 23, tu crées un serveur Telnet. Si tu choisis le port 80, tu as un serveur web.
C'est pas beaucoup plus compliqué que de faire des printf ou scanf sur la console.
En fait si tu sais lire et écrire sur un port série tu sais déjà lire et écrire sur une liaison Wifi.
Je sais envoyer ou recevoir des données par liaison série en langage C ou en assembleur mais je n'y connais rien à ce vocabulaire de "socket", "port réseau", "Telnet" ou "serveur web". Aurais-tu une bonne adresse où me familiariser un peu avec ces notions ?
Merci pour l'info. En ce qui concerne Linux, je suis seulement en train d'apprendre le niveau "basic". Peut-être un jour serai-je à même d'aborder le niveau "advanced".
______________________________________________________________________________________________________________________________
Hello 2RJ
Je pense que tu pourras effectivement bientôt te passer des fils et lire ta sonde de température par le wifi.
Comme je le disais dans le premier message de ce thread, soit tu apprends à programmer le module pour qu'il lise lui-même la sonde et envoie le résultat de la lecture par wifi, soit tu utilises un microcontrôleur (arduino, atmega, attiny, pic ou autre) pour lire la sonde et transmettre la lecture au module par Rx/Tx. Le module se chargera alors de faire suivre le message par wifi.
Quel module as-tu commandé et quel type de sonde de T° utilises-tu ?
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Posté : sam. 21 févr. 2015 12:14
par 2RJ
Voilà, Jean-Marie, ce que je recevrai prochainement:
Module: ESP8266 Esp-01 Remote Serial Port WIFI Transceiver Wireless
Microcontrôleur: Mini ATMEAG328 3.3V 8Mhz
Sonde: DS18B20
Je crois qu'avec les alimentations nécessaires, que j'ai déjà, d'ailleurs... ça devrait aller, avec un peu de patience et beaucoup de lecture.
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Posté : sam. 21 févr. 2015 14:58
par Jean-Marie
Hello 2RJ,
La sonde DS18B20 est du type One Wire et peut sans problème être lue par l'Atmega328, que ce soit avec une librairie Arduino ou un programme en C ou assembleur que tu écris toi-même. L'atmega transmet le résultat de la lecture au ESP8266 par la liaison série. Il ne reste plus au module qu'à répéter ce résultat par wifi et à être capté soit par un PC, soit par un RPI. C'est sur cette dernière phase que je cherche à rassembler de la doc.
_______________________________________________________________________________________________________________________________
Je profite de ce message pour mentionner deux commandes AT qui peuvent donner des renseignements utiles.
Il s'agit des commandes AT+RST et AT+GMR.

- AT+RST & AT+GMR.jpg (83.66 Kio) Vu 9474 fois
La commande 'AT+RST' provoque un reset du module. En plus du 'OK' et du 'ready' témoignant du bon fonctionnement, on obtient le site (chinois) du vendeur et la version (du programme ?).
La commande 'AT+GMR' donne '0018' qui est, paraît-il, la version des commandes AT. On retrouve également 09 et 02 se référant à la version du programme déjà donnée avec le Reset.