MapleCUN: Unterschied zwischen den Versionen
(Links auf Forumsbeitrag und Github ergänzt) |
PeMue (Diskussion | Beiträge) K (typo corrected) |
||
(62 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt) | |||
Zeile 16: | Zeile 16: | ||
== Einleitung == | == Einleitung == | ||
Der MapleCUN ist neuartiges CUN oder CUL Interface zum Selbstbau, entwickelt von Telekatz. | Der MapleCUN ist neuartiges CUN oder CUL Interface zum Selbstbau, entwickelt von Telekatz. | ||
Durch den STM32 Mikrocontroller ist die Basis sehr leistungsfähig. Der Controller ist deutlich schneller als ATMega und verfügt über mehr Flash und RAM sowie integriertes USB. | Durch den STM32 Mikrocontroller ist die Basis sehr leistungsfähig. Der Controller ist deutlich schneller als ATMega und verfügt über mehr Flash und RAM sowie integriertes USB. | ||
Es können 1-4 Transceiver verbaut werden. | Es können 1-4 Transceiver verbaut werden. | ||
Alle 4 Transceiver werden über ein einziges serielles Device (alternativ LAN) angesprochen als "stackable" Modul ... | Alle 4 Transceiver werden über ein einziges serielles Device (alternativ LAN) angesprochen als "stackable" Modul ... | ||
Der MAPLE-Mini stellt jedoch über zwei UARTs noch zwei Serielle-Interfaces bereit, die anderweitig genutzt werden können.Diese konkrete Nutzung z.B. [[MapleCUX-Platinen|bei Ranseyers-Platinen oder anderen Umsetzunge]]n hat jedoch keinen Zusammenhang mit dem MAPLE-CUL, wird daher separat beschrieben und sollte bei Fragen auch separat diskutiert werden. | |||
<gallery> | <gallery> | ||
Zeile 34: | Zeile 30: | ||
File:4-fach-1.3-LAN.jpg|4-Fach CUN mit LAN-Modul V1.3|alt=alt language | File:4-fach-1.3-LAN.jpg|4-Fach CUN mit LAN-Modul V1.3|alt=alt language | ||
File:4-fach-produktiv.jpg|4-Fach CUL im offenen Gehäuse|alt=alt language | File:4-fach-produktiv.jpg|4-Fach CUL im offenen Gehäuse|alt=alt language | ||
</gallery> | </gallery> | ||
== Aufbau == | == Aufbau == | ||
Benötigt werden dazu folgende Teile: | Benötigt werden dazu folgende Teile: | ||
* [https://de.aliexpress.com/item/leaflabs-Leaf-maple-mini-ARM-STM32-compatibility/ | * [https://de.aliexpress.com/item/leaflabs-Leaf-maple-mini-ARM-STM32-compatibility/1400667476.html Maple Mini Board] | ||
* [https://de.aliexpress.com/item/CC1101-Wireless-Module-Long-Distance-Transmission-Antenna-868MHZ-M115/32635393463.html CC1101 Funkmodul] | * [https://de.aliexpress.com/item/CC1101-Wireless-Module-Long-Distance-Transmission-Antenna-868MHZ-M115/32635393463.html CC1101 Funkmodul] | ||
* [https://de.aliexpress.com/item/Free-shipping-W5100-Ethernet-module-Ethernet-network-module-for-arduino/32341522510.html | * [https://de.aliexpress.com/item/Free-shipping-W5100-Ethernet-module-Ethernet-network-module-for-arduino/32341522510.html W5100] oder [https://de.aliexpress.com/item/Free-shipping-W5500-Ethernet-network-module-hardware-TCP-IP-51-STM32-microcontroller-program-over-W5100/32750316619.html W5500] Ethernet Modul (Optional) | ||
Der Aufbau kann auf Lochraster erfolgen, fertige Platinen siehe Foto sparen jedoch Zeit, reduzieren Fehlerquellen und erhöhen die Zuverlässigkeit. | Der Aufbau kann auf Lochraster erfolgen, fertige Platinen (siehe Foto) sparen jedoch Zeit, reduzieren Fehlerquellen und erhöhen die Zuverlässigkeit. | ||
Die Module werden gemäß Schaltplan miteinander verbunden. Da alle Module mit 3,3V laufen sind keine Bauteile für eine Pegelanpassung notwendig. | Die Module werden gemäß Schaltplan miteinander verbunden. Da alle Module mit 3,3V laufen, sind keine Bauteile für eine Pegelanpassung notwendig. | ||
== Bestückung der Module / Protokolle == | |||
Stand 07/2017: Es sind noch nicht alle Protokolle an den zusätzlichen Transceivern verfügbar. | |||
Nach einem Reset der Konfiguration ist die Frequenz von CC0 auf 868MHz und CC1 auf 433MHz voreingestellt, lässt sich dann aber auch umkonfigurieren. | |||
Ende Juni 2017 wurde die automatische Erkennung der Module überarbeitet. Jetzt ist es auch möglich, einen Slot unbestückt zu lassen und die nachfolgenden Slots trotzdem verwenden zu können. Wenn alle 4 Slots belegt sind, funktioniert SlowRF an Slot0, Slot1 und Slot2. Ist irgend ein beliebiger Slot unbelegt, funktioniert es an den übrigen 3 Slots. Allerdings funktioniert das Senden von SlowRF nicht am letzten Slot, da dort kein Output Pin angeschlossen ist. | |||
Ende Juni 2017 wurde die automatische Erkennung der Module überarbeitet. Jetzt ist es auch möglich, einen Slot unbestückt zu lassen und die nachfolgenden Slots trotzdem verwenden zu können. | |||
Wenn alle 4 Slots belegt sind, funktioniert SlowRF an Slot0, Slot1 und Slot2. Ist irgend ein beliebiger Slot unbelegt, funktioniert es an den übrigen 3 Slots. | |||
Allerdings funktioniert das Senden von SlowRF nicht am letzten Slot, da dort kein Output Pin angeschlossen ist. | |||
Neben [[SlowRF]] nutzt der MapleCUN Intertechno und [[SOMFY|Somfy]] 433MHz. | |||
Wegen der fehlenden "Out"-Leitung am vierten Steckplatz kann man dort diese Protokolle aber auch nicht verwenden. Nutzbar am vierten Steckplatz sind [[HomeMatic]], [[MAX]], RWE, [[LaCrosse]] und FastRF (alles 868MHz). Durch die Wahl des Protokolls wird die Frequenz automatisch eingestellt '''und kann auch nicht geändert werden!''' | |||
Nutzbar am vierten Steckplatz sind HomeMatic, MAX, RWE, LaCrosse und FastRF (alles 868MHz) | |||
Weitere Infos zu [http://culfw.de/culfw.html SlowRF] | Weitere Infos zu [http://culfw.de/culfw.html SlowRF] | ||
== Bootloader flashen == | |||
Zum Flashen kann entweder von ST der "STM32 Flash Loader Demonstrator" oder das Tool stm32flash benutzt werden. Flashen über den originalen MAPLE Bootloader per USB funktioniert nicht. | |||
Pin Belegung zum Bootloader flashen: | |||
* FTDI-GND an MapleMini-GND | |||
* FTDI-VCC an MapleMini-VCC | |||
* FTDI-TX an MapleMini-rx1 | |||
* FTDI-RX an MapleMini-tx1 | |||
* MapleMini-boot1 an MapleMini-GND | |||
MapleMini in den Flash-Modus versetzen: | |||
* Taster [But32] und Taster [Reset] drücken | |||
* Taster [Reset] los lassen | |||
* Nach ca. 1 sec. den Taster [But32] los lassen | |||
* Der MapleMini befindet sich jetzt im Flash-Modus und kann über rx1 und tx1 geflasht werden. | |||
<gallery> | |||
File:Flash1.png|Flash Bootloader 1|alt=alt language | |||
File:Flash2.png|Flash Bootloader 2|alt=alt language | |||
File:Flash3.png|Flash Bootloader 3|alt=alt language | |||
File:Flash4.png|Flash Bootloader 4|alt=alt language | |||
File:Flash5.png|Flash Bootloader 5|alt=alt language | |||
</gallery> | |||
== Bootloader flashen ohne TTL-Adapter == | |||
[[Datei:MapleCUN Bootloader serial monitor.png|mini|200px|rechts|Bootloader, serieller Monitor]] | |||
Der Bootloader kann mittlerweile auch komplett ohne TTL-Adapter über den USB-Port des MapleMini geflasht werden. Grundbedingung dürfte wohl nur sein, dass bereits ein Bootloader geflasht ist (beim Anschließen leuchtet/blinkt die blaue LED). Dazu müssen erst in der Arduino IDE die nötigen Treiber installiert werden. Die Anleitung für die gängigen Betriebssysteme findet sich [https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki/Installation hier]. | |||
Wichtig: Hierbei sollten auch wirklich die Treiber von dort verwendet werden und keine vorher evtl. von anderen Quellen installierten Treiber. Nach der Installation muss die IDE neu gestartet werden. Im Anschluss kann der Sketch von [https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki/Bootloader#update-using-the-updater-sketch hier] installiert werden. | |||
Es kann sein, dass nach der Installation in der Konsole steht, dass der Reset am Board nicht geklappt hat. In dem Fall muss der Maple noch händisch per reset-Button resettet werden. | |||
Nachdem das Board wieder erkannt wurde (Port: COMx), muss der Serielle Monitor in der Arduino IDE aufgerufen werden. Dort sollte dann der obere Teil des Screenshots zu sehen sein. Nun muss noch in der Textbox oben "Y" eingeben und das ganze mit ''Senden'' freigegeben werden. | |||
Wenn das wie auf dem Screenshot gezeigt durchgelaufen ist, kann jetzt direkt a-culfw geflasht werden. | |||
== Alternative Bootloader == | |||
Alternativ zum V2 bootloader kann auch der MSC Bootloader verwendet werden (anzupassen: der Maple hat die LED an PB1). | |||
Der MSC Bootloader stellt ein USB Laufwerk bereit, auf welches z.B. mit dem Dateimanager einfach die Firmware kopiert wird. | |||
Zweimal innerhalb einer Sekunde "Reset" betätigen startet den Bootloader. Dieser funktioniert aber wegen der unterschiedlichen USB Reset Schaltung auch nicht mit dem Blue Pill (siehe {{Link2Forum|Topic=101610|LinkText=diesen Forentitel}}). | |||
== Firmware / Flashen == | == Firmware / Flashen == | ||
{{Randnotiz|RNTyp=g|RNText=Sofern auf dem Maple bereits der | {{Randnotiz|RNTyp=g|RNText=Sofern auf dem Maple bereits der spezielle und zur Firmware passende Bootloader installiert ist, kann über den USB-Port geflasht werden, ansonsten wird noch ein USB/TTL Wandler benötigt. Da der UART1 Anschluss des Controllers 5V-tolerant ist kann auch ein Wandler mit 5V Ausgang verwendet werden. Angeschlossen wird der Wandler an den Debug-Port (DBG). | ||
Die Sourcen sind auf [https://github.com/heliflieger/a-culfw github] zu finden, der Link auf die aktuellen binaries sowie auf die aktuelle Flash-Anleitung {{Link2Forum|Topic=60458|msg=518449|LinkText=hier (im ersten Post)}}. | |||
Die Firmware ist in der a-culfw enthalten. Für den MapleCUN gibt es jetzt nur noch zwei verschiedene Firmware-Dateien, je nach verwendetem Wizchip: | Achtung: Der Bootloader sollte ohne zwingenden Grund niemals getauscht werden. Bei Firmwareupdates reicht es normalerweise immer aus, nur die a-culfw zu tauschen.}} | ||
* MapleCUNx4_W5100.bin | |||
* MapleCUNx4_W5500.bin | Die Sourcen sind auf [https://github.com/heliflieger/a-culfw github] zu finden, der Link auf die aktuellen binaries sowie auf die aktuelle Flash-Anleitung findet sich {{Link2Forum|Topic=60458|msg=518449|LinkText=hier (im ersten Post)}}. | ||
Die Firmware ist in der a-culfw enthalten. Für den MapleCUN gibt es jetzt nur noch zwei verschiedene Firmware-Dateien, je nach verwendetem Wizchip: | |||
* MapleCUNx4_W5100.bin | |||
* MapleCUNx4_W5500.bin | |||
In diesen Versionen sind alle Protokolle enthalten. Für einen MapleCUL (also ohne LAN Modul) kann man beide Versionen verwenden. | In diesen Versionen sind alle Protokolle enthalten. Für einen MapleCUL (also ohne LAN Modul) kann man beide Versionen verwenden. | ||
Zeile 74: | Zeile 111: | ||
Anmerkungen zur Firmware: | Anmerkungen zur Firmware: | ||
*Die Umschaltung zwischen den RF Protokollen wurde angepasst. Dies funktioniert mit Ausnahme von KOPP_FC mit allen Protokollen. | *Die Umschaltung zwischen den RF Protokollen wurde angepasst. Dies funktioniert mit Ausnahme von KOPP_FC mit allen Protokollen. | ||
*Folgende Einschränkungen gibt es für den Betrieb mit mehreren Transceivern: | *Folgende Einschränkungen gibt es für den Betrieb mit mehreren Transceivern: | ||
*SlowRF funktioniert nur an CC0 und CC1. | *SlowRF funktioniert nur an CC0 und CC1. | ||
*MBUS funktioniert an jedem Transceiver, aber insgesamt nicht an mehr als einem Transceiver gleichzeitig. | *MBUS funktioniert an jedem Transceiver, aber insgesamt nicht an mehr als einem Transceiver gleichzeitig. | ||
*KOPP_FC funktioniert nur an CC0. | *KOPP_FC funktioniert nur an CC0. | ||
*Die restlichen Protokolle funktionieren an allen Transceivern und auch mehrfach gleichzeitig. | *Die restlichen Protokolle funktionieren an allen Transceivern und auch mehrfach gleichzeitig. | ||
*LaCrosse geht seit Firmware (a-culfw) 1.26.03. Empfangen funktioniert ohne Zusatzhardware mit einem freien 868Mhz Modul, auf das ein | |||
::<code>set raw Nr1</code> | |||
:bzw. | |||
::<code>set raw Nr2</code> | |||
:gesetzt wird. | |||
===Firmware flashen: === | |||
* Zuerst den Bootloader tauschen (einmalig) | |||
Firmware flashen: | * per USB das Firmware Binary flashen | ||
Bitte jeweils die aktuelle README der Firmware beachten. | Bitte jeweils die aktuelle README der Firmware beachten. | ||
Zeile 119: | Zeile 154: | ||
... | ... | ||
Read-UnProtecting flash | Read-UnProtecting flash | ||
=== Trick zum USB-Flashen (Code Schnipsel für kleines Skript) === | |||
<syntaxhighlight lang="bash"> | |||
#! /bin/sh | |||
while (true); do | |||
sudo dfu-util --verbose --device 1eaf:0003 --cfg 1 --alt 2 --download MapleCUNx4_W5500_BL.bin | |||
#sudo dfu-util --verbose --device 1eaf:0003 --cfg 1 --alt 2 --download MapleCUNx4_W5100_BL.bin | |||
if [ $? -eq 0 ] | |||
then break | |||
fi | |||
sleep 1 | |||
done | |||
exit | |||
</syntaxhighlight> | |||
== Firmware flashen unter Windows 7 - 64bit == | |||
Folgende Sourcen werden genutzt: | |||
* https://github.com/rogerclarkmelbourne/Arduino_STM32 | |||
* https://zadig.akeo.ie/ | |||
Die einzelnen Schritte: | |||
* Reset des Maple durch drücken des Reset Buttons | |||
* Drücken des "but=32" Buttons direkt nach dem Reset und gedrückt halten | |||
* Der Maple sollte jetzt im 4 Hz Takt blinken und im DFU Modus sein | |||
* "but=32" loslassen | |||
<syntaxhighlight lang="doscon"> | |||
C:\tmp\Arduino_STM32-master\Arduino_STM32-master\tools\win>dfu-util --list | |||
dfu-util - (C) 2007-2008 by OpenMoko Inc. | |||
This program is Free Software and has ABSOLUTELY NO WARRANTY | |||
Found DFU: [0x1eaf:0x0003] devnum=1, cfg=0, intf=0, alt=0, name="" | |||
Found DFU: [0x1eaf:0x0003] devnum=1, cfg=0, intf=0, alt=1, name="STM32duino bootloader v1.0 Upload to Flash 0x8005000" | |||
Found DFU: [0x1eaf:0x0003] devnum=1, cfg=0, intf=0, alt=2, name="STM32duino bootloader v1.0 Upload to Flash 0x8002000" | |||
</syntaxhighlight> | |||
* Treiber für den Maple mit Zadig setzen: | |||
:<code>libusbk (v3.0.7.0)</code> | |||
* Firmware flashen: | |||
<syntaxhighlight lang="doscon"> | |||
C:\tmp\Arduino_STM32-master\Arduino_STM32-master\tools\win\dfu-util-0.9-win64>dfu-util --verbose --device 1eaf:0003 --cfg 1 --alt 2 --download MapleCUNx4_W5500_BL.bin | |||
dfu-util 0.9 | |||
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc. | |||
Copyright 2010-2016 Tormod Volden and Stefan Schmidt | |||
This program is Free Software and has ABSOLUTELY NO WARRANTY | |||
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/ | |||
Invalid DFU suffix signature | |||
A valid DFU suffix will be required in a future dfu-util release!!! | |||
Opening DFU capable USB device... | |||
ID 1eaf:0003 | |||
Run-time device DFU version 0110 | |||
Claiming USB DFU Interface... | |||
Setting Alternate Setting #2 ... | |||
Determining device status: state = dfuIDLE, status = 0 | |||
dfuIDLE, continuing | |||
DFU mode device DFU version 0110 | |||
Device returned transfer size 1024 | |||
Copying data from PC to DFU device | |||
Download [=========================] 100% 66288 bytes | |||
Download done. | |||
Sent a total of 66288 bytes | |||
state(8) = dfuMANIFEST-WAIT-RESET, status(0) = No error condition is present | |||
Done! | |||
</syntaxhighlight> | |||
* Tipp: Bei mir funktioniert das flashen nur direkt am PC. Ist ein USB Hub dazwischen erkennt dfu-util den Maple nicht. | |||
== Einrichtung in FHEM (alt) == | == Einrichtung in FHEM (alt) == | ||
Per LAN: | Per USB oder LAN: | ||
define | ## USB | ||
define MAPLECUL1_868 CUL /dev/serial/by-id/usb-STM32_MAPLECUL_USB__6bfbb14f-if0@38400 4444 | |||
## LAN | |||
## define MAPLECUL1_868 CUL IP:Port=2323 FHTIDattr MAPLECUL_USB_868 group Gateways | |||
#define MAPLECUL1_868 CUL 192.168.1.65:2323 1234 | |||
attr MAPLECUL1_868 icon cul_868 | |||
attr MAPLECUL1_868 model CUN | |||
attr MAPLECUL1_868 hmId 308393 | |||
attr MAPLECUL1_868 rfmode HomeMatic | |||
attr MAPLECUL1_868 room TRX | |||
attr MAPLECUL1_868 group Gateways | |||
1234 oder 4444 muss oder besser kann durch eine eigene "FHTID" ersetzt werden. | 1234 oder 4444 muss oder besser kann durch eine eigene "FHTID" ersetzt werden. | ||
Die zusätzlichen Transceiver werden als STACKABLE_CC angelegt. | Die zusätzlichen Transceiver werden als STACKABLE_CC angelegt. | ||
define | |||
define | define MAPLECUL2_433 STACKABLE_CC MAPLECUL1_868 | ||
define | attr MAPLECUL2_433 group Gateways | ||
attr MAPLECUL2_433 icon cul_cul | |||
attr MAPLECUL2_433 model CUN | |||
attr MAPLECUL2_433 room TRX | |||
attr MAPLECUL2_433 rfmode SlowRF | |||
define MAPLECUL3 STACKABLE_CC MAPLECUL2_433 | |||
attr MAPLECUL3 group Gateways | |||
attr MAPLECUL3 icon cul_868 | |||
attr MAPLECUL3 rfmode SlowRF | |||
attr MAPLECUL3 room 8.00_Zentral,TRX | |||
define MAPLECUL4 STACKABLE_CC MAPLECUL3 | |||
attr MAPLECUL4 group Gateways | |||
attr MAPLECUL4 hmId 308393 | |||
attr MAPLECUL4 icon cul_868 | |||
attr MAPLECUL4 rfmode HomeMatic | |||
attr MAPLECUL4 room 8.00_Zentral,TRX | |||
== Einrichtung in FHEM (neu) == | == Einrichtung in FHEM (neu) == | ||
{{Randnotiz|RNTyp=Fehl|RNText=Läuft aktuell nicht stabil. Siehe Forenthema {{Link2Forum|Topic=99751|LinkText=MAPLECUN verabschiedet sich seit einigen Tagen jede Stunde}}.}} | |||
Beispiel: Bis zu 4fach: | |||
define MAPLECUL1_868 CUL /dev/serial/by-id/usb-STM32_MAPLECUL_USB__6bfbb14f-if0@38400 4444 | |||
#define MAPLECUL1_868 CUL 192.168.1.65:2323 1234 | |||
#define MAPLECUL1_868 CUL IP:Port=2323 FHTIDattr MAPLECUL_USB_868 group Gateways | |||
attr MAPLECUL1_868 icon cul_868 | |||
attr MAPLECUL1_868 model CUN | |||
attr MAPLECUL1_868 hmId 308393 | |||
attr MAPLECUL1_868 rfmode HomeMatic | |||
attr MAPLECUL1_868 room TRX | |||
attr MAPLECUL1_868 group Gateways | |||
define MAPLECUL1Stack STACKABLE MAPLECUL1_868 | |||
attr MAPLECUL1Stack room TRX | |||
define MAPLECUL2_433 CUL FHEM:DEVIO:MAPLECUL1Stack:9600 0000 | |||
attr MAPLECUL2_433 group Gateways | |||
attr MAPLECUL2_433 icon cul_cul | |||
attr MAPLECUL2_433 model CUN | |||
attr MAPLECUL2_433 room TRX | |||
attr MAPLECUL2_433 rfmode SlowRF | |||
define MAPLECUL2Stack STACKABLE MAPLECUL2_433 | |||
attr MAPLECUL2Stack room TRX | |||
define MAPLECUL3 CUL FHEM:DEVIO:MAPLECUL2Stack:9600 0000 | |||
attr MAPLECUL3 group Gateways | |||
attr MAPLECUL3 icon cul_868 | |||
attr MAPLECUL3 rfmode SlowRF | |||
attr MAPLECUL3 room 8.00_Zentral,TRX | |||
define MAPLECUL4Stack STACKABLE MAPLECUL3 | |||
attr MAPLECUL4Stack room TRX | |||
define MAPLECUL4 CUL FHEM:DEVIO:MAPLECUL4Stack:9600 0000 | |||
attr MAPLECUL4 group Gateways | |||
attr MAPLECUL4 hmId 308393 | |||
attr MAPLECUL4 icon cul_868 | |||
attr MAPLECUL4 rfmode HomeMatic | |||
attr MAPLECUL4 room 8.00_Zentral,TRX | |||
#nach shutdown restart | |||
set MAPLECUL2_433 freq 433.920 | |||
set MAPLECUL2_433 bWidth 464 | |||
set MAPLECUL2_433 rAmpl 42 | |||
set MAPLECUL2_433 sens 4 | |||
# 115200 Baud für HM-Mod-UART und z.B. CC2530 | |||
set MAPLECUL1_868 raw pb0@115200 | |||
set MAPLECUL1_868 raw pb1@115200 | |||
set MAPLECUL1_868 raw ps | |||
Beispiel 4* ZWAVE Seriell: | Beispiel 4* ZWAVE Seriell: | ||
define mCUL ZWCUL /dev/serial/by-id/usb-STM32_MapleCUL_71a7e023-if00 00000000 01 | define mCUL ZWCUL /dev/serial/by-id/usb-STM32_MapleCUL_71a7e023-if00 00000000 01 | ||
Zeile 165: | Zeile 337: | ||
attr CULMGrau433 rfmode SlowRF | attr CULMGrau433 rfmode SlowRF | ||
== Zusätzliche Serielle Schnittstellen == | |||
Die UARTs werden als "virtuelle" Schnittstellen per USB und LAN bereitgestellt: | |||
* Über USB werden zwei weitere Schnittstellen angelegt (typischerweise neben /dev/ttyACM0 eben /dev/ttyACM1 und /dev/ttyACM2 unter Linux und unter Windows einfach zwei weitere COM Ports). | |||
Beispiel HM-UART an der zweite Seriellen-Schnittstelle auf einer Ranseyer Platine gelötet und local „by-id“ angesprechen: | |||
:<code>define mapleCUL CUL /dev/serial/by-id/usb-STM32_MapleCUL_71a7e023-if00@38400 4444 ### </code> | |||
Der MAPLE-Cul selbst | |||
:<code>define myRemoteHmUART HMUARTLGW /dev/serial/by-id/usb-STM32_MapleCUL_71a7e023-if02 ### </code> | |||
Die zweite Serielle | |||
* Der Netzwerkzugriff erfolgt über die Ports 2324 und 2325. | |||
Zur Einstellung der Baudrate über Netzwerk gibt es folgende Befehle: | |||
* UART0 Baudrate einstellen: pb0@38400 | * UART0 Baudrate einstellen: pb0@38400 | ||
* UART1 Baudrate einstellen: pb1@9600 | * UART1 Baudrate einstellen: pb1@9600 | ||
Zeile 197: | Zeile 355: | ||
* Baudrate anzeigen: pi | * Baudrate anzeigen: pi | ||
Ein am UART0 angeschlossener HM-MOD-UART kann z.B. mit folgender Definition in FHEM eingebunden werden:< | set MapleCUL raw pb0@38400 | ||
set MapleCUL raw pb1@9600 | |||
set MapleCUL raw ps | |||
get MapleCUL raw pi | |||
Ein am UART0 angeschlossener [[HM-MOD-RPI-PCB HomeMatic Funkmodul für Raspberry Pi#Platine 2 -UART-Modul|HM-MOD-UART]] kann z.B. mit folgender Definition in FHEM eingebunden werden: | |||
:<code>define myRemoteHmUART HMUARTLGW uart://192.168.42.23:2324</code> | |||
Weiteres: | Weiteres: | ||
:<code>UART0= 8+9 = PA3+2 </code> | |||
:<code>UART1= 0+1 = PB11+10 </code> | |||
Für die Anbindung des MapleCUL ist die Baudrate egal, da kann man nichts falsch einstellen. Sie wird nicht benötigt, da der MapleCUL nicht über RS232 angebunden ist. Anders verhält es sich mit den beiden zusätzlichen UART0 und UART1 Ports. Dort ist die Baudrate relevant, da die serielle Schnittstelle dort auch physikalisch existiert. | |||
Für die Anbindung des MapleCUL ist die Baudrate egal, da kann man nichts falsch einstellen. Sie wird nicht benötigt, da der MapleCUL nicht über RS232 angebunden ist. | |||
Anders verhält es sich mit den beiden zusätzlichen UART0 und UART1 Ports. Dort ist die Baudrate relevant, da die serielle Schnittstelle dort auch physikalisch existiert. | |||
== Debugging / weiteres == | == Debugging / weiteres == | ||
* Stromverbrauch der Transceiver: Typischerweise 17 mA für RX und 34 mA für TX pro Modul | * Das Gerät startet ständig neu: Netzteil tauschen! | ||
* Ich habe das Netzteil schon getauscht. Nochmals tauschen! Grund: Ein 500mA Netzteil liefert meist 500mA ohne, dass das vorher auf den Datenleitungen ausgehandelt wurde. Kein 2A Netzteil. Diese liefern meist nur 100mA, wenn das Gerät nicht mehr anfordert. 100mA sind nur leider zu wenig, wenn ein CC1101 sendet. Das führt dann dazu, dass die Spannung kurz einbricht und der MapleCUN resetet. Das könnte möglicherweise in Zukunft per Software gefixt werden: https://github.com/heliflieger/a-culfw/pull/25 | |||
* Stromverbrauch der Transceiver: Typischerweise 17 mA für RX und 34 mA für TX pro Modul (bei Inaktivität: 4 Transceiver, LAN-Modul, MAPLE ca 100mA). | |||
* Debug-Port bzw WLAN-Anbindung über den Debug-Port: Der Maple erkennt, ob am USB-Port Kommunikation stattfindet. Konkret: ist ein Rechner am USB Port des Maple angeschlossen, dann funktioniert USB oder LAN Betrieb des MapleCUN. Ist nur ein Steckernetzteil am USB (oder ein Kabel ohne Datenleitungen - wie z.B. von einer Powerbank), dann funktioniert der LAN und WLAN Betrieb. Das liegt daran, dass seit Firmware Version 1.26.02 alle Daten durch die a-culfw auf den Debugport kopiert werden. | |||
* Auf die OUT-Leitung kann bei den meisten FastRF Protokollen verzichtet werden. MAX und HM funktionieren z.B. ohne OUT Leitung | * Auf die OUT-Leitung kann bei den meisten FastRF Protokollen verzichtet werden. MAX und HM funktionieren z.B. ohne OUT Leitung | ||
* Beim ersten Transceiver ist der Status nicht "Initialized": Möglicherweise ist die Verdrahtung fehlerhaft | * Beim ersten Transceiver ist der Status nicht "Initialized": Möglicherweise ist die Verdrahtung fehlerhaft | ||
* Der MAPLE-CUN startet ständig neu (z.B. unter Linux zu sehen bei <code>tail -f /var/log/syslog</code>, hier taucht das selbe USB Gerät ständig neu auf): Eventuell wurde eine veraltete Firmware für das LAN-Modul aufgespielt, aber kein LAN-Modul erkannt | |||
* Der MAPLE-CUN startet ständig neu ( | |||
* Devices auf einem Linux Rechner: | * Devices auf einem Linux Rechner: | ||
pi@raspberrypi:/dev/serial/by-id $ ls -la | pi@raspberrypi:/dev/serial/by-id $ ls -la | ||
Zeile 227: | Zeile 386: | ||
lrwxrwxrwx 1 root root 13 Jul 27 18:52 usb-STM32_MapleCUL_2788282f-if04 -> ../../ttyACM2 | lrwxrwxrwx 1 root root 13 Jul 27 18:52 usb-STM32_MapleCUL_2788282f-if04 -> ../../ttyACM2 | ||
* Wenn gar nicht mehr klar ist wie der MAPLE-CUL eingestellt ist, ggf mal zurücksetzen (statt CUL1 das erste Gerät angeben): | * Wenn gar nicht mehr klar ist, wie der MAPLE-CUL eingestellt ist, ggf mal zurücksetzen (statt CUL1 das erste Gerät angeben): | ||
:<code>set CUL1 raw e </code> | |||
* Wenn keiner der Transceiver erkannt, wird an einem beliebigen Modul von Pin8 rückwärts Kurschlüsse suchen bis Pin1. Also messen zwischen 8+7, 7+6, 6+5,... Anschliessend einen Pin auslassen und noch messen 8+6, 7+5, 6+4, ...) | |||
< | * Debug Port (115.200; Ausgaben nur, wenn USB Kommunikation erfolgt; letzte vorkompilierte Firmware: 1.26.01. Bei neueren Firmwares ist statt Debug die WLAN Anbindung vorgesehen) | ||
Beispiel für Meldungen am Debug-Port mit 4 Transceivern und LAN-Modul: | |||
*Beispiel für Meldungen am Debug-Port mit 4 Transceivern und LAN-Modul: | |||
-I- Getting new Started Project -- | -I- Getting new Started Project -- | ||
Zeile 252: | Zeile 410: | ||
== Links == | == Links == | ||
* {{Link2Forum|Topic=https://forum.fhem.de/index.php/topic,60458.0.html |LinkText=Diskussion im Forum}} | * {{Link2Forum|Topic=https://forum.fhem.de/index.php/topic,60458.0.html |LinkText=Diskussion im Forum}} | ||
* [https://github.com/heliflieger/a-culfw/branches Sourcecode] | * [https://github.com/heliflieger/a-culfw/branches a-culfw Sourcecode] | ||
* [[MapleCUX-Platinen|Fertige Platinen mit Erweiterungen wie mySensors, ESP8266, ...]] | * [[MapleCUX-Platinen|Fertige Platinen mit Erweiterungen wie mySensors, ESP8266, ...]] | ||
* [[MapleCUx und 1-wire|MapleCUx und 1-wire]] | |||
[[Kategorie:Interfaces]] | [[Kategorie:Interfaces]] | ||
[[Kategorie:CUL]] | [[Kategorie:CUL]] | ||
[[Kategorie:433MHz]] |
Aktuelle Version vom 29. Januar 2021, 16:18 Uhr
MapleCUN | |
---|---|
Allgemein | |
Protokoll | diverse |
Typ | Transceiver |
Kategorie | CUL |
Technische Details | |
Kommunikation | Funk 433MHz oder 868MHz |
Kanäle | N/A |
Betriebsspannung | 3,3V nach Spannungsregler |
Leistungsaufnahme | |
Versorgung | USB |
Abmessungen | |
Sonstiges | |
Modulname | CUL |
Hersteller | Eigenbau |
Einleitung
Der MapleCUN ist neuartiges CUN oder CUL Interface zum Selbstbau, entwickelt von Telekatz. Durch den STM32 Mikrocontroller ist die Basis sehr leistungsfähig. Der Controller ist deutlich schneller als ATMega und verfügt über mehr Flash und RAM sowie integriertes USB. Es können 1-4 Transceiver verbaut werden.
Alle 4 Transceiver werden über ein einziges serielles Device (alternativ LAN) angesprochen als "stackable" Modul ...
Der MAPLE-Mini stellt jedoch über zwei UARTs noch zwei Serielle-Interfaces bereit, die anderweitig genutzt werden können.Diese konkrete Nutzung z.B. bei Ranseyers-Platinen oder anderen Umsetzungen hat jedoch keinen Zusammenhang mit dem MAPLE-CUL, wird daher separat beschrieben und sollte bei Fragen auch separat diskutiert werden.
Aufbau
Benötigt werden dazu folgende Teile:
- Maple Mini Board
- CC1101 Funkmodul
- W5100 oder W5500 Ethernet Modul (Optional)
Der Aufbau kann auf Lochraster erfolgen, fertige Platinen (siehe Foto) sparen jedoch Zeit, reduzieren Fehlerquellen und erhöhen die Zuverlässigkeit.
Die Module werden gemäß Schaltplan miteinander verbunden. Da alle Module mit 3,3V laufen, sind keine Bauteile für eine Pegelanpassung notwendig.
Bestückung der Module / Protokolle
Stand 07/2017: Es sind noch nicht alle Protokolle an den zusätzlichen Transceivern verfügbar. Nach einem Reset der Konfiguration ist die Frequenz von CC0 auf 868MHz und CC1 auf 433MHz voreingestellt, lässt sich dann aber auch umkonfigurieren.
Ende Juni 2017 wurde die automatische Erkennung der Module überarbeitet. Jetzt ist es auch möglich, einen Slot unbestückt zu lassen und die nachfolgenden Slots trotzdem verwenden zu können. Wenn alle 4 Slots belegt sind, funktioniert SlowRF an Slot0, Slot1 und Slot2. Ist irgend ein beliebiger Slot unbelegt, funktioniert es an den übrigen 3 Slots. Allerdings funktioniert das Senden von SlowRF nicht am letzten Slot, da dort kein Output Pin angeschlossen ist.
Neben SlowRF nutzt der MapleCUN Intertechno und Somfy 433MHz.
Wegen der fehlenden "Out"-Leitung am vierten Steckplatz kann man dort diese Protokolle aber auch nicht verwenden. Nutzbar am vierten Steckplatz sind HomeMatic, MAX, RWE, LaCrosse und FastRF (alles 868MHz). Durch die Wahl des Protokolls wird die Frequenz automatisch eingestellt und kann auch nicht geändert werden!
Weitere Infos zu SlowRF
Bootloader flashen
Zum Flashen kann entweder von ST der "STM32 Flash Loader Demonstrator" oder das Tool stm32flash benutzt werden. Flashen über den originalen MAPLE Bootloader per USB funktioniert nicht.
Pin Belegung zum Bootloader flashen:
- FTDI-GND an MapleMini-GND
- FTDI-VCC an MapleMini-VCC
- FTDI-TX an MapleMini-rx1
- FTDI-RX an MapleMini-tx1
- MapleMini-boot1 an MapleMini-GND
MapleMini in den Flash-Modus versetzen:
- Taster [But32] und Taster [Reset] drücken
- Taster [Reset] los lassen
- Nach ca. 1 sec. den Taster [But32] los lassen
- Der MapleMini befindet sich jetzt im Flash-Modus und kann über rx1 und tx1 geflasht werden.
Bootloader flashen ohne TTL-Adapter
Der Bootloader kann mittlerweile auch komplett ohne TTL-Adapter über den USB-Port des MapleMini geflasht werden. Grundbedingung dürfte wohl nur sein, dass bereits ein Bootloader geflasht ist (beim Anschließen leuchtet/blinkt die blaue LED). Dazu müssen erst in der Arduino IDE die nötigen Treiber installiert werden. Die Anleitung für die gängigen Betriebssysteme findet sich hier.
Wichtig: Hierbei sollten auch wirklich die Treiber von dort verwendet werden und keine vorher evtl. von anderen Quellen installierten Treiber. Nach der Installation muss die IDE neu gestartet werden. Im Anschluss kann der Sketch von hier installiert werden.
Es kann sein, dass nach der Installation in der Konsole steht, dass der Reset am Board nicht geklappt hat. In dem Fall muss der Maple noch händisch per reset-Button resettet werden. Nachdem das Board wieder erkannt wurde (Port: COMx), muss der Serielle Monitor in der Arduino IDE aufgerufen werden. Dort sollte dann der obere Teil des Screenshots zu sehen sein. Nun muss noch in der Textbox oben "Y" eingeben und das ganze mit Senden freigegeben werden. Wenn das wie auf dem Screenshot gezeigt durchgelaufen ist, kann jetzt direkt a-culfw geflasht werden.
Alternative Bootloader
Alternativ zum V2 bootloader kann auch der MSC Bootloader verwendet werden (anzupassen: der Maple hat die LED an PB1).
Der MSC Bootloader stellt ein USB Laufwerk bereit, auf welches z.B. mit dem Dateimanager einfach die Firmware kopiert wird.
Zweimal innerhalb einer Sekunde "Reset" betätigen startet den Bootloader. Dieser funktioniert aber wegen der unterschiedlichen USB Reset Schaltung auch nicht mit dem Blue Pill (siehe diesen Forentitel).
Firmware / Flashen
Die Sourcen sind auf github zu finden, der Link auf die aktuellen binaries sowie auf die aktuelle Flash-Anleitung findet sich hier (im ersten Post).
Die Firmware ist in der a-culfw enthalten. Für den MapleCUN gibt es jetzt nur noch zwei verschiedene Firmware-Dateien, je nach verwendetem Wizchip:
- MapleCUNx4_W5100.bin
- MapleCUNx4_W5500.bin
In diesen Versionen sind alle Protokolle enthalten. Für einen MapleCUL (also ohne LAN Modul) kann man beide Versionen verwenden.
Falls kein Netzwerkmodul angeschlossen ist, wird dies automatisch erkannt. Auch die Anzahl der Transceivermodule wird automatisch erkannt.
Anmerkungen zur Firmware:
- Die Umschaltung zwischen den RF Protokollen wurde angepasst. Dies funktioniert mit Ausnahme von KOPP_FC mit allen Protokollen.
- Folgende Einschränkungen gibt es für den Betrieb mit mehreren Transceivern:
- SlowRF funktioniert nur an CC0 und CC1.
- MBUS funktioniert an jedem Transceiver, aber insgesamt nicht an mehr als einem Transceiver gleichzeitig.
- KOPP_FC funktioniert nur an CC0.
- Die restlichen Protokolle funktionieren an allen Transceivern und auch mehrfach gleichzeitig.
- LaCrosse geht seit Firmware (a-culfw) 1.26.03. Empfangen funktioniert ohne Zusatzhardware mit einem freien 868Mhz Modul, auf das ein
set raw Nr1
- bzw.
set raw Nr2
- gesetzt wird.
Firmware flashen:
- Zuerst den Bootloader tauschen (einmalig)
- per USB das Firmware Binary flashen
Bitte jeweils die aktuelle README der Firmware beachten.
Probleme beim Flashen:
sudo ./stm32flash -w maple_mini_boot20.bin -v /dev/ttyUSB1 stm32flash 0.5 http://stm32flash.sourceforge.net/ Using Parser : Raw BINARY Interface serial_posix: 57600 8E1 Version : 0x22 Option 1 : 0x00 Option 2 : 0x00 Device ID : 0x0410 (STM32F10xxx Medium-density) - RAM : 20KiB (512b reserved by bootloader) - Flash : 128KiB (size first sector: 4x1024) - Option RAM : 16b - System RAM : 2KiB Write to memory Erasing memory Got NACK from device on command 0x43 Can't initiate chip mass erase! Failed to erase memory
Lösung:
sudo ./stm32flash -k /dev/ttyUSB1 ... Read-UnProtecting flash
Trick zum USB-Flashen (Code Schnipsel für kleines Skript)
#! /bin/sh
while (true); do
sudo dfu-util --verbose --device 1eaf:0003 --cfg 1 --alt 2 --download MapleCUNx4_W5500_BL.bin
#sudo dfu-util --verbose --device 1eaf:0003 --cfg 1 --alt 2 --download MapleCUNx4_W5100_BL.bin
if [ $? -eq 0 ]
then break
fi
sleep 1
done
exit
Firmware flashen unter Windows 7 - 64bit
Folgende Sourcen werden genutzt:
Die einzelnen Schritte:
- Reset des Maple durch drücken des Reset Buttons
- Drücken des "but=32" Buttons direkt nach dem Reset und gedrückt halten
- Der Maple sollte jetzt im 4 Hz Takt blinken und im DFU Modus sein
- "but=32" loslassen
C:\tmp\Arduino_STM32-master\Arduino_STM32-master\tools\win>dfu-util --list
dfu-util - (C) 2007-2008 by OpenMoko Inc.
This program is Free Software and has ABSOLUTELY NO WARRANTY
Found DFU: [0x1eaf:0x0003] devnum=1, cfg=0, intf=0, alt=0, name=""
Found DFU: [0x1eaf:0x0003] devnum=1, cfg=0, intf=0, alt=1, name="STM32duino bootloader v1.0 Upload to Flash 0x8005000"
Found DFU: [0x1eaf:0x0003] devnum=1, cfg=0, intf=0, alt=2, name="STM32duino bootloader v1.0 Upload to Flash 0x8002000"
- Treiber für den Maple mit Zadig setzen:
libusbk (v3.0.7.0)
- Firmware flashen:
C:\tmp\Arduino_STM32-master\Arduino_STM32-master\tools\win\dfu-util-0.9-win64>dfu-util --verbose --device 1eaf:0003 --cfg 1 --alt 2 --download MapleCUNx4_W5500_BL.bin
dfu-util 0.9
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
Invalid DFU suffix signature
A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device...
ID 1eaf:0003
Run-time device DFU version 0110
Claiming USB DFU Interface...
Setting Alternate Setting #2 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 0110
Device returned transfer size 1024
Copying data from PC to DFU device
Download [=========================] 100% 66288 bytes
Download done.
Sent a total of 66288 bytes
state(8) = dfuMANIFEST-WAIT-RESET, status(0) = No error condition is present
Done!
- Tipp: Bei mir funktioniert das flashen nur direkt am PC. Ist ein USB Hub dazwischen erkennt dfu-util den Maple nicht.
Einrichtung in FHEM (alt)
Per USB oder LAN:
## USB define MAPLECUL1_868 CUL /dev/serial/by-id/usb-STM32_MAPLECUL_USB__6bfbb14f-if0@38400 4444 ## LAN ## define MAPLECUL1_868 CUL IP:Port=2323 FHTIDattr MAPLECUL_USB_868 group Gateways #define MAPLECUL1_868 CUL 192.168.1.65:2323 1234 attr MAPLECUL1_868 icon cul_868 attr MAPLECUL1_868 model CUN attr MAPLECUL1_868 hmId 308393 attr MAPLECUL1_868 rfmode HomeMatic attr MAPLECUL1_868 room TRX attr MAPLECUL1_868 group Gateways
1234 oder 4444 muss oder besser kann durch eine eigene "FHTID" ersetzt werden.
Die zusätzlichen Transceiver werden als STACKABLE_CC angelegt.
define MAPLECUL2_433 STACKABLE_CC MAPLECUL1_868 attr MAPLECUL2_433 group Gateways attr MAPLECUL2_433 icon cul_cul attr MAPLECUL2_433 model CUN attr MAPLECUL2_433 room TRX attr MAPLECUL2_433 rfmode SlowRF define MAPLECUL3 STACKABLE_CC MAPLECUL2_433 attr MAPLECUL3 group Gateways attr MAPLECUL3 icon cul_868 attr MAPLECUL3 rfmode SlowRF attr MAPLECUL3 room 8.00_Zentral,TRX define MAPLECUL4 STACKABLE_CC MAPLECUL3 attr MAPLECUL4 group Gateways attr MAPLECUL4 hmId 308393 attr MAPLECUL4 icon cul_868 attr MAPLECUL4 rfmode HomeMatic attr MAPLECUL4 room 8.00_Zentral,TRX
Einrichtung in FHEM (neu)
Beispiel: Bis zu 4fach:
define MAPLECUL1_868 CUL /dev/serial/by-id/usb-STM32_MAPLECUL_USB__6bfbb14f-if0@38400 4444 #define MAPLECUL1_868 CUL 192.168.1.65:2323 1234 #define MAPLECUL1_868 CUL IP:Port=2323 FHTIDattr MAPLECUL_USB_868 group Gateways attr MAPLECUL1_868 icon cul_868 attr MAPLECUL1_868 model CUN attr MAPLECUL1_868 hmId 308393 attr MAPLECUL1_868 rfmode HomeMatic attr MAPLECUL1_868 room TRX attr MAPLECUL1_868 group Gateways define MAPLECUL1Stack STACKABLE MAPLECUL1_868 attr MAPLECUL1Stack room TRX define MAPLECUL2_433 CUL FHEM:DEVIO:MAPLECUL1Stack:9600 0000 attr MAPLECUL2_433 group Gateways attr MAPLECUL2_433 icon cul_cul attr MAPLECUL2_433 model CUN attr MAPLECUL2_433 room TRX attr MAPLECUL2_433 rfmode SlowRF define MAPLECUL2Stack STACKABLE MAPLECUL2_433 attr MAPLECUL2Stack room TRX define MAPLECUL3 CUL FHEM:DEVIO:MAPLECUL2Stack:9600 0000 attr MAPLECUL3 group Gateways attr MAPLECUL3 icon cul_868 attr MAPLECUL3 rfmode SlowRF attr MAPLECUL3 room 8.00_Zentral,TRX define MAPLECUL4Stack STACKABLE MAPLECUL3 attr MAPLECUL4Stack room TRX define MAPLECUL4 CUL FHEM:DEVIO:MAPLECUL4Stack:9600 0000 attr MAPLECUL4 group Gateways attr MAPLECUL4 hmId 308393 attr MAPLECUL4 icon cul_868 attr MAPLECUL4 rfmode HomeMatic attr MAPLECUL4 room 8.00_Zentral,TRX
#nach shutdown restart set MAPLECUL2_433 freq 433.920 set MAPLECUL2_433 bWidth 464 set MAPLECUL2_433 rAmpl 42 set MAPLECUL2_433 sens 4 # 115200 Baud für HM-Mod-UART und z.B. CC2530 set MAPLECUL1_868 raw pb0@115200 set MAPLECUL1_868 raw pb1@115200 set MAPLECUL1_868 raw ps
Beispiel 4* ZWAVE Seriell:
define mCUL ZWCUL /dev/serial/by-id/usb-STM32_MapleCUL_71a7e023-if00 00000000 01 attr mCUL dataRate 100k define SCC1 STACKABLE mCUL define z100k ZWCUL FHEM:DEVIO:SCC1:9600 00000000 01 attr z100k dataRate 100k define SCC2 STACKABLE z100k define z40k ZWCUL FHEM:DEVIO:SCC2:9600 00000000 01 attr z40k dataRate 40k define SCC3 STACKABLE z40k define z9k6 ZWCUL FHEM:DEVIO:SCC3:9600 00000000 01 attr z9k6 dataRate 9600
Beispiel 2 fach:
define CULMGrau868 CUL /dev/serial/by-id/usb-STM32_MapleCUL_6bfbb14f-if00@38400 1432 attr CULMGrau868 group Gateways attr CULMGrau868 icon cul_868 attr CULMGrau868 model CUN attr CULMGrau868 rfmode SlowRF define CULMGrau868Stack STACKABLE CULMGrau868 define CULMGrau433 CUL FHEM:DEVIO:CULMGrau868Stack:9600 0000 attr CULMGrau433 group Gateways attr CULMGrau433 icon cul_cul attr CULMGrau433 model CUN attr CULMGrau433 rfmode SlowRF
Zusätzliche Serielle Schnittstellen
Die UARTs werden als "virtuelle" Schnittstellen per USB und LAN bereitgestellt:
- Über USB werden zwei weitere Schnittstellen angelegt (typischerweise neben /dev/ttyACM0 eben /dev/ttyACM1 und /dev/ttyACM2 unter Linux und unter Windows einfach zwei weitere COM Ports).
Beispiel HM-UART an der zweite Seriellen-Schnittstelle auf einer Ranseyer Platine gelötet und local „by-id“ angesprechen:
define mapleCUL CUL /dev/serial/by-id/usb-STM32_MapleCUL_71a7e023-if00@38400 4444 ###
Der MAPLE-Cul selbst
define myRemoteHmUART HMUARTLGW /dev/serial/by-id/usb-STM32_MapleCUL_71a7e023-if02 ###
Die zweite Serielle
- Der Netzwerkzugriff erfolgt über die Ports 2324 und 2325.
Zur Einstellung der Baudrate über Netzwerk gibt es folgende Befehle:
- UART0 Baudrate einstellen: pb0@38400
- UART1 Baudrate einstellen: pb1@9600
- Baudrate im EEPROM speichern: ps
- Baudrate anzeigen: pi
set MapleCUL raw pb0@38400 set MapleCUL raw pb1@9600 set MapleCUL raw ps get MapleCUL raw pi
Ein am UART0 angeschlossener HM-MOD-UART kann z.B. mit folgender Definition in FHEM eingebunden werden:
define myRemoteHmUART HMUARTLGW uart://192.168.42.23:2324
Weiteres:
UART0= 8+9 = PA3+2
UART1= 0+1 = PB11+10
Für die Anbindung des MapleCUL ist die Baudrate egal, da kann man nichts falsch einstellen. Sie wird nicht benötigt, da der MapleCUL nicht über RS232 angebunden ist. Anders verhält es sich mit den beiden zusätzlichen UART0 und UART1 Ports. Dort ist die Baudrate relevant, da die serielle Schnittstelle dort auch physikalisch existiert.
Debugging / weiteres
- Das Gerät startet ständig neu: Netzteil tauschen!
- Ich habe das Netzteil schon getauscht. Nochmals tauschen! Grund: Ein 500mA Netzteil liefert meist 500mA ohne, dass das vorher auf den Datenleitungen ausgehandelt wurde. Kein 2A Netzteil. Diese liefern meist nur 100mA, wenn das Gerät nicht mehr anfordert. 100mA sind nur leider zu wenig, wenn ein CC1101 sendet. Das führt dann dazu, dass die Spannung kurz einbricht und der MapleCUN resetet. Das könnte möglicherweise in Zukunft per Software gefixt werden: https://github.com/heliflieger/a-culfw/pull/25
- Stromverbrauch der Transceiver: Typischerweise 17 mA für RX und 34 mA für TX pro Modul (bei Inaktivität: 4 Transceiver, LAN-Modul, MAPLE ca 100mA).
- Debug-Port bzw WLAN-Anbindung über den Debug-Port: Der Maple erkennt, ob am USB-Port Kommunikation stattfindet. Konkret: ist ein Rechner am USB Port des Maple angeschlossen, dann funktioniert USB oder LAN Betrieb des MapleCUN. Ist nur ein Steckernetzteil am USB (oder ein Kabel ohne Datenleitungen - wie z.B. von einer Powerbank), dann funktioniert der LAN und WLAN Betrieb. Das liegt daran, dass seit Firmware Version 1.26.02 alle Daten durch die a-culfw auf den Debugport kopiert werden.
- Auf die OUT-Leitung kann bei den meisten FastRF Protokollen verzichtet werden. MAX und HM funktionieren z.B. ohne OUT Leitung
- Beim ersten Transceiver ist der Status nicht "Initialized": Möglicherweise ist die Verdrahtung fehlerhaft
- Der MAPLE-CUN startet ständig neu (z.B. unter Linux zu sehen bei
tail -f /var/log/syslog
, hier taucht das selbe USB Gerät ständig neu auf): Eventuell wurde eine veraltete Firmware für das LAN-Modul aufgespielt, aber kein LAN-Modul erkannt - Devices auf einem Linux Rechner:
pi@raspberrypi:/dev/serial/by-id $ ls -la total 0 drwxr-xr-x 2 root root 100 Jul 27 18:52 . drwxr-xr-x 4 root root 80 Jul 27 18:52 .. lrwxrwxrwx 1 root root 13 Jul 27 18:52 usb-STM32_MapleCUL_2788282f-if00 -> ../../ttyACM0 lrwxrwxrwx 1 root root 13 Jul 27 18:52 usb-STM32_MapleCUL_2788282f-if02 -> ../../ttyACM1 lrwxrwxrwx 1 root root 13 Jul 27 18:52 usb-STM32_MapleCUL_2788282f-if04 -> ../../ttyACM2
- Wenn gar nicht mehr klar ist, wie der MAPLE-CUL eingestellt ist, ggf mal zurücksetzen (statt CUL1 das erste Gerät angeben):
set CUL1 raw e
- Wenn keiner der Transceiver erkannt, wird an einem beliebigen Modul von Pin8 rückwärts Kurschlüsse suchen bis Pin1. Also messen zwischen 8+7, 7+6, 6+5,... Anschliessend einen Pin auslassen und noch messen 8+6, 7+5, 6+4, ...)
- Debug Port (115.200; Ausgaben nur, wenn USB Kommunikation erfolgt; letzte vorkompilierte Firmware: 1.26.01. Bei neueren Firmwares ist statt Debug die WLAN Anbindung vorgesehen)
Beispiel für Meldungen am Debug-Port mit 4 Transceivern und LAN-Modul:
-I- Getting new Started Project -- -I- MapleCUNx4 -I- Compiled: Mar 18 2017 15:46:32 -- -I- init Flash -I- init Timer -I- init EEprom -I- init Ethernet WIZCHIP Initialized success. -I- Detected CC0: PN 0x00 VER 0x14 -I- Detected CC1: PN 0x00 VER 0x18 -I- Detected CC2: PN 0x00 VER 0x14 -I- Detected CC3: PN 0x00 VER 0x14 -I- Detected ethernet -I- init USB -I- init Complete