Stap 2: Software
Er zijn drie stukjes Python code voor dit Instructable.
1) "tcp_server.py" -> deze Python code een TCP-server die de ESP8266 biedt op kunt aansluiten. Gewoon de code te bewerken zodat het IP nummer in de bron code wedstrijden het IP-nummer van de machine uw waarop dit. De server gewoon Hiermee kan een client een TCP verbinding maken, sommige gegevens accepteert, en stuurt terug enkele ongewenste gegevens. Thats it. De server net start en vervolgens wacht in een eindeloze lus voor clients verbinding kunnen maken.
2) "tcp_client.py" -> deze Python code biedt een manier om te testen van de "tcp_server.py" correct werkt. Dus, met programmacode op de server draait op een machine, draaien "tcp_client.py" op een andere computer in uw netwerk. De client uitvoert als "tcp_client.py sommige gegevens moeten worden verzonden, hier gaat." De app van de client stuurt wat wordt gegeven op de opdrachtregel. In dit geval zou de klant verzenden "enkele gegevens gaat hier." naar de server. Zowel de server als de client zal tonen sommige output die aangeeft van een succesvolle overdracht.
3) ten slotte kan "Test_ESP8266.py" nu worden gebruikt om te testen voor een TCP-verbinding met de server van de Python. Als alles goed gaat, zal de server en de "Test_ESP8266.py" sommige output die aangeeft van een succesvolle overdracht weergegeven. Nogmaals, voorheen "Test_ESP8266.py" bewerken de code uitvoert zodat de IP nummers wedstrijd. Uitvoeren als "Test_ESP8266.py MySSID MyPasscode" - de SSID en het wachtwoord moeten overeenkomen met uw WiFi instellingen.
Met behulp van de Test_ESP8266 van de Python-code leerde ik een paar dingen over de module. Na het krijgen van alles werkt en gecontroleerd met de server die ik heb geprobeerd gewoon met behulp van de toegangscode van een slecht, als een test om te zien wat zou gebeuren. Alles leek normaal tot het eigenlijke commando om te vormen van de TCP-verbinding. De opdracht die mislukt was "AT + CIPSTART ="TCP', '192.168.1.130', 9999". Echter had ik de opdracht "AT + CWJAP?" te mislukken eerst verwacht. De opdracht "AT + CWJAP?" geeft als resultaat de SSID en de RSSI van de AP de ESP8266 op is aangesloten. Met een slechte wachtwoord moet het niet geweest kundig voor verbinden.
Goofing met de code volgens mij dat ik heb een truc ontdekt. Na het aansluiten op de AP, vragen naar de ESP8266 IP-nummer. Zelfs met een goed wachtwoord kan het "Fout" terugkeren. Geen zorgen, gewoon een paar seconden stil en nogmaals vragen. Met een goede SSID en wachtwoord zal de ESP8266 uiteindelijk retourneren het IP-nummer Na een goede OT getal gegeven dat de opdracht van de TCP-verbinding altijd lijkt te werken.
Een andere truc, als een slechte toegangscode is gebruikt de ESP8266 module vast komt te zitten! Ongeacht de opdracht die is verzonden retourneert de module "buzy nu...". Zelfs de "AT + eerste" (reset) opdracht wordt genegeerd. Het werk rond is het gebruik van de regulator om macht aan de module. Met behulp van de RTS-pin op de FTDI USB-naar-serieel converter - die aan de regulerende instantie verbindt laat speld - de regelgever 3.3Vdc output kan worden uitgeschakeld. Een uit tijd van 10 seconden lijkt goed te werken.
Nou, dat is. Hoop dat die dit helpt,
Jim
BTW: voor het pleidooi van de nieuwste en beste updates