Verschiedenes > Bastelecke

Entwicklung SIGNALDuino Empfänger Firm- und Hardware V 4.x.x auch auf Maple Mini

(1/178) > >>

Ralf9:
Hallo,

da der momentan verwendete Arduino so langsam an seine Grenzen (Geschwindigkeit, Flash und SRAM) kommt, habe ich mir Gedanken über eine neue Version mit leistungsfähiger Hardware gemacht.

Als Hardware wird der STM32F103CBT6 Maple Mini verwendet:
128 Kbytes Flash
 20 Kbytes SRAM
  2 SPI

Als optimales LAN Modul den USR-ES1 W5500
https://www.usriot.com/download/ES1/USR-ES1-EN%20V1.3.pdf

Es gibt 2 Konfigurations Varianten

a:) einfacher SIGNALduino mit nur einem cc1101 Modul

Es wird dabei nur das CC1101_1 (B) - für OOK/ASK verwendet.
Schaltplan siehe Anlage. Es kann auch die Platine von @Ranseyer verwendet werden, wenn nur das zweite cc1101 Modul bestückt wird.

Es ist keine cc1101 Modul konfiguration notwendig, das Modul B wird automatisch initialisiert.

Zur Inbetriebnahme ist folgendes notwendig:
- Bootloader 2.0 über USB flashen (bei aktuellen Maple Mini ist der Bootloader 2.0 evtl schon drauf)
- Firmware flashen (die bin Datei muss ggf durch die aktuelle Version ersetzt werden) 
--- Code: ---  sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_sduino_USB_411dev200627.bin -R
--- Ende Code ---
- evtl angepasstes 00_SIGNALduino Modul installieren
  gegenüber der Version von Sidey vom fhem update, enthält diese Version optimierungen und Komfortfunktionen.
- Erste schritte

b:) mit mehreren cc1101 Modulen und FSK

Aufbau der Hardware (mehrere cc1101 Module für FSK)

Ab der Version 4.1.0 werden bis zu 4 cc1101 Module (A-D) unterstützt
Beim MapleSduino sind die cc1101 Module an SPI2 angeschlossen:

28 MOSI
29 MISO
30 SCLK

CC1101_0 (A)
31  CSN  (Chip Select)
11  GD02 (Receive)
10  GD00  (send), optional für die a-culw

CC1101_1 (B) - 433 MHz für OOK/ASK
12  CSN  (Chip Select)
18  GD02 (Receive)
17  GD00  (send)

CC1101_2 (C)
15  CSN  (Chip Select)
16  GD02 (Receive)
13  GD00  (send), optional für die a-culw

Platine

Es gibt von @Ranseyer eine Platine:
https://forum.fhem.de/index.php/topic,109220.0.html
Es gibt 2 Bestückungsvarianten: normal (die USB Buchse und die Reset Taste sind oben), gedreht (USB Buchse ist unten in der Aussparung und kann z.B. mit Heisskleber fixiert werden.
Zur Orientierung ist Pin 31 beschriftet.

Wichtig: Bei den V0.1 und V0.2 Platinen ist die vertauschte Beschriftung 433 und 868 MHz manuell zu ändern!
433 ist CC0_A
868 ist CC1_B (433 MHz)

Flashen der Firmware

Hier ist die Firmware:  https://github.com/Ralf9/SIGNALDuino/releases

Es gibt momentan Binaries für USB, LAN und serial (tx/rx vom DBG Anschluss)
 - LAN gibts momentan nur für den MapleSduino
   https://forum.fhem.de/index.php/topic,106278.msg1049877.html#msg1049877
- serial ist z.B. für eine wifi-serial bridge mit dem ESP (z.B. ESP-link)

Es gibt für den MapleSduino und den MapleCul verschiedene Binaries:

Die "Maple_sduino....bin" ist für den MapleSduino und
die "Maple_cul_....bin" ist für den Maple Cul und Maple Cun

Damit kann die Firmware geflasht werden, die bin Datei muss ggf durch die passende Version ersetzt werden

--- Code: ---sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_sduino_USB_411dev200627.bin -R
oder
sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_cul_USB_411dev200627.bin -R

--- Ende Code ---

Die Baudrate wurde auf 115200 erhöht.

a-culw

Es gibt für den MapleSduino auch eine a-culw Firmware
https://forum.fhem.de/index.php/topic,106278.msg1037726.html#msg1037726

Bootloader

USB funktioniert momentan nur mit dem orginal Bootloader
Dies lässt sich auch an der upload Dauer erkennen: Beim orginal Bootloader dauert der Upload ca 30 sec und beim Bootloader 2.0 dauert der Upload nur ca 3 sec

Ab der Version 4.1.0-dev200427 ist für die bin Files der Bootloader2.0 erforderlich. z.B. maple_mini_boot20.bin
https://wiki.fhem.de/wiki/MapleCUN#Bootloader_flashen
Bootloader 2.0 über USB flashen

Kompilieren

Wer es selber kompilieren will:

https://github.com/Ralf9/SIGNALDuino/tree/dev-r41x_cc1101
https://forum.fhem.de/index.php/topic,106278.msg1027914.html#msg1027914


Für die komfortable Bedienung und für FSK ist ein angepasstes 00_SIGNALduino Modul notwendig
Es ist auch bei der Initialisierung des MapleMini eine Optimierung enthalten.
https://forum.fhem.de/index.php/topic,111653.msg1058900.html#msg1058900

Erste schritte
https://forum.fhem.de/index.php/topic,106278.msg1032098.html#msg1032098

Hier ist eine allgemeine Befehlsübersicht:
https://forum.fhem.de/index.php/topic,58396.msg497921.html#msg497921

Hier ist eine Beschreibung "FSK mit dem SIGNALDuino"
https://forum.fhem.de/index.php/topic,106594.msg1004463.html#msg1004463

Es gibt auch ein Wiki
https://wiki.fhem.de/wiki/Maple-SignalDuino

Linkliste


Bei dieser Version für den Maple Mini gibt es u.a. die folgenden Neuerungen:


* Das Sendekommando kann eine maximale Länge von 600 Zeichen haben.

* Der Messagepuffer hat nun eine maximale Größe von 1500 Pulsen
Es gibt nun 2 neue Konfigurationsvariablen

CSmaxMsgSizex256  -  damit kann die Größe des Messagepuffers konfiguriert werden. Der Wert wird mit 256 multipliziert, d.h. 4 ergibt eine Messagepuffergröße von 1024

CSmaxMuPrintx256  -  damit kann die maximale Länge von MU-Nachrichten konfiguriert werden. Der Wert wird mit 256 multipliziert

* Die zweite und folgenden MS-Nachrichten werden nun mit der vorherigen MS-Nachricht verglichen, sind sie gleich, wird am Ende ein "Q" ausgegeben.
Werden 3 gleiche MS-Nachrichten in Folge empfangen, so werden die folgenden MS-Nachrichten nicht mehr ausgegeben.
Per default werden 4 MS-Nachrichten ausgegeben, dies kann z.B. mit  CSmscnt=8 auf 8 erhöht werden
Wenn aktiviert, dann steht bei get config (CG): MSEQ=1;
CEQ -  aktivieren, dann werden die folgenden gleichen MS-Nachrichten nicht mehr ausgegeben
CDQ - deaktivieren

* CR - configRadio
MIt CRE<A-D> kann ein cc1101 Modul aktiviert werden. z.B. CREA aktiviert das erste cc1101 Modul A
MIt CRD<A-D> kann ein cc1101 Modul deaktiviert werden. z.B. CRDA deaktiviert das erste cc1101 Modul A

* Der Befehl b wurde erweitert:
 b<A-D><0-9>  damit wird ein cc1101 (A-D) mit einer Speicherbank (0-9) initialisiert. z.B. mit bA3 wird das das erste cc1101 Modul A mit der Speicherbank 3 initalisiert.
 b<A-D> damit wird ein cc1101 (A-D) selektiert. Die Befehle zum lesen und schreiben vom EEPROM und cc1101 Registern werden auf das selektierte cc1101 angewendet. Z.B. mit bA wird das erste cc1101 Modul A selektiert.
mit nachgestelltem W wird es im EEPROM gespeichert

* br - damit wird von allen cc1101 eine Bankinfo ausgegeben

* bs - damit wird eine Übersicht von allen Bänken ausgegeben

* Mit V (get Version) bekommt man eine Übersicht über die Module z.B. (R: A1 B0*). Mit * wird das selektierte cc1101 Modul markiert
Ein "-" hinter dem Modul (A-D) , bedeuted, daß dieses Modul nicht richtig erkannt wurde,
ein "i" bedeuted, daß das Modul zwar korrekt erkannt wurde, aber noch keiner Bank zugeordent wurde.
Wenn ein Modul nicht aufgeführt ist, dann ist es noch deaktiviert. 

* Mit XQ und XE wird jetzt bei allen cc1101 der Empfang deaktiviert oder aktiviert
Wird bei XQ oder XE ein A-D drangehängt, dann können einzelne Empfänger aktiviert oder deaktiviert werden.
Bei der USB Version ist durch anhängen von W ein XQW zu empfehlen. Mit XQW wird nach einem Reset der Empfang des cc1101 nicht automatisch aktiviert.
Dies kann in einigen Fällen zur Optimierung der Initialisierung beim Fhem Modul nötig sein und ist an "irx0" in der Version erkennbar.

* Die Datenkomprimierung für MS- und MU-Nachrichten (config: Mred=1) ist nun nicht mehr notwendig.
Gruß Ralf

Ralf9:
to do Liste


* Platine - wurde mitte Februar von @Ranseyer bestellt erledigt, die Platinen sind da
https://forum.fhem.de/index.php/topic,109220


* Signalduino Firmware für USB erledigt, funktioniert stabil
Eine erste Version zum Testen ist fertig
https://github.com/Ralf9/SIGNALDuino/releases
Es gibt Binaries für Maple sduino und Maple cul


* Signalduino Firmware für LAN - ist noch nicht fertig erledigt
https://forum.fhem.de/index.php/topic,106278.msg1049877.html#msg1049877


* a-culw Firmware für MapleSduino, erledigt
https://forum.fhem.de/index.php/topic,106278.msg1037726.html#msg1037726


* Selbstbau_CUL mit nano -> deprecated Hinweis
Ins Wiki
https://wiki.fhem.de/wiki/Selbstbau_CUL
ein Hinweis, daß der nanocul für Neubauten nicht mehr verwendet werden soll, mit Hinweis auf die MapleSduino und MapleCul Hardware


* unterstützung der MapleSduino Firmware auch vom offiziellen Signalduino fhem Modul
Momentan werden vom offiziellen Signalduino fhem Modul der FSK Empfang und die erweiterten Befehle und Ausgaben noch nicht unterstützt.
Es sind angepasste und erweitete fhem Module notwendig:
https://github.com/Ralf9/RFFHEM/issues/4
https://forum.fhem.de/index.php/topic,111653.msg1058900.html#msg1058900

sash.sc:
Lässt sich das sketch von esp8266 nicht ohne Probleme auf dem esp32 portieren?

Gesendet von meinem MI 9 mit Tapatalk

Ralf9:

--- Zitat von: sash.sc ---Hallo Ralf.

Ich habe einen wemos als Signalduino am laufen.

Ist da die Hardware nicht ausreichend?
Oder möchtest du den LAN Anschluss haben?

Gruß Sascha

--- Ende Zitat ---
ja, ich möchte einen LAN Anschluss haben.
Wenn WLAN dann gleich den ESP32



--- Zitat von: Beta-User am 07 Januar 2020, 11:17:23 ---Wunschliste II: MapleSignalduino (mit LAN+durchgereichten seriellen Interfaces, auf MapleCUN-Basis)...

--- Ende Zitat ---

Ja sowas ähnliches habe ich in nächster Zeit vor,  den Maple Mini und das LAN Modul habe ich schon (siehe Anlage)
Der Maple Mini hat ja 2 SPI Busse, kann man da auf einem SPI das LAN Modul und auf dem anderen SPI dann zwei cc1101 Module anschließen?

Im ersten Schritt reicht für mich erstmal nur ein cc1101 Modul
Für die durchgereichten seriellen Interfaces werde ich Hilfe gebrauchen, das bekomme ich nicht alleine hin.


locutus:
Hallo Ralf,

der STM32 ist schon eine gute Wahl, allerdings etwas aufwendiger in der Programmierung als ein ATMEGA. Eventuell kannst du die SPI-Anbindung vom mapleCUL stibitzen.

Ich versuche schon seit einiger Zeit dem CSM/megaCUL (ATMEGA1284P) SIGNALDuino beizubringen. Aber trotz Portanpassungen in der Firmware wird der CC1101 nicht erkannt.
Hast Du eventuell Interesse an einem CSM (mehr SRAM, zwei UART, usw.)? … ist geschenkt!

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln