Étape 2: logiciel
Il y a trois morceaux de code Python pour ce Instructable.
1) "tcp_server.py" -> ce Python code fournit un serveur TCP que l’ESP8266 peut se connecter à. Il suffit d’éditer le code afin que la période d’enquête numéro lors des matches de code source le numéro IP de la machine exécutant votre cela. Le serveur simplement permet au client d’établir une connexion TCP, accepte certaines données et renvoie des données inutiles. C’est tout. Le serveur démarre juste et puis attend dans une boucle infinie pour les clients de se connecter.
2) "tcp_client.py" -> Python ce code prévoit un moyen de tester le "tcp_server.py" fonctionne correctement. Ainsi, avec le code serveur s’exécutant sur un ordinateur, exécutez « tcp_client.py » sur un autre ordinateur sur votre réseau. Exécutez le client comme « tcp_client.py des données à envoyer vont ici. » L’application cliente envoie tout ce qui est donné sur la ligne de commande. Dans ce cas, le client serait envoyer « certaines données goes here. » au serveur. Le serveur et le client affichera une sortie qui indique un transfert réussi.
3) Enfin, "Test_ESP8266.py" peut maintenant servir à tester sur une connexion TCP sur le serveur de Python. Si tout va bien, le serveur et le « Test_ESP8266.py » montrera une sortie qui indique un transfert réussi. Une fois de plus, avant en cours d’exécution « Test_ESP8266.py » modifier le code afin que la période d’enquête numéros match. Exécuter en tant que « Test_ESP8266.py MySSID MyPasscode » - le SSID et le mot de passe doivent correspondre à vos paramètres WiFi.
En utilisant le code Python Test_ESP8266 j’ai appris quelques choses sur le module. Après l’obtention de tout ce travail et vérifié avec le serveur, que j’ai simplement essayé en utilisant un mauvais mot de passe, comme un test pour voir ce qui se passerait. Tout semblait normal jusqu'à ce que la commande réelle pour former la connexion TCP. La commande qui a échoué était "AT + CIPSTART ="TCP », '192.168.1.130', 9999". Cependant, je m’attendais la commande « AT + CWJAP? » à l’échec tout d’abord. La commande « AT + CWJAP? » retourne le SSID et le RSSI de l’AP, le ESP8266 est connecté. Avec un mauvais mot de passe il n'aurait pas dû pouvoir se connecter.
Ratant son coup avec le code je pense que j’ai découvert un truc. Après avoir connecté à l’AP, demandez le numéro IP de ESP8266. Même avec un bon mot de passe, elle peut retourner « Erreur ». Pas de soucis, juste m’attarder quelques secondes et demander à nouveau. Avec un bon SSID et le mot de passe le ESP8266 retournera finalement le numéro IP. Après une période d’enquête bon nombre est retourné que la commande de connexion TCP semble toujours fonctionner.
Un autre truc, si un mauvais mot de passe est utilisé le ESP8266 module reste coincée ! Quelle que soit la commande envoyée, le module retourne "buzy maintenant...". Même la commande "AT + RST" (reset) est ignorée. Le travail autour de consiste à utiliser le régulateur pour passer la puissance au module. À l’aide de la goupille de la RTS sur le convertisseur USB FTDI-to-Serial - qui relie le régulateur activer pin - la sortie du régulateur 3.3Vdc désactivable. Un temps d’arrêt de 10 secondes semble bien fonctionner.
Eh bien, c’est. Espérons que cette aide,
Jim
BTW : pour le plaidoyer de mises à jour plus récente et