GUI Maker for ESP8266 & ESP32 - Python Inst. Panel
Qual è lo scopo di questa applicazione?
Disponendo pulsanti, timer, grafici ecc e descrivendo la trasformazione in ironpython, è possibile creare il pannello operativo per ESP 8266 e ESP 32 in breve tempo.
Quale programma dovrebbe essere scritto per ESP8266 / ESP32?
Arduino schizzo http://rapidnack.com/?p=835
Operazione spiegazione - Visualizzazione http://rapidnack.com/?p=918
Operazione spiegazione - Grafico http://rapidnack.com/?p=945
Esempio - LED di colore http://rapidnack.com/?p=967
Sample - Temp e umidità http://rapidnack.com/?p=987
Esempio - Spingere interruttore http://rapidnack.com/?p=1017
AD9851 DDS modulo http://rapidnack.com/?p=1164
Si prega di scrivere la bozza di cui sopra Arduino di ESP. Se si collega ESP per Android e utilizzare i pulsanti, cursori, ecc, lo stesso contenuto visualizzato nel registro sullo schermo applicazione viene visualizzata sul monitor di serie Arduino.
Con l'aggiunta di timer e grafici alla schermata e cambiando il disegno di Arduino per inviare i dati misurati, è possibile visualizzare i dati misurati graficamente in tempo reale. Quando in realtà si utilizza, aggiungere la tua elaborazione per MySetup (), myLoop (), processo () alla fine dello schizzo Arduino.
MySetup void () {
}
vuoto myLoop () {
}
processo String (String str) {
& Nbsp; & nbsp; & nbsp; Serial.println (str);
& Nbsp; & nbsp; & nbsp; // if (str == "Button1: Button1")
& Nbsp; & nbsp; & nbsp; // restituisce "Ricevuto!";
& Nbsp; & nbsp; & nbsp; ritorno "";
}
Come faccio a comunicare con ESP8266 / ESP32?
Per ottenere i dati da ESP, scrivere in Python come segue.
se Remote.Writer = Nessuno!:
& Nbsp; & nbsp; & nbsp; Remote.Writer.WriteLine ()
& Nbsp; & nbsp; & nbsp; Remote.Writer.Flush ()
& Nbsp; & nbsp; & nbsp; Remote.Reader.ReadLine print ()
Inoltre, se si scrive il gestore di eventi lineReceived (testo) nello script di configurazione del pannello come segue, è possibile elaborare i dati da ESP in modo asincrono.
def lineReceived (testo):
& Nbsp; & nbsp; & nbsp; stampare il testo
Remote.RaiseEvents = True
Il seguente è un disegno di esempio per ESP32.
Per ESP 8266, sostituire l'istruzione include.
ESP8266:
& Nbsp; & nbsp; & nbsp; #include & lt; ESP8266WiFi.h & gt;
& Nbsp; & nbsp; & nbsp; #include & lt; WiFiClient.h & gt;
ESP-WROOM-32:
& Nbsp; & nbsp; & nbsp; #include & lt; WiFi.h & gt;
------------------- da qui -----------------
#include & lt; WiFi.h & gt;
const char * ssid = "your-SSID";
const char * password = "your-password";
Server WiFiServer (2002);
cliente WiFiClient;
processo stringa (String str);
void setup () {
& Nbsp; Serial.begin (57600);
& Nbsp; MySetup ();
& Nbsp; Serial.println ();
& Nbsp; Serial.print ( "Collegamento a");
& Nbsp; Serial.println (SSID);
& Nbsp; //WiFi.mode(WIFI_STA); // Disabilita Access Point
& Nbsp; WiFi.begin (SSID, password);
& Nbsp; while (WiFi.status ()! = WL_CONNECTED) {
& Nbsp; & nbsp; & nbsp; ritardo (500);
& Nbsp; & nbsp; & nbsp; Serial.print ( "");
& Nbsp; }
& Nbsp; Serial.println ( "");
& Nbsp; Serial.println ( "WiFi connesso"); & nbsp;
& Nbsp; Serial.println ( "Indirizzo IP:");
& Nbsp; Serial.println (WiFi.localIP ());
& Nbsp; server.begin ();
& Nbsp; Serial.println ( "Server avviato");
}
void loop () {
& Nbsp; myLoop ();
& Nbsp; if (! client.connected ()) {
& Nbsp; & nbsp; & nbsp; // provare a connettersi a un nuovo cliente
& Nbsp; & nbsp; & nbsp; client = server.available ();
& Nbsp; } altro {
& Nbsp; & nbsp; & nbsp; // leggere i dati dal client connesso
& Nbsp; & nbsp; & nbsp; if (client.available ()) {
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; String = inputString client.readStringUntil ( '\ n');
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; inputString.trim ();
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Stringa OutputString = processo (inputString);
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; if (OutputString! = "") {
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; client.println (OutputString); & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; }
& Nbsp; & nbsp; & nbsp; }
& Nbsp; }
}
MySetup void () {
}
vuoto myLoop () {
}
processo String (String str) {
& Nbsp; Serial.println (str);
& Nbsp; // if (str == "Button1: Button1")
& Nbsp; // & nbsp; tornare "Ricevuto!";
& Nbsp; ritorno "";
}
------------------ fin qui -----------------
Categoria : Strumenti
Ricerche associate