Verschiedenes > Bastelecke

SIGNALDuino Empfänger Firm- und Hardware

(1/243) > >>

Ralf9:
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:

--- Zitat von: Sidey am 24 September 2016, 09:59:55 ---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.

--- Ende Zitat ---

Gruß Ralf

Ralf9:
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

--- Code: ---get sduino raw
--- Ende Code ---

Alle Werte sind in hex:

--- Code: ---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)
--- Ende Code ---


MIt C35 wird das MARCSTATE Register ausgelesen:

--- Code: ---01 - IDLE
02 - XOFF
0D - RX
12 - ENDCAL
13 - TX
--- Ende Code ---


Mit dem WS Befehl kann der state des CC11001 gewechselt werden. Hier ist sind einige strobe commands:

--- Code: --- 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.

--- Ende Code ---

Beim WS Befehl wird der chip status zurück gegeben:

--- Code: ---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
--- Ende Code ---


Mit dem x Befehl kann die Sendeleistung geändert werden. Hier sind die Werte für 433 MHz:

--- Code: ---34 -10_dBm
68  -5_dBm
60   0_dBm
84   5_dBm
C8   7_dBm
C0  10_dBm
--- Ende Code ---

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:

--- Code: ---? -> 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)
--- Ende Code ---

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:

--- Code: ---CED -> Debugausgaben ein
CDD -> Debugausgaben aus
CDL -> Message-LED aus
CEL -> Message-LED ein
CEO -> Einschalten der sehr langen MU-Nachrichten (config: MuNoOverflow=1)
CDO -> Abschalten der sehr langen MU-Nachrichten
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
--- Ende Code ---
In den FIFO Empfangspuffer gehen z.Zt. 100 Pulse, dh. eine Ausgabe von MD=100 bedeutet ein Pufferüberlauf

Ab meiner Firmware V 3.3.2.2-rc10 gibt es

--- Code: ---CSmaxnumpat=[Wert]  -> Mit maxnumpat kann man dann die max Anzahl Pattern bis auf 16 erhöhen (P0-PF Hex), default ist 8.
CSmaxpulse=[Wert]   -> Mit maxpulse kann man die max Pulslänge (default -32001) verkleinern, ab der ein Ende erkannt wird. Z.B. mit maxpulse 17000 wird -18532 als Ende erkannt.

--- Ende Code ---


https://forum.fhem.de/index.php/topic,82379.msg744554.html#msg744554


prodigy7:
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

Ellert:

--- Zitat von: Ralf9 am 03 Oktober 2016, 01:20:00 ---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

--- Ende Zitat ---

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.

Ralf9:

--- Zitat von: prodigy7 am 03 Oktober 2016, 09:31:50 ---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?

--- Ende Zitat ---

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

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln