Client server - esp8266 i python - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Programowanie w Arduino (https://forum.arduinopolska.pl/dzial-programowanie-w-arduino) +--- Wątek: Client server - esp8266 i python (/watek-client-server-esp8266-i-python) |
Client server - esp8266 i python - Wazon95 - 22-02-2019 Witam. Pracuje nad projektem do którego potrzebuje nawiązać połączenie między modułem wifi esp8266 a apką w kivy(python) napisaną na telefon. Problem w tym ze nie wiem jak się połączyć. Robił już ktoś cos takiego i moze wie jak mi pomóc? Client server? Json? Urlrequest? Komunikacja musi byc zapewniona w obydwie strony RE: Client server - esp8266 i python - error105 - 22-02-2019 Blynk ? Virtuino ? Po co wyważać otwarte drzwi jak są gotowe, darmowe i bardzo dobre rozwiązania ? RE: Client server - esp8266 i python - kaczakat - 26-02-2019 Zależy co umiesz zrobić na telefon w pytonie, na esp możesz postawić sobie serwer telnet, UDP, websockets i jak sobie wymyślisz coś innego sensownego to pewnie już jest do tego przykład. Do wszystkiego znajdziesz przykłady w google. Na początek przejrzyj już wbudowane przykłady. RE: Client server - esp8266 i python - Wazon95 - 05-03-2019 #include <SoftwareSerial.h> const byte rxPin = 2; // Wire this to Tx Pin of ESP8266 const byte txPin = 3; // Wire this to Rx Pin of ESP8266 // We'll use a software serial interface to connect to ESP8266 SoftwareSerial esp(rxPin, txPin); void setup() { Serial.begin(9600); esp.begin(9600); // Change this to the baudrate used by ESP8266 delay(1000); // Let the module self-initialize } void loop() { Serial.println("Sending an AT command..."); esp.println("AT"); delay(30); while (esp.available()){ String inData = esp.readStringUntil('\n'); Serial.println("Got reponse from ESP8266: " + inData); } } ESP ARDUINO GND GND CH_PD 3v3 VCC 3v3 RX 3 TX 2 Takim połączeniem dostaje odpowiedź OK ze moduł esp8266 jest widoczny. Z kolei takim połączeniem uzyskałem komunikacje client-server z aplikacja na laptopie. Esp8266 | Arduino ----------------- RX | RX TX | TX GND | GND VCC | 5v CH_PD | 5v GPIO 0 | None GPIO 2 | None Arduino | Arduino ----------------- Reset | GND #include "ESP8266WiFi.h" const char* ssid = "yourNetworkName"; const char* password = "yourNetworkPass"; WiFiServer wifiServer(80); void setup() { Serial.begin(115200); delay(1000); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("Connecting.."); } Serial.print("Connected to WiFi. IP:"); Serial.println(WiFi.localIP()); wifiServer.begin(); } void loop() { WiFiClient client = wifiServer.available(); if (client) { while (client.connected()) { while (client.available()>0) { char c = client.read(); Serial.write©; } delay(10); } client.stop(); Serial.println("Client disconnected"); } } Wykorzystujac ten kod. Teraz problem w tym że mam kilka czujników wilgotnosci i temperatury z których chce odczytywać dane poprzez arudino i potem wysyłać je dalej esp8266 do clienta ktory się podłączy do servera postawionego na tym esp8266. Problem w tym ze nie wiem jak to wykonać. Próbowałem paru rzeczy ale nie działa. RE: Client server - esp8266 i python - kaczakat - 06-03-2019 Wpisz w google choćby "esp8266 server wether station" i pyk: https://www.youtube.com/watch?v=6LjbTgX046w, a takich jest tysiące. Tu jest przykład z websockets: https://github.com/kaczakat/ESP8266, wgrywasz to do ESP8266. Jak musisz mieć Arduino (jakieś UNO/NANO) to wysyłasz dane do ESP przez serial, a z ESP dalej do klienta. Jak ESP8266 ma za mało pinów to można użyć ESP32, Atmega328 w roli serwera (2kb RAM/32kb flash), a ESP8266 tylko jako jej modem (80kb RAM/1MB flash) to trochę głupi pomysł. Po zainstalowaniu definicji ESP, tak by programować go jak UNO w Arduino IDE, będziesz miał wiele przykładów serwerów do wyboru. Opis pinów masz jakbyś używał ESP01, kup sobie jakiegoś WEMOS mini, będziesz miał więcej pinów dla czujników. Do każdego czujnika używanego w Arduino są przykładowe biblioteki. Na razie Ci nie działa bo za mało umiesz. Trzeba wchłonąć trochę wiedzy o wszystkim, w parę dni tego nie ogarniesz. |