Gast
#4661511
Für schlappe 8,67 Euro gibt es hier ein Arduino kompatibles Modul mit nem ARM Prozessor, WLAN und Bluetooth on Board. Habe das gerade mal getestet und bin echt begeistert von dem Teil. https://eckstein-shop.de/ESP8266-IOT-ESP-8266-32-Espressif-ESP-8266_4 Mit wenigen Zeilen Code lässt sich z.B. ein Telnetserver aufbauen. Hier ein kleines Beispiel, um zwischen einer USB-UART-Verbindung und nem Putty Telnet Client hin und herzuschreiben. #include <ESP8266WiFi.h> //how many clients should be able to telnet to this ESP8266 #define MAX_SRV_CLIENTS 1 const char* ssid = "FritzBox-Home"; const char* password = "112Wsssgv56YA"; WiFiServer server(23); WiFiClient serverClients[MAX_SRV_CLIENTS]; void setup() { Serial1.begin(115200); WiFi.begin(ssid, password); Serial1.print("\nConnecting to "); Serial1.println(ssid); uint8_t i = 0; while (WiFi.status() != WL_CONNECTED && i++ < 20) delay(500); if(i == 21){ Serial1.print("Could not connect to"); Serial1.println(ssid); while(1) delay(500); } //start UART and the server Serial.begin(115200); server.begin(); server.setNoDelay(true); Serial1.print("Ready! Use 'telnet "); Serial1.print(WiFi.localIP()); Serial1.println(" 23' to connect"); } void loop() { uint8_t i; //check if there are any new clients if (server.hasClient()){ for(i = 0; i < MAX_SRV_CLIENTS; i++){ //find free/disconnected spot if (!serverClients[i] || !serverClients[i].connected()){ if(serverClients[i]) serverClients[i].stop(); serverClients[i] = server.available(); Serial1.print("New client: "); Serial1.print(i); continue; } } //no free/disconnected spot so reject WiFiClient serverClient = server.available(); serverClient.stop(); } //check clients for data for(i = 0; i < MAX_SRV_CLIENTS; i++){ if (serverClients[i] && serverClients[i].connected()){ if(serverClients[i].available()){ //get data from the telnet client and push it to the UART while(serverClients[i].available()) Serial.write(serverClients[i].read()); } } } //check UART for data if(Serial.available()){ size_t len = Serial.available(); uint8_t sbuf[len]; Serial.readBytes(sbuf, len); //push UART data to all connected telnet clients for(i = 0; i < MAX_SRV_CLIENTS; i++){ if (serverClients[i] && serverClients[i].connected()){ serverClients[i].write(sbuf, len); delay(1); } } } } Weil das so gut funktioniert hat, habe ich mir spaßes halber die CUL FHEM Firmware drauf kompiliert und nen CC1101 Funkmodul drangehangen. Das kriegt man ebenfalls für 9,45 Euro beim selben Onlineshop. Es sind nun nicht mal Pegelwandler notwendig, da beide Boards auf 3.3 V laufen. https://eckstein-shop.de/Wireless-RF-Transceiver-Module-433Mhz-CC1101/CC1100-Antenna Für 20 Euro hat man ein FHEM kompatibles Gerät, was man direkt ins WLAN einbinden kann.