Autor Thema: SIGNALDuino Empfänger Firm- und Hardware  (Gelesen 107886 mal)

Offline Ralf9

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2029
SIGNALDuino Empfänger Firm- und Hardware
« am: 02 Oktober 2016, 22:59:51 »
Hallo,

ich habe hier mal die Infos zur SIGNALDuino Empfänger Firm- und Hardware zusammengefaßt:

Falls mit dem SIGNALDuino auch Sensoren empfangen werden, die Manchester (MC) Nachrichten senden, dann sollte ein Firmware Update auf die Version 3.3. durchgeführt werden.
Bei der V 3.3. wurde die Dekodierung von Manchester Nachrichten deutlich verbessert.

Es sollte ein Superhet oder Superheterodyne Empfänger verwendet werden.
Ein Superregeneration Empfänger ist nicht zu empfehlen.

Als 868 MHz Empfänger ist dieser zu empfehlen:
http://www.elv.de/elv-empfangsmodul-rx868sh-dv.html


Mit einem USRIOT Serial Ethernet Converter Modul
USR-TCP232-T2 oder
USR-TCP232-T oder
usr-k1
ist es auch möglich den SIGNALDuino über Ethernet anzubinden. Ich habe es mit dem USR-TCP232-T2 und einem Pro Mini getestet.
Zwischem dem TX vom Pro Mini und dem RX vom USR-TCP232.. ist ein Level Shifter notwendig,da der USR mit 3,3 V arbeitet.

Eine Remoteanbindung ist auch mit socat oder ser2net (noch ungetestet) möglich:
https://forum.fhem.de/index.php/topic,59473.msg508448.html#msg508448

Hier ist eine Anleitung von @hjgode um einen Arduino Nano mit der SignalDuino Software und einem ESP-01 über WLAN anzubinden:
http://www.hjgode.de/wp/2015/11/05/fhem-serielle-gerat-uber-wifi-anbinden/

Sidey versucht ob es auch nur mit dem ESP funktioniert:
Ich habe den ESP mal SIGNALESP genannt und mit aktuellen Bibliotheken neu compiliert.

Die Funktion (Empfang getestet) ist gegeben. (Serielle Ausgabe)
Wie schon vor einiger Zeit, resettet sich der ESP Recht häufig. In FHEM sieht man das nur, wenn man die Uptime anruft.

Übrigens mag es der ESP nicht, wenn er sich den Empfänger mit einem Arduino teilt.

Gruß Ralf
« Letzte Änderung: 24 Oktober 2016, 19:28:16 von Ralf9 »
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
SIGNALduino

Offline Ralf9

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2029
Antw:SIGNALDuino Empfänger Firm- und Hardware
« Antwort #1 am: 03 Oktober 2016, 01:20:00 »
Inzwischen gibt es für den Signalduino eine Firmware die den CC1101 unterstützt. Es wird die Verkabelung des nanoCUL verwendet.
Hier sind Schaltungsvarianten mit dem 3,3V 8MHz promini bei denen man sich keine Gedanken über Levelshifter machen muß, da keine benötigt werden.
https://forum.fhem.de/index.php/topic,69042.msg605241.html#msg605241

Die Firmware ist noch in Entwicklung.
Ich habe die folgenden Befehle eingebaut. Gesendet werden sie mit
get sduino raw
Alle Werte sind in hex:
C<reg>
    <reg> is a (two digit) hex number: return the value of the cc1101 register. <reg>=99 dumps the first 48 registers.
    Example: C35 -> C35 = 0D

e
    EEPROM / factory reset.  resets all eeprom values without reboot

r<AA>
    Read eeprom  (da das "R" beim SIGNALDuino bereits mit freeram belegt ist, habe ich das "r" verwendet)
r<AA>n
    Read 16 byte from eeprom (z.B. r00n)

W<AA><DD>
    Write eeprom (schreibt einen Wert ins EEPROM und ins CC1101 Register. Die eeprom Adresse hat einen Offset von 2. z.B W041D schreibt 1D ins Register 2)

WS<AA>
   Strobe commands z.B:
   34   Enable RX
   36   Exit RX / TX  (idle state)

x<pp> Change the (EEPROM) PA tables (power amplification for RF sending)


MIt C35 wird das MARCSTATE Register ausgelesen:
01 - IDLE
02 - XOFF
0D - RX
12 - ENDCAL
13 - TX


Mit dem WS Befehl kann der state des CC11001 gewechselt werden. Hier ist sind einige strobe commands:
31  SFSTXON  Enable and calibrate frequency synthesizer (if MCSM0.FS_AUTOCAL=1). If in RX (with CCA): Go to a wait state where only the synthesizer is running (for quick RX / TX turnaround).
 34  Enable RX
 35  Enable TX
 36  Exit RX / TX  (idle state)
 3D  No operation. May be used to get access to the chip status byte.

Beim WS Befehl wird der chip status zurück gegeben:
0  IDLE       IDLE state  (Also reported for some transitional states instead of SETTLING or CALIBRATE)
1  RX         Receive mode
2  TX         Transmit mode
3  FSTXON     Fast TX ready
4  CALIBRATE  Frequency synthesizer calibration is running
5  SETTLING   PLL is settling
6  RXFIFO_OVERFLOW
7  TXFIFO_UNDERFLOW


Mit dem x Befehl kann die Sendeleistung geändert werden. Hier sind die Werte für 433 MHz:
34 -10_dBm
68  -5_dBm
60   0_dBm
84   5_dBm
C8   7_dBm
C0  10_dBm

Mit C3E kann die PATABLE ausgelesen werden
Mit r30n kann die im EEPROM gespeicherte PATABLE ausgelesen werden

Die PATABLE besteht aus 8 Werten. Da das PA ramping nicht verwendet wird, wird nur der zweite Wert verwendet.



Hier sind die allgmeinen Befehle:
? -> help
V -> Version
R -> freeRam
t -> uptime
XE -> enableReceiver
XQ -> disableReceiver
P -> Ping
CG -> getConfig
enableMessagetype
  CES -> MS
  CEC -> MC
  CEU -> MU
disableMessagetype
  CDS -> MS
  CDC -> MC
  CDU -> MU
CER -> Einschalten der Datenkomprimierung (config: Mred=1)
CDR -> Abschalten der Datenkomprimierung (config: Mred=0)

S -> send
SR;R=3;...   sendet die Daten im Raw-Modus dreimal wiederholt
SM;R=3;...   sendet die Daten Manchester codiert dreimal wiederholt
SC;R=3;...   sendet eine kombinierte Nachricht dreimal wiederholt (das SC am Anfang wird benötigt um bei einer kombinierten Nachricht ein repeat anzugeben)

In meiner Firmware V 3.3.2 gibt es zusätzlich noch:
CED -> Debugausgaben ein
CDD -> Debugausgaben aus
CDL -> Message-LED aus
CEL -> Message-LED ein
CSmscnt=[Wert]     -> Wiederholungszähler für den split von MS Nachrichten (default=4)
CSmuthresh=[Wert]  -> Schwellwert in us für den split von MU Nachrichten (0=aus)
CSmcmbl=[Wert]     -> minbitlen für MC-Nachrichten
CSfifolimit=[Wert] -> Schwellwert für debug Ausgabe der Pulsanzahl im FIFO Puffer

?S -  show configSet commands (z.Zt.:  fifolimit mcmbl mscnt muthresh)

eC - initEEPROMconfig
     Damit werden die config Daten im EEPROM auf default zurückgesetzt
In den FIFO Empfangspuffer gehen z.Zt. 100 Pulse, dh. eine Ausgabe von MD=100 bedeutet ein Pufferüberlauf

https://forum.fhem.de/index.php/topic,82379.60.html
« Letzte Änderung: 10 März 2018, 22:15:00 von Ralf9 »
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
SIGNALduino
Informativ Informativ x 1 Hilfreich Hilfreich x 1 Liste anzeigen

Offline prodigy7

  • Full Member
  • ***
  • Beiträge: 294
    • Blog aus meinem IT Alltag
Antw:SIGNALDuino Empfänger Firm- und Hardware
« Antwort #2 am: 03 Oktober 2016, 09:31:50 »
Hallo Ralf9,

danke für die hilfreiche Übersicht! Ich hab mir hier schon einen 433MHz Signalduino zusammengebaut und würde das gerne auch für 868MHz tun. Dass RX Modul von ELV hatte ich auch schon im großen Thread "entdeckt", aber was nehme ich für TX? Ich hab hier noch 433 TX Module liegen, die sind aber sicherlich nicht geeignet oder?
Ich hab hier noch einen CC1101 (RF1100SE), der wird aber nicht dafür geeignet sein oder?

prodigy7

Offline Ellert

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2965
Antw:SIGNALDuino Empfänger Firm- und Hardware
« Antwort #3 am: 03 Oktober 2016, 10:12:30 »
Liest hier auch jemand mit der sich mit den CC1101 Empfänger auskennt oder ist es besser, wenn ich diese Frage  in CUL Hard- und Firmware stelle?

Der beim SIGNALDuino verwendete RXB6 Superheterodyne Empfänger hat recht gute Empfangseigenschaften.

Weiß zufällig jemand, wie dies im Vergleich dazu bei einem Empfänger mit einem CC1101 aussieht?
Hat ein Empfänger mit dem CC1101 bessere Empfangseigenschaften als der RXB6 Superheterodyne?

Bei ebay habe ich 2 Typen gefunden:

D-Sun CC1101 Wireless Transceiver Module
- Adopt FSK modulation,support OOK/ASK/MSK modulation;

CC1101 Wireless Kabellos RF Transceiver Modul mit SMA Antenna
- Support 2-FSK, GFSK and MSK modulation;
Ist dieser für OOK/ASK weniger geeignet, da dies hier nicht dabeisteht?

Gruß Ralf

Die verwendbaren Transceiver sind im Wiki gut beschrieben Die_unterschiedlichen_Ausführungen_des_Funkmoduls
Es wäre schon interessant wenn die SD-Firmware auf der nanoCUL Hardware laufen würde.

Ich nutze den nanoCUL433 und den SD 433 und habe bei der Nutzung keine Unterschiede in der Sende und Empfangsleistung festgestellt. Meine Sensoren befinden sich alle innerhalb eines Umkreises von 7 m.

Offline Ralf9

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2029
Antw:SIGNALDuino Empfänger Firm- und Hardware
« Antwort #4 am: 03 Oktober 2016, 11:31:31 »
aber was nehme ich für TX? Ich hab hier noch 433 TX Module liegen, die sind aber sicherlich nicht geeignet oder?
Ich hab hier noch einen CC1101 (RF1100SE), der wird aber nicht dafür geeignet sein oder?

Wenn ich das richtig überblicke verwendet bis jetzt noch niemand beim SIGNALDuino einen 868MHz sender.
Bei 868MHz gibt es beim Senden auch die 1% Regel zu beachten.

Bei elv gibt es diesen Sender:
http://www.elv.de/hf-sendemodul-tx868-75-868-mhz.html

Der CC1101 ist für den SIGNALDuino nicht geeignet.

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
SIGNALduino

Offline Ralf9

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2029
Antw:SIGNALDuino Empfänger Firm- und Hardware
« Antwort #5 am: 24 Oktober 2016, 19:44:10 »
Ich habe den ESP mal SIGNALESP genannt und mit aktuellen Bibliotheken neu compiliert.

Die Funktion (Empfang getestet) ist gegeben. (Serielle Ausgabe)
Wie schon vor einiger Zeit, resettet sich der ESP Recht häufig. In FHEM sieht man das nur, wenn man die Uptime anruft.

Übrigens mag es der ESP nicht, wenn er sich den Empfänger mit einem Arduino teilt.

Kann dies mit dem Wlan überhaupt funktionieren? Dem ESP muß doch regelmässig etwas Zeit gegeben werden, damit er sich ums Wlan kümmern kann.
Wie sieht es aus, wenn während der ESP sich ums Wlan kümmert, vom 433/868 MHz Empfänger eine Signalflanke kommt, kann der Interrupt dann die interne Wlan Routine unterbrechen?

@hjgode
weißt Du zufällig was darüber?

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
SIGNALduino

Offline Sidey

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2030
Antw:SIGNALDuino Empfänger Firm- und Hardware
« Antwort #6 am: 24 Oktober 2016, 20:34:44 »
Der Interrupt unterbricht das WLAN. Damit das WLAN läuft, muss man immer mal delay oder yield aufrufen
Signalduino, HMLan, Raspberry Pi, Mysensors, ArduinoSensor

Offline habeIchVergessen

  • Sr. Member
  • ****
  • Beiträge: 682
Antw:SIGNALDuino Empfänger Firm- und Hardware
« Antwort #7 am: 24 Oktober 2016, 21:28:47 »
Wenn ich die Doku richtig in Erinnerung habe, dann gibt es "nur" Software-Interrups auf dem ESP8266. Ob die das WLAN unterbrechen wage ich zu bezweifeln.

Offline Ralf9

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2029
Antw:SIGNALDuino Empfänger Firm- und Hardware
« Antwort #8 am: 25 Oktober 2016, 21:07:53 »
Zitat
Wie schon vor einiger Zeit, resettet sich der ESP Recht häufig. In FHEM sieht man das nur, wenn man die Uptime anruft.

Sind die häufigen resets inzwischen weg?
Ein Grund dafür könnte der watchdog sein der einen Reset durchführt, falls die internen Routinen (u.a. wlan und tcp-Stack) nicht mindestens einmal pro Sekunde ausgeführt werden.

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
SIGNALduino

Offline Ralf9

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2029
Antw:SIGNALDuino Empfänger Firm- und Hardware
« Antwort #9 am: 25 Oktober 2016, 21:26:57 »
Ich möchte auch mit dem ESP Link den ESP an den Signalduino anbinden.
Ich möchte dazu den "WeMos D1 mini" und "Arduino pro mini" verwenden.

Das hier irretiert mich etwas
http://www.ebay.de/itm/ABVERKAUF-WeMos-kompatibel-D1-Mini-NodeMcu-ESP8266-i2c-Arduino-/182320253021?hash=item2a7322485d:g:6XIAAOSwzJ5Xcj2u
Zitat
Bei diesem Angebot handelt es sich um den Abverkauf unseres Bestandes an kompatiblen WeMos Modulen. Da wir unseren Kunden preisgünstige aber 100% zuverlässige Module und Sensoren anbieten möchten, fallen die WeMos kompatiblen Module aufgrund hoher Fehleranfälligkeit aus unserem Sortiment.

Spricht was gegen diesen hier?
http://www.ebay.de/itm/WeMos-D1-mini-IOT-ESP8266-DIY-ESP12-WLAN-WiFi-NodeMcu-Arduino-Raspberry-Pi-E23P-/172357074201?hash=item2821483d19:g:Jb4AAOSwCGVX67lw

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
SIGNALduino

Offline Sidey

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2030
Antw:SIGNALDuino Empfänger Firm- und Hardware
« Antwort #10 am: 25 Oktober 2016, 21:34:46 »
Sind die häufigen resets inzwischen weg?

Bei mir schon. Er lief einige Tage ganz gut. Dann hat er sich aufgehangen.. keine Ahnung was passiert ist. Es.könnten auch äußere Einflüsse verantwortlich gewesen sein.

Der  Watchdog will regelmäßig resettet werden, das ist richtig. Mit WLAN oder tcp Stack hat das allerdings wenig zu tun. Der Watchdog operiert unabhängig davon.

Die WLAN Anbindung ist noch nicht eingebaut. Das muss noch finalisiert werden.

Grüße Sidey
Signalduino, HMLan, Raspberry Pi, Mysensors, ArduinoSensor

Offline Ralf9

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2029
Antw:SIGNALDuino Empfänger Firm- und Hardware
« Antwort #11 am: 30 Oktober 2016, 18:59:47 »
ich habe nun auch den ESP erfolgreich an den Signalduino angebunden.
Ich habe dazu den "WeMos D1 mini" und "Arduino pro mini" verwendet, Schaltung siehe Anlage.
Da ich den ESP Link nicht zum funktionieren gebracht habe, habe ich den Beispiel sketch
ESP8266WIFI - WiFiTelnetToSerial
von der Arduino IDE mit einigen Anpassungen verwendet.

Nachtrag:
Die Schaltung gilt für UART pins swapped.

Nachtrag2:
Inzwischen habe ich es auch mit ESP Link getestet.

Gruß Ralf
« Letzte Änderung: 06 November 2016, 21:06:36 von Ralf9 »
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
SIGNALduino

Offline pejonp

  • Sr. Member
  • ****
  • Beiträge: 815
Antw:SIGNALDuino Empfänger Firm- und Hardware
« Antwort #12 am: 13 November 2016, 18:50:38 »
Hallo,

ich habe für meine WS-0101 und WH1080 Wetterstationen die Anbindung an den FHEM mit Signalduino über esp8266 realisiert.
Der 868 MHz Empfänger von elv (http://www.elv.de/elv-empfangsmodul-rx868sh-dv.html) ist am Signalduino angeschlossen und RX/TX sind an einem esp8266 nach dieser Schaltung von @hjgode (http://www.hjgode.de/wp/2015/11/05/fhem-serielle-gerat-uber-wifi-anbinden ) angeschlossen.

Beim ESP8266-01 ist die Version esp-link v2.2.3 - 2016-06-21 21:58:48 im Einsatz (https://github.com/jeelabs/esp-link).
Der Signalduino hat die Version (V 3.2.0-b21 SIGNALduino - compiled at Apr 16 2016 01:44:24).

Diese Anbindung läuft schon seit 2015, nach einem Hinweis von @hjgode (https://forum.fhem.de/index.php/topic,38831.msg365598.html#msg365598). Grund war auch, das der Nano sich nicht mehr per USB ansprechen ließ und auch die Anschlüsse am Banana Pi zu Ende gingen. Geflasht wird über ISP (mySmartUSB light), bei mir geht es nicht über den esp8266. Die Schaltung ist immer noch auf einem Steckbrett.

pejonp

« Letzte Änderung: 02 April 2017, 21:47:43 von pejonp »
JeeLink (RFM69CW) LGW 868MHz:WT470+TFA+TX37-IT+EMT7110+FS20+W136+WH25A HP1003+WH2621
SignalDuino(CC1101):Bresser+WS-0101(868MHz WH1080)
MAX!:HM-MOD-UART:Rauchmelder HM-SEC-SD
VITOSOLIC 200 + RESOL VBUS-LAN
SolarEdge SE5K(TCP 24 RS485)+Sonnenbatterie ComfortS(Vera3)+TD3511+DRT710M(RS485)

Offline andreasnol

  • Newbie
  • Beiträge: 1
Antw:SIGNALDuino Empfänger Firm- und Hardware
« Antwort #13 am: 28 November 2016, 11:50:38 »
Hallo
Ich hab mir schon einen 433MHz Signalduino zusammengebaut. Er funktioniert wuderbar jetzt auch mit Rollläden.
Tolle Arteit danke.
Aus platzgründen würde mich interesieren, ob schon jemand den Signalduino mit einem RFM-Funlmodul bestückt hat oder
einen Jeelink mit der Signalduino Software geflasht hat?

Andreas
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Ralf9

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2029
Antw:SIGNALDuino Empfänger Firm- und Hardware
« Antwort #14 am: 06 Dezember 2016, 18:02:36 »
Hallo,

ich bin gerade dabei die set- und get-Befehle des CC1101 vom "00_CUL.pm" in die "00_SIGNALduino.pm" einzubauen.
Das "goto GOTBW" vom set bWidth gefällt mir nicht so richtig, dies müsste auch eleganter gehen

  } elsif($type eq "bWidth") {
    my ($err, $ob);
    if(!IsDummy($hash->{NAME})) {
      CUL_SimpleWrite($hash, "C10");
      ($err, $ob) = CUL_ReadAnswer($hash, $type, 0, "^C10 = .*");
      return "Can't get old MDMCFG4 value" if($err || $ob !~ m,/ (.*)\r,);
      $ob = $1 & 0x0f;
    }

    my ($bits, $bw) = (0,0);
    for (my $e = 0; $e < 4; $e++) {
      for (my $m = 0; $m < 4; $m++) {
        $bits = ($e<<6)+($m<<4);
        $bw  = int(26000/(8 * (4+$m) * (1 << $e))); # KHz
        goto GOTBW if($arg >= $bw);
      }
    }

GOTBW:
    $ob = sprintf("%02x", $ob+$bits);
    Log3 $name, 3, "Setting MDMCFG4 (10) to $ob = $bw KHz";
    CUL_SimpleWrite($hash, "W12$ob");
    CUL_WriteInit($hash);

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
SIGNALduino