Forum: Mikrocontroller und Digitale Elektronik CUL FHEM+MCU+WLAN für unter 20 Euro


von Thomas (Gast)


Lesenswert?

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.

von Rudolph R. (rudolph)


Lesenswert?

ESP8266 und ARM+Bluetooth? Habe ich was verpasst?

von Thomas (Gast)


Lesenswert?

Nein, das NodeMcu Lua hat einen ESP8266 und einen yC an Board. Der 
ESP8266 ist natürlich kein yC. Das Board beinhaltet aber sämtliche 
Komponenten.

von Thomas (Gast)


Lesenswert?

Stop, ich habe Müll geschrieben. Der ESP selber ist ein Mikrokontroller 
mit eingebautem WLAN.  Ursprünglich ist der ESP dafür gedacht, um z.B. 
einen Arduino über RS 232 ins WLAN zu bringen.

Der ESP kann aber viel mehr. Er läst sich auch direkt programmieren.

https://arduino-hannover.de/2015/04/08/arduino-ide-mit-dem-esp8266/

von Markus F. (mfro)


Lesenswert?

Thomas schrieb:
> const char* ssid = "FritzBox-Home";
> const char* password = "112Wsssgv56YA";

Wo wohnt denn das WLAN an dem man sich damit anmelden kann?

von Pete K. (pete77)


Lesenswert?

Suche hier im Forum mal nach esp8266. Das Thema hat soooo einen Bart :-)

von temp (Gast)


Lesenswert?

Thomas schrieb:
> Weil das so gut funktioniert hat, habe ich mir spaßes halber die CUL
> FHEM Firmware drauf kompiliert und nen CC1101 Funkmodul drangehangen.

Pete K. schrieb:
> Suche hier im Forum mal nach esp8266. Das Thema hat soooo einen Bart :-)

Die CUL-Firmware nativ auf einem ESP8266 kompiliert und langer Bart? 
Irgendwas habe ich da verpasst. Gibt es dazu weitere Informationen oder 
hat hier nur jemand vergessen den AVR dazwischen zu erwähnen?

von Michael S. (michael_s466)


Lesenswert?

Hallo Thomas,

ein wirklich sehr interessantes Projekt. Ich hatte ebenfalls die Idee 
mit den von dir genannten Komponenten ein 433MHz Wlan Gateway zu bauen. 
Zufällig habe ich den gleichen 433 Sender / Empfänger gekauft und bin 
hier auf einen Artikel gestossen.

Ich bin allerdings ein totaler Neuling in diesem Thema und weiß nicht, 
wie ich den Sender/Empfänger verdrahten soll.

Ich dachte, ich orientiere mich einfach an diesem Artikel:
http://raspberrypi.crmvy3qiisdstf8c.myfritz.net/wordpress/?page_id=251

Aber leider setzt der o.g. Artikel ja auch einen zusätzlichen Raspi.

Kannst du mir evtl. deinen verwendeten Lua-Code und die PIN-Belegung 
mitteilen? Ich würde dann auch gerne einen FHEM Wiki Artikel schreiben. 
Könnte mir vorstellen, dass es weitere Interessenten gibt, die günstig 
ihre Funktsteckdosen einbinden wollen ;-)

Beste Grüße und Danke aus Hannover

Michael

Thomas schrieb:
> 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.

> 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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.