Maple-SignalDuino: Unterschied zwischen den Versionen

Aus FHEMWiki
K (Wikifiziert, kategorisiert, Forenlinks über Vorlage, div. kleinere Änderungen)
Zeile 1: Zeile 1:
{{Infobox Hardware
|Bild=PlatzHalter.png
|Bildbeschreibung=
|HWProtocol=diverse
|HWType=Transceiver
|HWCategory=
|HWComm=
|HWChannels=
|HWVoltage=
|HWPowerConsumption=
|HWPoweredBy=
|HWSize=
|HWDeviceFHEM=modifiziertes [[SIGNALduino]]
|HWManufacturer=Eigenbau}}
=== Einleitung ===
=== Einleitung ===
Der Maple-SignalDuino (Maple-SDuino) ist ein I/O Gerät zur Funkübertragung basierend auf dem [https://www.heise.de/developer/artikel/Maple-Mini-ein-weiteres-STM32F103-Board-4010625.html Maple-Mini der ursprüglich von LeafLabs] ebtwickelt wurde. Der STM32F103 bietet deutlich mehr Ressourcen als die Atmel/Microchip Mega-328 Mikrocontroller der bisherigen Arduino Plattformen.
Der Maple-SignalDuino (Maple-SDuino) ist ein I/O Gerät zur Funkübertragung basierend auf dem [https://www.heise.de/developer/artikel/Maple-Mini-ein-weiteres-STM32F103-Board-4010625.html Maple-Mini], der ursprüglich von LeafLabs entwickelt wurde. Der STM32F103 bietet deutlich mehr Ressourcen als die Atmel/Microchip Mega-328 Mikrocontroller der bisherigen Arduino Plattformen.


=== Software ===
=== Software ===
==== Neuerungen ====
==== Neuerungen ====
'''Bei dieser Version für den Maple Mini gibt es u.a. die folgenden Neuerungen:'''
'''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.
* 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
* Der Messagepuffer hat nun eine maximale Größe von 1500 Pulsen Es gibt nun zwei 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  
* 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
::''CSmaxMuPrintx256'' - damit kann die maximale Länge von MU-Nachrichten konfiguriert werden. Der Wert wird mit 256 multipliziert
* '''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
* Die zweite und folgenden MS-Nachrichten werden nun mit der vorherigen MS-Nachricht verglichen; sind sie gleich, wird am Ende ein "Q" ausgegeben. Werden drei gleiche MS-Nachrichten in Folge empfangen, so werden die folgenden MS-Nachrichten nicht mehr ausgegeben. Per default werden vier MS-Nachrichten ausgegeben, dies kann z.B. mit  CSmscnt=8 auf acht 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
* 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
* '''br''' - damit wird von allen cc1101 eine Bankinfo ausgegeben
* '''bs''' - damit wird eine Übersicht von allen Bänken 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 '''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), bedeutet, dass dieses Modul nicht richtig erkannt wurde, ein "i" bedeutet, dass das Modul zwar korrekt erkannt wurde, aber noch keiner Bank zugeordnet wurde. Wenn ein Modul nicht aufgeführt ist, dann ist es noch deaktiviert.  
* Die Datenkomprimierung für MS- und MU-Nachrichten (config: Mred=1) ist nun nicht mehr notwendig.
* Die Datenkomprimierung für MS- und MU-Nachrichten (config: Mred=1) ist nun nicht mehr notwendig.


==== Kompilieren ====
==== Kompilieren ====
Wer es selber compilieren will: <nowiki>https://github.com/Ralf9/SIGNALDuino/tree/dev-r41x_cc1101</nowiki> <nowiki>https://forum.fhem.de/index.php/topic,106278.msg1027914.html#msg1027914</nowiki>
Wer es selber compilieren will: <nowiki>https://github.com/Ralf9/SIGNALDuino/tree/dev-r41x_cc1101</nowiki> ({{Link2Forum|Topic=106278|Message=1027914|LinkText=siehe auch diesen Forenbeitrag}})


==== Bootloader ====
==== Bootloader ====
Zeile 26: Zeile 39:
Hier ist die Firmware: <nowiki>https://github.com/Ralf9/SIGNALDuino/releases</nowiki>
Hier ist die Firmware: <nowiki>https://github.com/Ralf9/SIGNALDuino/releases</nowiki>


Es gibt momentan Binaries für USB, und für den MapleSduino als LAN Version: <nowiki>https://forum.fhem.de/index.php/topic,106278.msg1049877.html#msg1049877</nowiki>
Es gibt momentan Binaries für USB und für den MapleSduino als LAN Version in diesem {{Link2Forum|Topic=106278|Message=1049877|LinkText=Forenbeitrag}}.


Die "Maple_sduino_USB....bin" ist für die Belegung siehe diese Wiki-Seite.
Die "Maple_sduino_USB....bin" ist für die Belegung siehe diese Wiki-Seite.


Die "Maple_cul_USB_....bin" ist für den Maple Cul und Maple-CUN.
Die "Maple_cul_USB_....bin" ist für den MapleCUL und [[MapleCUN]].
 
:<code>sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_sduino_Boot20_USB_410dev200501.bin -R</code>
sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_sduino_Boot20_USB_410dev200501.bin -R
 
oder
oder
 
:<code>sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_cul_Boot20_USB_410dev200501.bin -R</code>
sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_cul_Boot20_USB_410dev200501.bin -R


==== Nutzung in FHEM ====
==== Nutzung in FHEM ====
Für die die komfortable Bedienung und für FSK ist ein angepasstes 00_SIGNALduino Modul notwendig: <nowiki>https://forum.fhem.de/index.php/topic,111653.msg1058900.html#msg1058900</nowiki>
Für die die komfortable Bedienung und für FSK ist ein {{Link2Forum|Topic=111653|Message=1058900|LinkText=angepasstes 00_SIGNALduino Modul}} notwendig. Weitere Informationen:
 
* {{Link2Forum|Topic=106278|Message=1032098|LinkText=Erste Schritte}}
Erste Schritte: <nowiki>https://forum.fhem.de/index.php/topic,106278.msg1032098.html#msg1032098</nowiki>
* {{Link2Forum|Topic=58396|Message=497921|LinkText=allgemeine Befehlsübersicht}}
 
* Beschreibung {{Link2Forum|Topic=106594|Message=1004463|LinkText="FSK mit dem SIGNALDuino"}}
Hier ist eine allgemeine Befehlsübersicht: <nowiki>https://forum.fhem.de/index.php/topic,58396.msg497921.html#msg497921</nowiki>
 
Hier ist eine Beschreibung "FSK mit dem SIGNALDuino": <nowiki>https://forum.fhem.de/index.php/topic,106594.msg1004463.html#msg1004463</nowiki>


Neuerungen
Neuerungen
Zeile 57: Zeile 64:


==== Aufbau der Hardware ====
==== Aufbau der Hardware ====
Ab der Version 4.1.0 werden bis zu 4 cc1101 Module (A-D) unterstützt
Ab der Version 4.1.0 werden bis zu vier cc1101 Module (A-D) unterstützt


Beim MapleSduino sind die cc1101 Module an SPI2 angeschlossen:
Beim MapleSduino sind die cc1101 Module an SPI2 angeschlossen:
Zeile 77: Zeile 84:


===== Platine =====
===== Platine =====
Es gibt von [https://forum.fhem.de/index.php/topic,109220.0.html @Ranseyer eine Platine].
Es gibt von {{Link2FU|12535|Ranseyer}} eine {{Link2Forum|Topic=109220|LinkText=Platine}}.


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.
Es gibt zwei 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.
Zur Orientierung ist Pin 31 beschriftet.
Zeile 100: Zeile 109:
* Koaxbuchsen: <nowiki>https://de.aliexpress.com/item/4000009303962.html</nowiki>
* Koaxbuchsen: <nowiki>https://de.aliexpress.com/item/4000009303962.html</nowiki>


Antennen: Infos gibt es dazu reich im Netz. Auch im [https://forum.fhem.de/index.php/topic,93021.0.html Antennenthread im FHEM-Forum].
Antennen: Infos gibt es dazu reichlich im Internet, auch im {{Link2Forum|Topic=93021|LinkText=Antennenthread im FHEM-Forum}}
 
== Links ==
* Forenthema: {{Link2Forum|Topic=106278|LinkText=Entwicklung SIGNALDuino Empfänger Firm- und Hardware V 4.x.x auch auf Maple Mini}}
 
[[Kategorie:Arduino]]
[[Kategorie:Interfaces]]
[[Kategorie:CUL]]

Version vom 16. Juni 2020, 15:04 Uhr

Maple-SignalDuino
frameless
Allgemein
Protokoll diverse
Typ Transceiver
Kategorie
Technische Details
Kommunikation
Kanäle
Betriebsspannung
Leistungsaufnahme
Versorgung
Abmessungen
Sonstiges
Modulname modifiziertes SIGNALduino
Hersteller Eigenbau

Einleitung

Der Maple-SignalDuino (Maple-SDuino) ist ein I/O Gerät zur Funkübertragung basierend auf dem Maple-Mini, der ursprüglich von LeafLabs entwickelt wurde. Der STM32F103 bietet deutlich mehr Ressourcen als die Atmel/Microchip Mega-328 Mikrocontroller der bisherigen Arduino Plattformen.

Software

Neuerungen

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 zwei 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 drei gleiche MS-Nachrichten in Folge empfangen, so werden die folgenden MS-Nachrichten nicht mehr ausgegeben. Per default werden vier MS-Nachrichten ausgegeben, dies kann z.B. mit  CSmscnt=8 auf acht 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), bedeutet, dass dieses Modul nicht richtig erkannt wurde, ein "i" bedeutet, dass das Modul zwar korrekt erkannt wurde, aber noch keiner Bank zugeordnet wurde. Wenn ein Modul nicht aufgeführt ist, dann ist es noch deaktiviert.
  • Die Datenkomprimierung für MS- und MU-Nachrichten (config: Mred=1) ist nun nicht mehr notwendig.

Kompilieren

Wer es selber compilieren will: https://github.com/Ralf9/SIGNALDuino/tree/dev-r41x_cc1101 (siehe auch diesen Forenbeitrag)

Bootloader

Ab der Version 4.1.0-dev200427 ist für die bin Files der Bootloader2.0 erforderlich.

Flashen

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

Es gibt momentan Binaries für USB und für den MapleSduino als LAN Version in diesem Forenbeitrag.

Die "Maple_sduino_USB....bin" ist für die Belegung siehe diese Wiki-Seite.

Die "Maple_cul_USB_....bin" ist für den MapleCUL und MapleCUN.

sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_sduino_Boot20_USB_410dev200501.bin -R

oder

sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_cul_Boot20_USB_410dev200501.bin -R

Nutzung in FHEM

Für die die komfortable Bedienung und für FSK ist ein angepasstes 00_SIGNALduino Modul notwendig. Weitere Informationen:

Neuerungen

Hardware

Als Hardware wird der STM32F103CBT6 Maple Mini verwendet:

Aufbau der Hardware

Ab der Version 4.1.0 werden bis zu vier 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.

Es gibt zwei Bestückungsvarianten:

  1. normal (die USB Buchse und die Reset Taste sind oben),
  2. 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 Beschriftung 433 und 868 MHz manuell zu ändern!

Teile
  • Maple Mini / STM32F103CBT6: https://de.aliexpress.com/item/1400667476.html oder auch schneller bei Amazon

Funkmodule nach Wahl:

Empfohlen:

  • Puffer-Kondensator 10-500uF. Z.B. als C5 mit 10uF: Conrad Artikelnummer 457966

Optional:

  • LAN Modul USR-ES1 W5500: https://de.aliexpress.com/item/32598945210.html
  • Abblock-Kondensator mit ein paar pF bis nF an VCC des Maple. Z.B. als C6 mit 22PF: Conrad Artikelnummer 445432
  • Koaxbuchsen: https://de.aliexpress.com/item/4000009303962.html

Antennen: Infos gibt es dazu reichlich im Internet, auch im Antennenthread im FHEM-Forum

Links