Neuartiges CUL Interface - miniCUL mit WLAN-Schnittstelle

Begonnen von locutus, 25 Oktober 2015, 23:12:21

Vorheriges Thema - Nächstes Thema

locutus

NEUE VERSION! miniCUL mit WLAN Ver. 2

Hallo zusammen,

ich habe den miniCUL redisignt und der Schaltung eine WLAN-Schnittstelle mit dem ESP8266-Funkmodul spendiert.
Die Betriebsart USB oder WLAN wird mittels zwei Jumper-Brücken eingestellt. In der Betriebsart WLAN ist der miniCUL nicht mehr auf einen lokalen USB-Anschluss am Computer angewiesen. Stattdessen wird der miniCUL direkt am 5V USB-Steckernetzteil angeschlossen und in der Funkreichweite eines WLAN-AP platziert.
Die Transparent-Bridge-Firmware stellt die serielle Schnittstelle des AVR Mikrocontrollers transparent auf einem TCP-Port bereit.

Hard- und Firmware:
ATMEGA328P Mikrocontroller
CP2102 USB zu UART Interface IC
CC113L oder CC1101 Funkmodul
ESP8266 ESP-01 oder ESP-12 WLAN-Funkmodul
Active-LED
Reset-Taster
USB Typ A Stecker
Lötanschluss für SMA-Antennenbuchse (PCB Edge Mount Solder 1,6 mm)
Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega328 Bootloader
a-culfw
ESP8266-transparent-bridge oder esp-link



HINWEIS: die nachfolgende Anleitung gilt für miniCUL Ver. 1



USB-Modus

Definition in fhem:
### miniCUL USB-Modus
define miniCUL CUL /dev/ttyUSB0@38400 0000

USB Geräte werden bei jedem Systemneustart neu enumeriert. Deshalb empfiehlt es sich, den miniCUL unter seiner eindeutigen ID anzusprechen. Die entsprechende Gerätedatei findet sich unter /dev/serial/by-id.

a-culfw über USB flashen:
avrdude -p atmega328p -c arduino -P /dev/ttyUSB0 -b 57600 -U flash:w:miniCUL.hex:i



WLAN-Modus mit ESP8266-transparent-bridge auf ESP-01

ESP8266-transparent-bridge:
Die Konfiguration muss im USB Modus erfolgen – beide Jumper J1 und J2 werden auf USB Modus gesetzt. Ansonsten gibt es Rückmeldungen von der a-culfw, wie z. B.: (+++AT is unknown) Use one of B C F i A Z N E k G M K U Y R T V W X e f m L l t u x z
telnet 192.168.4.1
+++AT MODE 3
+++AT STA <ssid> <password>
+++AT BAUD 38400

Optional kann der ESP8266 in den STA (Station) Mode versetzt werden:
+++AT MODE 1
Danach den miniCUL von der Spannungsversorgung trennen und Jumper J1 und J2 auf WLAN Modus setzen.

Definition in fhem:
### miniCUL WLAN-Modus mit ESP8266-transparent-bridge auf ESP-01
define <name> CUL <ip-address>:<port> <FHTID>

Bsp.:
define miniCUL CUL 192.168.4.1:23 0000

a-culfw über WLAN flashen:
Vor dem Flashen muss die korrekte Baudrate für den Bootloader eingestellt werden:
telnet 192.168.4.1
+++AT BAUD 57600

Dann folgt der Befehl zum Programmieren des ATMEGA:
echo +++AT GPIO2 2 100 | nc 192.168.4.1 23 | avrdude -p atmega328p -c arduino -P net:192.168.4.1:23 -b 57600 -U flash:w:miniCUL.hex:i
Anschließend wird zur Kommunikation mit FHEM die Baudrate auf 38400 eingestellt:
+++AT BAUD 38400



WLAN-Modus mit esp-link auf ESP-12

esp-link:
esp-link als Alternative zu ESP8266-transparent-bridge. Der Vorteil der Firmware ist ein GUI (Graphical User Interface), so dass die Konfiguration vom Browser aus komfortabel durchgeführt werden kann.

Konfiguration:
siehe Esp-link Wifi configuration und Antwort #146

Definition in fhem:
### miniCUL WLAN-Modus mit esp-link auf ESP-12
define miniCUL CUL 192.168.4.1:23 0000


a-culfw über WLAN flashen:
siehe Flashing an attached Microcontroller
./avrflash 192.168.4.1 miniCUL.hex

Flashen mit avrdude:
avrdude -p atmega328p -c arduino -P net:192.168.4.1:23 -b 57600 -U flash:w:miniCUL.hex:i



Hinweis zum WLAN-Betrieb
Die Timingschwankungen des WLAN können in FHEM nicht ausgeglichen werden. Dies kann unter Umständen zu miniCUL "disconnected" führen. Siehe dazu Forumsbeitrag.
Espressif's SDK schränkt bei Inaktivität die Verbindungsdauer auf dem TCP Port 23 auf 5 Minuten ein. Siehe dazu esp-link Serial bridge.
Der Timeout kann mit einem Ping umgangen werden:
define esplink PRESENCE lan-ping 192.168.4.1 120



Hinweis zu a-culfw ab Ver. 1.21.00
Björn hat einige Änderungen an der a-culfw für miniCUL vorgenommen:
- MARK433 in board.h hinzugefügt
- Widerstand am Pin A0 des ATMEGA hinzugefügt
- make erzeugt separate hex Dateien für 433 und 868 MHz
- erweiterte Optionen im flash.sh Skript

Aufgrund des fehlenden Widerstandes am Pin A0 des ATMEGA gilt für alle Besitzer des miniCUL 433 MHz Ver. 1 weiterhin die alte Vorgehensweise beim flashen:
avrdude -p atmega328p -c arduino -P /dev/ttyUSB0 -b 57600 -U flash:w:miniCUL_433MHZ.hex:i
Und danach folgt das Einstellen der Frequenz:
set miniCUL freq 433.920



Ergänzende Informationen zum Umgang mit a-culfw GitHub Repository
Benötigte Pakete installieren, Git Repository klonen, Firmware bauen:
apt-get install git make avrdude avr-libc gcc-avr binutils-avr dfu-programmer libftdi1
git clone https://github.com/heliflieger/a-culfw.git
cd a-culfw/culfw/Devices/miniCUL
make clean
make




EspSerialBridge
... ist eine weitere Alternative zu ESP8266-transparent-bridge. Siehe Forumsbeiträge ab Antwort #535.
https://github.com/habeIchVergessen/EspSerialBridge



Blockschaltbild
Siehe Antwort #38



SIGNALDuino Empfänger Firmware für miniCUL
https://forum.fhem.de/index.php?topic=82379.0



Verfügbarkeit und Preise
Ich biete die Geräte ab November 2015 im Marktplatz zum Kauf an.


Olly

Hallo Damian,

ja da hast Du dir ja mal wieder was nettes einfallen lassen.
Ich beschäftige mich gerade auch mit dem ESP8266, allerdings als Sensor mit MQTT.
Hast du schon eine Preisvorstellung für deinen Netzwerk-CUL?

Gruß

     Olly
BananaPi 1GB;NetCSM 868MHz, miniCUL 433MHz, LaCrosseGateway, 2x SignalESP; FHEM 6.2

PeMue

Hallo locutus,

Zitat von: locutus am 25 Oktober 2015, 23:12:21
CC1101 oder CC113L Funkmodul
eine Frage hätte ich: sind das nicht zwei Module, die von den Pads ziemlich abweichen?
Vom CC113L finde ich nur ein 433 MHz Modul, und das ist auch kleiner, als das CC1101 (SMD) Modul.
Prinzipiell habe ich natürlich auch Interesse ...

Danke + Gruß

Peter
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

StefanL

Hallo locutus,
Super Arbeit wie immer. Hätte auch Interesse.


Gruß Stefan

gesendet vom Handy  . Deswegen  kurz gehalten

NUC als Prduktivsystem,  Rasperry Pi mit FHEM zum Testen, diverse HM Komponenten, Arduino mit EthernetShield (China), AVR NetIO, NanoCUL, FHEMduino

kaihs

Finde ich auch sehr interessant.

Sind an dem ESP Modul noch GPIO Pins unbenutzt und sind die mglw. sogar noch zugänglich?
Banana Pi, Add-On Board mit 1.8" TFT LCD und IR-Sender, CULFW V1.61, div. Homematic Komponenten, Pollin Funksteckdosen, Selbstbau CUL433 MHz, Jeelink Clone, EC3000
Selbstbau CUL868MHz für Wireless M-Bus, SIGNALduino mit Logilink Temp.-sensoren und Auriol Wetterstation

noice

Sehr fein.

Freu mich schon wenn es die Teile im Marktplatz gibt.
BananaPI, RaspberryPi+AddonBoard,HMLAN,  miniCUL 433,nanoCUL 433,nanoCUL868,FHEMduino 433, Jeelink clone diverse Homematic, FS20, MAX, TFA und IT Komponenten.
10" Tablet mit andFhem, Daitem D14000

hjgode

#6
Hallo

ich teste gerade die ESP transparent bridge auf einem ESP-01.

Ich kann mich mit dem ESP-01 über AI_Thinker Access Point verbinden und kann dann per Telnet +++AT Befehle absetzen: MODE=3, STA SSID PASSWORD, BAUD 57600.

Leider vebindet sich das Teil nicht mit meinem WLAN Netz (zwei Cisco 1200 APs) einfaches WPA mit TKIP sonst nix. Es gibt ja leider keine Log Ausgaben.

Was kann ich da tun?

~Josef

EDIT1: Hat sich erledigt, muss wohl an den Cisco APs liegen. Mit nem anderen AP Hersteller gehts.
Debian SID mit aktuellem FHEM, nanoCUL 866, JeeLink EC3000, fhemduino, SIGNALduino,
3 x TFA TH Sensor, 1 x TFA TH Arduino Sender, 3 x EC3000, 4 x Elro Schaltsteckdosen, ESA2000
offline: Wibo Funkthermostat, 2 x ELV Funkthermostat FHT80, 2 FS20 ST4 Funksteckdose

locutus

Zitat von: Olly am 26 Oktober 2015, 09:58:12
Hast du schon eine Preisvorstellung für deinen Netzwerk-CUL?
Zitat von: chris1284 am 26 Oktober 2015, 21:28:38
Somit würde mich der preis auch interessieren
Preisangaben findet ihr im Marktplatz.

Zitat von: PeMue am 26 Oktober 2015, 22:06:30
sind das nicht zwei Module, die von den Pads ziemlich abweichen?
Vom CC113L finde ich nur ein 433 MHz Modul, und das ist auch kleiner, als das CC1101 (SMD) Modul.
Nein! eBay Shop canton-electronic

Zitat von: kaihs am 26 Oktober 2015, 22:47:46
Sind an dem ESP Modul noch GPIO Pins unbenutzt und sind die mglw. sogar noch zugänglich?
Die Bridge und meine Schaltung nutzen GPIO2 als Bootloader Reset.
GPIO0 wird meines Wissens nicht verwendet.

ext23

So ein Teil welches anstelle von WLAN mit normalen LAN und PoE arbeitet wäre noch viel interessanter, für mich jedenfalls.

Meine Mikrowellen gehen alles aus in der Nacht, wenigstens da möchte ich unverstrahlt schlafen ;-)

Gruß
Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

PeMue

Zitat von: ext23 am 01 November 2015, 13:12:05
Meine Mikrowellen gehen alles aus in der Nacht, wenigstens da möchte ich unverstrahlt schlafen ;-)
Und Dein 868 MHz Zeug bleibt an, oder? Dann solltest Du auch keine MySensors Sachen haben ...

@Damian: Da ich sowieso noch eine Bestellung bei Dir offen habe, ist der WLAN miniCUL schon bestellbar? Wenn ja, dann lege ich einfach noch 23 € drauf, oder?

Gruß Peter
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

locutus

Zitat von: ext23 am 01 November 2015, 13:12:05
So ein Teil welches anstelle von WLAN mit normalen LAN und PoE arbeitet wäre noch viel interessanter, für mich jedenfalls.
Dann wirst Du wohl einen selbstbau CUL mit einem Serial UART to Ethernet Converter verheiraten müssen.

ext23

Naja die haben nur leider kein PoE und ein extra Netzteil etc. ist ja auch nicht so edel, das ist ja das was ich jetzt habe mit den RPi's. Und so ein "Zusammengestecke" sieht ja auch nicht so schön aus am Ende.

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

RappaSan

Hallo Damian, Lieferung ist angekommen.
Blinkt lustig blau vor sich hin und sieht gut aus  :)

Wie bekomme ich das Ding jetzt geflasht? Raspi oder PC?
Wie stelle ich den ESP auf mein WLAN ein?
Erste Versuche mit "Jumper auf USB" und +++AT . Kommandos ergaben als Rückantwort:

? (+++AT is unknown) Use one of B C F i A Z N E k G M K U Y R T V W X e f m L l t u x

Hättest Du vielleicht eine detaillierte Konfig-Beschreibung?

locutus

Ihr sucht nach einem Access Point, ein offenes Netzwerk, der Netzwerkname lautet ESP_xxxxxx (die letzten 6 Stellen variieren). Mit Netzwerk verbinden, die IP ermitteln (sollte 192.168.4.1 sein), dann Telnet Session starten ...

Zitat von: RappaSan am 03 November 2015, 19:44:25
Wie stelle ich den ESP auf mein WLAN ein?
Erste Versuche mit "Jumper auf USB" und +++AT . Kommandos ergaben als Rückantwort:

? (+++AT is unknown) Use one of B C F i A Z N E k G M K U Y R T V W X e f m L l t u x
Wenn diese Rückmeldung kommt, dann sind die Jumper nicht im USB Modus! USB Modus ist hier abgebildet. Das ist zwar nicht logisch, aber es hat was mit der Leiterbahnführung zu tun.
Zitat
Hättest Du vielleicht eine detaillierte Konfig-Beschreibung?
https://github.com/beckdac/ESP8266-transparent-bridge

RappaSan

Daumen hoch, es läuft. :)
Nachdem ich mich mit dem Ding per WLAN ins ESP_XXXX - Netz verbunden hatte, ging der beschriebene Rest per Putty reibungslos.
Dann wollen wir mal ein bißchen damit herumspielen...