Ardunio Nano CC1101 reagiert nicht auf Befehle

Begonnen von Nid01, 28 Mai 2023, 01:28:11

Vorheriges Thema - Nächstes Thema

Nid01

Hallo,

ich habe einen Arduino Nano der älteren Sorte über VS Code mit der SIGNALDuino-Firmware-Variante nano_bootl_old_CC1101 geflashed und dem Plan https://wiki.fhem.de/w/images/3/3f/Selbstbau_cul_Schaltplan_1.png nach verkabelt. Da ich keine 470 Ohm Widerstände habe, habe ich testweise auf 220+220 in Reihe und 220+330 in Reihe an den entsprechenden Stellen zurückgegriffen.
FHEM nutze ich in einem Docker-Container auf Ubuntu 22.04 und entsprechend den Nano im Container eingebunden.
In FHEM habe ich den Signalduino definiert, die Verbindung zum Gerät wird hergestellt und erkannt, dass ein CC1101 dranhängt.
Ich kann aber nicht meine beiden Rollos steuern, was mit meinem parallel laufenden ESP32 nur mit einem 433MHz Sender funktioniert. Von dem möchte ich aber weg, da der spätestens alle paar Tage einen Reset braucht, damit der Signalduino in FHEM wieder eine Verbindung hergestellt bekommt.

Signalduino habe ich schon auf verbose 5 gestellt, sodass ich hier schon mal die Informationen dazu habe, wenn der Nano angeschlossen wurde und ich versuche ein Rollo schließen:
2023.05.28 01:12:49.917 3: Opening NanoCC1101 device /dev/ttyUSB0
2023.05.28 01:12:49.918 3: Setting NanoCC1101 serial parameters to 57600,8,N,1
2023.05.28 01:12:49.919 1: NanoCC1101: DoInit, /dev/ttyUSB0@57600
2023.05.28 01:12:49.920 3: NanoCC1101 device opened
2023.05.28 01:12:51.421 3: NanoCC1101: SimpleWrite_XQ, disable receiver (XQ)
2023.05.28 01:12:51.421 5: NanoCC1101: SimpleWrite, XQ
2023.05.28 01:12:51.920 3: NanoCC1101: StartInit, get version, retry = 0
2023.05.28 01:12:51.920 5: NanoCC1101: SimpleWrite, V
2023.05.28 01:12:51.938 4: NanoCC1101: Read, msg: V 3.5.1+20230125 SIGNALduino cc1101 (chip CC1101) - compiled at May 28 2023 01:10:59
2023.05.28 01:12:51.938 5: NanoCC1101: Parse, noMsg: V 3.5.1+20230125 SIGNALduino cc1101 (chip CC1101) - compiled at May 28 2023 01:10:59
2023.05.28 01:12:51.938 5: NanoCC1101: Read, msg: regexp=V\s.*SIGNAL(?:duino|ESP|STM).*(?:\s\d\d:\d\d:\d\d) cmd=version msg=V 3.5.1+20230125 SIGNALduino cc1101 (chip CC1101) - compiled at May 28 2023 01:10:59
2023.05.28 01:12:51.938 5: NanoCC1101: CheckVersionResp, called with V 3.5.1+20230125 SIGNALduino cc1101 (chip CC1101) - compiled at May 28 2023 01:10:59
2023.05.28 01:12:51.938 2: NanoCC1101: CheckVersionResp, initialized 3.5.5+20230516
2023.05.28 01:12:51.938 5: NanoCC1101: SimpleWrite, XE
2023.05.28 01:12:51.948 3: NanoCC1101: CheckVersionResp, enable receiver (XE)
2023.05.28 01:12:51.948 5: NanoCC1101: CheckVersionResp, cc1101 available
2023.05.28 01:12:51.949 5: NanoCC1101: Get_delayed, ccconf delayed
2023.05.28 01:12:51.949 5: NanoCC1101: Get_delayed, ccpatable delayed
2023.05.28 01:12:52.700 5: NanoCC1101: Get_delayed, ccconf executed
2023.05.28 01:12:52.700 5: NanoCC1101: Get_Command ccconf executed
2023.05.28 01:12:52.700 5: NanoCC1101: AddSendQueue, NanoCC1101: C0DnF (1)
2023.05.28 01:12:52.700 5: NanoCC1101: Get_delayed, ccpatable delayed
2023.05.28 01:12:52.700 4: NanoCC1101: HandleWriteQueue, called
2023.05.28 01:12:52.701 4: NanoCC1101: SendFromQueue, called
2023.05.28 01:12:52.701 5: NanoCC1101: SimpleWrite, C0DnF
2023.05.28 01:12:53.012 4: NanoCC1101: HandleWriteQueue, called
2023.05.28 01:12:53.012 4: NanoCC1101: HandleWriteQueue, nothing to send, stopping timer
2023.05.28 01:12:53.451 5: NanoCC1101: Get_delayed, ccpatable delayed
2023.05.28 01:12:54.202 5: NanoCC1101: Get_delayed, ccpatable delayed
2023.05.28 01:12:54.953 5: NanoCC1101: Get_delayed, ccpatable delayed
2023.05.28 01:12:55.705 5: NanoCC1101: Get_delayed, ccpatable delayed
2023.05.28 01:12:56.456 5: NanoCC1101: Get_delayed, ccpatable delayed
2023.05.28 01:12:57.207 5: NanoCC1101: Get_delayed, ccpatable delayed
2023.05.28 01:12:57.958 5: NanoCC1101: Get_delayed, ccpatable delayed
2023.05.28 01:12:58.709 5: NanoCC1101: Get_delayed, ccpatable delayed
2023.05.28 01:12:59.459 5: NanoCC1101: Get_delayed, ccpatable delayed
2023.05.28 01:13:00.210 5: NanoCC1101: Get_delayed, ccpatable delayed
2023.05.28 01:13:00.962 5: NanoCC1101: Get_delayed, ccpatable delayed
2023.05.28 01:13:01.713 5: NanoCC1101: Get_delayed, ccpatable delayed
2023.05.28 01:13:02.464 5: NanoCC1101: Get_delayed, ccpatable delayed
2023.05.28 01:13:03.215 5: NanoCC1101: Get_delayed, ccpatable executed
2023.05.28 01:13:03.216 5: NanoCC1101: Get_Command ccpatable executed
2023.05.28 01:13:03.216 5: NanoCC1101: AddSendQueue, NanoCC1101: C3E (1)
2023.05.28 01:13:03.216 4: NanoCC1101: HandleWriteQueue, called
2023.05.28 01:13:03.217 4: NanoCC1101: SendFromQueue, called
2023.05.28 01:13:03.217 5: NanoCC1101: SimpleWrite, C3E
2023.05.28 01:13:03.527 4: NanoCC1101: HandleWriteQueue, called
2023.05.28 01:13:03.528 4: NanoCC1101: HandleWriteQueue, nothing to send, stopping timer
2023.05.28 01:13:17.280 5: NanoCC1101: Get_delayed, ping executed
2023.05.28 01:13:17.280 5: NanoCC1101: Get_Command ping executed
2023.05.28 01:13:17.280 5: NanoCC1101: AddSendQueue, NanoCC1101: P (1)
2023.05.28 01:13:17.280 4: NanoCC1101: HandleWriteQueue, called
2023.05.28 01:13:17.280 4: NanoCC1101: SendFromQueue, called
2023.05.28 01:13:17.280 5: NanoCC1101: SimpleWrite, P
2023.05.28 01:13:17.591 4: NanoCC1101: HandleWriteQueue, called
2023.05.28 01:13:17.591 4: NanoCC1101: HandleWriteQueue, nothing to send, stopping timer
2023.05.28 01:13:51.953 4: NanoCC1101: KeepAlive, ok, retry = 0
2023.05.28 01:14:13.082 3: Dooya_set: handled command on --> move :on:  newState :200:
2023.05.28 01:14:13.082 4: Dooya set SignalRepeats: 10 for NanoCC1101
2023.05.28 01:14:13.082 4: Dooya set channel: 9 (1001) for NanoCC1101
2023.05.28 01:14:13.082 4: Dooya set value = Dooya_0000111111110110001101010000_9 on
2023.05.28 01:14:13.082 4: Dooya_sendCommand: Dooya_0000111111110110001101010000_9 -> message :P16#0000111111110110001101010000100100110011#R10:
2023.05.28 01:14:13.082 5: NanoCC1101: Write, sending via Set sendMsg P16#0000111111110110001101010000100100110011#R10
2023.05.28 01:14:13.082 5: NanoCC1101: Set_sendMsg, msg=P16#0000111111110110001101010000100100110011#R10
2023.05.28 01:14:13.082 5: NanoCC1101: Set_sendMsg, Preparing rawsend command for protocol=16, repeats=10, clock=280 bits=0000111111110110001101010000100100110011
2023.05.28 01:14:13.083 5: NanoCC1101: AddSendQueue, NanoCC1101: SR;R=10;P0=4760;P1=-1400;P2=560;P3=-280;P4=280;P5=-840;D=0145454545232323232323232345232345454523234523452345454545234545234545232345452323; (1)
2023.05.28 01:14:13.083 4: NanoCC1101: Set_sendMsg, sending : SR;R=10;P0=4760;P1=-1400;P2=560;P3=-280;P4=280;P5=-840;D=0145454545232323232323232345232345454523234523452345454545234545234545232345452323;
2023.05.28 01:14:13.083 4: NanoCC1101: HandleWriteQueue, called
2023.05.28 01:14:13.083 4: NanoCC1101: SendFromQueue, called
2023.05.28 01:14:13.083 5: NanoCC1101: SimpleWrite, SR;R=10;P0=4760;P1=-1400;P2=560;P3=-280;P4=280;P5=-840;D=0145454545232323232323232345232345454523234523452345454545234545234545232345452323;
2023.05.28 01:14:13.093 4: NanoCC1101: SendFromQueue, msg=SR;R=10;P0=4760;P1=-1400;P2=560;P3=-280;P4=280;P5=-840;D=0145454545232323232323232345232345454523234523452345454545234545234545232345452323;

Die verkabelte LED leuchtet nur bis FHEM die Verbindung zum Nano hergestellt hat und danach nicht mehr, davon ausgehend, dass diese auch blinken sollte, wenn Signale empfangen oder gesendet werden.

Wo könnte die Ursache meines Problems liegen?
Bei Bedarf kann ich auch die Debug-Variante der Firmware flashen, wenn damit die Ursache leichter gefunden werden kann.

Was muss ich tun, um herauszufinden, ob die Verkabelung und das "De-CC1101 Wireless RF-Module" von Neuftech in Ordnung sind?
Hat jemand passenden Code für VS Code mit Platformio oder für Arduino IDE parat?

elektron-bbs

Da der CC1101 erkannt wird, funktioniert schon mal der SPI-Bus.
Empfängt der SIGNALduino überhaupt irgend etwas?
Wenn nicht, können eigentlich nur noch die RX/TX-Anschlüsse (GDO0/GDO2) vertauscht oder gar falsch angeschlossen sein.
Intel(R) Atom(TM) CPU N270 mit 2 SIGNALduino nanoCC1101 + ESPEasy 2x serial server SIGNALduino nanoCC1101, Raspberry Pi 2 mit 2 CUL Stackable CC1101, Raspberry Pi 3 mit SIGNALduino radino + nano328 + 2 x SIGNAL-ESP CC1101 + LaCrosseGateway

Nid01

Den SIGNALduino NanoCC1101 per Ping zur erreichen gibt mir keine OK-Meldung zurück. Der parallel laufende ESP gibt mir entsprechend schon eine Meldung zurück.

Ich habe zwischenzeitlich schon mein Glück mit https://github.com/LSatan/SmartRC-CC1101-Driver-Lib am PC versucht, aber da bekomme ich nur die Meldung, dass die Verbindung in Ordnung ist und der in den Empfänger-Modus geschalten wurde. Wenn ich den Taster meines Rollos oder ne andere 433 MHz Fernbedienung betätige, bemerkt der CC1101 auch davon keine Signale.

GD0 liegt an D3 an und GD2 an D2. Das sollte laut https://wiki.fhem.de/wiki/Datei:Selbstbau_cul_Schaltplan_1.png korrekt sein.
Mit der Erwartung, dass ich den CC1101 damit vielleicht über den Jordan schicke, habe ich die Belegung an GD0 und GD2 getauscht, was keinen Effekt hatte.
Also zurückgetauscht und testweise mal versucht, den Nano von FHEM aus zu flashen, mit der Annahme dass es nicht geht, da es nur die Hardware nanoCC1101 zur Auswahl gab und keine Unterscheidung zwischen alten und neuem BootLoader möglich ist, wie in VS Code.. Siehe da: Es funktioniert auf einmal. Rollos fahren und Signale werden empfangen und im Log von FHEM ausgegeben.
Ich habe sicherheitshalber den Nano über VS Code nochmal geflashed und damit funktioniert es jetzt auch.

Könnte das vorübergehende Tauschen von GD0 und GD2 ne "Macke" am CC1101 gelöst haben?
Ne andere Erklärung hätte ich da sonst nicht.

Jetzt kann ich mein Glück versuchen, alles sauber zusammen zu löten und in einem Gehäuse zu verstauen.
Muss ich mit Nachteilen rechnen, dadurch dass ich statt 470 Ohm Widerstände 550 Ohm Widerstände verwende?

elektron-bbs

Der Bootloader spielt beim Flashen über FHEM keine Rolle, da dort beide Varianten programmiert sind.
Die 550 Ohm passen eigentlich sogar noch besser als 470.
Intel(R) Atom(TM) CPU N270 mit 2 SIGNALduino nanoCC1101 + ESPEasy 2x serial server SIGNALduino nanoCC1101, Raspberry Pi 2 mit 2 CUL Stackable CC1101, Raspberry Pi 3 mit SIGNALduino radino + nano328 + 2 x SIGNAL-ESP CC1101 + LaCrosseGateway