SIGNALESP: Firm- und Hardware für SIGNALduino direkt auf ESP8266 oder ESP32

Begonnen von Ralf9, 24 Januar 2018, 20:04:44

Vorheriges Thema - Nächstes Thema

Ralf9

Der Empfang beim SignalESP kann eigentlich maximal gleichgut wie ein gut aufgebauter Signalduino sein, eher etwas schlechter.
Die Vorteile des ESP (schneller und mehr RAM) werden von der Firmware nicht genutzt.
Ein Faktor dürfte auch sein wie nah die WLAN Antenne des ESP und die Antenne des cc1101 beinander sind.

Mir ist nicht klar wie es aussieht, wenn während der ESP sich ums WLAN kümmert eine Pulsflanke kommt.
Hat die Pulsflanken Interruptroutine eine höhere Priorität als die Internen WLAN Routinen?
Vielleicht liest hier jemand mit der sich damit besser auskennt

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

dirk.k

Hallo zusammen,
erst mal besten Dank an alle, die SignalDuino/ESP und die FHEM-Module pflegen...

Ich habe mit meinen SignalESP ein kleines Problem und wollte fragen, ob ich der Einzige bin oder ob es gar eine Lösung gibt...
Meine beiden Signal-ESP verbinden sich nicht mit dem WLAN, wenn dieses nach einer Trennung/Ausfall "wiederkommt".
Sie spannen ihr eigenes auf und warten auf eine Aktion. In der WLAN-Konfig auch dort das "soll"-WLAN zu sehen, Sie verbinden sich aber erst nach einem Reboot wieder mir diesem.
Die Versionen auf den Geräten sind
V 3.5.0-dev+20201207 SIGNALESP cc1101
V 3.4.0 SIGNALESP cc1101
Darunter befinden sich Wemos D1 mini
hat das schon mal jemand beobachtet?
Danke, Dirk

romakrau

Hallo zusammen,
ich habe nach einigen Mühen die Software auf den ESP32 aufspielen können und suche nun die Verbindung zu FHEM.
Angeschlossen habe ich ein CC1101 868 Modul gemäß Beitrag #423.

Anbei nochmal meine Anschlüsse:
ESP  ->  CC1101
3.3V -> 3.3V
GND -> GND
SI -> D23
SCLK -> D18
SO -> D19
GDO2 -> RX2
GDO0 -> D4
CSN -> D5

Leider erkannt Device keine CC101


Internals:
   CFGFN     
   Clients    :IT:CUL_TCM97001:SD_RSL:OREGON:CUL_TX:SD_AS:Hideki:SD_WS07:SD_WS09: :SD_WS:RFXX10REC:Dooya:SOMFY:SD_BELL:SD_UT:SD_WS_Maverick:FLAMINGO:CUL_WS:Revolt: :FS10:CUL_FHTTK:Siro:FHT:FS20:CUL_EM:Fernotron:SD_Keeloq:SD_GT:SIGNALduino_un:
   DEF        192.168.187.239:23
   DMSG       nothing
   DevState   initialized
   DeviceName 192.168.187.239:23
   FD         28
   FUUID      60769667-f33f-e93f-adf8-13ec0c40d44ab885
   LASTDMSG   nothing
   LASTDMSGID nothing
   NAME       SIGNALESP
   NR         875
   PARTIAL   
   STATE      opened
   TIME       1618477363
   TYPE       SIGNALduino
   sendworking 0
   version    V 3.4.0 SIGNALESP  - compiled at Apr 15 2021 11:43:41
   versionProtocols 1.21
   versionmodul v3.4.4


Grup Roman

romakrau

So nun ist langsam Licht am Ende desTunnels. Die ESP32 laufen und der CC1101 ist korrekt eingebunden.
Jetzt muss ich nur noch schauen wie ich die Daten verwenden kann.

Chatty

@romakrau: Ich hatte bis vorhin RFQuack auf meinem az-delivery-devkitc-v4 mit CC1101. Ich konnte dort schon Messages bei Tastendrücken auf meiner Fernbedienung sehen, aber die Bedienung ist doch etwas... undokumentiert.

Die notwendige Verbindung zwischen beiden Chips unterscheidet sich je nach Firmware (RFQuack, SignalESP) nur bzgl. Anschluss von GD2. Aber egal welche Variante ich wähle, ich sehe keine Messages.

Was hast du anders gemacht?  :)

sduino: CheckVersionResp, called with V 3.5.0-dev+20201207 SIGNALESP cc1101 (chip CC1101) - compiled at Dec 18 2020 22:34:14
sduino: CheckVersionResp, initialized 3.5.1+20210318

romakrau

Hallo Chatty, ich habe mir die Version 3.4.4 selbst übersetzt. Hat aber viel mühe gekostet. Das einbinden des devices war genau so schwierig. Meistens stimmte die Baud Angabe nicht nach einem Auslesen der Config. Gdo2 habe ich auf RX2 angeschaltet. Bin auswärfs und kann im augenblick nicht mehr dazu sagen ( list, usw.). Gruß Roman

romakrau

@Chatty: versuch auch mal die Settings der Modulation mit oder ohne sync. Hat bei mir zu Ergebnissen geführt.

Chatty

Ich habe auf github ein Ticket eröffnet. Darin weist elektron-bbs daraufhin, dass GD2 mit GPIO13 ab SignalESP 3.5.0 verbunden werden muss. Ich habe im Ticket eine Grafik zur aktuellen Version erstellt. Vielen Dank an elektron-bbs nochmal.

romakrau

Hallo zusammen,
ich betreibe eine CC1101 an einem ESP32 siehe List:


Internals:
   Clients    :IT:CUL_TCM97001:SD_RSL:OREGON:CUL_TX:SD_AS:Hideki:SD_WS07:SD_WS09: :SD_WS:RFXX10REC:Dooya:SOMFY:SD_BELL:SD_UT:SD_WS_Maverick:FLAMINGO:CUL_WS:Revolt: :FS10:CUL_FHTTK:Siro:FHT:FS20:CUL_EM:Fernotron:SD_Keeloq:SD_GT:SIGNALduino_un:
   DEF        192.168.187.239:23
   DMSG       nothing
   DevState   initialized
   DeviceName 192.168.187.239:23
   FD         25
   FUUID      60786900-f33f-e93f-5fdb-066f08fda2ca1e67
   LASTDMSG   nothing
   LASTDMSGID nothing
   NAME       SGD2
   NR         278
   PARTIAL   
   STATE      opened
   TIME       1620203904
   TYPE       SIGNALduino
   cc1101_available 1
   sendworking 0
   version    V 3.4.0 SIGNALESP cc1101 (chip CC1101) - compiled at Apr 15 2021 16:13:21
   versionProtocols 1.21
   versionmodul v3.4.4
   MatchList:
     10:SD_WS07 ^P7#[A-Fa-f0-9]{6}[AFaf][A-Fa-f0-9]{2,3}
     11:SD_WS09 ^P9#F[A-Fa-f0-9]+
     12:SD_WS   ^W\d+x{0,1}#.*
     13:RFXX10REC ^(20|29)[A-Fa-f0-9]+
     14:Dooya   ^P16#[A-Fa-f0-9]+
     15:SOMFY   ^Ys[0-9A-F]+
     16:SD_WS_Maverick ^P47#[A-Fa-f0-9]+
     17:SD_UT   ^P(?:14|20|26|29|30|34|46|68|69|76|81|83|86|90|91|91.1|92|93|95|97|99|104)#.*
     18:FLAMINGO ^P13\.?1?#[A-Fa-f0-9]+
     19:CUL_WS  ^K[A-Fa-f0-9]{5,}
     1:IT       ^i......
     20:Revolt  ^r[A-Fa-f0-9]{22}
     21:FS10    ^P61#[A-F0-9]+
     22:Siro    ^P72#[A-Fa-f0-9]+
     23:FHT     ^81..(04|09|0d)..(0909a001|83098301|c409c401)..
     24:FS20    ^81..(04|0c)..0101a001
     25:CUL_EM  ^E0.................
     26:Fernotron ^P82#.*
     27:SD_BELL ^P(?:15|32|41|42|57|79|96|98)#.*
     28:SD_Keeloq ^P(?:87|88)#.*
     29:SD_GT   ^P49#[A-Fa-f0-9]+
     2:CUL_TCM97001 ^s[A-Fa-f0-9]+
     3:SD_RSL   ^P1#[A-Fa-f0-9]{8}
     4:OREGON   ^(3[8-9A-F]|[4-6][0-9A-F]|7[0-8]).*
     5:CUL_TX   ^TX..........
     6:SD_AS    ^P2#[A-Fa-f0-9]{7,8}
     7:Hideki   ^P12#75[A-F0-9]+
     9:CUL_FHTTK ^T[A-F0-9]{8}
     X:SIGNALduino_un ^[u]\d+#.*
   QUEUE:
   READINGS:
     2021-05-06 18:26:41   cc1101_config   Freq: 868.350 MHz, Bandwidth: 812 KHz, rAmpl: 42 dB, sens: 8 dB, DataRate: 5603.79 Baud
     2021-05-06 18:26:41   cc1101_config_ext Modulation: ASK/OOK, Syncmod: No preamble/sync
     2021-05-06 18:26:41   cc1101_patable  C3E = 00 84 00 00 00 00 00 00 => 5_dBm
     2021-04-16 07:25:40   config          MS=1;MU=1;MC=1;Mred=1
     2021-05-06 18:25:38   ping            OK
     2021-05-06 18:26:40   state           opened
     2021-05-06 14:40:29   uptime          0 01:22:18
   additionalSets:
     flash      3.4.0
   helper:
   keepalive:
     ok         0
..
..
Attributes:
   hardware   ESP32
   updateChannelFW stable
   verbose    4
   whitelist_IDs 0,0.1,0.2,0.3,0.4,0.5,1,3,3.1,4,6,7,8,9,10,11,12,13,13.1,13.2,14,15,16,17,17.1,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,33.1,33.2,34,35,36,37,38,39,40,41,42,43,44,44.1,45,46,47,48,49,49.1,49.2,50,51,52,53,54,54.1,55,56,57,58,59,60,61,62,64,65,66,67,68,69,70,71,72,73,74,74.1,76,79,80,81,83,84,85,86,87,88,89,90,91,91.1,92,93,94,95,96,97,98,99,104,105


Ich versuche Daten von meinem Aussenthermometer, einem Technoline TX29-IT zu empfangen. In einem anderen Beitrag stand etwas von einem umschalten des Register 0x12 und setzen eine ccmode Parameter auf LaCrosse. Leider funktioniert das setzen des registers bei mir nicht. Ich verwende gemäß Beschreibung folgenden Befehl: set SGD2 raw W1400 .
Das Register oder Attribut ccmode kann ich nicht finden. Passt die Software nicht für diesen Sensor?

Gruß
Roman

elektron-bbs

Mit dieser Firmware-Version V 3.4.0 ist noch ist noch keine Verarbeitung von frequenzmodulierten Signalen möglich. Es wird dafür die aktuelle Entwicklerversion https://github.com/RFD-FHEM/SIGNALDuino/releases/tag/3.5.0-dev%2B20201221 benötigt.

Au0erdem sollten die aktuellen Module für FHEM mit diesem Befehl installiert werden:

update all https://raw.githubusercontent.com/RFD-FHEM/RFFHEM/master/controls_signalduino.txt

Irgendwelche Registereinstellungen sind im Normalfall nicht notwendig. Es reicht beim SIGNALduino unter "Display protocollist" die passenden Protokolle zu aktivieren und das Attribut "rfmode" auf den gewünschten Modus einzustellen.

Die Verschaltung CC110x mit einem ESP32 erfolgt nach folgendem Schema:

SIGNALDuino Release 3.4.0
=========================
ESP32  -> CC1101
----------------
3V     -> VCC
GPIO23 -> SI
GPIO18 -> SCK
GPIO19 -> SO
GPIO16 -> GD2
GPIO5  -> CSN
GPIO4  -> GD0
GND    -> GND

SIGNALDuino Release 3.5.0-dev
=============================
ESP32  -> CC1101
----------------
3V     -> VCC
GPIO23 -> SI
GPIO18 -> SCK
GPIO19 -> SO
GPIO13 -> GD2 (old 16, not good (serial) and not all boards)
GPIO5  -> CSN
GPIO4  -> GD0
GND    -> GND
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

romakrau

Danke für die schnelle Antwort. Der Link zur Entwicklerversion funktioniert nicht?

juergs

Da ich mit einer "neuen"  ESP32 Hardware unterwegs bin,
würde ich gerne die ESP32-SignalESP-Version verwenden, die Verwendbarkeit prüfen und ggf. anpassen..

Könnte mir bitte  jemand die  aktuellste Version / Branch mit CC1101 aufzeigen?  :D

Danke + Grüße
Jürgen

Ralf9

Zitatwürde ich gerne die ESP32-SignalESP-Version verwenden
Mit der SignalESP firmware wird sich nur ein cc1101 verwenden lassen.
D.h. Du wirst in der compile_config.h eintragen müssen ob Du den 433MHz oder den 868MHz cc1101 verwenden willst.


Zitat von: Ralf9 am 13 März 2021, 12:37:24
Mir ist nicht klar wie es aussieht, wenn während der ESP sich ums WLAN kümmert eine Pulsflanke kommt.
Hat die Pulsflanken Interruptroutine eine höhere Priorität als die Internen WLAN Routinen?
Vielleicht liest hier jemand mit der sich damit besser auskennt
Anscheinend liest hier niemand mit der sich gut mit dem ESP32 auskennt.

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

juergs

Zitat von: Ralf9 am 08 Mai 2021, 12:31:25
Mit der SignalESP firmware wird sich nur ein cc1101 verwenden lassen.
D.h. Du wirst in der compile_config.h eintragen müssen ob Du den 433MHz oder den 868MHz cc1101 verwenden willst.

Anscheinend liest hier niemand mit der sich gut mit dem ESP32 auskennt.

Gruß Ralf

Hallo Ralf,
das müsste "man" mal in einem Testcase hinbekommen.  ;) ;D

Im Prinzip würde ich sagen:
Dauerfeuer auf und von einem HTTP-Server (Lasttest) und prüfen, ob Pulsflanken am Port entstehen?

Halt, ist ja Eingang:  also eine konstante "hochfrequente" Impulserate zählen und schauen ob das was und wie inkonsistent bleibt?

Der umgekehrte Fall wäre auch denkbar: Rechteck-Output (hochfrequent) nach oben "schrauben und schauen ob und wie Aussetzter sich auswirken ?

Kann ich gerne für Dich mal umsetzen, aber wo siehst Du gezielt die Probleme?

Die Herausforderung: zwei  CC1101-Module im Dual-Core-Modus implementieren?

Grüße,
Jürgen

/edit: RF-Performance-Test
https://diyprojects.io/esp32-how-use-external-interrupts-arduino-code/#.YJZ7TYdxfYY




Ralf9

Zitatim Dual-Core-Modus
ich hatte mir den ESP32 noch gar nicht so genau angeschaut, der hat ja Dual-Core.
Die möglichen Probleme mit den Interrupts gibt's demnach nur beim ESP8266.
Wenn ich das richtig überblicke, kümmert sich beim ESP32 der Core 0 um die Protokolle wie z.B. das Wifi und auf dem Core 1 läuft der Usercode.

Es ist wahrscheinlich viel einfacher meine Maplesduino firmware um den ESP32 zu erweitern, als bei der SignalESP firmware von Sidey die multi cc1101 unterstützung einzubauen.

Hab mal bei ebay nach einem ESP32 geschaut
Werde mir mal diesen kaufen:
https://www.ebay.de/itm/353341972625?_trkparms=ispr%3D1&hash=item5244d2a091

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