Entwicklung SIGNALDuino Empfänger Firm- und Hardware V4 für Maple Mini und ESP32

Begonnen von Ralf9, 13 Dezember 2019, 12:48:26

Vorheriges Thema - Nächstes Thema

Chatty

In VSCode SIGNALDuino ausgecheckt, env:ESP32_sduino_devkitV1 ausgewählt, PulseMin auf 30 gesetzt, Upload gedrückt, SIGNALduino-Modul aktualisiert & neugestartet, so dass ich jetzt Folgendes sehe:

version 4.2.1-dev210711 SIGNALduinoAdv ESP32 cc1101 (R: B0*) - compiled at Mar 12 2022 13:43:41
versionmodul v3.4.10-dev_ralf_12.02.
versionprotoL v3.4.10-dev_ralf_16.02.


Und meine bereits am ESP-12F laufende AC-114 und in FHEM eingerichtete Fernebdienung wird sauber dekodiert.

Setze ich, wie von Ralf9 empfohlen, set sduino cc1101_dataRate 10000 wird meine Klingel auch gehört.

Vielen Dank @Ralf9 für die Hilfe!

Ralf9

Bei dem was Du vorhast (sehr kleine PulseMin Werte) hast Du wahrscheinlich mit dem MapleMini die größten Changen es hinzubekommen.
Beim ASK/OOK löst jede Signalflanke einen Interrupt aus. Der ESP muß sich aber noch um andere Dinge kümmern, wie z.B. das WLAN.
Da die Pulse Deiner Klingel sehr viel kürzer als normal sind, werden viel mehr Interrupts ausgelöst, dadurch hat der ESP evtl zu wenig Zeit für die anderen Dinge.

Wenn Du die PulseMin ca halbierst, dann muß Du auch die Datarate vom cc1101 auf ca 10000 erhöhen.

Gruß Ralf 
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

hajo23

Hallo zusammen,
ich könnte etwas Orientierungshilfe gebrauchen.

Ich bin dabei, einen Maplemini "mit mehreren cc1101 Modulen und FSK" zu bauen. Später soll noch ein W5500 drauf. Ich habe den Maple (ohne cc1101) mit den Bootloader (updater_stm32f1.bin) geflasht. Damit funktioniert nun das Flashen der FW wie erwartet.

Nun die Fragen:
Muss ich den Maple vor dem Flashen der Firmware mit einem oder beiden cc1101 verbinden, oder kann ich ihn auch ohne testen?
Es gibt V3.3.4-dev211207, die ich schon auf einem Signalduino nano verwende. Läuft die auch auf dem Maple-Signalduino, bzw. mit mehreren cc1101,
oder ist Maple_sduino_USB_421dev210711 bzw. später Maple_sduino_LAN_421dev210711 die richtige Firmware?

Eine Terminalverbindung hatte ich bisher nur über die IDE mit "Generic STM32F103C", während ich den Bootloader hochgeladen habe. Vorhergehende Versuche mit Putty/Minicom (9600 8N1) /dev/maple zu öffnen sind gescheitert. Was macht die IDE anders?

Mit der V3.3.4-dev211207 auf dem Maple erhalte ich folgendes Bild:


#Der Maple wird beim Einstecken erkannt.
May 28 12:17:01 buster-pi kernel: [73467.407815] usb 1-1.4.2: new full-speed USB device number 23 using dwc_otg
May 28 12:17:01 buster-pi kernel: [73467.640518] usb 1-1.4.2: New USB device found, idVendor=1eaf, idProduct=0003, bcdDevice= 2.01
May 28 12:17:01 buster-pi kernel: [73467.640533] usb 1-1.4.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
May 28 12:17:01 buster-pi kernel: [73467.640541] usb 1-1.4.2: Product: Maple 003
May 28 12:17:01 buster-pi kernel: [73467.640549] usb 1-1.4.2: Manufacturer: LeafLabs
May 28 12:17:01 buster-pi kernel: [73467.640556] usb 1-1.4.2: SerialNumber: LLM 003

#über die Rules wird ein SymLink /dev/maple erzeugt.

pi@buster-pi:~ $ sudo udevadm info --query=property --name=/dev/maple
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/1-1.4.2
DEVNAME=/dev/bus/usb/001/023
DEVTYPE=usb_device
DRIVER=usb
PRODUCT=1eaf/3/201
TYPE=0/0/0
BUSNUM=001
DEVNUM=023
MAJOR=189
MINOR=22
SUBSYSTEM=usb
USEC_INITIALIZED=73467327249
ID_MM_DEVICE_IGNORE=1
ID_VENDOR=LeafLabs
ID_VENDOR_ENC=LeafLabs
ID_VENDOR_ID=1eaf
ID_MODEL=Maple_003
ID_MODEL_ENC=Maple\x20003
ID_MODEL_ID=0003
ID_REVISION=0201
ID_SERIAL=LeafLabs_Maple_003_LLM_003
ID_SERIAL_SHORT=LLM_003
ID_BUS=usb
ID_USB_INTERFACES=:fe0102:
DEVLINKS=/dev/maple

#Nach dem Flashen blinkt die LED. Öffnen von /dev/maple aber nicht möglich.

Found DFU: [1eaf:0003] ver=0201, devnum=22, cfg=1, intf=0, path="1-1.4.2", alt=2, name="STM32duino bootloader v1.0  Upload to Flash 0x8002000", serial="LLM 003"
Found DFU: [1eaf:0003] ver=0201, devnum=22, cfg=1, intf=0, path="1-1.4.2", alt=1, name="STM32duino bootloader v1.0  Upload to Flash 0x8005000", serial="LLM 003"
Found DFU: [1eaf:0003] ver=0201, devnum=22, cfg=1, intf=0, path="1-1.4.2", alt=0, name="STM32duino bootloader v1.0  ERROR. Upload to RAM not supported.", serial="LLM 003"


Wenn ich die "Maple_..." Firmware flashe, wird der Maple nach reset nicht mehr erkannt.

Ich hoffe, ihr könnt mich auf den Weg bringen.
VG Hajo

Ralf9

Nein die V3.3.x ist nicht für den Maple, die ist nur für den Arduino.
Die Maple_sduino_USB_421dev210711 ist momentan noch die aktuelle Firmware, es kommt demnächst die V4.2.2.
Ja, die V4.2.x firmware kannst Du auch ohne die cc1101 Module testen.

Bei der Terminalverbindung mit der firmware ist die Baudrate 115200

Du kannst auch mal testweise mit der IDE das Blinkbeispiel hochladen (IDE Boardkonfig siehe Anlage)

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

hajo23


hajo23

Hallo Ralf, ich habe nun meinen Maplemini auf die Platine von Martin gesockelt und einen 868er Stamp aufgelötet.
Der Maple erkennt das Modul als "A". Ich hatte vermutet, dass es "B" (weil CC2?) werden müsste. Die Bank 0 ist aber offenbar für "B" reserviert. Ich habe also Bank 1 zugewiesen. Sieht so m.E. ok aus.
V 4.2.1-dev210711 SIGNALduinoAdv cc1101 (R: A1* B- C-) irx0
Als nächsten Schritt möchte ich noch einen 433er und einen weiteren 868er anschließen. Die beiden 868er sollen auf slowRF bzw. FSK konfiguriert werden.
Was passiert mit der Zuordnung (A,B,C, Bank 0...), wenn die anderen Module angeschlossen sind?
Das nun angeschlossene Modul ist ein CC101L. Sind dazu schon konkrete Einschränkungen bekannt?
Gibt es bezüglich A-C Einschränkungen (RFmode/Frequenz?)


Ralf9

Hallo Hajo,

das passt so, normalerweise ist das 868er Modul auf A und das 433er auf B.
Das Default Slowrf (ASK/OOK) ist Modul B und normalerweise auf Bank 0, das zweite slowrf ist Modul A
Slowrf (ASK/OOK) geht nur auf Modul A und B

ZitatWas passiert mit der Zuordnung (A,B,C, Bank 0...), wenn die anderen Module angeschlossen sind?
Dann kann es z.B. so aussehen (R: A1* B0 C2)
Zitat
Das nun angeschlossene Modul ist ein CC101L. Sind dazu schon konkrete Einschränkungen bekannt?
Welche Version wird angezeigt? Du kannst die cc1101 Version auch mit dem Register 31 abfragen.
Von der Bezeichnung her, kann man nur erkennen ob das Modul einschränkungen haben könnte.
Ich hab z.B. ein cc113L und mir sind keine einschränkungen aufgefallen.

Gibt es bezüglich A-C Einschränkungen (RFmode/Frequenz?)
Du kannst alle Module für FSK verwenden und bei jedem Modul geht 433 oder 868

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

hajo23

Zitat von: Ralf9 am 02 Juni 2022, 23:39:08
... Welche Version wird angezeigt? Du kannst die cc1101 Version auch mit dem Register 31 abfragen.
Die Version 17 wird ausgegeben.

Gruß
Hajo

Ralf9

17 ist der CC110L

Ich hab dazu folgendes gefunden:
ZitatThe CC1101 and the CC110L are compatible. Actually the CC110L is based on the CC1101, but with some functionality removed in order to make it at a lower cost.

https://blog.katastros.com/a?ID=00250-58db5e76-f1e9-4ea8-a463-a42f2fe9c5ec

Es fehlen z.B.
- Forward error correction (FEC) and interleaving error correction
- Data Whitening
- Preamble quality threshold (PQT) indication (used to gate sync word detection)
- Link quality (LQI) indication

Es kann sein, daß dies beim Empfang von einigen Sensoren oder Fernbedienungen Nachteile hat. Bei normalen Temperatursendern wie z.B. Lacrosse dürfte dies keine Rolle spielen
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

Ralf9

Im github gibts jetzt die Firmware  V 4.2.2-dev220604
https://github.com/Ralf9/SIGNALDuino/tree/dev-r422_cc1101

Zitat von: Ralf9 am 18 Februar 2022, 00:08:44
Es kann damit WMBus S, T und C empfangen und  WMBus S und T gesendet werden. Es funktioniert nicht am vierten cc1101 Modul D und nicht mehr als ein cc1101 Modul gleichzeitig

- Es gibt für die Firmware V3.3.5 und die V4.2.2 optimierte cc1101 Registerkonfigurationen rfmodeTesting,
Bei dem 00_SIGNALDuino Modul ab v3.4.13-dev_ralf_29.05. gibts ein neues Attribut "rfmode_testing", damit wird bei set ein neuer Eintrag "rfmodeTesting" aktiviert

- Bei cmd_bank kann nun auch mit "-" hinter der Banknr die Bank deaktiviert (ungültig) gemacht werden

- Bei send_ccFIFO wird nun nach dem Senden nicht mehr der ReceiveMode aktiviert, wenn der cc1101 bereits im Rx Mode ist (ccReg 0x17 - TXOFF_MODE[1:0] = Rx)

- es gibt nun auch die Möglichkeit die Werte der cc1101 Register TEST2 - TEST0 ins EEPROM zu speichern.

Für den ESP32 gits noch keine fertige Firmware, wer es mit der Arduino IDE selbst kompilieren will, der benötigt noch die Bibliothek WiFiManager von tzapu

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

hajo23

Ich habe die neue Version mal geflasht. Nachdem ich mich dann beim Update von 00_SIGNALduino erst ein bisschen selbst ausgetrickst habe, läuft es aber.  :)

Gruß
Hajo

hajo23

Ich habe da doch noch ein Problem.

Auf dem Nano wird die Bresser Wetterstation offenbar nicht mehr verarbeitet:

2022.06.07 11:34:41 4: Signalduino868usb Parse_MN: Found 2-FSK Protocol id 207 length 56 -> Bresser Profi 7in1
2022.06.07 11:34:41 5: Signalduino868usb Bresser_7in1: dmsg=B7DFD34B2100B2000000000005081690690041840000000000 crc16 ok
2022.06.07 11:34:41 4: Signalduino868usb ParseMN: ID=207 dmsg=W207#D34B2100B2000000000005081690690041840000000000
2022.06.07 11:34:41 5: Signalduino868usb Dispatch: W207#D34B2100B2000000000005081690690041840000000000, test ungleich: disabled
2022.06.07 11:34:41 4: Signalduino868usb Dispatch: W207#D34B2100B2000000000005081690690041840000000000, -82 dB, dispatch
2022.06.07 11:34:41 5: Signalduino868usb: dispatch W207#D34B2100B2000000000005081690690041840000000000
2022.06.07 11:34:41 4: Signalduino868usb: SD_WS_Parse protocol 207, rawData D34B2100B2000000000005081690690041840000000000
2022.06.07 11:34:41 2: Signalduino868usb: SD_WS_Parse unknown message, please report. converted to bits: 1101001101001011001000010000000010110010000000000000000000000000000000000000000000000101000010000001011010010000011010010000000001000001100001000000000000000000000000000000000000000000
2022.06.07 11:34:41 3: Signalduino868usb: Unknown code W207#D34B2100B2000000000005081690690041840000000000, help me!


Auf dem Nano ist

V 3.3.5-dev210522 SIGNALduino cc1101
versionmodul v3.4.13-dev_ralf_29.05.
versionprotoL v3.4.13-dev_ralf_29.05.
rfmode Bresser_5in1_u_7in1__B28_N7_8220 => ok,N=7,ccmode=4


Gruß
Hajo

Ralf9

Hast Du auch das 14_SD_WS Modul von mir installiert?

"Version 14_SD_WS.pm" ergibt:
14_SD_WS.pm 21666 2022-05-01 20:00:00Z Ralf9

https://github.com/Ralf9/14_SD_WS/blob/main/FHEM/14_SD_WS.pm
update all https://raw.githubusercontent.com/Ralf9/14_SD_WS/main/controls_ralf9_sd_ws.txt
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

hajo23

Zitat von: Ralf9 am 07 Juni 2022, 16:38:00
Hast Du auch das 14_SD_WS Modul von mir installiert?

Ich dachte mir schon, dass ich beim Update doch noch etwas vergessen habe. Das war es.


Vielen Dank
Hajo

hajo23

Hallo,

Ist der "5V" Pin an der EXT-Buchse für die Spannungsversorgung gedacht? Ich möchte gern eine zusätzliche Buchse für die Versorgung einbauen. Gibt es da eine Schutzdiode auf dem Maple?


VG Hajo