Hier entsteht die Portierung des LaCrosseGateway (https://forum.fhem.de/index.php/topic,43672.0.html) auf den ESP32.
Hinweis: Das Projekt ist vorerst wegen Zeitmangel zurückgestellt
Vorteile auf dem ESP32:
- deutlich mehr IOs verfügbar
- für die Serial-Bridges und den Alarm wird kein SC16IS750 benötigt
- bis zu fünf Radios ohne SC16IS750
- Mehr Speicher und mehr Rechenleistung
- Zusätzlich zu Radio #1 stehen 16 GPIOs zur Verfügung, die man recht frei als Ein- oder Ausgang oder für spezielle Funktionen (Bridges, ...) konfigurieren kann
Change log
Aktueller Status: pre Alpha, nicht für den Produktivbetrieb
Es gibt noch viel zu tun, bei manchen Dingen klemmt es noch im esp-idf und/oder im Arduino core und vieles muss ich im LGW noch umbauen/anpassen oder teils neu schreiben.
Wird also noch dauern, bis es produktiv wird.
Aber wer es mal ausprobieren möchte - gerne.
Auf FHEM-Seite wird das 36_LaCrosseGateway-Modul benötigt, es funktioniert nicht mit dem JeeLink Modul
USB-Upload:
python esptool.py --chip esp32 --port "COM3" --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_freq 80m --flash_mode dio --flash_size 4MB 0x1000 bootloader.bin 0x8000 partitions.bin 0xe000 boot_app0.bin 0x10000 LaCrosseGateway32.bin
Die Schnittstelle "COM3" ist entsprechend anzupassen
OTA-Update:
curl --http1.0 -# -o ~output.txt -H "Content_Type:multipart/form-data" -F "file=@LaCrosseGateway32.bin; filename=firmware.bin" http://192.168.31.212/ota/firmware.bin
Die IP-Adresse (192.168.31.212) ist entsprechend anzupassen
Die erforderlichen Dateien findet man im angehängten ZIP.
Was ich schon länger erfolgreich verwende, ist das "SparkFun ESP32 Thing" (https://www.sparkfun.com/products/13907)
Es sollte aber auch mit jedem anderen ESP32-Board funktionieren.
Funktionen (Legende) (Alle Angaben ohne Gewähr)
[X] = funktioniert
[H] = funktioniert so halbwegs
[ ] = fehlt noch
[X] Connect zu einem AccessPoint / eigener AP für die Konfiguration
[X] Web frontend incl. setup page
[X] DataPort für FHEM
[X] Alarm
[X] BME280, BMP180, LM75, DHT22, DHT11, SHT75
[X] Statuswerte (KVP)
[ ] Nextion
[X] MCP23008
[X] Digitalausgänge
[X] Digitaleingänge
[ ] Analogausgänge
[ ] Analogeingänge
[ ] Touch-Eingänge
[ ] Serial-Bridge 1 und 2
[X] OTA-Update
[X] MDNS
[ ] USR-TCP
[X] RFM69 #1 ... #5
[ ] CC1101
[X] PCA301
[X] EC3000
[X] EMT7110
[X] LaCrosse-Sensoren inc. WS1600
[X] OLED
Beispiel-Konfiguration am Beispiel SparkFun ESP32 Thing
In "Mögliche Optionen" ist aufgeführt, welche Option für den jeweiligne GPIO möglich ist (auf der Setup-Page konfigurierbar)
Man kann beim LGW32 also selbst entscheiden, ob man lieber mehr IO oder mehr Radios oder Bridges usw. haben will.
Pin GPIO Verwendung Mögliche Optionen
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
36 GPIO36 (only IN) -> AI "TMP36.1" DI, AI
37 GPIO37 (only IN) -> AI "TMP36.1" (DI, AI) (nicht ESP-32S, Nano32 und NodeMCU-32S)
38 GPIO38 (only IN) -> DI "Button38" (DI, AI) (nicht ESP-32S, Nano32 und NodeMCU-32S)
39 GPIO39 (only IN) -> DI "{OLED Off}" DI, AI
32 GPIO32 -> Serial bridge 1 TXD - AddOn CPU 1 RXD DI.PU, DI.PD, DO, AI, Touch, DHT22, Alarm, LED, Radio.2, Radio.3, Radio.4, Radio.5, Bridge1.TXD, Bridge1.RXD, Bridge2.TXD, Bridge2.RXD, Bridge1.Reset, Bridge2.Reset, Nextion.TXD, Nextion.RXD, SHT75.Clock, SHT75.Data
33 GPIO33 -> Serial bridge 2 TXD - AddOn CPU 2 RXD DI.PU, DI.PD, DO, AI, Touch, DHT22, Alarm, LED, Radio.2, Radio.3, Radio.4, Radio.5, Bridge1.TXD, Bridge1.RXD, Bridge2.TXD, Bridge2.RXD, Bridge1.Reset, Bridge2.Reset, Nextion.TXD, Nextion.RXD, Bridge2.Reset, SHT75.Clock, SHT75.Data
34 GPIO34 (only IN) -> Serial bridge 1 RXD - AddOn CPU 1 TXD DI, AI, Nextion.RXD, Bridge1.RXD, Bridge2.RXD
35 GPIO35 (only IN) -> Serial bridge 2 RXD - AddOn CPU 2 TXD DI, AI, Nextion.RXD, Bridge1.RXD, Bridge2.RXD
25 GPIO25 -> Radio.3 NSS DI.PU, DI.PD, DO, AI, AO, DHT22, Alarm, LED, Radio.2, Radio.3, Radio.4, Radio.5, Bridge1.TXD, Bridge1.RXD, Bridge2.TXD, Bridge2.RXD, Bridge1.Reset, Bridge2.Reset, Nextion.TXD, Nextion.RXD, SHT75.Clock, SHT75.Data
26 GPIO26 -> Radio.4 NSS DI.PU, DI.PD, DO, AI, AO, DHT22, Alarm, LED, Radio.2, Radio.3, Radio.4, Radio.5, Bridge1.TXD, Bridge1.RXD, Bridge2.TXD, Bridge2.RXD, Bridge1.Reset, Bridge2.Reset, Nextion.TXD, Nextion.RXD, SHT75.Clock, SHT75.Data
27 GPIO27 -> Radio.5 NSS DI.PU, DI.PD, DO, AI, Touch, DHT22, Alarm, LED, Radio.2, Radio.3, Radio.4, Radio.5, Bridge1.TXD, Bridge1.RXD, Bridge2.TXD, Bridge2.RXD, Bridge1.Reset, Bridge2.Reset, Nextion.TXD, Nextion.RXD, SHT75.Clock, SHT75.Data
14 GPIO14 -> Alarm (Buzzer / LED rot) DI.PU, DI.PD, DO, AI, Touch, DHT22, Alarm, LED, Radio.2, Radio.3, Radio.4, Radio.5, Bridge1.TXD, Bridge1.RXD, Bridge2.TXD, Bridge2.RXD, Bridge1.Reset, Bridge2.Reset, Nextion.TXD, Nextion.RXD, SHT75.Clock, SHT75.Data
12 GPIO12 -> Radio.2 NSS DO, Alarm, LED, Radio.2, Radio.3, Radio.4, Radio.5, Bridge1.Reset, Bridge2.Reset (DARF BEIM BOOTEN NICHT HIGH SEIN)
13 GPIO13 -> DHT22 DI.PU, DI.PD, DO, AI, Touch, DHT22, Alarm, LED, Radio.2, Radio.3, Radio.4, Radio.5, Bridge1.TXD, Bridge1.RXD, Bridge2.TXD, Bridge2.RXD, Bridge1.Reset, Bridge2.Reset, Nextion.TXD, Nextion.RXD, SHT75.Clock, SHT75.Data
RST Reset (PullUp) ---
3V3 3.3V -> 3.3V
GND GND -> GND
VBAT 4.2V ---
VUSB 5.0V -> Nextion VCC
GND GND -> Nextion GND
GND GND -> GND
21 SDA -> SDA + 4k7 PU (auto sense) BMP180 (0x77), BME280 (0x76), LM75 (0x4F), OLED (0x3C), MCP23008 (0x27)
TX FTDI ---
RX FTDI ---
22 SCL -> SCL + 4k7 PU
19 SPI MISO -> RFM69 MISO / CC1101 SO
23 SPI MOSI -> RFM69 MOSI / CC1101 SI 10K PullUp = "no WiFi"
18 SPI SCK -> RFM69 SCK / CC1101 SCLK
05 GPIO05 LED -> LED DI.PU, DI.PD, DO, AI, Touch, DHT22, Alarm, LED, Radio.2, Radio.3, Radio.4, Radio.5, Bridge1.TXD, Bridge1.RXD, Bridge2.TXD, Bridge2.RXD, Bridge1.Reset, Bridge2.Reset, Nextion.TXD, Nextion.RXD, SHT75.Clock, SHT75.Data
15 GPIO15 -> Radio.1 IRQ / CC1101 GDO0
02 GPIO02(PullDown) -> DO "LED.02" (LED bei NodeMCU-32S) DO, Alarm, LED, Radio.2, Radio.3, Radio.4, Radio.5, Bridge1.TXD, Bridge2.TXD, Bridge1.Reset, Bridge2.Reset, Nextion.TXD
00 GPIO00(PullUp) -> Button "00" (on board)
04 GPIO04 -> Radio.1 NSS / CC1101 CSN
17 GPIO17 -> 0.1uF -> Bridge 2 Reset DI.PU, DI.PD, DO, AI, Touch, DHT22, Alarm, LED, Radio.2, Radio.3, Radio.4, Radio.5, Bridge1.TXD, Bridge1.RXD, Bridge2.TXD, Bridge2.RXD, Bridge1.Reset, Bridge2.Reset, Nextion.TXD, Nextion.RXD, SHT75.Clock, SHT75.Data
16 GPIO16 -> 0.1uF -> Bridge 1 Reset (LED bei Nano32) DI.PU, DI.PD, DO, AI, Touch, DHT22, Alarm, LED, Radio.2, Radio.3, Radio.4, Radio.5, Bridge1.TXD, Bridge1.RXD, Bridge2.TXD, Bridge2.RXD, Bridge1.Reset, Bridge2.Reset, Nextion.TXD, Nextion.RXD, SHT75.Clock, SHT75.Data
3V3 3.3V -> 3.3V
GND GND -> GND
VBAT 4.2V ---
VUSB 5.0V ---
GND GND -> GND
Hallo HCS.
Ich weiß es ist Sommer.
Wie ist der Stand der Dinge?
Gruß Sascha
Gesendet von meinem SM-T560 mit Tapatalk
Zitat von: sash.sc am 18 Juni 2017, 18:16:47
Wie ist der Stand der Dinge?
Wegen Zeitmangel nicht viel passiert.
Allerdings ist am Espressif IDF auch nicht viel passiert in letzter Zeit.
Willst Du es einsetzen?
Falls ja, welche der oben als "fehlt noch" deklarierte Funktionalität wäre erforderlich?
Hi HCS.
Mein Bedarf besteht darin, die 2 nanocul die ich habe, evtl. die Signalduino Funktion, und LaCrosse mit 2 oder 3 Radios auf einem gateway zu haben.
Das was ich oben gesehen habe, fehlt cc1101 und serial bridge.
Zur Zeit habe ich nen 868 nanocul für HM im Einsatz und 433 cul für div. Temp. Sensoren und IT und revolt funkmessdosen. Habe auch nen Signalduino über WLAN angeschlossen. Dieser ist auch mit nen cc1101 bestückt.
Ist alles bastelzeug was sich so angesammelt hat., bzw was ich ausprobiert habe. [emoji6]
Deswegen suche ich ne Möglichkeit alles auf ein gateway zu bekommen.
Gruß Sascha
Gesendet von meinem SM-T560 mit Tapatalk
Zitat von: sash.sc am 18 Juni 2017, 18:57:00
Mein Bedarf besteht darin, die 2 nanocul die ich habe, evtl. die Signalduino Funktion, und LaCrosse mit 2 oder 3 Radios auf einem gateway zu haben.
Ja, da fehlen Dir die Bridges.
Dass der CC1101 mit auf der Liste steht, kann man erst mal vergessen, den habe ich nur hardwaremäßig eingeplant, was und ob überhaupt mal mit wird, ist noch unklar.
Der Plan ist aktuell, als nächstes die bridges zu machen. Dann würde die beiden nanocul + bis zu fünf RFM69 für LaCrosse, PCA301, ... gehen (ohne weitere Hardware wie SC16IS750)
Zeithorizont aktuell nicht vorhersehbar.
Danke für die Infos.
Gruß Sascha
Gesendet von dem teuren ding in meiner hand
Wäre nicht auch noch ein Bluetooth auf WLAN Funktionalität genial: https://www.youtube.com/watch?v=PBYCG-ypvRY ?