Lätt ESP8266 WiFi felsökning med Python (2 / 2 steg)
Steg 2: programvara
Det finns tre bitar av Python kod för detta Instructable.
1) "tcp_server.py" -> här Python kod ger en TCP-server som ESP8266 kan ansluta till. Enkelt redigera koden så att IP-nummer i källa koden matcherna IP-numret av maskinen din kör detta på. Servern helt enkelt tillåter en klient att göra en TCP-anslutning, accepterar vissa data och skickar tillbaka vissa skräp data. Det var allt. Servern startar bara upp och sedan väntar i en oändlig loop för klienter att ansluta.
2) "tcp_client.py" -> här Python kod utgör ett sätt att testa "tcp_server.py" fungerar som den ska. Så, med serverkod körs på en maskin, kör "tcp_client.py" på en annan dator i nätverket. Kör klienten som "tcp_client.py några data att skicka går här." Den klient app skickar vad ges på kommandoraden. I det här fallet skulle klienten skicka "vissa data går här." till servern. Både servern och klienten kommer att visa några utdata som anger en framgångsrik överföring.
3) Slutligen, "Test_ESP8266.py" kan nu användas att testa för en TCP-anslutning till Python servern. Om allt går väl, kommer att server- och "Test_ESP8266.py" Visa några utdata som anger en framgångsrik överföring. Än en gång, innan kör "Test_ESP8266.py" Redigera koden så att IP-nummer match. Köra som "Test_ESP8266.py MySSID MyPasscode" - måste SSID och lösenord matcha din WiFi-inställningar.
Med hjälp av Python Test_ESP8266 koden jag lärde mig ett par saker om modul. Efter att få allt arbetar och kontrollerade med servern försökte jag helt enkelt med ett dåligt lösenord, som ett test för att se vad som skulle hända. Allt verkade normalt tills kommandot faktiska att bilda TCP-anslutningen. Kommandot som inte var "AT + CIPSTART = 'TCP', '192.168.1.130', 9999". Dock skulle jag ha förväntat kommandot "AT + CWJAP?" att misslyckas först. Kommandot "AT + CWJAP?" returnerar SSID och RSSI AP ESP8266 är ansluten till. Med ett dåligt lösenord bör det inte har kunnat ansluta.
Goofing med koden tror jag jag har upptäckt ett trick. Efter anslutning till AP, be om ESP8266 IP-nummer. Även med ett bra lösenord kan den returnera "Fel". Inga problem, bara uppehålla mig ett par sekunder och fråga igen. Med en bra SSID och lösenordskod kommer ESP8266 så småningom tillbaka IP-nummer. Efter en bra IP tillbaka nummer kommandot TCP anslutning verkar alltid fungera.
Ett annat trick, om ett dåligt lösenord används den ESP8266 modul fastnar! Oavsett kommandot skickade modulen returnerar "buzy nu...". Även kommandot "AT + första" (reset) ignoreras. Verk runt omkring är att använda tillsynsmyndigheten för att cykla makt till modulen. Med RTS stiftet på FTDI USB-to-Serial converter - som ansluter till tillsynsmyndigheten aktiverar pin - regulator 3.3Vdc utdata kan stängas av. En off tid på 10 sekunder verkar fungera bra.
Tja, det är. Hoppas att detta hjälper,
Jim
BTW: för den senaste och bästa uppdateringar grunden