<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fritz+Muster</id>
	<title>FHEMWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fritz+Muster"/>
	<link rel="alternate" type="text/html" href="http://wiki.fhem.de/wiki/Spezial:Beitr%C3%A4ge/Fritz_Muster"/>
	<updated>2026-04-15T00:39:18Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Maple-SignalDuino&amp;diff=37105</id>
		<title>Maple-SignalDuino</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Maple-SignalDuino&amp;diff=37105"/>
		<updated>2022-01-14T11:34:09Z</updated>

		<summary type="html">&lt;p&gt;Fritz Muster: Ergänzung in /* Nutzung in FHEM */ Austausch des FHEM Moduls 00_SIGNALduino.pm&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=Maple-SDuino-Photo1.jpg&lt;br /&gt;
|Bildbeschreibung=Maple-SignalDuino, links als LAN-, rechts als USB-Version&lt;br /&gt;
|HWProtocol=diverse&lt;br /&gt;
|HWType=Transceiver&lt;br /&gt;
|HWCategory=&lt;br /&gt;
|HWComm=Funk, 433MHz oder 868MHz&lt;br /&gt;
|HWChannels=f&lt;br /&gt;
|HWVoltage=3,3V nach Spannungsregler&lt;br /&gt;
|HWPowerConsumption=&lt;br /&gt;
|HWPoweredBy=USB&lt;br /&gt;
|HWSize=79 x 27&amp;amp;nbsp;mm&lt;br /&gt;
|HWDeviceFHEM=modifiziertes [[SIGNALduino]]&lt;br /&gt;
|HWManufacturer=Eigenbau}}&lt;br /&gt;
=== Einleitung ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Einfacher SIGNALduino mit nur einem cc1101 Modul (alternativ) ===&lt;br /&gt;
Es wird dabei nur das CC1101_1 (Radio B) - für OOK/ASK verwendet.&lt;br /&gt;
&lt;br /&gt;
Schaltplan siehe [[Maple-SignalDuino#Aufbau der Hardware]]. Es kann auch die Platine von @Ranseyer verwendet werden, wenn nur das zweite cc1101 Modul bestückt wird.&lt;br /&gt;
[[Datei:MapleSduino_Schaltplan_nur_Modul_B.png|200px|thumb|right|Beispielschaltplan Maple-SIGNALduino]]  &lt;br /&gt;
&lt;br /&gt;
Es ist keine cc1101 Modul Konfiguration notwendig, das Modul/Radio B wird automatisch initialisiert.&lt;br /&gt;
&lt;br /&gt;
Zur Inbetriebnahme ist folgendes notwendig:&lt;br /&gt;
* [[Maple-SignalDuino#Bootloader flashen|Bootloader 2.0 über USB flashen]] &lt;br /&gt;
* [[Maple-SignalDuino#Firmware flashen|Firmware flashen]]   &lt;br /&gt;
* [[Maple-SignalDuino#Nutzung in FHEM|evtl. angepasstes 00_SIGNALduino Modul installieren]]&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
&amp;lt;u&amp;gt;Dieses Projekt ist &#039;&#039;&#039;NICHT&#039;&#039;&#039; zu verwechseln mit dem Originalprojekt.&amp;lt;/u&amp;gt; Es handelt sich hierbei um einen Clone von [https://github.com/RFD-FHEM/RFFHEM RFFHEM] und [https://github.com/RFD-FHEM/SIGNALDuino SIGNALduino].&lt;br /&gt;
&lt;br /&gt;
==== Neuerungen ====&lt;br /&gt;
&#039;&#039;&#039;Bei dieser Version für den Maple Mini gibt es u.a. die folgenden Neuerungen:&#039;&#039;&#039;&lt;br /&gt;
* Das Sendekommando kann eine maximale Länge von 600 Zeichen haben.&lt;br /&gt;
* Der Messagepuffer hat nun eine maximale Größe von 1500 Pulsen Es gibt nun zwei neue Konfigurationsvariabl&lt;br /&gt;
**  ::&#039;&#039;CSmaxMsgSizex256&#039;&#039; - damit kann die Größe des Messagepuffers konfiguriert werden. Der Wert wird mit 256 multipliziert, d.h. 4 ergibt eine Messagepuffergröße von 1024&lt;br /&gt;
** ::&#039;&#039;CSmaxMuPrintx256&#039;&#039; - damit kann die maximale Länge von MU-Nachrichten konfiguriert werden. Der Wert wird mit 256 multipliziert&lt;br /&gt;
&lt;br /&gt;
* Die zweite und folgenden MS-Nachrichten werden nun mit der vorherigen MS-Nachricht verglichen; sind sie gleich, wird am Ende ein &amp;quot;Q&amp;quot; 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&lt;br /&gt;
* Befehl &#039;&#039;&#039;CR&#039;&#039;&#039; - configRadio &lt;br /&gt;
** &#039;&#039;&#039;CRE&amp;lt;A-D&amp;gt;&#039;&#039;&#039; aktiviert ein cc1101 Modul z.B. CREA aktiviert das erste cc1101 Modul A &lt;br /&gt;
** &#039;&#039;&#039;CRD&amp;lt;A-D&amp;gt;&#039;&#039;&#039; deaktiviert ein cc1101 Modul z.B. CRDA deaktiviert das erste cc1101 Modul A&lt;br /&gt;
* Der Befehl &#039;&#039;&#039;b&#039;&#039;&#039; wurde erweitert:&lt;br /&gt;
** &#039;&#039;&#039;b&amp;lt;A-D&amp;gt;&amp;lt;0-9&amp;gt;&#039;&#039;&#039;  initialisiert ein cc1101 Modul (A-D) mit einer Speicherbank (0-9) z.B. bA3 initialisiert das erste cc1101 Modul A mit der Speicherbank 3&lt;br /&gt;
** &#039;&#039;&#039;b&amp;lt;A-D&amp;gt;&#039;&#039;&#039; selektiert ein cc1101 Modul (A-D) z.B. selektiert bA das erste cc1101 Modul A. Die Befehle zum lesen und schreiben vom EEPROM und cc1101 Registern werden auf das selektierte cc1101 angewendet.&lt;br /&gt;
** &#039;&#039;&#039;mit nachgestelltem W&#039;&#039;&#039; wird es im EEPROM gespeichert z.B. bA1&#039;&#039;&#039;W&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;br&#039;&#039;&#039; - damit wird von allen cc1101 eine Bankinfo ausgegeben&lt;br /&gt;
** &#039;&#039;&#039;bs&#039;&#039;&#039; - damit wird eine Übersicht von allen Bänken ausgegeben&lt;br /&gt;
* Mit &#039;&#039;&#039;V&#039;&#039;&#039; (get Version) bekommt man eine Übersicht über die Module z.B. (R: A1 B0*). Mit * wird das selektierte cc1101 Modul markiert. Ein &amp;quot;-&amp;quot; hinter dem Modul (A-D), bedeutet, dass dieses Modul nicht richtig erkannt wurde, ein &amp;quot;i&amp;quot; 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. &lt;br /&gt;
* &#039;&#039;&#039;XQ&#039;&#039;&#039; - deaktiviert Empfang aller cc1101 Module&lt;br /&gt;
** &#039;&#039;&#039;XQ&amp;lt;A-D&amp;gt;&#039;&#039;&#039; - deaktiviert Empfang einzelner cc1101 Module&lt;br /&gt;
* &#039;&#039;&#039;XE&#039;&#039;&#039; - aktiviert Empfang aller cc1101Module&lt;br /&gt;
** &#039;&#039;&#039;XE&amp;lt;A-D&amp;gt;&#039;&#039;&#039; - aktiviert Empfang einzelner cc1101 Module&lt;br /&gt;
Bei der &#039;&#039;&#039;USB Version&#039;&#039;&#039; ist durch anhängen von W ein &#039;&#039;&#039;XQW&#039;&#039;&#039; 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 &amp;quot;irx0&amp;quot; in der Version erkennbar.&lt;br /&gt;
* Die Datenkomprimierung für MS- und MU-Nachrichten (config: Mred=1) ist nun nicht mehr notwendig.&lt;br /&gt;
&lt;br /&gt;
==== Kompilieren ====&lt;br /&gt;
Wer es selber compilieren will: https://github.com/Ralf9/SIGNALDuino/tree/dev-r41x_cc1101 ({{Link2Forum|Topic=106278|Message=1027914|LinkText=siehe auch diesen Forenbeitrag}}) Außerdem besteht jetzt auch die Möglichkeit mit platformio zu kompilieren. Weiter Infos dazu [https://forum.fhem.de/index.php/topic,106278.msg1165616.html#msg1165616 hier].&lt;br /&gt;
&lt;br /&gt;
=== Flashen ===&lt;br /&gt;
Es empfiehlt sich, sowohl den Bootloader als auch die Firmware im zunächst unbestückten Zustand des MapleSduino auf selbigen zu flashen. Im Forum wird immer wieder mal von nicht funktionierenden Bauteilen wie Maple, LAN Modul oder auch nicht korrekt funktionierenden CC1101 Modulen berichtet. Sind alle Bauteile auf entsprechenden Platinen erst einmal verlötet, ist es sehr schwierig defekte Bauteile zu entlöten bzw. auszutauschen. Außerdem ist eine stabile Spannungsversorgung vom Maple während der Flashvorgänge zwingend erforderlich.&lt;br /&gt;
&lt;br /&gt;
==== Bootloader flashen ====&lt;br /&gt;
Ab der Version 4.1.0-dev200427 ist für die .bin Files der Bootloader2.0 erforderlich. Es kann durchaus möglich sein das auf einem frisch gelieferten Maple bereits der Bootloader 2.0 drauf ist. Daher empfiehlt es sich zunächst den Versuch zu starten direkt die [[Maple-SignalDuino#Firmware flashen|Firmware zu flashen]]. Ist der benötigte Bootloader 2.0 nicht auf dem Maple so muss dieser einmalig auf dem Maple installiert werden. Ist das erfolgt so kann die Firmware beliebig oft geflasht werden. &lt;br /&gt;
&lt;br /&gt;
Um den Flashvorgang zu vereinfachen dient folgendes kleine Skript:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
while (true); do&lt;br /&gt;
echo &amp;quot;Debug-Port des MAPLE per FTDI-USB2Seriell Wandler anschliessen (RX+TX gekreuzt)!, Bot-Taste halten und erst dann MAPLE mit Spannung versorgen. &amp;quot;&lt;br /&gt;
sudo stm32flash -w maple_mini_boot20.bin -v /dev/ttyUSB0&lt;br /&gt;
if [ $? -eq 0 ]&lt;br /&gt;
then break&lt;br /&gt;
fi&lt;br /&gt;
sleep 1&lt;br /&gt;
done&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Der Bootloader als .bin Datei steht [https://github.com/rogerclarkmelbourne/STM32duino-bootloader/blob/master/binaries/maple_mini_boot20.bin hier] zum Download bereit. Weitere Details zum Flashen des Bootloaders&lt;br /&gt;
* [[MapleCUN#Bootloader_flashen|MapleCUN]]&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1073244|LinkText=Bootloader 2.0 über USB flashen}}&lt;br /&gt;
* https://github.com/heliflieger/a-culfw/tree/master/culfw/Devices/MapleCUN&lt;br /&gt;
&lt;br /&gt;
==== Firmware flashen ====&lt;br /&gt;
Ist der benötigte Bootloader erst einmal auf dem MapleSduino drauf, kann die Firmware des MapleSduino geflasht werden.  Abhängig davon, wie der MapleSduino in das System eingebunden werden soll, (USB, LAN oder WIFI) gibt es momentan jeweilige Binaries für &#039;&#039;&#039;USB&#039;&#039;&#039;, &#039;&#039;&#039;LAN&#039;&#039;&#039; und &#039;&#039;&#039;Wifi/serial&#039;&#039;&#039; (tx/rx vom DBG Anschluss)&lt;br /&gt;
* LAN gibt es momentan nur für den MapleSduino; siehe dazu  {{Link2Forum|Topic=106278|Message=1049877|LinkText=diesen Forenbeitrag}}.&lt;br /&gt;
* serial ist z.B. für eine wifi-serial bridge mit dem ESP (z.B. ESP-link)&lt;br /&gt;
Es gibt für den MapleSduino und den MapleCul verschiedene Binaries:&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;Maple_sduino....bin&amp;quot; ist für den MapleSduino&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;Maple_cul_....bin&amp;quot; ist für den MapleCUL und [[MapleCUN]].&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_sduino_USB_411dev200627.bin -R&amp;lt;/code&amp;gt;&lt;br /&gt;
oder&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_cul_USB_411dev200627.bin -R&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[MapleCUN#Trick zum USB-Flashen (Code Schnipsel für kleines Skript)|Hier]] steht ein kleines Script zur Verfügung welches den Flashvorgang sehr vereinfacht und hier ist die Firmware zu finden: https://github.com/Ralf9/SIGNALDuino/releases&lt;br /&gt;
&lt;br /&gt;
Die verfügbare &#039;&#039;&#039;a-culw&#039;&#039;&#039; Firmware ist in diesem {{Link2Forum|Topic=106278|Message=1037726|LinkText=Forenbeitrag}} beschrieben und herunterladbar.&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Als Hardware wird der STM32F103CBT6 Maple Mini verwendet:&lt;br /&gt;
* 128 Kbytes Flash&lt;br /&gt;
* 20 Kbytes SRAM&lt;br /&gt;
* 2 SPI&lt;br /&gt;
* Als optionales [https://www.usriot.com/download/ES1/USR-ES1-EN%20V1.3.pdf LAN Modul den USR-ES1 W5500].&lt;br /&gt;
&lt;br /&gt;
==== Aufbau der Hardware ====&lt;br /&gt;
[[Datei:MapleMini-Ralf9_Schaltplan_%281%29.jpg|mini|rechts|Schaltplan]]&lt;br /&gt;
Ab der Version 4.1.0 werden bis zu vier cc1101 Module (A-D) unterstützt&lt;br /&gt;
&lt;br /&gt;
Beim MapleSduino sind die cc1101 Module an SPI2 angeschlossen:&lt;br /&gt;
* 28 MOSI&lt;br /&gt;
* 29 MISO&lt;br /&gt;
* 30 SCLK&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_0 (&#039;&#039;&#039;A&#039;&#039;&#039;) &lt;br /&gt;
* 31  CSN  (Chip Select)&lt;br /&gt;
* 11  GD02 (Receive)&lt;br /&gt;
* 10  GD00  (send), optional für die a-culw&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_1 (&#039;&#039;&#039;B&#039;&#039;&#039;) - 433 MHz für OOK/ASK &lt;br /&gt;
* 12  CSN  (Chip Select)&lt;br /&gt;
* 18  GD02 (Receive)&lt;br /&gt;
* 17  GD00  (send)&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_2 (&#039;&#039;&#039;C&#039;&#039;&#039;)&lt;br /&gt;
* 15  CSN  (Chip Select)&lt;br /&gt;
* 16  GD02 (Receive)&lt;br /&gt;
* 13  GD00  (send), optional für die a-culw&lt;br /&gt;
&lt;br /&gt;
===== Platine =====&lt;br /&gt;
Es gibt von {{Link2FU|12535|Ranseyer}} eine {{Link2Forum|Topic=109220|LinkText=Platine}}. Auf dieser Platine kann der Maple-Mini auf zwei unterschiedliche Arten bestückt werden: &lt;br /&gt;
#normal (die USB Buchse und reset/but Taste sind oben, somit sind die beiden Taster direkt zu betätigen)[[Datei:Maple bestueckung gedreht.jpg|mini|2. Maple Bestückung gedreht]]&lt;br /&gt;
#gedreht (USB Buchse ist unten in der Aussparung und kann zB. mit Heisskleber fixiert werden, reset/but Taster sind durch entsprechende Löcher/Langloch in der Platine zu betätigen)&lt;br /&gt;
Zur Orientierung ist Pin 31 auf der Platine beschriftet.&lt;br /&gt;
&lt;br /&gt;
Es können bis zu 3 CC1101 Module/Stamps an der Platine betrieben werden. 2 Module 868MHz und 433MHz werden direkt auf die Platine gelötet. Das dritte Modul/Stamp wird Mithilfe einzelner Adern an die Platine (Lötaugen CC3A-VCC,GND,MOSI,SCK und CC3B-CS2,Out2,IN2,MISO2) angeschlossen&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wichtig: Bei den V0.1 und V0.2 Platinen ist die Beschriftung 433 und 868 MHz manuell zu ändern!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== Teile =====&lt;br /&gt;
* Maple Mini / STM32F103CBT6: https://de.aliexpress.com/item/1400667476.html oder auch schneller bei Amazon&lt;br /&gt;
&lt;br /&gt;
Funkmodule nach Wahl:&lt;br /&gt;
* CC1101 868MHZ:  https://de.aliexpress.com/item/32635393463.html, https://de.aliexpress.com/item/4000594832541.html&lt;br /&gt;
* CC1101 433 Mhz: https://de.aliexpress.com/item/32472259186.html&lt;br /&gt;
&lt;br /&gt;
Empfohlen:&lt;br /&gt;
* Puffer-Kondensator 10-500uF. Z.B. als C5 mit 10uF: Conrad Artikelnummer 457966&lt;br /&gt;
&lt;br /&gt;
Optional:&lt;br /&gt;
* LAN Modul USR-ES1 W5500: https://de.aliexpress.com/item/32598945210.html&lt;br /&gt;
* Abblock-Kondensator mit ein paar pF bis nF an VCC des Maple. Z.B. als C6 mit 22PF: Conrad Artikelnummer 445432&lt;br /&gt;
* Koaxbuchsen: https://de.aliexpress.com/item/4000009303962.html&lt;br /&gt;
&lt;br /&gt;
Antennen: Infos dazu gibt es reichlich im Internet, auch im {{Link2Forum|Topic=93021|LinkText=Antennenthread im FHEM-Forum}}&lt;br /&gt;
&lt;br /&gt;
== Nutzung in FHEM ==&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;big&amp;gt;Austausch des FHEM Moduls 00_SIGNALduino.pm&amp;lt;/big&amp;gt; ===&lt;br /&gt;
Für die komfortable Bedienung und für FSK ( Empfang/Dekodierung vom LaCrosse Protokoll benötigt FSK) ist ein {{Link2Forum|Topic=111653|Message=1058900|LinkText=angepasstes 00_SIGNALduino Modul}} notwendig.&lt;br /&gt;
&lt;br /&gt;
Wird die ursprüngliche 00_SIGNALduino.pm genutzt, ist das dekodieren von LaCrosse Sensoren nicht möglich und es bedarf recht umständlicher Zeichenfolgen, um z.B den jeweiligen Sendemodus eines CC1101 Moduls zu konfigurieren. So lautet z.B. die Zeichenfolge für die Konfiguration des Sendemodus &#039;&#039;Mode 1 - IT+ 17.241 kbps (LaCrosse)&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
get sduino raw CW0001,0246,0302,042D,05D4,06FF,0700,0802,0D21,0E65,0F6A,1089,115C,1206,1322,14F8,1556,1700,1818,1916,1B43,1C68,1D91,2211,23E9,242A,2500,2611,3D00,3E04,404d,4131,425f,4349,4454,452b,4600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wird die angepasste 00_SIGNALduino.pm genutzt so steht für den obigen Befehl folgender Befehl im FHEM Device zur Verfügung&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
set sduino rfmode Lacrosse_mode1_17241&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Bestückung der Platine (CC1101 Module/Stamps 868MHz / 433MHz) kann bei der Verwendung des angepassten SIGNALduino Moduls frei gewählt werden. Es gilt lediglich die Beschränkung das slowrf nur bei Modul A und B möglich ist.     &lt;br /&gt;
&lt;br /&gt;
Ein &#039;&#039;&#039;update auf die angepasste 00_SIGNALduino.pm&#039;&#039;&#039;  kann gemacht werden mit&lt;br /&gt;
 &amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/Ralf9/RFFHEM/master/controls_ralf9_signalduino.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;oder&#039;&#039;&#039; die Datei   [https://raw.githubusercontent.com/Ralf9/RFFHEM/master/FHEM/00_SIGNALduino.pm 00_SIGNALduino.pm] ins FHEM Verzeichnis und die [https://raw.githubusercontent.com/Ralf9/RFFHEM/master/FHEM/lib/signalduino_protocols.pm signalduino_protocols.pm] ins lib Verzeichnis kopieren, dann fhem neu starten.&lt;br /&gt;
&lt;br /&gt;
Hier gibt es noch weitere Details zu dem Thema:&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1032098|LinkText=Erste Schritte}}&lt;br /&gt;
* {{Link2Forum|Topic=58396|Message=497921|LinkText=allgemeine Befehlsübersicht}}&lt;br /&gt;
* Beschreibung {{Link2Forum|Topic=106594|Message=1004463|LinkText=&amp;quot;FSK mit dem SIGNALDuino&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
Wenn gewünscht kann jederzeit mit dem Befehl&lt;br /&gt;
:&amp;lt;code&amp;gt;update all https://raw.githubusercontent.com/RFD-FHEM/RFFHEM/master/controls_signalduino.txt &amp;lt;/code&amp;gt;&lt;br /&gt;
auf die ursprüngliche 00_SIGNALduino.pm zurück gewechslt werden.&lt;br /&gt;
&lt;br /&gt;
=== Define in FHEM ===&lt;br /&gt;
==== USB ====&lt;br /&gt;
Ist der Maple-SDuino per USB in FHEM eingebunden muss zunächst die USB-ID des FTDI Chip vom Maple ermittelt werden. {{Randnotiz|RNTyp=g|RNText=Weitere Hintergrundinformationen zu dieser Art der Adressierung von USB-Geräten allgemein sind in [[Mehrere USB-Geräte einbinden|diesem Beitrag]] zu finden.}}Dazu im Terminal den folgenden Befehl ausführen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ls -l /dev/serial/by-id &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das ergibt z.B. diese Ausgabe:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
lrwxrwxrwx 1 root root 13 28. Jun 19:13 usb-STMicroelectronics_MAPLEMINI_F103CB_CDC_in_FS_Mode_XXXXXXXXX-if00 -&amp;gt; ../../ttyACM0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der define Befehl in FHEM ist nun folgender&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;eigener-SIGNALduino-Name&amp;gt; SIGNALduino /dev/serial/by-id/&#039;&#039;&#039;&#039;&#039;usb-STMicroelectronics_MAPLEMINI_F103CB_CDC_in_FS_Mode_XXXXXXXX-if00&#039;&#039;&#039;&#039;&#039;@115200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LAN ====&lt;br /&gt;
Ist der Maple-SDuino per LAN in FHEM eingebunden so lautet das define   &lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;eigener-SIGNALduino-Name&amp;gt; SIGNALduino 192.168.0.244:23 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei der LAN Version ist in der Grundeinstellung DHCP vom Maple-SignalDuino aktiviert. In älteren bereits kompilierten .bin Files ist die LAN Config voreingestellt auf IP=192.168.0.244  Gateway=192.168.0.1  Netzwerk-Maske=255.255.255.0 &lt;br /&gt;
&lt;br /&gt;
Die Netzwerkeinstellungen können z.B mit Hilfe einer Telnet Verbindung geändert werden.  [[CUN Netzwerk einrichten]]&lt;br /&gt;
&lt;br /&gt;
Eine weitere Möglichkeit zur Konfiguration der Netzwerkeinstellungen des Maple-SDuino ist die Konfiguration über FHEM mit Hilfe der &#039;&#039;&#039;&#039;&#039;raw&#039;&#039;&#039;&#039;&#039; Befehle. Weiter Infos dazu hier [[CUN Netzwerk einrichten#Befehle|CUN Netzwerk einrichten]]&lt;br /&gt;
&lt;br /&gt;
=== Inbetriebnahme/Konfiguration ===&lt;br /&gt;
Ist der Maple-SDuino in Fhem definiert, so müssen je nach Bestückung die jeweiligen CC1101 Module konfiguriert werden. Beispielhaft hier die Konfiguration eines Maple-SDuino mit 3 CC1101 Modulen/Stamps. Das erste Modul (868 MHz) empfängt/dekodiert Slow/RF, das zweite Modul (433 MHz) ist für IT und das dritte (868 MHz) Modul ist für LaCrosse. In der Grundeinstellung ist zunächst nur das zweite Modul (433MHz - Radio B) aktiv. Module 1 und 3 (Radio A und Radio C) sind deaktiviert. Deshalb müssen zunächst die beiden Radios aktiviert werden, danach werden die jeweiligen Radios mit den in den Speicherbänken hinterlegten RFmodes initialisiert:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; CREA   #aktiviert Radio A&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; CREC   #aktiviert Radio C&lt;br /&gt;
&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; raw bA     #selektiert Radio A&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; cmdbank 0  #aktiviert Speicherbank 0 des Maple-SDuino&lt;br /&gt;
set &amp;lt;dein Maple-SDuino&amp;gt; rfmode SlowRF_CCFactoryReset   #speichert rfmode SlowRF in aktivierter Speicherbank&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; raw bA0W   #Zuordnung Radio A mit Speicherbank 0&lt;br /&gt;
&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; raw bB     #selektiert Radio B&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; cmdbank 1  #aktiviert Speicherbank 1 des Maple-SDuino&lt;br /&gt;
set &amp;lt;dein Maple-SDuino&amp;gt; rfmode SlowRF_CCFactoryReset   #speichert rfmode SlowRF in aktivierter Speicherbank&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; raw bB1W   #Zuordnung Radio A mit Speicherbank 1&lt;br /&gt;
&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; raw bC     #selektiert Radio C&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; cmdbank 2  #aktiviert Speicherbank 2 des Maple-SDuino&lt;br /&gt;
set &amp;lt;dein Maple-SDuino&amp;gt; rfmode LaCrosse_mode_17241   #speichert rfmode LaCrosse_17241 in aktivierter Speicherbank&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; raw bC2W   #Zuordnung Radio A mit Speicherbank 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Ergebnis steht dann nach dem Befehl &#039;&#039;&#039;&#039;&#039;get version&#039;&#039;&#039;&#039;&#039; im Reading &#039;&#039;&#039;version&#039;&#039;&#039; unter anderem &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
(R: A0* B1 C2)   # RadioA Speicherbank0, Radio B Speicherbank1, RadionC Specherbank2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nach dem Befehl &#039;&#039;&#039;&#039;&#039;get cmdbank r&#039;&#039;&#039;&#039;&#039; steht dann in den Internals des Maple-Sduino sinngemäß folgendes&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
a_ccconf   b=0 freq:868.350MHz bWidth:464KHz rAmpl:42dB sens:4dB (DataRate:5603.79Baud,Modulation:ASK/OOK) [boffs=0100*]&lt;br /&gt;
&lt;br /&gt;
b_ccconf   b=1 freq:433.920MHz bWidth:325KHz rAmpl:42dB sens:4dB (DataRate:5603.79Baud,Modulation:ASK/OOK) [boffs=0140]&lt;br /&gt;
&lt;br /&gt;
c_ccconf   b=2 freq:868.300MHz bWidth:203KHz rAmpl:33dB sens:8dB (DataRate:17257.69Baud) [boffs=0000]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fehlersuche, Diverse ===&lt;br /&gt;
Der Stromverbrauch der Transceiver ist typischerweise 17 mA für RX und 34 mA für TX pro Modul. Bei Inaktivität: 4 Transceiver, LAN-Modul, MAPLE ca 100mA.&lt;br /&gt;
&lt;br /&gt;
Wenn der SlowRF nicht mehr funktioniert: Per Default ist das cc1101 Modul der Bank 0 zugeordnet, dies kann mit get Version kontrolliert werden. Es muß in Version &amp;quot;B0&amp;quot; stehen z.B. (R: B0). Es kann auch ein Factory Reset vom Modul B versucht werden, dazu muß das Modul B selektiert sein (R: B0*)&lt;br /&gt;
 get sduino raw e&lt;br /&gt;
Antwort:&lt;br /&gt;
 ccFactoryReset done&lt;br /&gt;
 r=B b=0 rx=0 ccmode=0 sync=D391 ccconf=10B07157C43023B900070018146C070090 boffs=0000&lt;br /&gt;
&lt;br /&gt;
Wenn es immer noch nicht funktioniert kann auch mit &amp;quot;eC&amp;quot; ein factory Reset der Konfigeinstellungen im EEPROM durchgeführt werden.&lt;br /&gt;
 get sduino raw eC&lt;br /&gt;
Antwort:&lt;br /&gt;
 Init eeprom to defaults&lt;br /&gt;
 detect B: Partn=0 Ver=0x14&lt;br /&gt;
&lt;br /&gt;
Wenn ein nativer Mode (FSK) nicht mehr funktioniert: Dazu muss das entsprechende cc1101 Modul selektiert sein. Mit &amp;quot;get Version&amp;quot; kann dies kontrolliert werden. Ein &amp;quot;-&amp;quot; bedeutet, daß das Modul nicht erkannt wurde z.B. (A-). Ein &amp;quot;i&amp;quot; bedeutet, das dem Modul keine Bank zugeordnet wurde z.B.(Ai).&lt;br /&gt;
&lt;br /&gt;
Es kann versucht werden mit den raw Befehlen &amp;quot;e&amp;quot; und &amp;quot;CW...&amp;quot; die Bank neu zu konfigurieren.&lt;br /&gt;
Wenn dies alles nicht hilft, kann mit dem raw Befehl &amp;quot;eC&amp;quot; ein factory Reset der Konfigeinstellungen gemacht werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Forenthema: {{Link2Forum|Topic=106278|LinkText=Entwicklung SIGNALDuino Empfänger Firm- und Hardware V 4.x.x auch auf Maple Mini}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Arduino]]&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;br /&gt;
[[Kategorie:CUL]]&lt;/div&gt;</summary>
		<author><name>Fritz Muster</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Maple-SignalDuino&amp;diff=35925</id>
		<title>Maple-SignalDuino</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Maple-SignalDuino&amp;diff=35925"/>
		<updated>2021-07-26T11:39:26Z</updated>

		<summary type="html">&lt;p&gt;Fritz Muster: /* Inbetriebnahme/Konfiguration */  Fehlerkorrektur  /* LAN */ Ergänzungen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=Maple-SDuino-Photo1.jpg&lt;br /&gt;
|Bildbeschreibung=Maple-SignalDuino, links als LAN-, rechts als USB-Version&lt;br /&gt;
|HWProtocol=diverse&lt;br /&gt;
|HWType=Transceiver&lt;br /&gt;
|HWCategory=&lt;br /&gt;
|HWComm=Funk, 433MHz oder 868MHz&lt;br /&gt;
|HWChannels=f&lt;br /&gt;
|HWVoltage=3,3V nach Spannungsregler&lt;br /&gt;
|HWPowerConsumption=&lt;br /&gt;
|HWPoweredBy=USB&lt;br /&gt;
|HWSize=79 x 27&amp;amp;nbsp;mm&lt;br /&gt;
|HWDeviceFHEM=modifiziertes [[SIGNALduino]]&lt;br /&gt;
|HWManufacturer=Eigenbau}}&lt;br /&gt;
=== Einleitung ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Einfacher SIGNALduino mit nur einem cc1101 Modul (alternativ) ===&lt;br /&gt;
Es wird dabei nur das CC1101_1 (Radio B) - für OOK/ASK verwendet.&lt;br /&gt;
&lt;br /&gt;
Schaltplan siehe [[Maple-SignalDuino#Aufbau der Hardware]]. Es kann auch die Platine von @Ranseyer verwendet werden, wenn nur das zweite cc1101 Modul bestückt wird.&lt;br /&gt;
[[Datei:MapleSduino_Schaltplan_nur_Modul_B.png|200px|thumb|right|Beispielschaltplan Maple-SIGNALduino]]  &lt;br /&gt;
&lt;br /&gt;
Es ist keine cc1101 Modul Konfiguration notwendig, das Modul/Radio B wird automatisch initialisiert.&lt;br /&gt;
&lt;br /&gt;
Zur Inbetriebnahme ist folgendes notwendig:&lt;br /&gt;
* [[Maple-SignalDuino#Bootloader flashen|Bootloader 2.0 über USB flashen]] &lt;br /&gt;
* [[Maple-SignalDuino#Firmware flashen|Firmware flashen]]   &lt;br /&gt;
* [[Maple-SignalDuino#Nutzung in FHEM|evtl. angepasstes 00_SIGNALduino Modul installieren]]&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
&amp;lt;u&amp;gt;Dieses Projekt ist &#039;&#039;&#039;NICHT&#039;&#039;&#039; zu verwechseln mit dem Originalprojekt.&amp;lt;/u&amp;gt; Es handelt sich hierbei um einen Clone von [https://github.com/RFD-FHEM/RFFHEM RFFHEM] und [https://github.com/RFD-FHEM/SIGNALDuino SIGNALduino].&lt;br /&gt;
&lt;br /&gt;
==== Neuerungen ====&lt;br /&gt;
&#039;&#039;&#039;Bei dieser Version für den Maple Mini gibt es u.a. die folgenden Neuerungen:&#039;&#039;&#039;&lt;br /&gt;
* Das Sendekommando kann eine maximale Länge von 600 Zeichen haben.&lt;br /&gt;
* Der Messagepuffer hat nun eine maximale Größe von 1500 Pulsen Es gibt nun zwei neue Konfigurationsvariabl&lt;br /&gt;
**  ::&#039;&#039;CSmaxMsgSizex256&#039;&#039; - damit kann die Größe des Messagepuffers konfiguriert werden. Der Wert wird mit 256 multipliziert, d.h. 4 ergibt eine Messagepuffergröße von 1024&lt;br /&gt;
** ::&#039;&#039;CSmaxMuPrintx256&#039;&#039; - damit kann die maximale Länge von MU-Nachrichten konfiguriert werden. Der Wert wird mit 256 multipliziert&lt;br /&gt;
&lt;br /&gt;
* Die zweite und folgenden MS-Nachrichten werden nun mit der vorherigen MS-Nachricht verglichen; sind sie gleich, wird am Ende ein &amp;quot;Q&amp;quot; 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&lt;br /&gt;
* Befehl &#039;&#039;&#039;CR&#039;&#039;&#039; - configRadio &lt;br /&gt;
** &#039;&#039;&#039;CRE&amp;lt;A-D&amp;gt;&#039;&#039;&#039; aktiviert ein cc1101 Modul z.B. CREA aktiviert das erste cc1101 Modul A &lt;br /&gt;
** &#039;&#039;&#039;CRD&amp;lt;A-D&amp;gt;&#039;&#039;&#039; deaktiviert ein cc1101 Modul z.B. CRDA deaktiviert das erste cc1101 Modul A&lt;br /&gt;
* Der Befehl &#039;&#039;&#039;b&#039;&#039;&#039; wurde erweitert:&lt;br /&gt;
** &#039;&#039;&#039;b&amp;lt;A-D&amp;gt;&amp;lt;0-9&amp;gt;&#039;&#039;&#039;  initialisiert ein cc1101 Modul (A-D) mit einer Speicherbank (0-9) z.B. bA3 initialisiert das erste cc1101 Modul A mit der Speicherbank 3&lt;br /&gt;
** &#039;&#039;&#039;b&amp;lt;A-D&amp;gt;&#039;&#039;&#039; selektiert ein cc1101 Modul (A-D) z.B. selektiert bA das erste cc1101 Modul A. Die Befehle zum lesen und schreiben vom EEPROM und cc1101 Registern werden auf das selektierte cc1101 angewendet.&lt;br /&gt;
** &#039;&#039;&#039;mit nachgestelltem W&#039;&#039;&#039; wird es im EEPROM gespeichert z.B. bA1&#039;&#039;&#039;W&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;br&#039;&#039;&#039; - damit wird von allen cc1101 eine Bankinfo ausgegeben&lt;br /&gt;
** &#039;&#039;&#039;bs&#039;&#039;&#039; - damit wird eine Übersicht von allen Bänken ausgegeben&lt;br /&gt;
* Mit &#039;&#039;&#039;V&#039;&#039;&#039; (get Version) bekommt man eine Übersicht über die Module z.B. (R: A1 B0*). Mit * wird das selektierte cc1101 Modul markiert. Ein &amp;quot;-&amp;quot; hinter dem Modul (A-D), bedeutet, dass dieses Modul nicht richtig erkannt wurde, ein &amp;quot;i&amp;quot; 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. &lt;br /&gt;
* &#039;&#039;&#039;XQ&#039;&#039;&#039; - deaktiviert Empfang aller cc1101 Module&lt;br /&gt;
** &#039;&#039;&#039;XQ&amp;lt;A-D&amp;gt;&#039;&#039;&#039; - deaktiviert Empfang einzelner cc1101 Module&lt;br /&gt;
* &#039;&#039;&#039;XE&#039;&#039;&#039; - aktiviert Empfang aller cc1101Module&lt;br /&gt;
** &#039;&#039;&#039;XE&amp;lt;A-D&amp;gt;&#039;&#039;&#039; - aktiviert Empfang einzelner cc1101 Module&lt;br /&gt;
Bei der &#039;&#039;&#039;USB Version&#039;&#039;&#039; ist durch anhängen von W ein &#039;&#039;&#039;XQW&#039;&#039;&#039; 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 &amp;quot;irx0&amp;quot; in der Version erkennbar.&lt;br /&gt;
* Die Datenkomprimierung für MS- und MU-Nachrichten (config: Mred=1) ist nun nicht mehr notwendig.&lt;br /&gt;
&lt;br /&gt;
==== Kompilieren ====&lt;br /&gt;
Wer es selber compilieren will: https://github.com/Ralf9/SIGNALDuino/tree/dev-r41x_cc1101 ({{Link2Forum|Topic=106278|Message=1027914|LinkText=siehe auch diesen Forenbeitrag}}) Außerdem besteht jetzt auch die Möglichkeit mit platformio zu kompilieren. Weiter Infos dazu [https://forum.fhem.de/index.php/topic,106278.msg1165616.html#msg1165616 hier].&lt;br /&gt;
&lt;br /&gt;
=== Flashen ===&lt;br /&gt;
Es empfiehlt sich, sowohl den Bootloader als auch die Firmware im zunächst unbestückten Zustand des MapleSduino auf selbigen zu flashen. Im Forum wird immer wieder mal von nicht funktionierenden Bauteilen wie Maple, LAN Modul oder auch nicht korrekt funktionierenden CC1101 Modulen berichtet. Sind alle Bauteile auf entsprechenden Platinen erst einmal verlötet, ist es sehr schwierig defekte Bauteile zu entlöten bzw. auszutauschen. Außerdem ist eine stabile Spannungsversorgung vom Maple während der Flashvorgänge zwingend erforderlich.&lt;br /&gt;
&lt;br /&gt;
==== Bootloader flashen ====&lt;br /&gt;
Ab der Version 4.1.0-dev200427 ist für die .bin Files der Bootloader2.0 erforderlich. Es kann durchaus möglich sein das auf einem frisch gelieferten Maple bereits der Bootloader 2.0 drauf ist. Daher empfiehlt es sich zunächst den Versuch zu starten direkt die [[Maple-SignalDuino#Firmware flashen|Firmware zu flashen]]. Ist der benötigte Bootloader 2.0 nicht auf dem Maple so muss dieser einmalig auf dem Maple installiert werden. Ist das erfolgt so kann die Firmware beliebig oft geflasht werden. &lt;br /&gt;
&lt;br /&gt;
Um den Flashvorgang zu vereinfachen dient folgendes kleine Skript:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
while (true); do&lt;br /&gt;
echo &amp;quot;Debug-Port des MAPLE per FTDI-USB2Seriell Wandler anschliessen (RX+TX gekreuzt)!, Bot-Taste halten und erst dann MAPLE mit Spannung versorgen. &amp;quot;&lt;br /&gt;
sudo stm32flash -w maple_mini_boot20.bin -v /dev/ttyUSB0&lt;br /&gt;
if [ $? -eq 0 ]&lt;br /&gt;
then break&lt;br /&gt;
fi&lt;br /&gt;
sleep 1&lt;br /&gt;
done&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Der Bootloader als .bin Datei steht [https://github.com/rogerclarkmelbourne/STM32duino-bootloader/blob/master/binaries/maple_mini_boot20.bin hier] zum Download bereit. Weitere Details zum Flashen des Bootloaders&lt;br /&gt;
* [[MapleCUN#Bootloader_flashen|MapleCUN]]&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1073244|LinkText=Bootloader 2.0 über USB flashen}}&lt;br /&gt;
* https://github.com/heliflieger/a-culfw/tree/master/culfw/Devices/MapleCUN&lt;br /&gt;
&lt;br /&gt;
==== Firmware flashen ====&lt;br /&gt;
Ist der benötigte Bootloader erst einmal auf dem MapleSduino drauf, kann die Firmware des MapleSduino geflasht werden.  Abhängig davon, wie der MapleSduino in das System eingebunden werden soll, (USB, LAN oder WIFI) gibt es momentan jeweilige Binaries für &#039;&#039;&#039;USB&#039;&#039;&#039;, &#039;&#039;&#039;LAN&#039;&#039;&#039; und &#039;&#039;&#039;Wifi/serial&#039;&#039;&#039; (tx/rx vom DBG Anschluss)&lt;br /&gt;
* LAN gibt es momentan nur für den MapleSduino; siehe dazu  {{Link2Forum|Topic=106278|Message=1049877|LinkText=diesen Forenbeitrag}}.&lt;br /&gt;
* serial ist z.B. für eine wifi-serial bridge mit dem ESP (z.B. ESP-link)&lt;br /&gt;
Es gibt für den MapleSduino und den MapleCul verschiedene Binaries:&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;Maple_sduino....bin&amp;quot; ist für den MapleSduino&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;Maple_cul_....bin&amp;quot; ist für den MapleCUL und [[MapleCUN]].&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_sduino_USB_411dev200627.bin -R&amp;lt;/code&amp;gt;&lt;br /&gt;
oder&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_cul_USB_411dev200627.bin -R&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[MapleCUN#Trick zum USB-Flashen (Code Schnipsel für kleines Skript)|Hier]] steht ein kleines Script zur Verfügung welches den Flashvorgang sehr vereinfacht und hier ist die Firmware zu finden: https://github.com/Ralf9/SIGNALDuino/releases&lt;br /&gt;
&lt;br /&gt;
Die verfügbare &#039;&#039;&#039;a-culw&#039;&#039;&#039; Firmware ist in diesem {{Link2Forum|Topic=106278|Message=1037726|LinkText=Forenbeitrag}} beschrieben und herunterladbar.&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Als Hardware wird der STM32F103CBT6 Maple Mini verwendet:&lt;br /&gt;
* 128 Kbytes Flash&lt;br /&gt;
* 20 Kbytes SRAM&lt;br /&gt;
* 2 SPI&lt;br /&gt;
* Als optionales [https://www.usriot.com/download/ES1/USR-ES1-EN%20V1.3.pdf LAN Modul den USR-ES1 W5500].&lt;br /&gt;
&lt;br /&gt;
==== Aufbau der Hardware ====&lt;br /&gt;
[[Datei:MapleMini-Ralf9_Schaltplan_%281%29.jpg|mini|rechts|Schaltplan]]&lt;br /&gt;
Ab der Version 4.1.0 werden bis zu vier cc1101 Module (A-D) unterstützt&lt;br /&gt;
&lt;br /&gt;
Beim MapleSduino sind die cc1101 Module an SPI2 angeschlossen:&lt;br /&gt;
* 28 MOSI&lt;br /&gt;
* 29 MISO&lt;br /&gt;
* 30 SCLK&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_0 (&#039;&#039;&#039;A&#039;&#039;&#039;) &lt;br /&gt;
* 31  CSN  (Chip Select)&lt;br /&gt;
* 11  GD02 (Receive)&lt;br /&gt;
* 10  GD00  (send), optional für die a-culw&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_1 (&#039;&#039;&#039;B&#039;&#039;&#039;) - 433 MHz für OOK/ASK &lt;br /&gt;
* 12  CSN  (Chip Select)&lt;br /&gt;
* 18  GD02 (Receive)&lt;br /&gt;
* 17  GD00  (send)&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_2 (&#039;&#039;&#039;C&#039;&#039;&#039;)&lt;br /&gt;
* 15  CSN  (Chip Select)&lt;br /&gt;
* 16  GD02 (Receive)&lt;br /&gt;
* 13  GD00  (send), optional für die a-culw&lt;br /&gt;
&lt;br /&gt;
===== Platine =====&lt;br /&gt;
Es gibt von {{Link2FU|12535|Ranseyer}} eine {{Link2Forum|Topic=109220|LinkText=Platine}}. Auf dieser Platine kann der Maple-Mini auf zwei unterschiedliche Arten bestückt werden: &lt;br /&gt;
#normal (die USB Buchse und reset/but Taste sind oben, somit sind die beiden Taster direkt zu betätigen)[[Datei:Maple bestueckung gedreht.jpg|mini|2. Maple Bestückung gedreht]]&lt;br /&gt;
#gedreht (USB Buchse ist unten in der Aussparung und kann zB. mit Heisskleber fixiert werden, reset/but Taster sind durch entsprechende Löcher/Langloch in der Platine zu betätigen)&lt;br /&gt;
Zur Orientierung ist Pin 31 auf der Platine beschriftet.&lt;br /&gt;
&lt;br /&gt;
Es können bis zu 3 CC1101 Module/Stamps an der Platine betrieben werden. 2 Module 868MHz und 433MHz werden direkt auf die Platine gelötet. Das dritte Modul/Stamp wird Mithilfe einzelner Adern an die Platine (Lötaugen CC3A-VCC,GND,MOSI,SCK und CC3B-CS2,Out2,IN2,MISO2) angeschlossen&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wichtig: Bei den V0.1 und V0.2 Platinen ist die Beschriftung 433 und 868 MHz manuell zu ändern!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== Teile =====&lt;br /&gt;
* Maple Mini / STM32F103CBT6: https://de.aliexpress.com/item/1400667476.html oder auch schneller bei Amazon&lt;br /&gt;
&lt;br /&gt;
Funkmodule nach Wahl:&lt;br /&gt;
* CC1101 868MHZ:  https://de.aliexpress.com/item/32635393463.html, https://de.aliexpress.com/item/4000594832541.html&lt;br /&gt;
* CC1101 433 Mhz: https://de.aliexpress.com/item/32472259186.html&lt;br /&gt;
&lt;br /&gt;
Empfohlen:&lt;br /&gt;
* Puffer-Kondensator 10-500uF. Z.B. als C5 mit 10uF: Conrad Artikelnummer 457966&lt;br /&gt;
&lt;br /&gt;
Optional:&lt;br /&gt;
* LAN Modul USR-ES1 W5500: https://de.aliexpress.com/item/32598945210.html&lt;br /&gt;
* Abblock-Kondensator mit ein paar pF bis nF an VCC des Maple. Z.B. als C6 mit 22PF: Conrad Artikelnummer 445432&lt;br /&gt;
* Koaxbuchsen: https://de.aliexpress.com/item/4000009303962.html&lt;br /&gt;
&lt;br /&gt;
Antennen: Infos dazu gibt es reichlich im Internet, auch im {{Link2Forum|Topic=93021|LinkText=Antennenthread im FHEM-Forum}}&lt;br /&gt;
&lt;br /&gt;
== Nutzung in FHEM ==&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;big&amp;gt;Austausch des FHEM Moduls 00_SIGNALduino.pm&amp;lt;/big&amp;gt; ===&lt;br /&gt;
Für die komfortable Bedienung und für FSK ( Empfang/Dekodierung vom LaCrosse Protokoll benötigt FSK) ist ein {{Link2Forum|Topic=111653|Message=1058900|LinkText=angepasstes 00_SIGNALduino Modul}} notwendig.&lt;br /&gt;
&lt;br /&gt;
Wird die ursprüngliche 00_SIGNALduino.pm genutzt, ist das dekodieren von LaCrosse Sensoren nicht möglich und es bedarf recht umständlicher Zeichenfolgen, um z.B den jeweiligen Sendemodus eines CC1101 Moduls zu konfigurieren. So lautet z.B. die Zeichenfolge für die Konfiguration des Sendemodus &#039;&#039;Mode 1 - IT+ 17.241 kbps (LaCrosse)&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
get sduino raw CW0001,0246,0302,042D,05D4,06FF,0700,0802,0D21,0E65,0F6A,1089,115C,1206,1322,14F8,1556,1700,1818,1916,1B43,1C68,1D91,2211,23E9,242A,2500,2611,3D00,3E04,404d,4131,425f,4349,4454,452b,4600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wird die angepasste 00_SIGNALduino.pm genutzt so steht folgender Befehl im FHEM Device zur Verfügung&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
set sduino rfmode Lacrosse_mode1_17241&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein &#039;&#039;&#039;update auf die angepasste 00_SIGNALduino.pm&#039;&#039;&#039;  kann gemacht werden mit&lt;br /&gt;
 &amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/Ralf9/RFFHEM/master/controls_ralf9_signalduino.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;oder&#039;&#039;&#039; die Datei   [https://raw.githubusercontent.com/Ralf9/RFFHEM/master/FHEM/00_SIGNALduino.pm 00_SIGNALduino.pm] ins FHEM Verzeichnis und die [https://raw.githubusercontent.com/Ralf9/RFFHEM/master/FHEM/lib/signalduino_protocols.pm signalduino_protocols.pm] ins lib Verzeichnis kopieren, dann fhem neu starten.&lt;br /&gt;
&lt;br /&gt;
Hier gibt es noch weitere Details zu dem Thema:&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1032098|LinkText=Erste Schritte}}&lt;br /&gt;
* {{Link2Forum|Topic=58396|Message=497921|LinkText=allgemeine Befehlsübersicht}}&lt;br /&gt;
* Beschreibung {{Link2Forum|Topic=106594|Message=1004463|LinkText=&amp;quot;FSK mit dem SIGNALDuino&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
Wenn gewünscht kann jederzeit mit dem Befehl&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
update all https://raw.githubusercontent.com/RFD-FHEM/RFFHEM/master/controls_signalduino.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;auf die ursprüngliche 00_SIGNALduino.pm zurück gewechslt werden.&lt;br /&gt;
&lt;br /&gt;
=== Define in FHEM ===&lt;br /&gt;
&lt;br /&gt;
==== USB ====&lt;br /&gt;
Ist der Maple-SDuino per USB in FHEM eingebunden muss zunächst die USB-ID des FTDI Chip vom Maple ermittelt werden. {{Randnotiz|RNTyp=g|RNText=Weitere Hintergrundinformationen zu dieser Art der Adressierung von USB-Geräten allgemein sind in [[Mehrere USB-Geräte einbinden|diesem Beitrag]] zu finden.}}Dazu im Terminal den folgenden Befehl ausführen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ls -l /dev/serial/by-id &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das ergibt z.B. diese Ausgabe:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
lrwxrwxrwx 1 root root 13 28. Jun 19:13 usb-STMicroelectronics_MAPLEMINI_F103CB_CDC_in_FS_Mode_XXXXXXXXX-if00 -&amp;gt; ../../ttyACM0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der define Befehl in FHEM ist nun folgender&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;eigener-SIGNALduino-Name&amp;gt; SIGNALduino /dev/serial/by-id/&#039;&#039;&#039;&#039;&#039;usb-STMicroelectronics_MAPLEMINI_F103CB_CDC_in_FS_Mode_XXXXXXXX-if00&#039;&#039;&#039;&#039;&#039;@115200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LAN ====&lt;br /&gt;
Ist der Maple-SDuino per LAN in FHEM eingebunden so lautet das define   &amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
define &amp;lt;eigener-SIGNALduino-Name&amp;gt; SIGNALduino 192.168.0.244:23&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei der LAN Version ist in der Grundeinstellung DHCP vom Maple-SignalDuino aktiviert. In älteren bereits kompilierten .bin Files ist die LAN Config voreingestellt auf IP=192.168.0.244  Gateway=192.168.0.1  Netzwerk-Maske=255.255.255.0 &lt;br /&gt;
&lt;br /&gt;
Die Netzwerkeinstellungen können z.B mit Hilfe einer Telnet Verbindung geändert werden.  [[CUN Netzwerk einrichten]]&lt;br /&gt;
&lt;br /&gt;
Eine weitere Möglichkeit zur Konfiguration der Netzwerkeinstellungen des Maple-SDuino ist die Konfiguration über FHEM mit Hilfe der &#039;&#039;&#039;&#039;&#039;raw&#039;&#039;&#039;&#039;&#039; Befehle. Weiter Infos dazu hier [[CUN Netzwerk einrichten#Befehle|CUN Netzwerk einrichten]]&lt;br /&gt;
&lt;br /&gt;
=== Inbetriebnahme/Konfiguration ===&lt;br /&gt;
Ist der Maple-SDuino in Fhem definiert, so müssen je nach Bestückung die jeweiligen CC1101 Module konfiguriert werden. Beispielhaft hier die Konfiguration eines Maple-SDuino mit 3 CC1101 Modulen/Stamps. Das erste Modul (868 MHz) empfängt/dekodiert Slow/RF, das zweite Modul (433 MHz) ist für IT und das dritte (868 MHz) Modul ist für LaCrosse. In der Grundeinstellung ist zunächst nur das zweite Modul (433MHz - Radio B) aktiv. Module 1 und 3 (Radio A und Radio C) sind deaktiviert. Deshalb müssen zunächst die beiden Radios aktiviert werden, danach werden die jeweiligen Radios mit den in den Speicherbänken hinterlegten RFmodes initialisiert:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; CREA   #aktiviert Radio A&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; CREC   #aktiviert Radio C&lt;br /&gt;
&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; raw bA     #selektiert Radio A&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; cmdbank 0  #aktiviert Speicherbank 0 des Maple-SDuino&lt;br /&gt;
set &amp;lt;dein Maple-SDuino&amp;gt; rfmode SlowRF_CCFactoryReset   #speichert rfmode SlowRF in aktivierter Speicherbank&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; raw bA0W   #Zuordnung Radio A mit Speicherbank 0&lt;br /&gt;
&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; raw bB     #selektiert Radio B&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; cmdbank 1  #aktiviert Speicherbank 1 des Maple-SDuino&lt;br /&gt;
set &amp;lt;dein Maple-SDuino&amp;gt; rfmode SlowRF_CCFactoryReset   #speichert rfmode SlowRF in aktivierter Speicherbank&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; raw bB1W   #Zuordnung Radio A mit Speicherbank 1&lt;br /&gt;
&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; raw bC     #selektiert Radio C&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; cmdbank 2  #aktiviert Speicherbank 2 des Maple-SDuino&lt;br /&gt;
set &amp;lt;dein Maple-SDuino&amp;gt; rfmode LaCrosse_mode_17241   #speichert rfmode LaCrosse_17241 in aktivierter Speicherbank&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; raw bC2W   #Zuordnung Radio A mit Speicherbank 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Ergebnis steht dann nach dem Befehl &#039;&#039;&#039;&#039;&#039;get version&#039;&#039;&#039;&#039;&#039; im Reading &#039;&#039;&#039;version&#039;&#039;&#039; unter anderem &amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
(R: A0* B1 C2)   # RadioA Speicherbank0, Radio B Speicherbank1, RadionC Specherbank2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nach dem Befehl &#039;&#039;&#039;&#039;&#039;get cmdbank r&#039;&#039;&#039;&#039;&#039; steht dann in den Internals des Maple-Sduino sinngemäß folgendes&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
a_ccconf   b=0 freq:868.350MHz bWidth:464KHz rAmpl:42dB sens:4dB (DataRate:5603.79Baud,Modulation:ASK/OOK) [boffs=0100*]&lt;br /&gt;
&lt;br /&gt;
b_ccconf   b=1 freq:433.920MHz bWidth:325KHz rAmpl:42dB sens:4dB (DataRate:5603.79Baud,Modulation:ASK/OOK) [boffs=0140]&lt;br /&gt;
&lt;br /&gt;
c_ccconf   b=2 freq:868.300MHz bWidth:203KHz rAmpl:33dB sens:8dB (DataRate:17257.69Baud) [boffs=0000]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fehlersuche, Diverse ===&lt;br /&gt;
Der Stromverbrauch der Transceiver ist typischerweise 17 mA für RX und 34 mA für TX pro Modul. Bei Inaktivität: 4 Transceiver, LAN-Modul, MAPLE ca 100mA.&lt;br /&gt;
&lt;br /&gt;
Wenn der SlowRF nicht mehr funktioniert: Per Default ist das cc1101 Modul der Bank 0 zugeordnet, dies kann mit get Version kontrolliert werden. Es muß in Version &amp;quot;B0&amp;quot; stehen z.B. (R: B0). Es kann auch ein Factory Reset vom Modul B versucht werden, dazu muß das Modul B selektiert sein (R: B0*)&lt;br /&gt;
 get sduino raw e&lt;br /&gt;
Antwort:&lt;br /&gt;
 ccFactoryReset done&lt;br /&gt;
 r=B b=0 rx=0 ccmode=0 sync=D391 ccconf=10B07157C43023B900070018146C070090 boffs=0000&lt;br /&gt;
&lt;br /&gt;
Wenn es immer noch nicht funktioniert kann auch mit &amp;quot;eC&amp;quot; ein factory Reset der Konfigeinstellungen im EEPROM durchgeführt werden.&lt;br /&gt;
 get sduino raw eC&lt;br /&gt;
Antwort:&lt;br /&gt;
 Init eeprom to defaults&lt;br /&gt;
 detect B: Partn=0 Ver=0x14&lt;br /&gt;
&lt;br /&gt;
Wenn ein nativer Mode (FSK) nicht mehr funktioniert: Dazu muss das entsprechende cc1101 Modul selektiert sein. Mit &amp;quot;get Version&amp;quot; kann dies kontrolliert werden. Ein &amp;quot;-&amp;quot; bedeutet, daß das Modul nicht erkannt wurde z.B. (A-). Ein &amp;quot;i&amp;quot; bedeutet, das dem Modul keine Bank zugeordnet wurde z.B.(Ai).&lt;br /&gt;
&lt;br /&gt;
Es kann versucht werden mit den raw Befehlen &amp;quot;e&amp;quot; und &amp;quot;CW...&amp;quot; die Bank neu zu konfigurieren.&lt;br /&gt;
Wenn dies alles nicht hilft, kann mit dem raw Befehl &amp;quot;eC&amp;quot; ein factory Reset der Konfigeinstellungen gemacht werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Forenthema: {{Link2Forum|Topic=106278|LinkText=Entwicklung SIGNALDuino Empfänger Firm- und Hardware V 4.x.x auch auf Maple Mini}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Arduino]]&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;br /&gt;
[[Kategorie:CUL]]&lt;/div&gt;</summary>
		<author><name>Fritz Muster</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Maple-SignalDuino&amp;diff=35924</id>
		<title>Maple-SignalDuino</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Maple-SignalDuino&amp;diff=35924"/>
		<updated>2021-07-21T13:04:19Z</updated>

		<summary type="html">&lt;p&gt;Fritz Muster: /* Nutzung in FHEM */  Änderungen, Anpassungen der Struktur&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=Maple-SDuino-Photo1.jpg&lt;br /&gt;
|Bildbeschreibung=Maple-SignalDuino, links als LAN-, rechts als USB-Version&lt;br /&gt;
|HWProtocol=diverse&lt;br /&gt;
|HWType=Transceiver&lt;br /&gt;
|HWCategory=&lt;br /&gt;
|HWComm=Funk, 433MHz oder 868MHz&lt;br /&gt;
|HWChannels=f&lt;br /&gt;
|HWVoltage=3,3V nach Spannungsregler&lt;br /&gt;
|HWPowerConsumption=&lt;br /&gt;
|HWPoweredBy=USB&lt;br /&gt;
|HWSize=79 x 27&amp;amp;nbsp;mm&lt;br /&gt;
|HWDeviceFHEM=modifiziertes [[SIGNALduino]]&lt;br /&gt;
|HWManufacturer=Eigenbau}}&lt;br /&gt;
=== Einleitung ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Einfacher SIGNALduino mit nur einem cc1101 Modul (alternativ) ===&lt;br /&gt;
Es wird dabei nur das CC1101_1 (B) - für OOK/ASK verwendet.&lt;br /&gt;
&lt;br /&gt;
Schaltplan siehe [[Maple-SignalDuino#Aufbau der Hardware]]. Es kann auch die Platine von @Ranseyer verwendet werden, wenn nur das zweite cc1101 Modul bestückt wird.&lt;br /&gt;
[[Datei:MapleSduino_Schaltplan_nur_Modul_B.png|200px|thumb|right|Beispielschaltplan Maple-SIGNALduino]]  &lt;br /&gt;
&lt;br /&gt;
Es ist keine cc1101 Modul konfiguration notwendig, das Modul B wird automatisch initialisiert.&lt;br /&gt;
&lt;br /&gt;
Zur Inbetriebnahme ist folgendes notwendig:&lt;br /&gt;
* [[Maple-SignalDuino#Bootloader flashen|Bootloader 2.0 über USB flashen]] &lt;br /&gt;
* [[Maple-SignalDuino#Firmware flashen|Firmware flashen]]   &lt;br /&gt;
* [[Maple-SignalDuino#Nutzung in FHEM|evtl. angepasstes 00_SIGNALduino Modul installieren]]&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&amp;lt;u&amp;gt;Dieses Projekt ist &#039;&#039;&#039;NICHT&#039;&#039;&#039; zu verwechseln mit dem Originalprojekt.&amp;lt;/u&amp;gt; Es handelt sich hierbei um einen Clone von [https://github.com/RFD-FHEM/RFFHEM RFFHEM] und [https://github.com/RFD-FHEM/SIGNALDuino SIGNALduino].&lt;br /&gt;
&lt;br /&gt;
==== Neuerungen ====&lt;br /&gt;
&#039;&#039;&#039;Bei dieser Version für den Maple Mini gibt es u.a. die folgenden Neuerungen:&#039;&#039;&#039;&lt;br /&gt;
* Das Sendekommando kann eine maximale Länge von 600 Zeichen haben.&lt;br /&gt;
* Der Messagepuffer hat nun eine maximale Größe von 1500 Pulsen Es gibt nun zwei neue Konfigurationsvariabl&lt;br /&gt;
**  ::&#039;&#039;CSmaxMsgSizex256&#039;&#039; - damit kann die Größe des Messagepuffers konfiguriert werden. Der Wert wird mit 256 multipliziert, d.h. 4 ergibt eine Messagepuffergröße von 1024&lt;br /&gt;
** ::&#039;&#039;CSmaxMuPrintx256&#039;&#039; - damit kann die maximale Länge von MU-Nachrichten konfiguriert werden. Der Wert wird mit 256 multipliziert&lt;br /&gt;
&lt;br /&gt;
* Die zweite und folgenden MS-Nachrichten werden nun mit der vorherigen MS-Nachricht verglichen; sind sie gleich, wird am Ende ein &amp;quot;Q&amp;quot; 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&lt;br /&gt;
* Befehl &#039;&#039;&#039;CR&#039;&#039;&#039; - configRadio &lt;br /&gt;
** &#039;&#039;&#039;CRE&amp;lt;A-D&amp;gt;&#039;&#039;&#039; aktiviert ein cc1101 Modul z.B. CREA aktiviert das erste cc1101 Modul A &lt;br /&gt;
** &#039;&#039;&#039;CRD&amp;lt;A-D&amp;gt;&#039;&#039;&#039; deaktiviert ein cc1101 Modul z.B. CRDA deaktiviert das erste cc1101 Modul A&lt;br /&gt;
* Der Befehl &#039;&#039;&#039;b&#039;&#039;&#039; wurde erweitert:&lt;br /&gt;
** &#039;&#039;&#039;b&amp;lt;A-D&amp;gt;&amp;lt;0-9&amp;gt;&#039;&#039;&#039;  initialisiert ein cc1101 Modul (A-D) mit einer Speicherbank (0-9) z.B. bA3 initialisiert das erste cc1101 Modul A mit der Speicherbank 3&lt;br /&gt;
** &#039;&#039;&#039;b&amp;lt;A-D&amp;gt;&#039;&#039;&#039; selektiert ein cc1101 Modul (A-D) z.B. selektiert bA das erste cc1101 Modul A. Die Befehle zum lesen und schreiben vom EEPROM und cc1101 Registern werden auf das selektierte cc1101 angewendet.&lt;br /&gt;
** &#039;&#039;&#039;mit nachgestelltem W&#039;&#039;&#039; wird es im EEPROM gespeichert z.B. bA1&#039;&#039;&#039;W&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;br&#039;&#039;&#039; - damit wird von allen cc1101 eine Bankinfo ausgegeben&lt;br /&gt;
** &#039;&#039;&#039;bs&#039;&#039;&#039; - damit wird eine Übersicht von allen Bänken ausgegeben&lt;br /&gt;
* Mit &#039;&#039;&#039;V&#039;&#039;&#039; (get Version) bekommt man eine Übersicht über die Module z.B. (R: A1 B0*). Mit * wird das selektierte cc1101 Modul markiert. Ein &amp;quot;-&amp;quot; hinter dem Modul (A-D), bedeutet, dass dieses Modul nicht richtig erkannt wurde, ein &amp;quot;i&amp;quot; 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. &lt;br /&gt;
* &#039;&#039;&#039;XQ&#039;&#039;&#039; - deaktiviert Empfang aller cc1101 Module&lt;br /&gt;
** &#039;&#039;&#039;XQ&amp;lt;A-D&amp;gt;&#039;&#039;&#039; - deaktiviert Empfang einzelner cc1101 Module&lt;br /&gt;
* &#039;&#039;&#039;XE&#039;&#039;&#039; - aktiviert Empfang aller cc1101Module&lt;br /&gt;
** &#039;&#039;&#039;XE&amp;lt;A-D&amp;gt;&#039;&#039;&#039; - aktiviert Empfang einzelner cc1101 Module&lt;br /&gt;
Bei der &#039;&#039;&#039;USB Version&#039;&#039;&#039; ist durch anhängen von W ein &#039;&#039;&#039;XQW&#039;&#039;&#039; 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 &amp;quot;irx0&amp;quot; in der Version erkennbar.&lt;br /&gt;
* Die Datenkomprimierung für MS- und MU-Nachrichten (config: Mred=1) ist nun nicht mehr notwendig.&lt;br /&gt;
&lt;br /&gt;
==== Kompilieren ====&lt;br /&gt;
Wer es selber compilieren will: https://github.com/Ralf9/SIGNALDuino/tree/dev-r41x_cc1101 ({{Link2Forum|Topic=106278|Message=1027914|LinkText=siehe auch diesen Forenbeitrag}}) Außerdem besteht jetzt auch die Möglichkeit mit platformio zu kompilieren. Weiter Infos dazu [https://forum.fhem.de/index.php/topic,106278.msg1165616.html#msg1165616 hier].&lt;br /&gt;
&lt;br /&gt;
=== Flashen ===&lt;br /&gt;
Es empfiehlt sich, sowohl den Bootloader als auch die Firmware im zunächst unbestückten Zustand des MapleSduino auf selbigen zu flashen. Im Forum wird immer wieder mal von nicht funktionierenden Bauteilen wie Maple, LAN Modul oder auch nicht korrekt funktionierenden CC1101 Modulen berichtet. Sind alle Bauteile auf entsprechenden Platinen erst einmal verlötet, ist es sehr schwierig defekte Bauteile zu entlöten bzw. auszutauschen. Außerdem ist eine stabile Spannungsversorgung vom Maple während der Flashvorgänge zwingend erforderlich.&lt;br /&gt;
&lt;br /&gt;
==== Bootloader flashen ====&lt;br /&gt;
Ab der Version 4.1.0-dev200427 ist für die .bin Files der Bootloader2.0 erforderlich. Es kann durchaus möglich sein das auf einem frisch gelieferten Maple bereits der Bootloader 2.0 drauf ist. Daher empfiehlt es sich zunächst den Versuch zu starten direkt die [[Maple-SignalDuino#Firmware flashen|Firmware zu flashen]]. Ist der benötigte Bootloader 2.0 nicht auf dem Maple so muss dieser einmalig auf dem Maple installiert werden. Ist das erfolgt so kann die Firmware beliebig oft geflasht werden. &lt;br /&gt;
&lt;br /&gt;
Um den Flashvorgang zu vereinfachen dient folgendes kleine Skript:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
while (true); do&lt;br /&gt;
echo &amp;quot;Debug-Port des MAPLE per FTDI-USB2Seriell Wandler anschliessen (RX+TX gekreuzt)!, Bot-Taste halten und erst dann MAPLE mit Spannung versorgen. &amp;quot;&lt;br /&gt;
sudo stm32flash -w maple_mini_boot20.bin -v /dev/ttyUSB0&lt;br /&gt;
if [ $? -eq 0 ]&lt;br /&gt;
then break&lt;br /&gt;
fi&lt;br /&gt;
sleep 1&lt;br /&gt;
done&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Der Bootloader als .bin Datei steht [https://github.com/rogerclarkmelbourne/STM32duino-bootloader/blob/master/binaries/maple_mini_boot20.bin hier] zum Download bereit. Weitere Details zum Flashen des Bootloaders&lt;br /&gt;
* [[MapleCUN#Bootloader_flashen|MapleCUN]]&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1073244|LinkText=Bootloader 2.0 über USB flashen}}&lt;br /&gt;
* https://github.com/heliflieger/a-culfw/tree/master/culfw/Devices/MapleCUN&lt;br /&gt;
&lt;br /&gt;
==== Firmware flashen ====&lt;br /&gt;
Ist der benötigte Bootloader erst einmal geflasht, kann die Firmware des MapleSduino geflasht werden.  Abhängig davon, wie der MapleSduino in das System eingebunden werden soll, (USB, LAN oder WIFI) gibt es momentan jeweilige Binaries für &#039;&#039;&#039;USB&#039;&#039;&#039;, &#039;&#039;&#039;LAN&#039;&#039;&#039; und &#039;&#039;&#039;Wifi/serial&#039;&#039;&#039; (tx/rx vom DBG Anschluss)&lt;br /&gt;
* LAN gibt es momentan nur für den MapleSduino; siehe dazu  {{Link2Forum|Topic=106278|Message=1049877|LinkText=diesen Forenbeitrag}}.&lt;br /&gt;
* serial ist z.B. für eine wifi-serial bridge mit dem ESP (z.B. ESP-link)&lt;br /&gt;
Es gibt für den MapleSduino und den MapleCul verschiedene Binaries:&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;Maple_sduino....bin&amp;quot; ist für den MapleSduino&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;Maple_cul_....bin&amp;quot; ist für den MapleCUL und [[MapleCUN]].&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_sduino_USB_411dev200627.bin -R&amp;lt;/code&amp;gt;&lt;br /&gt;
oder&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_cul_USB_411dev200627.bin -R&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[MapleCUN#Trick zum USB-Flashen (Code Schnipsel für kleines Skript)|Hier]] steht ein kleines Script zur Verfügung welches den Flashvorgang sehr vereinfacht und hier ist die Firmware zu finden: https://github.com/Ralf9/SIGNALDuino/releases&lt;br /&gt;
&lt;br /&gt;
Die verfügbare &#039;&#039;&#039;a-culw&#039;&#039;&#039; Firmware ist in diesem {{Link2Forum|Topic=106278|Message=1037726|LinkText=Forenbeitrag}} beschrieben und herunterladbar.&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Als Hardware wird der STM32F103CBT6 Maple Mini verwendet:&lt;br /&gt;
* 128 Kbytes Flash&lt;br /&gt;
* 20 Kbytes SRAM&lt;br /&gt;
* 2 SPI&lt;br /&gt;
* Als optionales [https://www.usriot.com/download/ES1/USR-ES1-EN%20V1.3.pdf LAN Modul den USR-ES1 W5500].&lt;br /&gt;
&lt;br /&gt;
==== Aufbau der Hardware ====&lt;br /&gt;
[[Datei:MapleMini-Ralf9_Schaltplan_%281%29.jpg|mini|rechts|Schaltplan]]&lt;br /&gt;
Ab der Version 4.1.0 werden bis zu vier cc1101 Module (A-D) unterstützt&lt;br /&gt;
&lt;br /&gt;
Beim MapleSduino sind die cc1101 Module an SPI2 angeschlossen:&lt;br /&gt;
* 28 MOSI&lt;br /&gt;
* 29 MISO&lt;br /&gt;
* 30 SCLK&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_0 (&#039;&#039;&#039;A&#039;&#039;&#039;) &lt;br /&gt;
* 31  CSN  (Chip Select)&lt;br /&gt;
* 11  GD02 (Receive)&lt;br /&gt;
* 10  GD00  (send), optional für die a-culw&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_1 (&#039;&#039;&#039;B&#039;&#039;&#039;) - 433 MHz für OOK/ASK &lt;br /&gt;
* 12  CSN  (Chip Select)&lt;br /&gt;
* 18  GD02 (Receive)&lt;br /&gt;
* 17  GD00  (send)&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_2 (&#039;&#039;&#039;C&#039;&#039;&#039;)&lt;br /&gt;
* 15  CSN  (Chip Select)&lt;br /&gt;
* 16  GD02 (Receive)&lt;br /&gt;
* 13  GD00  (send), optional für die a-culw&lt;br /&gt;
&lt;br /&gt;
===== Platine =====&lt;br /&gt;
Es gibt von {{Link2FU|12535|Ranseyer}} eine {{Link2Forum|Topic=109220|LinkText=Platine}}. Auf dieser Platine kann der Maple-Mini auf zwei unterschiedliche Arten bestückt werden: &lt;br /&gt;
#normal (die USB Buchse und reset/but Taste sind oben, somit sind die beiden Taster direkt zu betätigen)[[Datei:Maple bestueckung gedreht.jpg|mini|2. Maple Bestückung gedreht]]&lt;br /&gt;
#gedreht (USB Buchse ist unten in der Aussparung und kann zB. mit Heisskleber fixiert werden, reset/but Taster sind durch entsprechende Löcher/Langloch in der Platine zu betätigen)&lt;br /&gt;
Zur Orientierung ist Pin 31 auf der Platine beschriftet.&lt;br /&gt;
&lt;br /&gt;
Es können bis zu 3 CC1101 Module/Stamps an der Platine betrieben werden. 2 Module 868MHz und 433MHz werden direkt auf die Platine gelötet. Das dritte Modul/Stamp wird Mithilfe einzelner Adern an die Platine (Lötaugen CC3A-VCC,GND,MOSI,SCK und CC3B-CS2,Out2,IN2,MISO2) angeschlossen&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wichtig: Bei den V0.1 und V0.2 Platinen ist die Beschriftung 433 und 868 MHz manuell zu ändern!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== Teile =====&lt;br /&gt;
* Maple Mini / STM32F103CBT6: https://de.aliexpress.com/item/1400667476.html oder auch schneller bei Amazon&lt;br /&gt;
&lt;br /&gt;
Funkmodule nach Wahl:&lt;br /&gt;
* CC1101 868MHZ:  https://de.aliexpress.com/item/32635393463.html, https://de.aliexpress.com/item/4000594832541.html&lt;br /&gt;
* CC1101 433 Mhz: https://de.aliexpress.com/item/32472259186.html&lt;br /&gt;
&lt;br /&gt;
Empfohlen:&lt;br /&gt;
* Puffer-Kondensator 10-500uF. Z.B. als C5 mit 10uF: Conrad Artikelnummer 457966&lt;br /&gt;
&lt;br /&gt;
Optional:&lt;br /&gt;
* LAN Modul USR-ES1 W5500: https://de.aliexpress.com/item/32598945210.html&lt;br /&gt;
* Abblock-Kondensator mit ein paar pF bis nF an VCC des Maple. Z.B. als C6 mit 22PF: Conrad Artikelnummer 445432&lt;br /&gt;
* Koaxbuchsen: https://de.aliexpress.com/item/4000009303962.html&lt;br /&gt;
&lt;br /&gt;
Antennen: Infos dazu gibt es reichlich im Internet, auch im {{Link2Forum|Topic=93021|LinkText=Antennenthread im FHEM-Forum}}&lt;br /&gt;
&lt;br /&gt;
== Nutzung in FHEM ==&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;big&amp;gt;Austausch des FHEM Moduls 00_SIGNALduino.pm&amp;lt;/big&amp;gt; ===&lt;br /&gt;
Für die komfortable Bedienung und für FSK ( Empfang/Dekodierung vom LaCrosse Protokoll benötigt FSK) ist ein {{Link2Forum|Topic=111653|Message=1058900|LinkText=angepasstes 00_SIGNALduino Modul}} notwendig.&lt;br /&gt;
&lt;br /&gt;
Wird die ursprüngliche 00_SIGNALduino.pm genutzt, ist das dekodieren von LaCrosse Sensoren nicht möglich und es bedarf recht umständlicher Zeichenfolgen, um z.B den jeweiligen Sendemodus eines CC1101 Moduls zu konfigurieren. So lautet z.B. die Zeichenfolge für die Konfiguration des Sendemodus &#039;&#039;Mode 1 - IT+ 17.241 kbps (LaCrosse)&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
get sduino raw CW0001,0246,0302,042D,05D4,06FF,0700,0802,0D21,0E65,0F6A,1089,115C,1206,1322,14F8,1556,1700,1818,1916,1B43,1C68,1D91,2211,23E9,242A,2500,2611,3D00,3E04,404d,4131,425f,4349,4454,452b,4600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wird die angepasste 00_SIGNALduino.pm genutzt so steht folgender Befehl im FHEM Device zur Verfügung&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
set sduino rfmode Lacrosse_mode1_17241&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein &#039;&#039;&#039;update auf die angepasste 00_SIGNALduino.pm&#039;&#039;&#039;  kann gemacht werden mit&lt;br /&gt;
 &amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/Ralf9/RFFHEM/master/controls_ralf9_signalduino.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;oder&#039;&#039;&#039; die Datei   [https://raw.githubusercontent.com/Ralf9/RFFHEM/master/FHEM/00_SIGNALduino.pm 00_SIGNALduino.pm] ins FHEM Verzeichnis und die [https://raw.githubusercontent.com/Ralf9/RFFHEM/master/FHEM/lib/signalduino_protocols.pm signalduino_protocols.pm] ins lib Verzeichnis kopieren, dann fhem neu starten.&lt;br /&gt;
&lt;br /&gt;
Hier gibt es noch weitere Details zu dem Thema:&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1032098|LinkText=Erste Schritte}}&lt;br /&gt;
* {{Link2Forum|Topic=58396|Message=497921|LinkText=allgemeine Befehlsübersicht}}&lt;br /&gt;
* Beschreibung {{Link2Forum|Topic=106594|Message=1004463|LinkText=&amp;quot;FSK mit dem SIGNALDuino&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
Wenn gewünscht kann jederzeit mit dem Befehl&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
update all https://raw.githubusercontent.com/RFD-FHEM/RFFHEM/master/controls_signalduino.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;auf die ursprüngliche 00_SIGNALduino.pm zurück gewechslt werden.&lt;br /&gt;
&lt;br /&gt;
=== Define in FHEM ===&lt;br /&gt;
&lt;br /&gt;
==== USB ====&lt;br /&gt;
Ist der Maple-SDuino per USB in FHEM eingebunden muss zunächst die USB-ID des FTDI Chip vom Maple ermittelt werden. {{Randnotiz|RNTyp=g|RNText=Weitere Hintergrundinformationen zu dieser Art der Adressierung von USB-Geräten allgemein sind in [[Mehrere USB-Geräte einbinden|diesem Beitrag]] zu finden.}}Dazu im Terminal den folgenden Befehl ausführen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ls -l /dev/serial/by-id &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das ergibt z.B. diese Ausgabe:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
lrwxrwxrwx 1 root root 13 28. Jun 19:13 usb-STMicroelectronics_MAPLEMINI_F103CB_CDC_in_FS_Mode_XXXXXXXXX-if00 -&amp;gt; ../../ttyACM0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der define Befehl in FHEM ist nun folgender&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;eigener-SIGNALduino-Name&amp;gt; SIGNALduino /dev/serial/by-id/&#039;&#039;&#039;&#039;&#039;usb-STMicroelectronics_MAPLEMINI_F103CB_CDC_in_FS_Mode_XXXXXXXX-if00&#039;&#039;&#039;&#039;&#039;@115200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LAN ====&lt;br /&gt;
Ist der Maple-SDuino per LAN in FHEM eingebunden so lautet das define   &amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
define &amp;lt;eigener-SIGNALduino-Name&amp;gt; SIGNALduino 192.168.0.244:23&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei der LAN Version ist in der Grundeinstellung DHCP vom Maple-SignalDuino aktiviert.&lt;br /&gt;
&lt;br /&gt;
Soll der Maple-SignalDuino eine feste IP im Netz bekommen so kann z.B mit Hilfe einer Telnet Verbindung die Netzwerk Konfig des Maple-SignalDuino geändert werden.  [[CUN Netzwerk einrichten]]&lt;br /&gt;
&lt;br /&gt;
=== Inbetriebnahme/Konfiguration ===&lt;br /&gt;
Ist der Maple-SDuino in Fhem definiert, so müssen je nach Bestückung die jeweiligen CC1101 Module konfiguriert werden. Beispielhaft hier die Konfiguration eines Maple-SDuino mit 3 CC1101 Modulen/Stamps. Das erste Modul (868 MHz) empfängt/dekodiert Slow/RF, das zweite Modul (433 MHz) ist für IT und das dritte (868 MHz) Modul ist für LaCrosse. In der Grundeinstellung ist zunächst nur das zweite Modul (433MHz - Radio B) aktiv. Module 1 und 3 (Radio A und Radio C) sind deaktiviert. Deshalb müssen zunächst die beiden Radios aktiviert werden, danach werden die jeweiligen Radios mit den in den Speicherbänken hinterlegten RFmodes initialisiert:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; CREA   #aktiviert Radio A&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; CREC   #aktiviert Radio C&lt;br /&gt;
&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; raw bA     #selektiert Radio A&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; cmdbank 0  #aktiviert Speicherbank 0 des Maple-SDuino&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; rfmode SlowRF_CCFactoryReset   #speichert rfmode SlowRF in aktivierter Speicherbank&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; raw bA0W   #Zuordnung Radio A mit Speicherbank 0&lt;br /&gt;
&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; raw bB     #selektiert Radio B&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; cmdbank 1  #aktiviert Speicherbank 1 des Maple-SDuino&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; rfmode SlowRF_CCFactoryReset   #speichert rfmode SlowRF in aktivierter Speicherbank&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; raw bB1W   #Zuordnung Radio A mit Speicherbank 1&lt;br /&gt;
&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; raw bC     #selektiert Radio C&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; cmdbank 2  #aktiviert Speicherbank 2 des Maple-SDuino&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; rfmode LaCrosse_mode_17241   #speichert rfmode LaCrosse_17241 in aktivierter Speicherbank&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; raw bC2W   #Zuordnung Radio A mit Speicherbank 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Ergebnis steht dann im Reading &#039;&#039;&#039;version&#039;&#039;&#039; unter anderem &amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
(R: A0* B1 C2)   # RadioA Speicherbank0, Radio B Speicherbank1, RadionC Specherbank2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In den Internals des Maple-Sduino steht dann sinngemäß folgendes&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
a_ccconf   b=0 freq:868.350MHz bWidth:464KHz rAmpl:42dB sens:4dB (DataRate:5603.79Baud,Modulation:ASK/OOK) [boffs=0100*]&lt;br /&gt;
&lt;br /&gt;
b_ccconf   b=1 freq:433.920MHz bWidth:325KHz rAmpl:42dB sens:4dB (DataRate:5603.79Baud,Modulation:ASK/OOK) [boffs=0140]&lt;br /&gt;
&lt;br /&gt;
c_ccconf   b=2 freq:868.300MHz bWidth:203KHz rAmpl:33dB sens:8dB (DataRate:17257.69Baud) [boffs=0000]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fehlersuche, Diverse ===&lt;br /&gt;
Der Stromverbrauch der Transceiver ist typischerweise 17 mA für RX und 34 mA für TX pro Modul. Bei Inaktivität: 4 Transceiver, LAN-Modul, MAPLE ca 100mA.&lt;br /&gt;
&lt;br /&gt;
Wenn der SlowRF nicht mehr funktioniert: Per Default ist das cc1101 Modul der Bank 0 zugeordnet, dies kann mit get Version kontrolliert werden. Es muß in Version &amp;quot;B0&amp;quot; stehen z.B. (R: B0). Es kann auch ein Factory Reset vom Modul B versucht werden, dazu muß das Modul B selektiert sein (R: B0*)&lt;br /&gt;
 get sduino raw e&lt;br /&gt;
Antwort:&lt;br /&gt;
 ccFactoryReset done&lt;br /&gt;
 r=B b=0 rx=0 ccmode=0 sync=D391 ccconf=10B07157C43023B900070018146C070090 boffs=0000&lt;br /&gt;
&lt;br /&gt;
Wenn es immer noch nicht funktioniert kann auch mit &amp;quot;eC&amp;quot; ein factory Reset der Konfigeinstellungen im EEPROM durchgeführt werden.&lt;br /&gt;
 get sduino raw eC&lt;br /&gt;
Antwort:&lt;br /&gt;
 Init eeprom to defaults&lt;br /&gt;
 detect B: Partn=0 Ver=0x14&lt;br /&gt;
&lt;br /&gt;
Wenn ein nativer Mode (FSK) nicht mehr funktioniert: Dazu muss das entsprechende cc1101 Modul selektiert sein. Mit &amp;quot;get Version&amp;quot; kann dies kontrolliert werden. Ein &amp;quot;-&amp;quot; bedeutet, daß das Modul nicht erkannt wurde z.B. (A-). Ein &amp;quot;i&amp;quot; bedeutet, das dem Modul keine Bank zugeordnet wurde z.B.(Ai).&lt;br /&gt;
&lt;br /&gt;
Es kann versucht werden mit den raw Befehlen &amp;quot;e&amp;quot; und &amp;quot;CW...&amp;quot; die Bank neu zu konfigurieren.&lt;br /&gt;
Wenn dies alles nicht hilft, kann mit dem raw Befehl &amp;quot;eC&amp;quot; ein factory Reset der Konfigeinstellungen gemacht werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Forenthema: {{Link2Forum|Topic=106278|LinkText=Entwicklung SIGNALDuino Empfänger Firm- und Hardware V 4.x.x auch auf Maple Mini}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Arduino]]&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;br /&gt;
[[Kategorie:CUL]]&lt;/div&gt;</summary>
		<author><name>Fritz Muster</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Maple-SignalDuino&amp;diff=35870</id>
		<title>Maple-SignalDuino</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Maple-SignalDuino&amp;diff=35870"/>
		<updated>2021-07-13T10:05:29Z</updated>

		<summary type="html">&lt;p&gt;Fritz Muster: Abbildung eingefügt /* Platine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=Maple-SDuino-Photo1.jpg&lt;br /&gt;
|Bildbeschreibung=Maple-SignalDuino, links als LAN-, rechts als USB-Version&lt;br /&gt;
|HWProtocol=diverse&lt;br /&gt;
|HWType=Transceiver&lt;br /&gt;
|HWCategory=&lt;br /&gt;
|HWComm=Funk, 433MHz oder 868MHz&lt;br /&gt;
|HWChannels=f&lt;br /&gt;
|HWVoltage=3,3V nach Spannungsregler&lt;br /&gt;
|HWPowerConsumption=&lt;br /&gt;
|HWPoweredBy=USB&lt;br /&gt;
|HWSize=79 x 27&amp;amp;nbsp;mm&lt;br /&gt;
|HWDeviceFHEM=modifiziertes [[SIGNALduino]]&lt;br /&gt;
|HWManufacturer=Eigenbau}}&lt;br /&gt;
=== Einleitung ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Einfacher SIGNALduino mit nur einem cc1101 Modul (alternativ) ===&lt;br /&gt;
Es wird dabei nur das CC1101_1 (B) - für OOK/ASK verwendet.&lt;br /&gt;
&lt;br /&gt;
Schaltplan siehe [[Maple-SignalDuino#Aufbau der Hardware]]. Es kann auch die Platine von @Ranseyer verwendet werden, wenn nur das zweite cc1101 Modul bestückt wird.&lt;br /&gt;
[[Datei:MapleSduino_Schaltplan_nur_Modul_B.png|200px|thumb|right|Beispielschaltplan Maple-SIGNALduino]]  &lt;br /&gt;
&lt;br /&gt;
Es ist keine cc1101 Modul konfiguration notwendig, das Modul B wird automatisch initialisiert.&lt;br /&gt;
&lt;br /&gt;
Zur Inbetriebnahme ist folgendes notwendig:&lt;br /&gt;
* [[Maple-SignalDuino#Bootloader flashen|Bootloader 2.0 über USB flashen]] &lt;br /&gt;
* [[Maple-SignalDuino#Firmware flashen|Firmware flashen]]   &lt;br /&gt;
* [[Maple-SignalDuino#Nutzung in FHEM|evtl. angepasstes 00_SIGNALduino Modul installieren]]&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&amp;lt;u&amp;gt;Dieses Projekt ist &#039;&#039;&#039;NICHT&#039;&#039;&#039; zu verwechseln mit dem Originalprojekt.&amp;lt;/u&amp;gt; Es handelt sich hierbei um einen Clone von [https://github.com/RFD-FHEM/RFFHEM RFFHEM] und [https://github.com/RFD-FHEM/SIGNALDuino SIGNALduino].&lt;br /&gt;
&lt;br /&gt;
==== Neuerungen ====&lt;br /&gt;
&#039;&#039;&#039;Bei dieser Version für den Maple Mini gibt es u.a. die folgenden Neuerungen:&#039;&#039;&#039;&lt;br /&gt;
* Das Sendekommando kann eine maximale Länge von 600 Zeichen haben.&lt;br /&gt;
* Der Messagepuffer hat nun eine maximale Größe von 1500 Pulsen Es gibt nun zwei neue Konfigurationsvariabl&lt;br /&gt;
**  ::&#039;&#039;CSmaxMsgSizex256&#039;&#039; - damit kann die Größe des Messagepuffers konfiguriert werden. Der Wert wird mit 256 multipliziert, d.h. 4 ergibt eine Messagepuffergröße von 1024&lt;br /&gt;
** ::&#039;&#039;CSmaxMuPrintx256&#039;&#039; - damit kann die maximale Länge von MU-Nachrichten konfiguriert werden. Der Wert wird mit 256 multipliziert&lt;br /&gt;
&lt;br /&gt;
* Die zweite und folgenden MS-Nachrichten werden nun mit der vorherigen MS-Nachricht verglichen; sind sie gleich, wird am Ende ein &amp;quot;Q&amp;quot; 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&lt;br /&gt;
* Befehl &#039;&#039;&#039;CR&#039;&#039;&#039; - configRadio &lt;br /&gt;
** &#039;&#039;&#039;CRE&amp;lt;A-D&amp;gt;&#039;&#039;&#039; aktiviert ein cc1101 Modul z.B. CREA aktiviert das erste cc1101 Modul A &lt;br /&gt;
** &#039;&#039;&#039;CRD&amp;lt;A-D&amp;gt;&#039;&#039;&#039; deaktiviert ein cc1101 Modul z.B. CRDA deaktiviert das erste cc1101 Modul A&lt;br /&gt;
* Der Befehl &#039;&#039;&#039;b&#039;&#039;&#039; wurde erweitert:&lt;br /&gt;
** &#039;&#039;&#039;b&amp;lt;A-D&amp;gt;&amp;lt;0-9&amp;gt;&#039;&#039;&#039;  initialisiert ein cc1101 Modul (A-D) mit einer Speicherbank (0-9) z.B. bA3 initialisiert das erste cc1101 Modul A mit der Speicherbank 3&lt;br /&gt;
** &#039;&#039;&#039;b&amp;lt;A-D&amp;gt;&#039;&#039;&#039; selektiert ein cc1101 Modul (A-D) z.B. selektiert bA das erste cc1101 Modul A. Die Befehle zum lesen und schreiben vom EEPROM und cc1101 Registern werden auf das selektierte cc1101 angewendet.&lt;br /&gt;
** &#039;&#039;&#039;mit nachgestelltem W&#039;&#039;&#039; wird es im EEPROM gespeichert z.B. bA1&#039;&#039;&#039;W&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;br&#039;&#039;&#039; - damit wird von allen cc1101 eine Bankinfo ausgegeben&lt;br /&gt;
** &#039;&#039;&#039;bs&#039;&#039;&#039; - damit wird eine Übersicht von allen Bänken ausgegeben&lt;br /&gt;
* Mit &#039;&#039;&#039;V&#039;&#039;&#039; (get Version) bekommt man eine Übersicht über die Module z.B. (R: A1 B0*). Mit * wird das selektierte cc1101 Modul markiert. Ein &amp;quot;-&amp;quot; hinter dem Modul (A-D), bedeutet, dass dieses Modul nicht richtig erkannt wurde, ein &amp;quot;i&amp;quot; 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. &lt;br /&gt;
* &#039;&#039;&#039;XQ&#039;&#039;&#039; - deaktiviert Empfang aller cc1101 Module&lt;br /&gt;
** &#039;&#039;&#039;XQ&amp;lt;A-D&amp;gt;&#039;&#039;&#039; - deaktiviert Empfang einzelner cc1101 Module&lt;br /&gt;
* &#039;&#039;&#039;XE&#039;&#039;&#039; - aktiviert Empfang aller cc1101Module&lt;br /&gt;
** &#039;&#039;&#039;XE&amp;lt;A-D&amp;gt;&#039;&#039;&#039; - aktiviert Empfang einzelner cc1101 Module&lt;br /&gt;
Bei der &#039;&#039;&#039;USB Version&#039;&#039;&#039; ist durch anhängen von W ein &#039;&#039;&#039;XQW&#039;&#039;&#039; 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 &amp;quot;irx0&amp;quot; in der Version erkennbar.&lt;br /&gt;
* Die Datenkomprimierung für MS- und MU-Nachrichten (config: Mred=1) ist nun nicht mehr notwendig.&lt;br /&gt;
&lt;br /&gt;
==== Kompilieren ====&lt;br /&gt;
Wer es selber compilieren will: https://github.com/Ralf9/SIGNALDuino/tree/dev-r41x_cc1101 ({{Link2Forum|Topic=106278|Message=1027914|LinkText=siehe auch diesen Forenbeitrag}}) Außerdem besteht jetzt auch die Möglichkeit mit platformio zu kompilieren. Weiter Infos dazu [https://forum.fhem.de/index.php/topic,106278.msg1165616.html#msg1165616 hier].&lt;br /&gt;
&lt;br /&gt;
=== Flashen ===&lt;br /&gt;
Es empfiehlt sich, sowohl den Bootloader als auch die Firmware im zunächst unbestückten Zustand des MapleSduino auf selbigen zu flashen. Im Forum wird immer wieder mal von nicht funktionierenden Bauteilen wie Maple, LAN Modul oder auch nicht korrekt funktionierenden CC1101 Modulen berichtet. Sind alle Bauteile auf entsprechenden Platinen erst einmal verlötet, ist es sehr schwierig defekte Bauteile zu entlöten bzw. auszutauschen. Außerdem ist eine stabile Spannungsversorgung vom Maple während der Flashvorgänge zwingend erforderlich.&lt;br /&gt;
&lt;br /&gt;
==== Bootloader flashen ====&lt;br /&gt;
Ab der Version 4.1.0-dev200427 ist für die .bin Files der Bootloader2.0 erforderlich. Es kann durchaus möglich sein das auf einem frisch gelieferten Maple bereits der Bootloader 2.0 drauf ist. Daher empfiehlt es sich zunächst den Versuch zu starten direkt die [[Maple-SignalDuino#Firmware flashen|Firmware zu flashen]]. Ist der benötigte Bootloader 2.0 nicht auf dem Maple so muss dieser einmalig auf dem Maple installiert werden. Ist das erfolgt so kann die Firmware beliebig oft geflasht werden. &lt;br /&gt;
&lt;br /&gt;
Um den Flashvorgang zu vereinfachen dient folgendes kleine Skript:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
while (true); do&lt;br /&gt;
echo &amp;quot;Debug-Port des MAPLE per FTDI-USB2Seriell Wandler anschliessen (RX+TX gekreuzt)!, Bot-Taste halten und erst dann MAPLE mit Spannung versorgen. &amp;quot;&lt;br /&gt;
sudo stm32flash -w maple_mini_boot20.bin -v /dev/ttyUSB0&lt;br /&gt;
if [ $? -eq 0 ]&lt;br /&gt;
then break&lt;br /&gt;
fi&lt;br /&gt;
sleep 1&lt;br /&gt;
done&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Der Bootloader als .bin Datei steht [https://github.com/rogerclarkmelbourne/STM32duino-bootloader/blob/master/binaries/maple_mini_boot20.bin hier] zum Download bereit. Weitere Details zum Flashen des Bootloaders&lt;br /&gt;
* [[MapleCUN#Bootloader_flashen|MapleCUN]]&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1073244|LinkText=Bootloader 2.0 über USB flashen}}&lt;br /&gt;
* https://github.com/heliflieger/a-culfw/tree/master/culfw/Devices/MapleCUN&lt;br /&gt;
&lt;br /&gt;
==== Firmware flashen ====&lt;br /&gt;
Ist der benötigte Bootloader erst einmal geflasht, kann die Firmware des MapleSduino geflasht werden.  Abhängig davon, wie der MapleSduino in das System eingebunden werden soll, (USB, LAN oder WIFI) gibt es momentan jeweilige Binaries für &#039;&#039;&#039;USB&#039;&#039;&#039;, &#039;&#039;&#039;LAN&#039;&#039;&#039; und &#039;&#039;&#039;Wifi/serial&#039;&#039;&#039; (tx/rx vom DBG Anschluss)&lt;br /&gt;
* LAN gibt es momentan nur für den MapleSduino; siehe dazu  {{Link2Forum|Topic=106278|Message=1049877|LinkText=diesen Forenbeitrag}}.&lt;br /&gt;
* serial ist z.B. für eine wifi-serial bridge mit dem ESP (z.B. ESP-link)&lt;br /&gt;
Es gibt für den MapleSduino und den MapleCul verschiedene Binaries:&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;Maple_sduino....bin&amp;quot; ist für den MapleSduino&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;Maple_cul_....bin&amp;quot; ist für den MapleCUL und [[MapleCUN]].&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_sduino_USB_411dev200627.bin -R&amp;lt;/code&amp;gt;&lt;br /&gt;
oder&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_cul_USB_411dev200627.bin -R&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[MapleCUN#Trick zum USB-Flashen (Code Schnipsel für kleines Skript)|Hier]] steht ein kleines Script zur Verfügung welches den Flashvorgang sehr vereinfacht und hier ist die Firmware zu finden: https://github.com/Ralf9/SIGNALDuino/releases&lt;br /&gt;
&lt;br /&gt;
Die verfügbare &#039;&#039;&#039;a-culw&#039;&#039;&#039; Firmware ist in diesem {{Link2Forum|Topic=106278|Message=1037726|LinkText=Forenbeitrag}} beschrieben und herunterladbar.&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Als Hardware wird der STM32F103CBT6 Maple Mini verwendet:&lt;br /&gt;
* 128 Kbytes Flash&lt;br /&gt;
* 20 Kbytes SRAM&lt;br /&gt;
* 2 SPI&lt;br /&gt;
* Als optionales [https://www.usriot.com/download/ES1/USR-ES1-EN%20V1.3.pdf LAN Modul den USR-ES1 W5500].&lt;br /&gt;
&lt;br /&gt;
==== Aufbau der Hardware ====&lt;br /&gt;
[[Datei:MapleMini-Ralf9_Schaltplan_%281%29.jpg|mini|rechts|Schaltplan]]&lt;br /&gt;
Ab der Version 4.1.0 werden bis zu vier cc1101 Module (A-D) unterstützt&lt;br /&gt;
&lt;br /&gt;
Beim MapleSduino sind die cc1101 Module an SPI2 angeschlossen:&lt;br /&gt;
* 28 MOSI&lt;br /&gt;
* 29 MISO&lt;br /&gt;
* 30 SCLK&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_0 (&#039;&#039;&#039;A&#039;&#039;&#039;) &lt;br /&gt;
* 31  CSN  (Chip Select)&lt;br /&gt;
* 11  GD02 (Receive)&lt;br /&gt;
* 10  GD00  (send), optional für die a-culw&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_1 (&#039;&#039;&#039;B&#039;&#039;&#039;) - 433 MHz für OOK/ASK &lt;br /&gt;
* 12  CSN  (Chip Select)&lt;br /&gt;
* 18  GD02 (Receive)&lt;br /&gt;
* 17  GD00  (send)&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_2 (&#039;&#039;&#039;C&#039;&#039;&#039;)&lt;br /&gt;
* 15  CSN  (Chip Select)&lt;br /&gt;
* 16  GD02 (Receive)&lt;br /&gt;
* 13  GD00  (send), optional für die a-culw&lt;br /&gt;
&lt;br /&gt;
===== Platine =====&lt;br /&gt;
Es gibt von {{Link2FU|12535|Ranseyer}} eine {{Link2Forum|Topic=109220|LinkText=Platine}}. Auf dieser Platine kann der Maple-Mini auf zwei unterschiedliche Arten bestückt werden: &lt;br /&gt;
#normal (die USB Buchse und reset/but Taste sind oben, somit sind die beiden Taster direkt zu betätigen)[[Datei:Maple bestueckung gedreht.jpg|mini|2. Maple Bestückung gedreht]]&lt;br /&gt;
#gedreht (USB Buchse ist unten in der Aussparung und kann zB. mit Heisskleber fixiert werden, reset/but Taster sind durch entsprechende Löcher/Langloch in der Platine zu betätigen)&lt;br /&gt;
Zur Orientierung ist Pin 31 auf der Platine beschriftet.&lt;br /&gt;
&lt;br /&gt;
Es können bis zu 3 CC1101 Module/Stamps an der Platine betrieben werden. 2 Module 868MHz und 433MHz werden direkt auf die Platine gelötet. Das dritte Modul/Stamp wird Mithilfe einzelner Adern an die Platine (Lötaugen CC3A-VCC,GND,MOSI,SCK und CC3B-CS2,Out2,IN2,MISO2) angeschlossen&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wichtig: Bei den V0.1 und V0.2 Platinen ist die Beschriftung 433 und 868 MHz manuell zu ändern!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== Teile =====&lt;br /&gt;
* Maple Mini / STM32F103CBT6: https://de.aliexpress.com/item/1400667476.html oder auch schneller bei Amazon&lt;br /&gt;
&lt;br /&gt;
Funkmodule nach Wahl:&lt;br /&gt;
* CC1101 868MHZ:  https://de.aliexpress.com/item/32635393463.html, https://de.aliexpress.com/item/4000594832541.html&lt;br /&gt;
* CC1101 433 Mhz: https://de.aliexpress.com/item/32472259186.html&lt;br /&gt;
&lt;br /&gt;
Empfohlen:&lt;br /&gt;
* Puffer-Kondensator 10-500uF. Z.B. als C5 mit 10uF: Conrad Artikelnummer 457966&lt;br /&gt;
&lt;br /&gt;
Optional:&lt;br /&gt;
* LAN Modul USR-ES1 W5500: https://de.aliexpress.com/item/32598945210.html&lt;br /&gt;
* Abblock-Kondensator mit ein paar pF bis nF an VCC des Maple. Z.B. als C6 mit 22PF: Conrad Artikelnummer 445432&lt;br /&gt;
* Koaxbuchsen: https://de.aliexpress.com/item/4000009303962.html&lt;br /&gt;
&lt;br /&gt;
Antennen: Infos dazu gibt es reichlich im Internet, auch im {{Link2Forum|Topic=93021|LinkText=Antennenthread im FHEM-Forum}}&lt;br /&gt;
&lt;br /&gt;
== Nutzung in FHEM ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;Austausch des FHEM Moduls 00_SIGNALduino.pm&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Für die komfortable Bedienung und für FSK ( Empfang/Dekodierung vom LaCrosse Protokoll benötigt FSK) ist ein {{Link2Forum|Topic=111653|Message=1058900|LinkText=angepasstes 00_SIGNALduino Modul}} notwendig.&lt;br /&gt;
&lt;br /&gt;
Wird die ursprüngliche 00_SIGNALduino.pm genutzt, ist das dekodieren von LaCrosse Sensoren nicht möglich und zusätzlich dann bedarf es recht umständlicher Zeichenfolgen, um z.B den jeweiligen Sendemodus eines CC1101 Moduls zu konfigurieren. So lautet z.B. die Zeichenfolge für die Konfiguration des Sendemodus &#039;&#039;Mode 1 - IT+ 17.241 kbps (LaCrosse)&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
get sduino raw CW0001,0246,0302,042D,05D4,06FF,0700,0802,0D21,0E65,0F6A,1089,115C,1206,1322,14F8,1556,1700,1818,1916,1B43,1C68,1D91,2211,23E9,242A,2500,2611,3D00,3E04,404d,4131,425f,4349,4454,452b,4600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wird die angepasste 00_SIGNALduino.pm genutzt so steht folgender Befehl im FHEM Device zur Verfügung&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
set sduino rfmode&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein &#039;&#039;&#039;update auf die angepasste 00_SIGNALduino.pm&#039;&#039;&#039;  kann gemacht werden mit&lt;br /&gt;
 &amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/Ralf9/RFFHEM/master/controls_ralf9_signalduino.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;oder&#039;&#039;&#039; die Datei   [https://raw.githubusercontent.com/Ralf9/RFFHEM/master/FHEM/00_SIGNALduino.pm 00_SIGNALduino.pm] ins FHEM Verzeichnis und die [https://raw.githubusercontent.com/Ralf9/RFFHEM/master/FHEM/lib/signalduino_protocols.pm signalduino_protocols.pm] ins lib Verzeichnis kopieren, dann fhem neu starten.&lt;br /&gt;
&lt;br /&gt;
Hier gibt es noch weitere Details zu dem Thema:&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1032098|LinkText=Erste Schritte}}&lt;br /&gt;
* {{Link2Forum|Topic=58396|Message=497921|LinkText=allgemeine Befehlsübersicht}}&lt;br /&gt;
* Beschreibung {{Link2Forum|Topic=106594|Message=1004463|LinkText=&amp;quot;FSK mit dem SIGNALDuino&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
Wenn gewünscht kann jederzeit mit dem Befehl&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
update all https://raw.githubusercontent.com/RFD-FHEM/RFFHEM/master/controls_signalduino.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;auf die ursprüngliche 00_SIGNALduino.pm zurück gewechslt werden.&lt;br /&gt;
&lt;br /&gt;
=== USB-ID ermitteln (bei der USB Variante) ===&lt;br /&gt;
{{Randnotiz|RNTyp=g|RNText=Weitere Hintergrundinformationen zu dieser Art der Adressierung von USB-Geräten allgemein sind in [[Mehrere USB-Geräte einbinden|diesem Beitrag]] zu finden.}}Im Terminal den folgenden Befehl ausführen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ls -l /dev/serial/by-id &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das ergibt z.B. diese Ausgabe:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
lrwxrwxrwx 1 root root 13 28. Jun 19:13 usb-STMicroelectronics_MAPLEMINI_F103CB_CDC_in_FS_Mode_XXXXXXXXX-if00 -&amp;gt; ../../ttyACM0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SIGNALduino Definition ===&lt;br /&gt;
Für die USB-Version: &lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;eigener-SIGNALduino-Name&amp;gt; SIGNALduino /dev/serial/by-id/&#039;&#039;&#039;&#039;&#039;usb-STMicroelectronics_MAPLEMINI_F103CB_CDC_in_FS_Mode_XXXXXXXX-if00&#039;&#039;&#039;&#039;&#039;@115200&amp;lt;/code&amp;gt;&lt;br /&gt;
Für die LAN-Version: &lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;eigener-SIGNALduino-Name&amp;gt; SIGNALduino 192.168.0.244:23&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei der LAN Version ist in der Grundeinstellung DHCP vom Maple-SignalDuino aktiviert.&lt;br /&gt;
&lt;br /&gt;
Soll der Maple-SignalDuino eine feste IP im Netz bekommen so kann z.B mit Hilfe einer Telnet Verbindung die Netzwerk Konfig des Maple-SignalDuino geändert werden.  [[CUN Netzwerk einrichten]]&lt;br /&gt;
&lt;br /&gt;
=== Inbetriebnahme/Konfiguration ===&lt;br /&gt;
Ist der Maple-SDuino in Fhem definiert, so müssen je nach Bestückung die jeweiligen CC1101 Module konfiguriert werden. Beispielhaft hier die Konfiguration eines Maple-SDuino mit 3 CC1101 Modulen/Stamps. Das erste Modul (868 MHz) empfängt/dekodiert Slow/RF, das zweite Modul (433 MHz) ist für IT und das dritte (868 MHz) Modul ist für LaCrosse. In der Grundeinstellung ist zunächst nur das zweite Modul (433MHz - Radio B) aktiv. Module 1 und 3 (Radio A und Radio C) sind deaktiviert. Deshalb müssen zunächst die beiden Radios aktiviert werden, danach werden die jeweiligen Radios mit den in den Speicherbänken hinterlegten RFmodes initialisiert:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; CREA   #aktiviert Radio A&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; CREC   #aktiviert Radio C&lt;br /&gt;
&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; raw bA     #selektiert Radio A&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; cmdbank 0  #aktiviert Speicherbank 0 des Maple-SDuino&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; rfmode SlowRF_CCFactoryReset   #speichert rfmode SlowRF in aktivierter Speicherbank&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; raw bA0W   #Zuordnung Radio A mit Speicherbank 0&lt;br /&gt;
&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; raw bB     #selektiert Radio B&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; cmdbank 1  #aktiviert Speicherbank 1 des Maple-SDuino&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; rfmode SlowRF_CCFactoryReset   #speichert rfmode SlowRF in aktivierter Speicherbank&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; raw bB1W   #Zuordnung Radio A mit Speicherbank 1&lt;br /&gt;
&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; raw bC     #selektiert Radio C&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; cmdbank 2  #aktiviert Speicherbank 2 des Maple-SDuino&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; rfmode LaCrosse_mode_17241   #speichert rfmode LaCrosse_17241 in aktivierter Speicherbank&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; raw bC2W   #Zuordnung Radio A mit Speicherbank 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Ergebnis steht dann im Reading &#039;&#039;&#039;version&#039;&#039;&#039; unter anderem &amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
(R: A0* B1 C2)   # RadioA Speicherbank0, Radio B Speicherbank1, RadionC Specherbank2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In den Internals des Maple-Sduino steht dann sinngemäß folgendes&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
a_ccconf   b=0 freq:868.350MHz bWidth:464KHz rAmpl:42dB sens:4dB (DataRate:5603.79Baud,Modulation:ASK/OOK) [boffs=0100*]&lt;br /&gt;
&lt;br /&gt;
b_ccconf   b=1 freq:433.920MHz bWidth:325KHz rAmpl:42dB sens:4dB (DataRate:5603.79Baud,Modulation:ASK/OOK) [boffs=0140]&lt;br /&gt;
&lt;br /&gt;
c_ccconf   b=2 freq:868.300MHz bWidth:203KHz rAmpl:33dB sens:8dB (DataRate:17257.69Baud) [boffs=0000]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fehlersuche, Diverse ===&lt;br /&gt;
Der Stromverbrauch der Transceiver ist typischerweise 17 mA für RX und 34 mA für TX pro Modul. Bei Inaktivität: 4 Transceiver, LAN-Modul, MAPLE ca 100mA.&lt;br /&gt;
&lt;br /&gt;
Wenn der SlowRF nicht mehr funktioniert: Per Default ist das cc1101 Modul der Bank 0 zugeordnet, dies kann mit get Version kontrolliert werden. Es muß in Version &amp;quot;B0&amp;quot; stehen z.B. (R: B0). Es kann auch ein Factory Reset vom Modul B versucht werden, dazu muß das Modul B selektiert sein (R: B0*)&lt;br /&gt;
 get sduino raw e&lt;br /&gt;
Antwort:&lt;br /&gt;
 ccFactoryReset done&lt;br /&gt;
 r=B b=0 rx=0 ccmode=0 sync=D391 ccconf=10B07157C43023B900070018146C070090 boffs=0000&lt;br /&gt;
&lt;br /&gt;
Wenn es immer noch nicht funktioniert kann auch mit &amp;quot;eC&amp;quot; ein factory Reset der Konfigeinstellungen im EEPROM durchgeführt werden.&lt;br /&gt;
 get sduino raw eC&lt;br /&gt;
Antwort:&lt;br /&gt;
 Init eeprom to defaults&lt;br /&gt;
 detect B: Partn=0 Ver=0x14&lt;br /&gt;
&lt;br /&gt;
Wenn ein nativer Mode (FSK) nicht mehr funktioniert: Dazu muss das entsprechende cc1101 Modul selektiert sein. Mit &amp;quot;get Version&amp;quot; kann dies kontrolliert werden. Ein &amp;quot;-&amp;quot; bedeutet, daß das Modul nicht erkannt wurde z.B. (A-). Ein &amp;quot;i&amp;quot; bedeutet, das dem Modul keine Bank zugeordnet wurde z.B.(Ai).&lt;br /&gt;
&lt;br /&gt;
Es kann versucht werden mit den raw Befehlen &amp;quot;e&amp;quot; und &amp;quot;CW...&amp;quot; die Bank neu zu konfigurieren.&lt;br /&gt;
Wenn dies alles nicht hilft, kann mit dem raw Befehl &amp;quot;eC&amp;quot; ein factory Reset der Konfigeinstellungen gemacht werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Forenthema: {{Link2Forum|Topic=106278|LinkText=Entwicklung SIGNALDuino Empfänger Firm- und Hardware V 4.x.x auch auf Maple Mini}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Arduino]]&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;br /&gt;
[[Kategorie:CUL]]&lt;/div&gt;</summary>
		<author><name>Fritz Muster</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Datei:Maple_bestueckung_gedreht.jpg&amp;diff=35869</id>
		<title>Datei:Maple bestueckung gedreht.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Datei:Maple_bestueckung_gedreht.jpg&amp;diff=35869"/>
		<updated>2021-07-13T10:03:27Z</updated>

		<summary type="html">&lt;p&gt;Fritz Muster: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Maple Bestückung gedreht&lt;/div&gt;</summary>
		<author><name>Fritz Muster</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Maple-SignalDuino&amp;diff=35868</id>
		<title>Maple-SignalDuino</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Maple-SignalDuino&amp;diff=35868"/>
		<updated>2021-07-13T10:00:24Z</updated>

		<summary type="html">&lt;p&gt;Fritz Muster: Fehlerkorrektur /* Inbetriebnahme/Konfiguration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=Maple-SDuino-Photo1.jpg&lt;br /&gt;
|Bildbeschreibung=Maple-SignalDuino, links als LAN-, rechts als USB-Version&lt;br /&gt;
|HWProtocol=diverse&lt;br /&gt;
|HWType=Transceiver&lt;br /&gt;
|HWCategory=&lt;br /&gt;
|HWComm=Funk, 433MHz oder 868MHz&lt;br /&gt;
|HWChannels=f&lt;br /&gt;
|HWVoltage=3,3V nach Spannungsregler&lt;br /&gt;
|HWPowerConsumption=&lt;br /&gt;
|HWPoweredBy=USB&lt;br /&gt;
|HWSize=79 x 27&amp;amp;nbsp;mm&lt;br /&gt;
|HWDeviceFHEM=modifiziertes [[SIGNALduino]]&lt;br /&gt;
|HWManufacturer=Eigenbau}}&lt;br /&gt;
=== Einleitung ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Einfacher SIGNALduino mit nur einem cc1101 Modul (alternativ) ===&lt;br /&gt;
Es wird dabei nur das CC1101_1 (B) - für OOK/ASK verwendet.&lt;br /&gt;
&lt;br /&gt;
Schaltplan siehe [[Maple-SignalDuino#Aufbau der Hardware]]. Es kann auch die Platine von @Ranseyer verwendet werden, wenn nur das zweite cc1101 Modul bestückt wird.&lt;br /&gt;
[[Datei:MapleSduino_Schaltplan_nur_Modul_B.png|200px|thumb|right|Beispielschaltplan Maple-SIGNALduino]]  &lt;br /&gt;
&lt;br /&gt;
Es ist keine cc1101 Modul konfiguration notwendig, das Modul B wird automatisch initialisiert.&lt;br /&gt;
&lt;br /&gt;
Zur Inbetriebnahme ist folgendes notwendig:&lt;br /&gt;
* [[Maple-SignalDuino#Bootloader flashen|Bootloader 2.0 über USB flashen]] &lt;br /&gt;
* [[Maple-SignalDuino#Firmware flashen|Firmware flashen]]   &lt;br /&gt;
* [[Maple-SignalDuino#Nutzung in FHEM|evtl. angepasstes 00_SIGNALduino Modul installieren]]&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&amp;lt;u&amp;gt;Dieses Projekt ist &#039;&#039;&#039;NICHT&#039;&#039;&#039; zu verwechseln mit dem Originalprojekt.&amp;lt;/u&amp;gt; Es handelt sich hierbei um einen Clone von [https://github.com/RFD-FHEM/RFFHEM RFFHEM] und [https://github.com/RFD-FHEM/SIGNALDuino SIGNALduino].&lt;br /&gt;
&lt;br /&gt;
==== Neuerungen ====&lt;br /&gt;
&#039;&#039;&#039;Bei dieser Version für den Maple Mini gibt es u.a. die folgenden Neuerungen:&#039;&#039;&#039;&lt;br /&gt;
* Das Sendekommando kann eine maximale Länge von 600 Zeichen haben.&lt;br /&gt;
* Der Messagepuffer hat nun eine maximale Größe von 1500 Pulsen Es gibt nun zwei neue Konfigurationsvariabl&lt;br /&gt;
**  ::&#039;&#039;CSmaxMsgSizex256&#039;&#039; - damit kann die Größe des Messagepuffers konfiguriert werden. Der Wert wird mit 256 multipliziert, d.h. 4 ergibt eine Messagepuffergröße von 1024&lt;br /&gt;
** ::&#039;&#039;CSmaxMuPrintx256&#039;&#039; - damit kann die maximale Länge von MU-Nachrichten konfiguriert werden. Der Wert wird mit 256 multipliziert&lt;br /&gt;
&lt;br /&gt;
* Die zweite und folgenden MS-Nachrichten werden nun mit der vorherigen MS-Nachricht verglichen; sind sie gleich, wird am Ende ein &amp;quot;Q&amp;quot; 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&lt;br /&gt;
* Befehl &#039;&#039;&#039;CR&#039;&#039;&#039; - configRadio &lt;br /&gt;
** &#039;&#039;&#039;CRE&amp;lt;A-D&amp;gt;&#039;&#039;&#039; aktiviert ein cc1101 Modul z.B. CREA aktiviert das erste cc1101 Modul A &lt;br /&gt;
** &#039;&#039;&#039;CRD&amp;lt;A-D&amp;gt;&#039;&#039;&#039; deaktiviert ein cc1101 Modul z.B. CRDA deaktiviert das erste cc1101 Modul A&lt;br /&gt;
* Der Befehl &#039;&#039;&#039;b&#039;&#039;&#039; wurde erweitert:&lt;br /&gt;
** &#039;&#039;&#039;b&amp;lt;A-D&amp;gt;&amp;lt;0-9&amp;gt;&#039;&#039;&#039;  initialisiert ein cc1101 Modul (A-D) mit einer Speicherbank (0-9) z.B. bA3 initialisiert das erste cc1101 Modul A mit der Speicherbank 3&lt;br /&gt;
** &#039;&#039;&#039;b&amp;lt;A-D&amp;gt;&#039;&#039;&#039; selektiert ein cc1101 Modul (A-D) z.B. selektiert bA das erste cc1101 Modul A. Die Befehle zum lesen und schreiben vom EEPROM und cc1101 Registern werden auf das selektierte cc1101 angewendet.&lt;br /&gt;
** &#039;&#039;&#039;mit nachgestelltem W&#039;&#039;&#039; wird es im EEPROM gespeichert z.B. bA1&#039;&#039;&#039;W&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;br&#039;&#039;&#039; - damit wird von allen cc1101 eine Bankinfo ausgegeben&lt;br /&gt;
** &#039;&#039;&#039;bs&#039;&#039;&#039; - damit wird eine Übersicht von allen Bänken ausgegeben&lt;br /&gt;
* Mit &#039;&#039;&#039;V&#039;&#039;&#039; (get Version) bekommt man eine Übersicht über die Module z.B. (R: A1 B0*). Mit * wird das selektierte cc1101 Modul markiert. Ein &amp;quot;-&amp;quot; hinter dem Modul (A-D), bedeutet, dass dieses Modul nicht richtig erkannt wurde, ein &amp;quot;i&amp;quot; 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. &lt;br /&gt;
* &#039;&#039;&#039;XQ&#039;&#039;&#039; - deaktiviert Empfang aller cc1101 Module&lt;br /&gt;
** &#039;&#039;&#039;XQ&amp;lt;A-D&amp;gt;&#039;&#039;&#039; - deaktiviert Empfang einzelner cc1101 Module&lt;br /&gt;
* &#039;&#039;&#039;XE&#039;&#039;&#039; - aktiviert Empfang aller cc1101Module&lt;br /&gt;
** &#039;&#039;&#039;XE&amp;lt;A-D&amp;gt;&#039;&#039;&#039; - aktiviert Empfang einzelner cc1101 Module&lt;br /&gt;
Bei der &#039;&#039;&#039;USB Version&#039;&#039;&#039; ist durch anhängen von W ein &#039;&#039;&#039;XQW&#039;&#039;&#039; 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 &amp;quot;irx0&amp;quot; in der Version erkennbar.&lt;br /&gt;
* Die Datenkomprimierung für MS- und MU-Nachrichten (config: Mred=1) ist nun nicht mehr notwendig.&lt;br /&gt;
&lt;br /&gt;
==== Kompilieren ====&lt;br /&gt;
Wer es selber compilieren will: https://github.com/Ralf9/SIGNALDuino/tree/dev-r41x_cc1101 ({{Link2Forum|Topic=106278|Message=1027914|LinkText=siehe auch diesen Forenbeitrag}}) Außerdem besteht jetzt auch die Möglichkeit mit platformio zu kompilieren. Weiter Infos dazu [https://forum.fhem.de/index.php/topic,106278.msg1165616.html#msg1165616 hier].&lt;br /&gt;
&lt;br /&gt;
=== Flashen ===&lt;br /&gt;
Es empfiehlt sich, sowohl den Bootloader als auch die Firmware im zunächst unbestückten Zustand des MapleSduino auf selbigen zu flashen. Im Forum wird immer wieder mal von nicht funktionierenden Bauteilen wie Maple, LAN Modul oder auch nicht korrekt funktionierenden CC1101 Modulen berichtet. Sind alle Bauteile auf entsprechenden Platinen erst einmal verlötet, ist es sehr schwierig defekte Bauteile zu entlöten bzw. auszutauschen. Außerdem ist eine stabile Spannungsversorgung vom Maple während der Flashvorgänge zwingend erforderlich.&lt;br /&gt;
&lt;br /&gt;
==== Bootloader flashen ====&lt;br /&gt;
Ab der Version 4.1.0-dev200427 ist für die .bin Files der Bootloader2.0 erforderlich. Es kann durchaus möglich sein das auf einem frisch gelieferten Maple bereits der Bootloader 2.0 drauf ist. Daher empfiehlt es sich zunächst den Versuch zu starten direkt die [[Maple-SignalDuino#Firmware flashen|Firmware zu flashen]]. Ist der benötigte Bootloader 2.0 nicht auf dem Maple so muss dieser einmalig auf dem Maple installiert werden. Ist das erfolgt so kann die Firmware beliebig oft geflasht werden. &lt;br /&gt;
&lt;br /&gt;
Um den Flashvorgang zu vereinfachen dient folgendes kleine Skript:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
while (true); do&lt;br /&gt;
echo &amp;quot;Debug-Port des MAPLE per FTDI-USB2Seriell Wandler anschliessen (RX+TX gekreuzt)!, Bot-Taste halten und erst dann MAPLE mit Spannung versorgen. &amp;quot;&lt;br /&gt;
sudo stm32flash -w maple_mini_boot20.bin -v /dev/ttyUSB0&lt;br /&gt;
if [ $? -eq 0 ]&lt;br /&gt;
then break&lt;br /&gt;
fi&lt;br /&gt;
sleep 1&lt;br /&gt;
done&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Der Bootloader als .bin Datei steht [https://github.com/rogerclarkmelbourne/STM32duino-bootloader/blob/master/binaries/maple_mini_boot20.bin hier] zum Download bereit. Weitere Details zum Flashen des Bootloaders&lt;br /&gt;
* [[MapleCUN#Bootloader_flashen|MapleCUN]]&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1073244|LinkText=Bootloader 2.0 über USB flashen}}&lt;br /&gt;
* https://github.com/heliflieger/a-culfw/tree/master/culfw/Devices/MapleCUN&lt;br /&gt;
&lt;br /&gt;
==== Firmware flashen ====&lt;br /&gt;
Ist der benötigte Bootloader erst einmal geflasht, kann die Firmware des MapleSduino geflasht werden.  Abhängig davon, wie der MapleSduino in das System eingebunden werden soll, (USB, LAN oder WIFI) gibt es momentan jeweilige Binaries für &#039;&#039;&#039;USB&#039;&#039;&#039;, &#039;&#039;&#039;LAN&#039;&#039;&#039; und &#039;&#039;&#039;Wifi/serial&#039;&#039;&#039; (tx/rx vom DBG Anschluss)&lt;br /&gt;
* LAN gibt es momentan nur für den MapleSduino; siehe dazu  {{Link2Forum|Topic=106278|Message=1049877|LinkText=diesen Forenbeitrag}}.&lt;br /&gt;
* serial ist z.B. für eine wifi-serial bridge mit dem ESP (z.B. ESP-link)&lt;br /&gt;
Es gibt für den MapleSduino und den MapleCul verschiedene Binaries:&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;Maple_sduino....bin&amp;quot; ist für den MapleSduino&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;Maple_cul_....bin&amp;quot; ist für den MapleCUL und [[MapleCUN]].&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_sduino_USB_411dev200627.bin -R&amp;lt;/code&amp;gt;&lt;br /&gt;
oder&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_cul_USB_411dev200627.bin -R&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[MapleCUN#Trick zum USB-Flashen (Code Schnipsel für kleines Skript)|Hier]] steht ein kleines Script zur Verfügung welches den Flashvorgang sehr vereinfacht und hier ist die Firmware zu finden: https://github.com/Ralf9/SIGNALDuino/releases&lt;br /&gt;
&lt;br /&gt;
Die verfügbare &#039;&#039;&#039;a-culw&#039;&#039;&#039; Firmware ist in diesem {{Link2Forum|Topic=106278|Message=1037726|LinkText=Forenbeitrag}} beschrieben und herunterladbar.&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Als Hardware wird der STM32F103CBT6 Maple Mini verwendet:&lt;br /&gt;
* 128 Kbytes Flash&lt;br /&gt;
* 20 Kbytes SRAM&lt;br /&gt;
* 2 SPI&lt;br /&gt;
* Als optionales [https://www.usriot.com/download/ES1/USR-ES1-EN%20V1.3.pdf LAN Modul den USR-ES1 W5500].&lt;br /&gt;
&lt;br /&gt;
==== Aufbau der Hardware ====&lt;br /&gt;
[[Datei:MapleMini-Ralf9_Schaltplan_%281%29.jpg|mini|rechts|Schaltplan]]&lt;br /&gt;
Ab der Version 4.1.0 werden bis zu vier cc1101 Module (A-D) unterstützt&lt;br /&gt;
&lt;br /&gt;
Beim MapleSduino sind die cc1101 Module an SPI2 angeschlossen:&lt;br /&gt;
* 28 MOSI&lt;br /&gt;
* 29 MISO&lt;br /&gt;
* 30 SCLK&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_0 (&#039;&#039;&#039;A&#039;&#039;&#039;) &lt;br /&gt;
* 31  CSN  (Chip Select)&lt;br /&gt;
* 11  GD02 (Receive)&lt;br /&gt;
* 10  GD00  (send), optional für die a-culw&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_1 (&#039;&#039;&#039;B&#039;&#039;&#039;) - 433 MHz für OOK/ASK &lt;br /&gt;
* 12  CSN  (Chip Select)&lt;br /&gt;
* 18  GD02 (Receive)&lt;br /&gt;
* 17  GD00  (send)&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_2 (&#039;&#039;&#039;C&#039;&#039;&#039;)&lt;br /&gt;
* 15  CSN  (Chip Select)&lt;br /&gt;
* 16  GD02 (Receive)&lt;br /&gt;
* 13  GD00  (send), optional für die a-culw&lt;br /&gt;
&lt;br /&gt;
===== Platine =====&lt;br /&gt;
Es gibt von {{Link2FU|12535|Ranseyer}} eine {{Link2Forum|Topic=109220|LinkText=Platine}}. Auf dieser Platine kann der Maple-Mini auf zwei unterschiedliche Arten bestückt werden: &lt;br /&gt;
#normal (die USB Buchse und reset/but Taste sind oben, somit sind die beiden Taster direkt zu betätigen) &lt;br /&gt;
#gedreht (USB Buchse ist unten in der Aussparung und kann zB. mit Heisskleber fixiert werden, reset/but Taster sind durch entsprechende Löcher/Langloch in der Platine zu betätigen)&lt;br /&gt;
Zur Orientierung ist Pin 31 auf der Platine beschriftet.&lt;br /&gt;
&lt;br /&gt;
Es können bis zu 3 CC1101 Module/Stamps an der Platine betrieben werden. 2 Module 868MHz und 433MHz werden direkt auf die Platine gelötet. Das dritte Modul/Stamp wird Mithilfe einzelner Adern an die Platine (Lötaugen CC3A-VCC,GND,MOSI,SCK und CC3B-CS2,Out2,IN2,MISO2) angeschlossen&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wichtig: Bei den V0.1 und V0.2 Platinen ist die Beschriftung 433 und 868 MHz manuell zu ändern!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== Teile =====&lt;br /&gt;
* Maple Mini / STM32F103CBT6: https://de.aliexpress.com/item/1400667476.html oder auch schneller bei Amazon&lt;br /&gt;
&lt;br /&gt;
Funkmodule nach Wahl:&lt;br /&gt;
* CC1101 868MHZ:  https://de.aliexpress.com/item/32635393463.html, https://de.aliexpress.com/item/4000594832541.html&lt;br /&gt;
* CC1101 433 Mhz: https://de.aliexpress.com/item/32472259186.html&lt;br /&gt;
&lt;br /&gt;
Empfohlen:&lt;br /&gt;
* Puffer-Kondensator 10-500uF. Z.B. als C5 mit 10uF: Conrad Artikelnummer 457966&lt;br /&gt;
&lt;br /&gt;
Optional:&lt;br /&gt;
* LAN Modul USR-ES1 W5500: https://de.aliexpress.com/item/32598945210.html&lt;br /&gt;
* Abblock-Kondensator mit ein paar pF bis nF an VCC des Maple. Z.B. als C6 mit 22PF: Conrad Artikelnummer 445432&lt;br /&gt;
* Koaxbuchsen: https://de.aliexpress.com/item/4000009303962.html&lt;br /&gt;
&lt;br /&gt;
Antennen: Infos dazu gibt es reichlich im Internet, auch im {{Link2Forum|Topic=93021|LinkText=Antennenthread im FHEM-Forum}}&lt;br /&gt;
&lt;br /&gt;
== Nutzung in FHEM ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;Austausch des FHEM Moduls 00_SIGNALduino.pm&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Für die komfortable Bedienung und für FSK ( Empfang/Dekodierung vom LaCrosse Protokoll benötigt FSK) ist ein {{Link2Forum|Topic=111653|Message=1058900|LinkText=angepasstes 00_SIGNALduino Modul}} notwendig.&lt;br /&gt;
&lt;br /&gt;
Wird die ursprüngliche 00_SIGNALduino.pm genutzt, ist das dekodieren von LaCrosse Sensoren nicht möglich und zusätzlich dann bedarf es recht umständlicher Zeichenfolgen, um z.B den jeweiligen Sendemodus eines CC1101 Moduls zu konfigurieren. So lautet z.B. die Zeichenfolge für die Konfiguration des Sendemodus &#039;&#039;Mode 1 - IT+ 17.241 kbps (LaCrosse)&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
get sduino raw CW0001,0246,0302,042D,05D4,06FF,0700,0802,0D21,0E65,0F6A,1089,115C,1206,1322,14F8,1556,1700,1818,1916,1B43,1C68,1D91,2211,23E9,242A,2500,2611,3D00,3E04,404d,4131,425f,4349,4454,452b,4600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wird die angepasste 00_SIGNALduino.pm genutzt so steht folgender Befehl im FHEM Device zur Verfügung&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
set sduino rfmode&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein &#039;&#039;&#039;update auf die angepasste 00_SIGNALduino.pm&#039;&#039;&#039;  kann gemacht werden mit&lt;br /&gt;
 &amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/Ralf9/RFFHEM/master/controls_ralf9_signalduino.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;oder&#039;&#039;&#039; die Datei   [https://raw.githubusercontent.com/Ralf9/RFFHEM/master/FHEM/00_SIGNALduino.pm 00_SIGNALduino.pm] ins FHEM Verzeichnis und die [https://raw.githubusercontent.com/Ralf9/RFFHEM/master/FHEM/lib/signalduino_protocols.pm signalduino_protocols.pm] ins lib Verzeichnis kopieren, dann fhem neu starten.&lt;br /&gt;
&lt;br /&gt;
Hier gibt es noch weitere Details zu dem Thema:&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1032098|LinkText=Erste Schritte}}&lt;br /&gt;
* {{Link2Forum|Topic=58396|Message=497921|LinkText=allgemeine Befehlsübersicht}}&lt;br /&gt;
* Beschreibung {{Link2Forum|Topic=106594|Message=1004463|LinkText=&amp;quot;FSK mit dem SIGNALDuino&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
Wenn gewünscht kann jederzeit mit dem Befehl&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
update all https://raw.githubusercontent.com/RFD-FHEM/RFFHEM/master/controls_signalduino.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;auf die ursprüngliche 00_SIGNALduino.pm zurück gewechslt werden.&lt;br /&gt;
&lt;br /&gt;
=== USB-ID ermitteln (bei der USB Variante) ===&lt;br /&gt;
{{Randnotiz|RNTyp=g|RNText=Weitere Hintergrundinformationen zu dieser Art der Adressierung von USB-Geräten allgemein sind in [[Mehrere USB-Geräte einbinden|diesem Beitrag]] zu finden.}}Im Terminal den folgenden Befehl ausführen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ls -l /dev/serial/by-id &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das ergibt z.B. diese Ausgabe:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
lrwxrwxrwx 1 root root 13 28. Jun 19:13 usb-STMicroelectronics_MAPLEMINI_F103CB_CDC_in_FS_Mode_XXXXXXXXX-if00 -&amp;gt; ../../ttyACM0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SIGNALduino Definition ===&lt;br /&gt;
Für die USB-Version: &lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;eigener-SIGNALduino-Name&amp;gt; SIGNALduino /dev/serial/by-id/&#039;&#039;&#039;&#039;&#039;usb-STMicroelectronics_MAPLEMINI_F103CB_CDC_in_FS_Mode_XXXXXXXX-if00&#039;&#039;&#039;&#039;&#039;@115200&amp;lt;/code&amp;gt;&lt;br /&gt;
Für die LAN-Version: &lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;eigener-SIGNALduino-Name&amp;gt; SIGNALduino 192.168.0.244:23&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei der LAN Version ist in der Grundeinstellung DHCP vom Maple-SignalDuino aktiviert.&lt;br /&gt;
&lt;br /&gt;
Soll der Maple-SignalDuino eine feste IP im Netz bekommen so kann z.B mit Hilfe einer Telnet Verbindung die Netzwerk Konfig des Maple-SignalDuino geändert werden.  [[CUN Netzwerk einrichten]]&lt;br /&gt;
&lt;br /&gt;
=== Inbetriebnahme/Konfiguration ===&lt;br /&gt;
Ist der Maple-SDuino in Fhem definiert, so müssen je nach Bestückung die jeweiligen CC1101 Module konfiguriert werden. Beispielhaft hier die Konfiguration eines Maple-SDuino mit 3 CC1101 Modulen/Stamps. Das erste Modul (868 MHz) empfängt/dekodiert Slow/RF, das zweite Modul (433 MHz) ist für IT und das dritte (868 MHz) Modul ist für LaCrosse. In der Grundeinstellung ist zunächst nur das zweite Modul (433MHz - Radio B) aktiv. Module 1 und 3 (Radio A und Radio C) sind deaktiviert. Deshalb müssen zunächst die beiden Radios aktiviert werden, danach werden die jeweiligen Radios mit den in den Speicherbänken hinterlegten RFmodes initialisiert:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; CREA   #aktiviert Radio A&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; CREC   #aktiviert Radio C&lt;br /&gt;
&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; raw bA     #selektiert Radio A&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; cmdbank 0  #aktiviert Speicherbank 0 des Maple-SDuino&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; rfmode SlowRF_CCFactoryReset   #speichert rfmode SlowRF in aktivierter Speicherbank&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; raw bA0W   #Zuordnung Radio A mit Speicherbank 0&lt;br /&gt;
&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; raw bB     #selektiert Radio B&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; cmdbank 1  #aktiviert Speicherbank 1 des Maple-SDuino&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; rfmode SlowRF_CCFactoryReset   #speichert rfmode SlowRF in aktivierter Speicherbank&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; raw bB1W   #Zuordnung Radio A mit Speicherbank 1&lt;br /&gt;
&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; raw bC     #selektiert Radio C&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; cmdbank 2  #aktiviert Speicherbank 2 des Maple-SDuino&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; rfmode LaCrosse_mode_17241   #speichert rfmode LaCrosse_17241 in aktivierter Speicherbank&lt;br /&gt;
get &amp;lt;dein Maple-SDuino&amp;gt; raw bC2W   #Zuordnung Radio A mit Speicherbank 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Ergebnis steht dann im Reading &#039;&#039;&#039;version&#039;&#039;&#039; unter anderem &amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
(R: A0* B1 C2)   # RadioA Speicherbank0, Radio B Speicherbank1, RadionC Specherbank2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In den Internals des Maple-Sduino steht dann sinngemäß folgendes&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
a_ccconf   b=0 freq:868.350MHz bWidth:464KHz rAmpl:42dB sens:4dB (DataRate:5603.79Baud,Modulation:ASK/OOK) [boffs=0100*]&lt;br /&gt;
&lt;br /&gt;
b_ccconf   b=1 freq:433.920MHz bWidth:325KHz rAmpl:42dB sens:4dB (DataRate:5603.79Baud,Modulation:ASK/OOK) [boffs=0140]&lt;br /&gt;
&lt;br /&gt;
c_ccconf   b=2 freq:868.300MHz bWidth:203KHz rAmpl:33dB sens:8dB (DataRate:17257.69Baud) [boffs=0000]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fehlersuche, Diverse ===&lt;br /&gt;
Der Stromverbrauch der Transceiver ist typischerweise 17 mA für RX und 34 mA für TX pro Modul. Bei Inaktivität: 4 Transceiver, LAN-Modul, MAPLE ca 100mA.&lt;br /&gt;
&lt;br /&gt;
Wenn der SlowRF nicht mehr funktioniert: Per Default ist das cc1101 Modul der Bank 0 zugeordnet, dies kann mit get Version kontrolliert werden. Es muß in Version &amp;quot;B0&amp;quot; stehen z.B. (R: B0). Es kann auch ein Factory Reset vom Modul B versucht werden, dazu muß das Modul B selektiert sein (R: B0*)&lt;br /&gt;
 get sduino raw e&lt;br /&gt;
Antwort:&lt;br /&gt;
 ccFactoryReset done&lt;br /&gt;
 r=B b=0 rx=0 ccmode=0 sync=D391 ccconf=10B07157C43023B900070018146C070090 boffs=0000&lt;br /&gt;
&lt;br /&gt;
Wenn es immer noch nicht funktioniert kann auch mit &amp;quot;eC&amp;quot; ein factory Reset der Konfigeinstellungen im EEPROM durchgeführt werden.&lt;br /&gt;
 get sduino raw eC&lt;br /&gt;
Antwort:&lt;br /&gt;
 Init eeprom to defaults&lt;br /&gt;
 detect B: Partn=0 Ver=0x14&lt;br /&gt;
&lt;br /&gt;
Wenn ein nativer Mode (FSK) nicht mehr funktioniert: Dazu muss das entsprechende cc1101 Modul selektiert sein. Mit &amp;quot;get Version&amp;quot; kann dies kontrolliert werden. Ein &amp;quot;-&amp;quot; bedeutet, daß das Modul nicht erkannt wurde z.B. (A-). Ein &amp;quot;i&amp;quot; bedeutet, das dem Modul keine Bank zugeordnet wurde z.B.(Ai).&lt;br /&gt;
&lt;br /&gt;
Es kann versucht werden mit den raw Befehlen &amp;quot;e&amp;quot; und &amp;quot;CW...&amp;quot; die Bank neu zu konfigurieren.&lt;br /&gt;
Wenn dies alles nicht hilft, kann mit dem raw Befehl &amp;quot;eC&amp;quot; ein factory Reset der Konfigeinstellungen gemacht werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Forenthema: {{Link2Forum|Topic=106278|LinkText=Entwicklung SIGNALDuino Empfänger Firm- und Hardware V 4.x.x auch auf Maple Mini}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Arduino]]&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;br /&gt;
[[Kategorie:CUL]]&lt;/div&gt;</summary>
		<author><name>Fritz Muster</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Maple-SignalDuino&amp;diff=35865</id>
		<title>Maple-SignalDuino</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Maple-SignalDuino&amp;diff=35865"/>
		<updated>2021-07-12T08:52:22Z</updated>

		<summary type="html">&lt;p&gt;Fritz Muster: Formatierung &amp;quot;Neuerungen&amp;quot;; Ergänzungen &amp;quot;Kompilieren&amp;quot;,&amp;quot;Flashen&amp;quot;,&amp;quot;Bootloader flashen&amp;quot;,&amp;quot;Austausch 00_Signalduino.pm&amp;quot;; Neu &amp;quot;Inbetriebnahme/Konfiguration&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=Maple-SDuino-Photo1.jpg&lt;br /&gt;
|Bildbeschreibung=Maple-SignalDuino, links als LAN-, rechts als USB-Version&lt;br /&gt;
|HWProtocol=diverse&lt;br /&gt;
|HWType=Transceiver&lt;br /&gt;
|HWCategory=&lt;br /&gt;
|HWComm=Funk, 433MHz oder 868MHz&lt;br /&gt;
|HWChannels=f&lt;br /&gt;
|HWVoltage=3,3V nach Spannungsregler&lt;br /&gt;
|HWPowerConsumption=&lt;br /&gt;
|HWPoweredBy=USB&lt;br /&gt;
|HWSize=79 x 27&amp;amp;nbsp;mm&lt;br /&gt;
|HWDeviceFHEM=modifiziertes [[SIGNALduino]]&lt;br /&gt;
|HWManufacturer=Eigenbau}}&lt;br /&gt;
=== Einleitung ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Einfacher SIGNALduino mit nur einem cc1101 Modul (alternativ) ===&lt;br /&gt;
Es wird dabei nur das CC1101_1 (B) - für OOK/ASK verwendet.&lt;br /&gt;
&lt;br /&gt;
Schaltplan siehe [[Maple-SignalDuino#Aufbau der Hardware]]. Es kann auch die Platine von @Ranseyer verwendet werden, wenn nur das zweite cc1101 Modul bestückt wird.&lt;br /&gt;
[[Datei:MapleSduino_Schaltplan_nur_Modul_B.png|200px|thumb|right|Beispielschaltplan Maple-SIGNALduino]]  &lt;br /&gt;
&lt;br /&gt;
Es ist keine cc1101 Modul konfiguration notwendig, das Modul B wird automatisch initialisiert.&lt;br /&gt;
&lt;br /&gt;
Zur Inbetriebnahme ist folgendes notwendig:&lt;br /&gt;
* [[Maple-SignalDuino#Bootloader flashen|Bootloader 2.0 über USB flashen]] &lt;br /&gt;
* [[Maple-SignalDuino#Firmware flashen|Firmware flashen]]   &lt;br /&gt;
* [[Maple-SignalDuino#Nutzung in FHEM|evtl. angepasstes 00_SIGNALduino Modul installieren]]&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&amp;lt;u&amp;gt;Dieses Projekt ist &#039;&#039;&#039;NICHT&#039;&#039;&#039; zu verwechseln mit dem Originalprojekt.&amp;lt;/u&amp;gt; Es handelt sich hierbei um einen Clone von [https://github.com/RFD-FHEM/RFFHEM RFFHEM] und [https://github.com/RFD-FHEM/SIGNALDuino SIGNALduino].&lt;br /&gt;
&lt;br /&gt;
==== Neuerungen ====&lt;br /&gt;
&#039;&#039;&#039;Bei dieser Version für den Maple Mini gibt es u.a. die folgenden Neuerungen:&#039;&#039;&#039;&lt;br /&gt;
* Das Sendekommando kann eine maximale Länge von 600 Zeichen haben.&lt;br /&gt;
* Der Messagepuffer hat nun eine maximale Größe von 1500 Pulsen Es gibt nun zwei neue Konfigurationsvariabl&lt;br /&gt;
**  ::&#039;&#039;CSmaxMsgSizex256&#039;&#039; - damit kann die Größe des Messagepuffers konfiguriert werden. Der Wert wird mit 256 multipliziert, d.h. 4 ergibt eine Messagepuffergröße von 1024&lt;br /&gt;
** ::&#039;&#039;CSmaxMuPrintx256&#039;&#039; - damit kann die maximale Länge von MU-Nachrichten konfiguriert werden. Der Wert wird mit 256 multipliziert&lt;br /&gt;
&lt;br /&gt;
* Die zweite und folgenden MS-Nachrichten werden nun mit der vorherigen MS-Nachricht verglichen; sind sie gleich, wird am Ende ein &amp;quot;Q&amp;quot; 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&lt;br /&gt;
* Befehl &#039;&#039;&#039;CR&#039;&#039;&#039; - configRadio &lt;br /&gt;
** &#039;&#039;&#039;CRE&amp;lt;A-D&amp;gt;&#039;&#039;&#039; aktiviert ein cc1101 Modul z.B. CREA aktiviert das erste cc1101 Modul A &lt;br /&gt;
** &#039;&#039;&#039;CRD&amp;lt;A-D&amp;gt;&#039;&#039;&#039; deaktiviert ein cc1101 Modul z.B. CRDA deaktiviert das erste cc1101 Modul A&lt;br /&gt;
* Der Befehl &#039;&#039;&#039;b&#039;&#039;&#039; wurde erweitert:&lt;br /&gt;
** &#039;&#039;&#039;b&amp;lt;A-D&amp;gt;&amp;lt;0-9&amp;gt;&#039;&#039;&#039;  initialisiert ein cc1101 Modul (A-D) mit einer Speicherbank (0-9) z.B. bA3 initialisiert das erste cc1101 Modul A mit der Speicherbank 3&lt;br /&gt;
** &#039;&#039;&#039;b&amp;lt;A-D&amp;gt;&#039;&#039;&#039; selektiert ein cc1101 Modul (A-D) z.B. selektiert bA das erste cc1101 Modul A. Die Befehle zum lesen und schreiben vom EEPROM und cc1101 Registern werden auf das selektierte cc1101 angewendet.&lt;br /&gt;
** &#039;&#039;&#039;mit nachgestelltem W&#039;&#039;&#039; wird es im EEPROM gespeichert z.B. bA1&#039;&#039;&#039;W&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;br&#039;&#039;&#039; - damit wird von allen cc1101 eine Bankinfo ausgegeben&lt;br /&gt;
** &#039;&#039;&#039;bs&#039;&#039;&#039; - damit wird eine Übersicht von allen Bänken ausgegeben&lt;br /&gt;
* Mit &#039;&#039;&#039;V&#039;&#039;&#039; (get Version) bekommt man eine Übersicht über die Module z.B. (R: A1 B0*). Mit * wird das selektierte cc1101 Modul markiert. Ein &amp;quot;-&amp;quot; hinter dem Modul (A-D), bedeutet, dass dieses Modul nicht richtig erkannt wurde, ein &amp;quot;i&amp;quot; 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. &lt;br /&gt;
* &#039;&#039;&#039;XQ&#039;&#039;&#039; - deaktiviert Empfang aller cc1101 Module&lt;br /&gt;
** &#039;&#039;&#039;XQ&amp;lt;A-D&amp;gt;&#039;&#039;&#039; - deaktiviert Empfang einzelner cc1101 Module&lt;br /&gt;
* &#039;&#039;&#039;XE&#039;&#039;&#039; - aktiviert Empfang aller cc1101Module&lt;br /&gt;
** &#039;&#039;&#039;XE&amp;lt;A-D&amp;gt;&#039;&#039;&#039; - aktiviert Empfang einzelner cc1101 Module&lt;br /&gt;
Bei der &#039;&#039;&#039;USB Version&#039;&#039;&#039; ist durch anhängen von W ein &#039;&#039;&#039;XQW&#039;&#039;&#039; 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 &amp;quot;irx0&amp;quot; in der Version erkennbar.&lt;br /&gt;
* Die Datenkomprimierung für MS- und MU-Nachrichten (config: Mred=1) ist nun nicht mehr notwendig.&lt;br /&gt;
&lt;br /&gt;
==== Kompilieren ====&lt;br /&gt;
Wer es selber compilieren will: https://github.com/Ralf9/SIGNALDuino/tree/dev-r41x_cc1101 ({{Link2Forum|Topic=106278|Message=1027914|LinkText=siehe auch diesen Forenbeitrag}}) Außerdem besteht jetzt auch die Möglichkeit mit platformio zu kompilieren. Weiter Infos dazu [https://forum.fhem.de/index.php/topic,106278.msg1165616.html#msg1165616 hier].&lt;br /&gt;
&lt;br /&gt;
=== Flashen ===&lt;br /&gt;
Es empfiehlt sich, sowohl den Bootloader als auch die Firmware im zunächst unbestückten Zustand des MapleSduino auf selbigen zu flashen. Im Forum wird immer wieder mal von nicht funktionierenden Bauteilen wie Maple, LAN Modul oder auch nicht korrekt funktionierenden CC1101 Modulen berichtet. Sind alle Bauteile auf entsprechenden Platinen erst einmal verlötet, ist es sehr schwierig defekte Bauteile zu entlöten bzw. auszutauschen. Außerdem ist eine stabile Spannungsversorgung vom Maple während der Flashvorgänge zwingend erforderlich.&lt;br /&gt;
&lt;br /&gt;
==== Bootloader flashen ====&lt;br /&gt;
Ab der Version 4.1.0-dev200427 ist für die .bin Files der Bootloader2.0 erforderlich. Es kann durchaus möglich sein das auf einem frisch gelieferten Maple bereits der Bootloader 2.0 drauf ist. Daher empfiehlt es sich zunächst den Versuch zu starten direkt die [[Maple-SignalDuino#Firmware flashen|Firmware zu flashen]]. Ist der benötigte Bootloader 2.0 nicht auf dem Maple so muss dieser einmalig auf dem Maple installiert werden. Ist das erfolgt so kann die Firmware beliebig oft geflasht werden. &lt;br /&gt;
&lt;br /&gt;
Um den Flashvorgang zu vereinfachen dient folgendes kleine Skript:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
while (true); do&lt;br /&gt;
echo &amp;quot;Debug-Port des MAPLE per FTDI-USB2Seriell Wandler anschliessen (RX+TX gekreuzt)!, Bot-Taste halten und erst dann MAPLE mit Spannung versorgen. &amp;quot;&lt;br /&gt;
sudo stm32flash -w maple_mini_boot20.bin -v /dev/ttyUSB0&lt;br /&gt;
if [ $? -eq 0 ]&lt;br /&gt;
then break&lt;br /&gt;
fi&lt;br /&gt;
sleep 1&lt;br /&gt;
done&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Der Bootloader als .bin Datei steht [https://github.com/rogerclarkmelbourne/STM32duino-bootloader/blob/master/binaries/maple_mini_boot20.bin hier] zum Download bereit. Weitere Details zum Flashen des Bootloaders&lt;br /&gt;
* [[MapleCUN#Bootloader_flashen|MapleCUN]]&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1073244|LinkText=Bootloader 2.0 über USB flashen}}&lt;br /&gt;
* https://github.com/heliflieger/a-culfw/tree/master/culfw/Devices/MapleCUN&lt;br /&gt;
&lt;br /&gt;
==== Firmware flashen ====&lt;br /&gt;
Ist der benötigte Bootloader erst einmal geflasht, kann die Firmware des MapleSduino geflasht werden.  Abhängig davon, wie der MapleSduino in das System eingebunden werden soll, (USB, LAN oder WIFI) gibt es momentan jeweilige Binaries für &#039;&#039;&#039;USB&#039;&#039;&#039;, &#039;&#039;&#039;LAN&#039;&#039;&#039; und &#039;&#039;&#039;Wifi/serial&#039;&#039;&#039; (tx/rx vom DBG Anschluss)&lt;br /&gt;
* LAN gibt es momentan nur für den MapleSduino; siehe dazu  {{Link2Forum|Topic=106278|Message=1049877|LinkText=diesen Forenbeitrag}}.&lt;br /&gt;
* serial ist z.B. für eine wifi-serial bridge mit dem ESP (z.B. ESP-link)&lt;br /&gt;
Es gibt für den MapleSduino und den MapleCul verschiedene Binaries:&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;Maple_sduino....bin&amp;quot; ist für den MapleSduino&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;Maple_cul_....bin&amp;quot; ist für den MapleCUL und [[MapleCUN]].&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_sduino_USB_411dev200627.bin -R&amp;lt;/code&amp;gt;&lt;br /&gt;
oder&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_cul_USB_411dev200627.bin -R&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[MapleCUN#Trick zum USB-Flashen (Code Schnipsel für kleines Skript)|Hier]] steht ein kleines Script zur Verfügung welches den Flashvorgang sehr vereinfacht und hier ist die Firmware zu finden: https://github.com/Ralf9/SIGNALDuino/releases&lt;br /&gt;
&lt;br /&gt;
Die verfügbare &#039;&#039;&#039;a-culw&#039;&#039;&#039; Firmware ist in diesem {{Link2Forum|Topic=106278|Message=1037726|LinkText=Forenbeitrag}} beschrieben und herunterladbar.&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Als Hardware wird der STM32F103CBT6 Maple Mini verwendet:&lt;br /&gt;
* 128 Kbytes Flash&lt;br /&gt;
* 20 Kbytes SRAM&lt;br /&gt;
* 2 SPI&lt;br /&gt;
* Als optionales [https://www.usriot.com/download/ES1/USR-ES1-EN%20V1.3.pdf LAN Modul den USR-ES1 W5500].&lt;br /&gt;
&lt;br /&gt;
==== Aufbau der Hardware ====&lt;br /&gt;
[[Datei:MapleMini-Ralf9_Schaltplan_%281%29.jpg|mini|rechts|Schaltplan]]&lt;br /&gt;
Ab der Version 4.1.0 werden bis zu vier cc1101 Module (A-D) unterstützt&lt;br /&gt;
&lt;br /&gt;
Beim MapleSduino sind die cc1101 Module an SPI2 angeschlossen:&lt;br /&gt;
* 28 MOSI&lt;br /&gt;
* 29 MISO&lt;br /&gt;
* 30 SCLK&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_0 (&#039;&#039;&#039;A&#039;&#039;&#039;) &lt;br /&gt;
* 31  CSN  (Chip Select)&lt;br /&gt;
* 11  GD02 (Receive)&lt;br /&gt;
* 10  GD00  (send), optional für die a-culw&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_1 (&#039;&#039;&#039;B&#039;&#039;&#039;) - 433 MHz für OOK/ASK &lt;br /&gt;
* 12  CSN  (Chip Select)&lt;br /&gt;
* 18  GD02 (Receive)&lt;br /&gt;
* 17  GD00  (send)&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_2 (&#039;&#039;&#039;C&#039;&#039;&#039;)&lt;br /&gt;
* 15  CSN  (Chip Select)&lt;br /&gt;
* 16  GD02 (Receive)&lt;br /&gt;
* 13  GD00  (send), optional für die a-culw&lt;br /&gt;
&lt;br /&gt;
===== Platine =====&lt;br /&gt;
Es gibt von {{Link2FU|12535|Ranseyer}} eine {{Link2Forum|Topic=109220|LinkText=Platine}}. Auf dieser Platine kann der Maple-Mini auf zwei unterschiedliche Arten bestückt werden: &lt;br /&gt;
#normal (die USB Buchse und reset/but Taste sind oben, somit sind die beiden Taster direkt zu betätigen) &lt;br /&gt;
#gedreht (USB Buchse ist unten in der Aussparung und kann zB. mit Heisskleber fixiert werden, reset/but Taster sind durch entsprechende Löcher/Langloch in der Platine zu betätigen)&lt;br /&gt;
Zur Orientierung ist Pin 31 auf der Platine beschriftet.&lt;br /&gt;
&lt;br /&gt;
Es können bis zu 3 CC1101 Module/Stamps an der Platine betrieben werden. 2 Module 868MHz und 433MHz werden direkt auf die Platine gelötet. Das dritte Modul/Stamp wird Mithilfe einzelner Adern an die Platine (Lötaugen CC3A-VCC,GND,MOSI,SCK und CC3B-CS2,Out2,IN2,MISO2) angeschlossen&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wichtig: Bei den V0.1 und V0.2 Platinen ist die Beschriftung 433 und 868 MHz manuell zu ändern!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== Teile =====&lt;br /&gt;
* Maple Mini / STM32F103CBT6: https://de.aliexpress.com/item/1400667476.html oder auch schneller bei Amazon&lt;br /&gt;
&lt;br /&gt;
Funkmodule nach Wahl:&lt;br /&gt;
* CC1101 868MHZ:  https://de.aliexpress.com/item/32635393463.html, https://de.aliexpress.com/item/4000594832541.html&lt;br /&gt;
* CC1101 433 Mhz: https://de.aliexpress.com/item/32472259186.html&lt;br /&gt;
&lt;br /&gt;
Empfohlen:&lt;br /&gt;
* Puffer-Kondensator 10-500uF. Z.B. als C5 mit 10uF: Conrad Artikelnummer 457966&lt;br /&gt;
&lt;br /&gt;
Optional:&lt;br /&gt;
* LAN Modul USR-ES1 W5500: https://de.aliexpress.com/item/32598945210.html&lt;br /&gt;
* Abblock-Kondensator mit ein paar pF bis nF an VCC des Maple. Z.B. als C6 mit 22PF: Conrad Artikelnummer 445432&lt;br /&gt;
* Koaxbuchsen: https://de.aliexpress.com/item/4000009303962.html&lt;br /&gt;
&lt;br /&gt;
Antennen: Infos dazu gibt es reichlich im Internet, auch im {{Link2Forum|Topic=93021|LinkText=Antennenthread im FHEM-Forum}}&lt;br /&gt;
&lt;br /&gt;
== Nutzung in FHEM ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;Austausch des FHEM Moduls 00_SIGNALduino.pm&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Für die komfortable Bedienung und für FSK ( Empfang/Dekodierung vom LaCrosse Protokoll benötigt FSK) ist ein {{Link2Forum|Topic=111653|Message=1058900|LinkText=angepasstes 00_SIGNALduino Modul}} notwendig.&lt;br /&gt;
&lt;br /&gt;
Wird die ursprüngliche 00_SIGNALduino.pm genutzt, ist das dekodieren von LaCrosse Sensoren nicht möglich und zusätzlich dann bedarf es recht umständlicher Zeichenfolgen, um z.B den jeweiligen Sendemodus eines CC1101 Moduls zu konfigurieren. So lautet z.B. die Zeichenfolge für die Konfiguration des Sendemodus &#039;&#039;Mode 1 - IT+ 17.241 kbps (LaCrosse)&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
get sduino raw CW0001,0246,0302,042D,05D4,06FF,0700,0802,0D21,0E65,0F6A,1089,115C,1206,1322,14F8,1556,1700,1818,1916,1B43,1C68,1D91,2211,23E9,242A,2500,2611,3D00,3E04,404d,4131,425f,4349,4454,452b,4600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wird die angepasste 00_SIGNALduino.pm genutzt so steht folgender Befehl im FHEM Device zur Verfügung&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
set sduino rfmode&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein &#039;&#039;&#039;update auf die angepasste 00_SIGNALduino.pm&#039;&#039;&#039;  kann gemacht werden mit&lt;br /&gt;
 &amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/Ralf9/RFFHEM/master/controls_ralf9_signalduino.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;oder&#039;&#039;&#039; die Datei   [https://raw.githubusercontent.com/Ralf9/RFFHEM/master/FHEM/00_SIGNALduino.pm 00_SIGNALduino.pm] ins FHEM Verzeichnis und die [https://raw.githubusercontent.com/Ralf9/RFFHEM/master/FHEM/lib/signalduino_protocols.pm signalduino_protocols.pm] ins lib Verzeichnis kopieren, dann fhem neu starten.&lt;br /&gt;
&lt;br /&gt;
Hier gibt es noch weitere Details zu dem Thema:&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1032098|LinkText=Erste Schritte}}&lt;br /&gt;
* {{Link2Forum|Topic=58396|Message=497921|LinkText=allgemeine Befehlsübersicht}}&lt;br /&gt;
* Beschreibung {{Link2Forum|Topic=106594|Message=1004463|LinkText=&amp;quot;FSK mit dem SIGNALDuino&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
Wenn gewünscht kann jederzeit mit dem Befehl&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
update all https://raw.githubusercontent.com/RFD-FHEM/RFFHEM/master/controls_signalduino.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;auf die ursprüngliche 00_SIGNALduino.pm zurück gewechslt werden.&lt;br /&gt;
&lt;br /&gt;
=== USB-ID ermitteln (bei der USB Variante) ===&lt;br /&gt;
{{Randnotiz|RNTyp=g|RNText=Weitere Hintergrundinformationen zu dieser Art der Adressierung von USB-Geräten allgemein sind in [[Mehrere USB-Geräte einbinden|diesem Beitrag]] zu finden.}}Im Terminal den folgenden Befehl ausführen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ls -l /dev/serial/by-id &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das ergibt z.B. diese Ausgabe:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
lrwxrwxrwx 1 root root 13 28. Jun 19:13 usb-STMicroelectronics_MAPLEMINI_F103CB_CDC_in_FS_Mode_XXXXXXXXX-if00 -&amp;gt; ../../ttyACM0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SIGNALduino Definition ===&lt;br /&gt;
Für die USB-Version: &lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;eigener-SIGNALduino-Name&amp;gt; SIGNALduino /dev/serial/by-id/&#039;&#039;&#039;&#039;&#039;usb-STMicroelectronics_MAPLEMINI_F103CB_CDC_in_FS_Mode_XXXXXXXX-if00&#039;&#039;&#039;&#039;&#039;@115200&amp;lt;/code&amp;gt;&lt;br /&gt;
Für die LAN-Version: &lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;eigener-SIGNALduino-Name&amp;gt; SIGNALduino 192.168.0.244:23&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei der LAN Version ist in der Grundeinstellung DHCP vom Maple-SignalDuino aktiviert.&lt;br /&gt;
&lt;br /&gt;
Soll der Maple-SignalDuino eine feste IP im Netz bekommen so kann z.B mit Hilfe einer Telnet Verbindung die Netzwerk Konfig des Maple-SignalDuino geändert werden.  [[CUN Netzwerk einrichten]]&lt;br /&gt;
&lt;br /&gt;
=== Inbetriebnahme/Konfiguration ===&lt;br /&gt;
Ist der Maple-SDuino in Fhem definiert, so müssen je nach Bestückung die jeweiligen CC1101 Module konfiguriert werden. Beispielhaft hier die Konfiguration eines Maple-SDuino mit 3 CC1101 Modulen/Stamps. Das erste Modul (868 MHz) empfängt/dekodiert Slow/RF, das zweite Modul (433 MHz) ist für IT und das dritte (868 MHz) Modul ist für LaCrosse. In der Grundeinstellung ist zunächst nur das zweite Modul (433MHz - Radio B) aktiv. Module 1 und 3 (Radio A und Radio C) sind deaktiviert. Deshalb müssen zunächst die beiden Radios aktiviert werden, danach werden die jeweiligen Radios mit den in den Speicherbänken hinterlegten RFmodes initialisiert:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
set &amp;lt;dein Maple-SDuino&amp;gt; CREA   #aktiviert Radio A&lt;br /&gt;
set &amp;lt;dein Maple-SDuino&amp;gt; CREC   #aktiviert Radio C&lt;br /&gt;
&lt;br /&gt;
set &amp;lt;dein Maple-SDuino&amp;gt; raw bA     #selektiert Radio A&lt;br /&gt;
set &amp;lt;dein Maple-SDuino&amp;gt; cmdbank 0  #aktiviert die erste Speicherbank des Maple-SDuino&lt;br /&gt;
set &amp;lt;dein Maple-SDuino&amp;gt; rfmode SlowRF_CCFactoryReset   #speichert rfmode SlowRF in aktivierter Speicherbank&lt;br /&gt;
set &amp;lt;dein Maple-SDuino&amp;gt; raw bA0W   #Zuordnung Radio A mit Speicherbank 0&lt;br /&gt;
&lt;br /&gt;
set &amp;lt;dein Maple-SDuino&amp;gt; raw bB     #selektiert Radio B&lt;br /&gt;
set &amp;lt;dein Maple-SDuino&amp;gt; cmdbank 1  #aktiviert die zweite Speicherbank des Maple-SDuino&lt;br /&gt;
set &amp;lt;dein Maple-SDuino&amp;gt; rfmode SlowRF_CCFactoryReset   #speichert rfmode SlowRF in aktivierter Speicherbank&lt;br /&gt;
set &amp;lt;dein Maple-SDuino&amp;gt; raw bB1W   #Zuordnung Radio A mit Speicherbank 0&lt;br /&gt;
&lt;br /&gt;
set &amp;lt;dein Maple-SDuino&amp;gt; raw bC     #selektiert Radio C&lt;br /&gt;
set &amp;lt;dein Maple-SDuino&amp;gt; cmdbank 2  #aktiviert die dritte Speicherbank des Maple-SDuino&lt;br /&gt;
set &amp;lt;dein Maple-SDuino&amp;gt; rfmode LaCrosse_mode_17241   #speichert rfmode LaCrosse_17241 in aktivierter Speicherbank&lt;br /&gt;
set &amp;lt;dein Maple-SDuino&amp;gt; raw bC2W   #Zuordnung Radio A mit Speicherbank 0&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Ergebnis steht dann im Reading &#039;&#039;&#039;version&#039;&#039;&#039; unter anderem &amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
(R: A0* B1 C2)   # RadioA Speicherbank0, Radio B Speicherbank1, RadionC Specherbank2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In den Internals des Maple-Sduino steht dann sinngemäß folgendes&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
a_ccconf   b=0 freq:868.350MHz bWidth:464KHz rAmpl:42dB sens:4dB (DataRate:5603.79Baud,Modulation:ASK/OOK) [boffs=0100*]&lt;br /&gt;
&lt;br /&gt;
b_ccconf   b=1 freq:433.920MHz bWidth:325KHz rAmpl:42dB sens:4dB (DataRate:5603.79Baud,Modulation:ASK/OOK) [boffs=0140]&lt;br /&gt;
&lt;br /&gt;
c_ccconf   b=2 freq:868.300MHz bWidth:203KHz rAmpl:33dB sens:8dB (DataRate:17257.69Baud) [boffs=0000]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fehlersuche, Diverse ===&lt;br /&gt;
Der Stromverbrauch der Transceiver ist typischerweise 17 mA für RX und 34 mA für TX pro Modul. Bei Inaktivität: 4 Transceiver, LAN-Modul, MAPLE ca 100mA.&lt;br /&gt;
&lt;br /&gt;
Wenn der SlowRF nicht mehr funktioniert: Per Default ist das cc1101 Modul der Bank 0 zugeordnet, dies kann mit get Version kontrolliert werden. Es muß in Version &amp;quot;B0&amp;quot; stehen z.B. (R: B0). Es kann auch ein Factory Reset vom Modul B versucht werden, dazu muß das Modul B selektiert sein (R: B0*)&lt;br /&gt;
 get sduino raw e&lt;br /&gt;
Antwort:&lt;br /&gt;
 ccFactoryReset done&lt;br /&gt;
 r=B b=0 rx=0 ccmode=0 sync=D391 ccconf=10B07157C43023B900070018146C070090 boffs=0000&lt;br /&gt;
&lt;br /&gt;
Wenn es immer noch nicht funktioniert kann auch mit &amp;quot;eC&amp;quot; ein factory Reset der Konfigeinstellungen im EEPROM durchgeführt werden.&lt;br /&gt;
 get sduino raw eC&lt;br /&gt;
Antwort:&lt;br /&gt;
 Init eeprom to defaults&lt;br /&gt;
 detect B: Partn=0 Ver=0x14&lt;br /&gt;
&lt;br /&gt;
Wenn ein nativer Mode (FSK) nicht mehr funktioniert: Dazu muss das entsprechende cc1101 Modul selektiert sein. Mit &amp;quot;get Version&amp;quot; kann dies kontrolliert werden. Ein &amp;quot;-&amp;quot; bedeutet, daß das Modul nicht erkannt wurde z.B. (A-). Ein &amp;quot;i&amp;quot; bedeutet, das dem Modul keine Bank zugeordnet wurde z.B.(Ai).&lt;br /&gt;
&lt;br /&gt;
Es kann versucht werden mit den raw Befehlen &amp;quot;e&amp;quot; und &amp;quot;CW...&amp;quot; die Bank neu zu konfigurieren.&lt;br /&gt;
Wenn dies alles nicht hilft, kann mit dem raw Befehl &amp;quot;eC&amp;quot; ein factory Reset der Konfigeinstellungen gemacht werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Forenthema: {{Link2Forum|Topic=106278|LinkText=Entwicklung SIGNALDuino Empfänger Firm- und Hardware V 4.x.x auch auf Maple Mini}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Arduino]]&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;br /&gt;
[[Kategorie:CUL]]&lt;/div&gt;</summary>
		<author><name>Fritz Muster</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Maple-SignalDuino&amp;diff=35852</id>
		<title>Maple-SignalDuino</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Maple-SignalDuino&amp;diff=35852"/>
		<updated>2021-07-02T10:42:47Z</updated>

		<summary type="html">&lt;p&gt;Fritz Muster: defekte Links korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=Maple-SDuino-Photo1.jpg&lt;br /&gt;
|Bildbeschreibung=Maple-SignalDuino, links als LAN-, rechts als USB-Version&lt;br /&gt;
|HWProtocol=diverse&lt;br /&gt;
|HWType=Transceiver&lt;br /&gt;
|HWCategory=&lt;br /&gt;
|HWComm=Funk, 433MHz oder 868MHz&lt;br /&gt;
|HWChannels=f&lt;br /&gt;
|HWVoltage=3,3V nach Spannungsregler&lt;br /&gt;
|HWPowerConsumption=&lt;br /&gt;
|HWPoweredBy=USB&lt;br /&gt;
|HWSize=79 x 27&amp;amp;nbsp;mm&lt;br /&gt;
|HWDeviceFHEM=modifiziertes [[SIGNALduino]]&lt;br /&gt;
|HWManufacturer=Eigenbau}}&lt;br /&gt;
=== Einleitung ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Einfacher SIGNALduino mit nur einem cc1101 Modul (alternativ) ===&lt;br /&gt;
Es wird dabei nur das CC1101_1 (B) - für OOK/ASK verwendet.&lt;br /&gt;
&lt;br /&gt;
Schaltplan siehe [[Maple-SignalDuino#Aufbau der Hardware]]. Es kann auch die Platine von @Ranseyer verwendet werden, wenn nur das zweite cc1101 Modul bestückt wird.&lt;br /&gt;
[[Datei:MapleSduino_Schaltplan_nur_Modul_B.png|200px|thumb|right|Beispielschaltplan Maple-SIGNALduino]]  &lt;br /&gt;
&lt;br /&gt;
Es ist keine cc1101 Modul konfiguration notwendig, das Modul B wird automatisch initialisiert.&lt;br /&gt;
&lt;br /&gt;
Zur Inbetriebnahme ist folgendes notwendig:&lt;br /&gt;
* [[Maple-SignalDuino#Bootloader flashen|Bootloader 2.0 über USB flashen]] &lt;br /&gt;
* [[Maple-SignalDuino#Firmware flashen|Firmware flashen]]   &lt;br /&gt;
&lt;br /&gt;
* [[Maple-SignalDuino#Nutzung in FHEM|evtl. angepasstes 00_SIGNALduino Modul installieren]]&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&amp;lt;u&amp;gt;Dieses Projekt ist &#039;&#039;&#039;NICHT&#039;&#039;&#039; zu verwechseln mit dem Originalprojekt.&amp;lt;/u&amp;gt; Es handelt sich hierbei um einen Clone von [https://github.com/RFD-FHEM/RFFHEM RFFHEM] und [https://github.com/RFD-FHEM/SIGNALDuino SIGNALduino].&lt;br /&gt;
&lt;br /&gt;
==== Neuerungen ====&lt;br /&gt;
&#039;&#039;&#039;Bei dieser Version für den Maple Mini gibt es u.a. die folgenden Neuerungen:&#039;&#039;&#039;&lt;br /&gt;
* Das Sendekommando kann eine maximale Länge von 600 Zeichen haben.&lt;br /&gt;
* Der Messagepuffer hat nun eine maximale Größe von 1500 Pulsen Es gibt nun zwei neue Konfigurationsvariablen ::&#039;&#039;CSmaxMsgSizex256&#039;&#039; - damit kann die Größe des Messagepuffers konfiguriert werden. Der Wert wird mit 256 multipliziert, d.h. 4 ergibt eine Messagepuffergröße von 1024 &lt;br /&gt;
::&#039;&#039;CSmaxMuPrintx256&#039;&#039; - damit kann die maximale Länge von MU-Nachrichten konfiguriert werden. Der Wert wird mit 256 multipliziert&lt;br /&gt;
* Die zweite und folgenden MS-Nachrichten werden nun mit der vorherigen MS-Nachricht verglichen; sind sie gleich, wird am Ende ein &amp;quot;Q&amp;quot; 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&lt;br /&gt;
* &#039;&#039;&#039;CR&#039;&#039;&#039; - configRadio Mit CRE&amp;lt;A-D&amp;gt; kann ein cc1101 Modul aktiviert werden. z.B. CREA aktiviert das erste cc1101 Modul A MIt CRD&amp;lt;A-D&amp;gt; kann ein cc1101 Modul deaktiviert werden. z.B. CRDA deaktiviert das erste cc1101 Modul A&lt;br /&gt;
* Der Befehl &#039;&#039;&#039;b&#039;&#039;&#039; wurde erweitert: b&amp;lt;A-D&amp;gt;&amp;lt;0-9&amp;gt;  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&amp;lt;A-D&amp;gt; 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&lt;br /&gt;
* &#039;&#039;&#039;br&#039;&#039;&#039; - damit wird von allen cc1101 eine Bankinfo ausgegeben&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - damit wird eine Übersicht von allen Bänken ausgegeben&lt;br /&gt;
* Mit &#039;&#039;&#039;V&#039;&#039;&#039; (get Version) bekommt man eine Übersicht über die Module z.B. (R: A1 B0*). Mit * wird das selektierte cc1101 Modul markiert. Ein &amp;quot;-&amp;quot; hinter dem Modul (A-D), bedeutet, dass dieses Modul nicht richtig erkannt wurde, ein &amp;quot;i&amp;quot; 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. &lt;br /&gt;
* Mit &#039;&#039;&#039;XQ&#039;&#039;&#039; und &#039;&#039;&#039;XE&#039;&#039;&#039; 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 &#039;&#039;&#039;USB Version&#039;&#039;&#039; ist durch anhängen von W ein &#039;&#039;&#039;XQW&#039;&#039;&#039; 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 &amp;quot;irx0&amp;quot; in der Version erkennbar.&lt;br /&gt;
* Die Datenkomprimierung für MS- und MU-Nachrichten (config: Mred=1) ist nun nicht mehr notwendig.&lt;br /&gt;
&lt;br /&gt;
==== Kompilieren ====&lt;br /&gt;
Wer es selber compilieren will: https://github.com/Ralf9/SIGNALDuino/tree/dev-r41x_cc1101 ({{Link2Forum|Topic=106278|Message=1027914|LinkText=siehe auch diesen Forenbeitrag}})&lt;br /&gt;
&lt;br /&gt;
=== Flashen ===&lt;br /&gt;
Es empfiehlt sich sowohl den Bootloader als auch die Firmware im zunächst unbestückten Zustand des MapleSduino auf selbigen zu flashen. Im Forum wird immer wieder mal von nichtfunktionierenden Bauteilen wie Maple, LAN Modul oder auch nicht korrekt funktionierenden CC1101 Modulen berichtet. Sind alle Bauteile auf entsprechenden Platinen erst einmal verlötet ist es sehr schwierig defekte Bauteile zu entlöten bzw. auszutauschen.&lt;br /&gt;
&lt;br /&gt;
==== Bootloader flashen ====&lt;br /&gt;
Ab der Version 4.1.0-dev200427 ist für die bin Files der Bootloader2.0 erforderlich. Der Bootloader muss nur einmalig geändert werden, ist der benötigte Bootloader einmal auf dem MapleSduino drauf kann die Firmwarew beliebig oft geflasht werden. &lt;br /&gt;
&lt;br /&gt;
Um den Flashvorgang zu vereinfachen dient folgendes kleines Skript:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
while (true); do&lt;br /&gt;
echo &amp;quot;Debug-Port des MAPLE per FTDI-USB2Seriell Wandler anschliessen (RX+TX gekreuzt)! , Bot-Taste halten und erst dann MAPLE mit Spannung versorgen. &amp;quot;&lt;br /&gt;
sudo stm32flash -w maple_mini_boot20.bin -v /dev/ttyUSB0&lt;br /&gt;
#sudo dfu-util --verbose --device 1eaf:0003 --cfg 1 --alt 2 --download MapleCUNx4_W5500_BL.bin&lt;br /&gt;
#sudo dfu-util -d 1eaf:0003 -a 1 -D ~/src/IRMP_STM32/bootloader/map.bin&lt;br /&gt;
if [ $? -eq 0 ]&lt;br /&gt;
then break&lt;br /&gt;
fi&lt;br /&gt;
sleep 1&lt;br /&gt;
done&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Der Bootloader als .bin Datei steht [https://github.com/rogerclarkmelbourne/STM32duino-bootloader/blob/master/binaries/maple_mini_boot20.bin hier] zum Download bereit. Weitere Details zum Flashen des Bootloaders&lt;br /&gt;
* [[MapleCUN#Bootloader_flashen|MapleCUN]]&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1073244|LinkText=Bootloader 2.0 über USB flashen}}&lt;br /&gt;
* https://github.com/heliflieger/a-culfw/tree/master/culfw/Devices/MapleCUN&lt;br /&gt;
&lt;br /&gt;
==== Firmware flashen ====&lt;br /&gt;
Ist der benötigte Bootloader erst einmal geflasht kann die Firmware des MapleSduino geflasht werden.  Abhängig davon wie der MapleSduino in das System eingebunden werden soll ( USB, LAN oder WIFI) gibt es momentan jeweilige Binaries für &#039;&#039;&#039;USB&#039;&#039;&#039;, &#039;&#039;&#039;LAN&#039;&#039;&#039; und &#039;&#039;&#039;Wifi/serial&#039;&#039;&#039; (tx/rx vom DBG Anschluss)&lt;br /&gt;
* LAN gibt es momentan nur für den MapleSduino, siehe in {{Link2Forum|Topic=106278|Message=1049877|LinkText=diesem Forenbeitrag}}.&lt;br /&gt;
* serial ist z.B. für eine wifi-serial bridge mit dem ESP (z.B. ESP-link)&lt;br /&gt;
Es gibt für den MapleSduino und den MapleCul verschiedene Binaries:&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;Maple_sduino....bin&amp;quot; ist für den MapleSduino&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;Maple_cul_....bin&amp;quot; ist für den MapleCUL und [[MapleCUN]].&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_sduino_USB_411dev200627.bin -R&amp;lt;/code&amp;gt;&lt;br /&gt;
oder&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_cul_USB_411dev200627.bin -R&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[MapleCUN|Hier]] steht ein kleines Script zur Verfügung welches den Flashvorgang sehr vereinfacht und hier ist die Firmware zu finden: https://github.com/Ralf9/SIGNALDuino/releases&lt;br /&gt;
&lt;br /&gt;
Die verfügbare &#039;&#039;&#039;a-culw&#039;&#039;&#039; Firmware ist in diesem {{Link2Forum|Topic=106278|Message=1037726|LinkText=Forenbeitrag}} beschrieben und herunterladbar.&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Als Hardware wird der STM32F103CBT6 Maple Mini verwendet:&lt;br /&gt;
* 128 Kbytes Flash&lt;br /&gt;
* 20 Kbytes SRAM&lt;br /&gt;
* 2 SPI&lt;br /&gt;
* Als optionales [https://www.usriot.com/download/ES1/USR-ES1-EN%20V1.3.pdf LAN Modul den USR-ES1 W5500].&lt;br /&gt;
&lt;br /&gt;
==== Aufbau der Hardware ====&lt;br /&gt;
[[Datei:MapleMini-Ralf9_Schaltplan_%281%29.jpg|mini|rechts|Schaltplan]]&lt;br /&gt;
Ab der Version 4.1.0 werden bis zu vier cc1101 Module (A-D) unterstützt&lt;br /&gt;
&lt;br /&gt;
Beim MapleSduino sind die cc1101 Module an SPI2 angeschlossen:&lt;br /&gt;
* 28 MOSI&lt;br /&gt;
* 29 MISO&lt;br /&gt;
* 30 SCLK&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_0 (&#039;&#039;&#039;A&#039;&#039;&#039;) &lt;br /&gt;
* 31  CSN  (Chip Select)&lt;br /&gt;
* 11  GD02 (Receive)&lt;br /&gt;
* 10  GD00  (send), optional für die a-culw&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_1 (&#039;&#039;&#039;B&#039;&#039;&#039;) - 433 MHz für OOK/ASK &lt;br /&gt;
* 12  CSN  (Chip Select)&lt;br /&gt;
* 18  GD02 (Receive)&lt;br /&gt;
* 17  GD00  (send)&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_2 (&#039;&#039;&#039;C&#039;&#039;&#039;)&lt;br /&gt;
* 15  CSN  (Chip Select)&lt;br /&gt;
* 16  GD02 (Receive)&lt;br /&gt;
* 13  GD00  (send), optional für die a-culw&lt;br /&gt;
&lt;br /&gt;
===== Platine =====&lt;br /&gt;
Es gibt von {{Link2FU|12535|Ranseyer}} eine {{Link2Forum|Topic=109220|LinkText=Platine}}. &lt;br /&gt;
&lt;br /&gt;
Der Maple-Mini kann auf zwei unterschiedliche Arten auf dieser Platine bestückt werden: &lt;br /&gt;
#normal (die USB Buchse und reset/but Taste sind oben, somit sind die beiden Taster direkt zu betätigen) &lt;br /&gt;
#gedreht (USB Buchse ist unten in der Aussparung und kann zB. mit Heisskleber fixiert werden, reset/but Taster sind durch entsprechende Löcher/Langloch in der Platine zu betätigen)&lt;br /&gt;
Zur Orientierung ist Pin 31 auf der Platine beschriftet.&lt;br /&gt;
&lt;br /&gt;
Es können bis zu 3 CC1101 Module/Stamps an der Platine betrieben werden. 2 Module 868MHz und 433MHz werden direkt auf die Platine gelötet. Das dritte Modul/Stamp wird Mithilfe einzelner Adern an die Platine (Lötaugen CC3A-VCC,GND,MOSI,SCK und CC3B-CS2,Out2,IN2,MISO2) angeschlossen&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wichtig: Bei den V0.1 und V0.2 Platinen ist die Beschriftung 433 und 868 MHz manuell zu ändern!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== Teile =====&lt;br /&gt;
* Maple Mini / STM32F103CBT6: https://de.aliexpress.com/item/1400667476.html oder auch schneller bei Amazon&lt;br /&gt;
&lt;br /&gt;
Funkmodule nach Wahl:&lt;br /&gt;
* CC1101 868MHZ:  https://de.aliexpress.com/item/32635393463.html, https://de.aliexpress.com/item/4000594832541.html&lt;br /&gt;
* CC1101 433 Mhz: https://de.aliexpress.com/item/32472259186.html&lt;br /&gt;
&lt;br /&gt;
Empfohlen:&lt;br /&gt;
* Puffer-Kondensator 10-500uF. Z.B. als C5 mit 10uF: Conrad Artikelnummer 457966&lt;br /&gt;
&lt;br /&gt;
Optional:&lt;br /&gt;
* LAN Modul USR-ES1 W5500: https://de.aliexpress.com/item/32598945210.html&lt;br /&gt;
* Abblock-Kondensator mit ein paar pF bis nF an VCC des Maple. Z.B. als C6 mit 22PF: Conrad Artikelnummer 445432&lt;br /&gt;
* Koaxbuchsen: https://de.aliexpress.com/item/4000009303962.html&lt;br /&gt;
&lt;br /&gt;
Antennen: Infos dazu gibt es reichlich im Internet, auch im {{Link2Forum|Topic=93021|LinkText=Antennenthread im FHEM-Forum}}&lt;br /&gt;
&lt;br /&gt;
== Nutzung in FHEM ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;Austausch des FHEM Moduls 00_SIGNALduino.pm&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Für die komfortable Bedienung und für FSK ist ein {{Link2Forum|Topic=111653|Message=1058900|LinkText=angepasstes 00_SIGNALduino Modul}} notwendig. Weitere Informationen:&lt;br /&gt;
&lt;br /&gt;
Wird die ursprüngliche 00_SIGNALduino.pm genutzt so bedarf es recht umständliche Zeichenfolgen um z.B den jeweiligen Sendemodus eines CC1101 Moduls zu konfigurieren. So lautet z.B. die Zeichenfolge für die Konfiguration des Sendemodus  &#039;&#039;Mode 1 - IT+ 17.241 kbps (LaCrosse)&#039;&#039;&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
get sduino raw CW0001,0246,0302,042D,05D4,06FF,0700,0802,0D21,0E65,0F6A,1089,115C,1206,1322,14F8,1556,1700,1818,1916,1B43,1C68,1D91,2211,23E9,242A,2500,2611,3D00,3E04,404d,4131,425f,4349,4454,452b,4600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wird die angepasste 00_SIGNALduino.pm steht folgender Befehl im FHEM Device zur Verfügung&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
set sduino rfmode&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein &#039;&#039;&#039;update auf die angepasste 00_SIGNALduino.pm&#039;&#039;&#039;  kann gemacht werden mit&lt;br /&gt;
 &amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/Ralf9/RFFHEM/master/controls_ralf9_signalduino.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;oder&#039;&#039;&#039; die Datei   [https://raw.githubusercontent.com/Ralf9/RFFHEM/master/FHEM/00_SIGNALduino.pm 00_SIGNALduino.pm] ins FHEM Verzeichnis und die [https://raw.githubusercontent.com/Ralf9/RFFHEM/master/FHEM/lib/signalduino_protocols.pm signalduino_protocols.pm] ins lib Verzeichnis kopieren, dann fhem neustarten.&lt;br /&gt;
&lt;br /&gt;
Hier gibt es noch weitere Details zu dem Thema&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1032098|LinkText=Erste Schritte}}&lt;br /&gt;
* {{Link2Forum|Topic=58396|Message=497921|LinkText=allgemeine Befehlsübersicht}}&lt;br /&gt;
* Beschreibung {{Link2Forum|Topic=106594|Message=1004463|LinkText=&amp;quot;FSK mit dem SIGNALDuino&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
=== USB-ID ermitteln (bei der USB Variante) ===&lt;br /&gt;
{{Randnotiz|RNTyp=g|RNText=Weitere Hintergrundinformationen zu dieser Art der Adressierung von USB-Geräten allgemein sind in [[Mehrere USB-Geräte einbinden|diesem Beitrag]] zu finden.}}Im Terminal den folgenden Befehl ausführen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ls -l /dev/serial/by-id &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das ergibt z.B. diese Ausgabe:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;lrwxrwxrwx 1 root root 13 28. Jun 19:13 usb-STMicroelectronics_MAPLEMINI_F103CB_CDC_in_FS_Mode_XXXXXXXXX-if00 -&amp;gt; ../../ttyACM0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SIGNALduino Definition ===&lt;br /&gt;
Für die USB-Version: &lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;eigener-SIGNALduino-Name&amp;gt; SIGNALduino /dev/serial/by-id/&#039;&#039;&#039;&#039;&#039;usb-STMicroelectronics_MAPLEMINI_F103CB_CDC_in_FS_Mode_XXXXXXXX-if00&#039;&#039;&#039;&#039;&#039;@115200&amp;lt;/code&amp;gt;&lt;br /&gt;
Für die LAN-Version: &lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;eigener-SIGNALduino-Name&amp;gt; SIGNALduino 192.168.0.244:23&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei der LAN Version ist in der Grundeinstellung DHCP vom Maple-SignalDuino aktiviert.&lt;br /&gt;
&lt;br /&gt;
Soll der Maple-SignalDuino eine feste IP im Netz bekommen so kann z.B mit Hilfe einer Telnet Verbindung die Netzwerk Konfig des Maple-SignalDuino geändert werden.  [[CUN Netzwerk einrichten]]&lt;br /&gt;
&lt;br /&gt;
=== Fehlersuche, Diverse ===&lt;br /&gt;
Der Stromverbrauch der Transceiver ist typischerweise 17 mA für RX und 34 mA für TX pro Modul. Bei Inaktivität: 4 Transceiver, LAN-Modul, MAPLE ca 100mA.&lt;br /&gt;
&lt;br /&gt;
Wenn der SlowRF nicht mehr funktioniert: Per Default ist das cc1101 Modul der Bank 0 zugeordnet, dies kann mit get Version kontrolliert werden. Es muß in Version &amp;quot;B0&amp;quot; stehen z.B. (R: B0). Es kann auch ein Factory Reset vom Modul B versucht werden, dazu muß das Modul B selektiert sein (R: B0*)&lt;br /&gt;
 get sduino raw e&lt;br /&gt;
Antwort:&lt;br /&gt;
 ccFactoryReset done&lt;br /&gt;
 r=B b=0 rx=0 ccmode=0 sync=D391 ccconf=10B07157C43023B900070018146C070090 boffs=0000&lt;br /&gt;
&lt;br /&gt;
Wenn es immer noch nicht funktioniert kann auch mit &amp;quot;eC&amp;quot; ein factory Reset der Konfigeinstellungen im EEPROM durchgeführt werden.&lt;br /&gt;
 get sduino raw eC&lt;br /&gt;
Antwort:&lt;br /&gt;
 Init eeprom to defaults&lt;br /&gt;
 detect B: Partn=0 Ver=0x14&lt;br /&gt;
&lt;br /&gt;
Wenn ein nativer Mode (FSK) nicht mehr funktioniert: Dazu muss das entsprechende cc1101 Modul selektiert sein. Mit &amp;quot;get Version&amp;quot; kann dies kontrolliert werden. Ein &amp;quot;-&amp;quot; bedeutet, daß das Modul nicht erkannt wurde z.B. (A-). Ein &amp;quot;i&amp;quot; bedeutet, das dem Modul keine Bank zugeordnet wurde z.B.(Ai).&lt;br /&gt;
&lt;br /&gt;
Es kann versucht werden mit den raw Befehlen &amp;quot;e&amp;quot; und &amp;quot;CW...&amp;quot; die Bank neu zu konfigurieren.&lt;br /&gt;
Wenn dies alles nicht hilft, kann mit dem raw Befehl &amp;quot;eC&amp;quot; ein factory Reset der Konfigeinstellungen gemacht werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Forenthema: {{Link2Forum|Topic=106278|LinkText=Entwicklung SIGNALDuino Empfänger Firm- und Hardware V 4.x.x auch auf Maple Mini}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Arduino]]&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;br /&gt;
[[Kategorie:CUL]]&lt;/div&gt;</summary>
		<author><name>Fritz Muster</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Maple-SignalDuino&amp;diff=35851</id>
		<title>Maple-SignalDuino</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Maple-SignalDuino&amp;diff=35851"/>
		<updated>2021-07-02T10:39:36Z</updated>

		<summary type="html">&lt;p&gt;Fritz Muster: /* Einleitung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=Maple-SDuino-Photo1.jpg&lt;br /&gt;
|Bildbeschreibung=Maple-SignalDuino, links als LAN-, rechts als USB-Version&lt;br /&gt;
|HWProtocol=diverse&lt;br /&gt;
|HWType=Transceiver&lt;br /&gt;
|HWCategory=&lt;br /&gt;
|HWComm=Funk, 433MHz oder 868MHz&lt;br /&gt;
|HWChannels=f&lt;br /&gt;
|HWVoltage=3,3V nach Spannungsregler&lt;br /&gt;
|HWPowerConsumption=&lt;br /&gt;
|HWPoweredBy=USB&lt;br /&gt;
|HWSize=79 x 27&amp;amp;nbsp;mm&lt;br /&gt;
|HWDeviceFHEM=modifiziertes [[SIGNALduino]]&lt;br /&gt;
|HWManufacturer=Eigenbau}}&lt;br /&gt;
=== Einleitung ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Einfacher SIGNALduino mit nur einem cc1101 Modul (alternativ) ===&lt;br /&gt;
Es wird dabei nur das CC1101_1 (B) - für OOK/ASK verwendet.&lt;br /&gt;
&lt;br /&gt;
Schaltplan siehe [[Maple-SignalDuino#Aufbau der Hardware]]. Es kann auch die Platine von @Ranseyer verwendet werden, wenn nur das zweite cc1101 Modul bestückt wird.&lt;br /&gt;
[[Datei:MapleSduino_Schaltplan_nur_Modul_B.png|200px|thumb|right|Beispielschaltplan Maple-SIGNALduino]]  &lt;br /&gt;
&lt;br /&gt;
Es ist keine cc1101 Modul konfiguration notwendig, das Modul B wird automatisch initialisiert.&lt;br /&gt;
&lt;br /&gt;
Zur Inbetriebnahme ist folgendes notwendig:&lt;br /&gt;
* [[Maple-SignalDuino#Bootloader flashen|Bootloader 2.0 über USB flashen]] &lt;br /&gt;
* [[Maple-SignalDuino#Firmware flashen|Firmware flashen]]   &lt;br /&gt;
&lt;br /&gt;
* [[Maple-SignalDuino#Austausch des FHEM Moduls 00 SIGNALduino.pm|evtl. angepasstes 00_SIGNALduino Modul installieren]]&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&amp;lt;u&amp;gt;Dieses Projekt ist &#039;&#039;&#039;NICHT&#039;&#039;&#039; zu verwechseln mit dem Originalprojekt.&amp;lt;/u&amp;gt; Es handelt sich hierbei um einen Clone von [https://github.com/RFD-FHEM/RFFHEM RFFHEM] und [https://github.com/RFD-FHEM/SIGNALDuino SIGNALduino].&lt;br /&gt;
&lt;br /&gt;
==== Neuerungen ====&lt;br /&gt;
&#039;&#039;&#039;Bei dieser Version für den Maple Mini gibt es u.a. die folgenden Neuerungen:&#039;&#039;&#039;&lt;br /&gt;
* Das Sendekommando kann eine maximale Länge von 600 Zeichen haben.&lt;br /&gt;
* Der Messagepuffer hat nun eine maximale Größe von 1500 Pulsen Es gibt nun zwei neue Konfigurationsvariablen ::&#039;&#039;CSmaxMsgSizex256&#039;&#039; - damit kann die Größe des Messagepuffers konfiguriert werden. Der Wert wird mit 256 multipliziert, d.h. 4 ergibt eine Messagepuffergröße von 1024 &lt;br /&gt;
::&#039;&#039;CSmaxMuPrintx256&#039;&#039; - damit kann die maximale Länge von MU-Nachrichten konfiguriert werden. Der Wert wird mit 256 multipliziert&lt;br /&gt;
* Die zweite und folgenden MS-Nachrichten werden nun mit der vorherigen MS-Nachricht verglichen; sind sie gleich, wird am Ende ein &amp;quot;Q&amp;quot; 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&lt;br /&gt;
* &#039;&#039;&#039;CR&#039;&#039;&#039; - configRadio Mit CRE&amp;lt;A-D&amp;gt; kann ein cc1101 Modul aktiviert werden. z.B. CREA aktiviert das erste cc1101 Modul A MIt CRD&amp;lt;A-D&amp;gt; kann ein cc1101 Modul deaktiviert werden. z.B. CRDA deaktiviert das erste cc1101 Modul A&lt;br /&gt;
* Der Befehl &#039;&#039;&#039;b&#039;&#039;&#039; wurde erweitert: b&amp;lt;A-D&amp;gt;&amp;lt;0-9&amp;gt;  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&amp;lt;A-D&amp;gt; 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&lt;br /&gt;
* &#039;&#039;&#039;br&#039;&#039;&#039; - damit wird von allen cc1101 eine Bankinfo ausgegeben&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - damit wird eine Übersicht von allen Bänken ausgegeben&lt;br /&gt;
* Mit &#039;&#039;&#039;V&#039;&#039;&#039; (get Version) bekommt man eine Übersicht über die Module z.B. (R: A1 B0*). Mit * wird das selektierte cc1101 Modul markiert. Ein &amp;quot;-&amp;quot; hinter dem Modul (A-D), bedeutet, dass dieses Modul nicht richtig erkannt wurde, ein &amp;quot;i&amp;quot; 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. &lt;br /&gt;
* Mit &#039;&#039;&#039;XQ&#039;&#039;&#039; und &#039;&#039;&#039;XE&#039;&#039;&#039; 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 &#039;&#039;&#039;USB Version&#039;&#039;&#039; ist durch anhängen von W ein &#039;&#039;&#039;XQW&#039;&#039;&#039; 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 &amp;quot;irx0&amp;quot; in der Version erkennbar.&lt;br /&gt;
* Die Datenkomprimierung für MS- und MU-Nachrichten (config: Mred=1) ist nun nicht mehr notwendig.&lt;br /&gt;
&lt;br /&gt;
==== Kompilieren ====&lt;br /&gt;
Wer es selber compilieren will: https://github.com/Ralf9/SIGNALDuino/tree/dev-r41x_cc1101 ({{Link2Forum|Topic=106278|Message=1027914|LinkText=siehe auch diesen Forenbeitrag}})&lt;br /&gt;
&lt;br /&gt;
=== Flashen ===&lt;br /&gt;
Es empfiehlt sich sowohl den Bootloader als auch die Firmware im zunächst unbestückten Zustand des MapleSduino auf selbigen zu flashen. Im Forum wird immer wieder mal von nichtfunktionierenden Bauteilen wie Maple, LAN Modul oder auch nicht korrekt funktionierenden CC1101 Modulen berichtet. Sind alle Bauteile auf entsprechenden Platinen erst einmal verlötet ist es sehr schwierig defekte Bauteile zu entlöten bzw. auszutauschen.&lt;br /&gt;
&lt;br /&gt;
==== Bootloader flashen ====&lt;br /&gt;
Ab der Version 4.1.0-dev200427 ist für die bin Files der Bootloader2.0 erforderlich. Der Bootloader muss nur einmalig geändert werden, ist der benötigte Bootloader einmal auf dem MapleSduino drauf kann die Firmwarew beliebig oft geflasht werden. &lt;br /&gt;
&lt;br /&gt;
Um den Flashvorgang zu vereinfachen dient folgendes kleines Skript:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
while (true); do&lt;br /&gt;
echo &amp;quot;Debug-Port des MAPLE per FTDI-USB2Seriell Wandler anschliessen (RX+TX gekreuzt)! , Bot-Taste halten und erst dann MAPLE mit Spannung versorgen. &amp;quot;&lt;br /&gt;
sudo stm32flash -w maple_mini_boot20.bin -v /dev/ttyUSB0&lt;br /&gt;
#sudo dfu-util --verbose --device 1eaf:0003 --cfg 1 --alt 2 --download MapleCUNx4_W5500_BL.bin&lt;br /&gt;
#sudo dfu-util -d 1eaf:0003 -a 1 -D ~/src/IRMP_STM32/bootloader/map.bin&lt;br /&gt;
if [ $? -eq 0 ]&lt;br /&gt;
then break&lt;br /&gt;
fi&lt;br /&gt;
sleep 1&lt;br /&gt;
done&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Der Bootloader als .bin Datei steht [https://github.com/rogerclarkmelbourne/STM32duino-bootloader/blob/master/binaries/maple_mini_boot20.bin hier] zum Download bereit. Weitere Details zum Flashen des Bootloaders&lt;br /&gt;
* [[MapleCUN#Bootloader_flashen|MapleCUN]]&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1073244|LinkText=Bootloader 2.0 über USB flashen}}&lt;br /&gt;
* https://github.com/heliflieger/a-culfw/tree/master/culfw/Devices/MapleCUN&lt;br /&gt;
&lt;br /&gt;
==== Firmware flashen ====&lt;br /&gt;
Ist der benötigte Bootloader erst einmal geflasht kann die Firmware des MapleSduino geflasht werden.  Abhängig davon wie der MapleSduino in das System eingebunden werden soll ( USB, LAN oder WIFI) gibt es momentan jeweilige Binaries für &#039;&#039;&#039;USB&#039;&#039;&#039;, &#039;&#039;&#039;LAN&#039;&#039;&#039; und &#039;&#039;&#039;Wifi/serial&#039;&#039;&#039; (tx/rx vom DBG Anschluss)&lt;br /&gt;
* LAN gibt es momentan nur für den MapleSduino, siehe in {{Link2Forum|Topic=106278|Message=1049877|LinkText=diesem Forenbeitrag}}.&lt;br /&gt;
* serial ist z.B. für eine wifi-serial bridge mit dem ESP (z.B. ESP-link)&lt;br /&gt;
Es gibt für den MapleSduino und den MapleCul verschiedene Binaries:&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;Maple_sduino....bin&amp;quot; ist für den MapleSduino&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;Maple_cul_....bin&amp;quot; ist für den MapleCUL und [[MapleCUN]].&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_sduino_USB_411dev200627.bin -R&amp;lt;/code&amp;gt;&lt;br /&gt;
oder&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_cul_USB_411dev200627.bin -R&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[MapleCUN|Hier]] steht ein kleines Script zur Verfügung welches den Flashvorgang sehr vereinfacht und hier ist die Firmware zu finden: https://github.com/Ralf9/SIGNALDuino/releases&lt;br /&gt;
&lt;br /&gt;
Die verfügbare &#039;&#039;&#039;a-culw&#039;&#039;&#039; Firmware ist in diesem {{Link2Forum|Topic=106278|Message=1037726|LinkText=Forenbeitrag}} beschrieben und herunterladbar.&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Als Hardware wird der STM32F103CBT6 Maple Mini verwendet:&lt;br /&gt;
* 128 Kbytes Flash&lt;br /&gt;
* 20 Kbytes SRAM&lt;br /&gt;
* 2 SPI&lt;br /&gt;
* Als optionales [https://www.usriot.com/download/ES1/USR-ES1-EN%20V1.3.pdf LAN Modul den USR-ES1 W5500].&lt;br /&gt;
&lt;br /&gt;
==== Aufbau der Hardware ====&lt;br /&gt;
[[Datei:MapleMini-Ralf9_Schaltplan_%281%29.jpg|mini|rechts|Schaltplan]]&lt;br /&gt;
Ab der Version 4.1.0 werden bis zu vier cc1101 Module (A-D) unterstützt&lt;br /&gt;
&lt;br /&gt;
Beim MapleSduino sind die cc1101 Module an SPI2 angeschlossen:&lt;br /&gt;
* 28 MOSI&lt;br /&gt;
* 29 MISO&lt;br /&gt;
* 30 SCLK&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_0 (&#039;&#039;&#039;A&#039;&#039;&#039;) &lt;br /&gt;
* 31  CSN  (Chip Select)&lt;br /&gt;
* 11  GD02 (Receive)&lt;br /&gt;
* 10  GD00  (send), optional für die a-culw&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_1 (&#039;&#039;&#039;B&#039;&#039;&#039;) - 433 MHz für OOK/ASK &lt;br /&gt;
* 12  CSN  (Chip Select)&lt;br /&gt;
* 18  GD02 (Receive)&lt;br /&gt;
* 17  GD00  (send)&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_2 (&#039;&#039;&#039;C&#039;&#039;&#039;)&lt;br /&gt;
* 15  CSN  (Chip Select)&lt;br /&gt;
* 16  GD02 (Receive)&lt;br /&gt;
* 13  GD00  (send), optional für die a-culw&lt;br /&gt;
&lt;br /&gt;
===== Platine =====&lt;br /&gt;
Es gibt von {{Link2FU|12535|Ranseyer}} eine {{Link2Forum|Topic=109220|LinkText=Platine}}. &lt;br /&gt;
&lt;br /&gt;
Der Maple-Mini kann auf zwei unterschiedliche Arten auf dieser Platine bestückt werden: &lt;br /&gt;
#normal (die USB Buchse und reset/but Taste sind oben, somit sind die beiden Taster direkt zu betätigen) &lt;br /&gt;
#gedreht (USB Buchse ist unten in der Aussparung und kann zB. mit Heisskleber fixiert werden, reset/but Taster sind durch entsprechende Löcher/Langloch in der Platine zu betätigen)&lt;br /&gt;
Zur Orientierung ist Pin 31 auf der Platine beschriftet.&lt;br /&gt;
&lt;br /&gt;
Es können bis zu 3 CC1101 Module/Stamps an der Platine betrieben werden. 2 Module 868MHz und 433MHz werden direkt auf die Platine gelötet. Das dritte Modul/Stamp wird Mithilfe einzelner Adern an die Platine (Lötaugen CC3A-VCC,GND,MOSI,SCK und CC3B-CS2,Out2,IN2,MISO2) angeschlossen&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wichtig: Bei den V0.1 und V0.2 Platinen ist die Beschriftung 433 und 868 MHz manuell zu ändern!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== Teile =====&lt;br /&gt;
* Maple Mini / STM32F103CBT6: https://de.aliexpress.com/item/1400667476.html oder auch schneller bei Amazon&lt;br /&gt;
&lt;br /&gt;
Funkmodule nach Wahl:&lt;br /&gt;
* CC1101 868MHZ:  https://de.aliexpress.com/item/32635393463.html, https://de.aliexpress.com/item/4000594832541.html&lt;br /&gt;
* CC1101 433 Mhz: https://de.aliexpress.com/item/32472259186.html&lt;br /&gt;
&lt;br /&gt;
Empfohlen:&lt;br /&gt;
* Puffer-Kondensator 10-500uF. Z.B. als C5 mit 10uF: Conrad Artikelnummer 457966&lt;br /&gt;
&lt;br /&gt;
Optional:&lt;br /&gt;
* LAN Modul USR-ES1 W5500: https://de.aliexpress.com/item/32598945210.html&lt;br /&gt;
* Abblock-Kondensator mit ein paar pF bis nF an VCC des Maple. Z.B. als C6 mit 22PF: Conrad Artikelnummer 445432&lt;br /&gt;
* Koaxbuchsen: https://de.aliexpress.com/item/4000009303962.html&lt;br /&gt;
&lt;br /&gt;
Antennen: Infos dazu gibt es reichlich im Internet, auch im {{Link2Forum|Topic=93021|LinkText=Antennenthread im FHEM-Forum}}&lt;br /&gt;
&lt;br /&gt;
== Nutzung in FHEM ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;Austausch des FHEM Moduls 00_SIGNALduino.pm&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Für die komfortable Bedienung und für FSK ist ein {{Link2Forum|Topic=111653|Message=1058900|LinkText=angepasstes 00_SIGNALduino Modul}} notwendig. Weitere Informationen:&lt;br /&gt;
&lt;br /&gt;
Wird die ursprüngliche 00_SIGNALduino.pm genutzt so bedarf es recht umständliche Zeichenfolgen um z.B den jeweiligen Sendemodus eines CC1101 Moduls zu konfigurieren. So lautet z.B. die Zeichenfolge für die Konfiguration des Sendemodus  &#039;&#039;Mode 1 - IT+ 17.241 kbps (LaCrosse)&#039;&#039;&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
get sduino raw CW0001,0246,0302,042D,05D4,06FF,0700,0802,0D21,0E65,0F6A,1089,115C,1206,1322,14F8,1556,1700,1818,1916,1B43,1C68,1D91,2211,23E9,242A,2500,2611,3D00,3E04,404d,4131,425f,4349,4454,452b,4600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wird die angepasste 00_SIGNALduino.pm steht folgender Befehl im FHEM Device zur Verfügung&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
set sduino rfmode&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein &#039;&#039;&#039;update auf die angepasste 00_SIGNALduino.pm&#039;&#039;&#039;  kann gemacht werden mit&lt;br /&gt;
 &amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/Ralf9/RFFHEM/master/controls_ralf9_signalduino.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;oder&#039;&#039;&#039; die Datei   [https://raw.githubusercontent.com/Ralf9/RFFHEM/master/FHEM/00_SIGNALduino.pm 00_SIGNALduino.pm] ins FHEM Verzeichnis und die [https://raw.githubusercontent.com/Ralf9/RFFHEM/master/FHEM/lib/signalduino_protocols.pm signalduino_protocols.pm] ins lib Verzeichnis kopieren, dann fhem neustarten.&lt;br /&gt;
&lt;br /&gt;
Hier gibt es noch weitere Details zu dem Thema&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1032098|LinkText=Erste Schritte}}&lt;br /&gt;
* {{Link2Forum|Topic=58396|Message=497921|LinkText=allgemeine Befehlsübersicht}}&lt;br /&gt;
* Beschreibung {{Link2Forum|Topic=106594|Message=1004463|LinkText=&amp;quot;FSK mit dem SIGNALDuino&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
=== USB-ID ermitteln (bei der USB Variante) ===&lt;br /&gt;
{{Randnotiz|RNTyp=g|RNText=Weitere Hintergrundinformationen zu dieser Art der Adressierung von USB-Geräten allgemein sind in [[Mehrere USB-Geräte einbinden|diesem Beitrag]] zu finden.}}Im Terminal den folgenden Befehl ausführen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ls -l /dev/serial/by-id &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das ergibt z.B. diese Ausgabe:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;lrwxrwxrwx 1 root root 13 28. Jun 19:13 usb-STMicroelectronics_MAPLEMINI_F103CB_CDC_in_FS_Mode_XXXXXXXXX-if00 -&amp;gt; ../../ttyACM0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SIGNALduino Definition ===&lt;br /&gt;
Für die USB-Version: &lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;eigener-SIGNALduino-Name&amp;gt; SIGNALduino /dev/serial/by-id/&#039;&#039;&#039;&#039;&#039;usb-STMicroelectronics_MAPLEMINI_F103CB_CDC_in_FS_Mode_XXXXXXXX-if00&#039;&#039;&#039;&#039;&#039;@115200&amp;lt;/code&amp;gt;&lt;br /&gt;
Für die LAN-Version: &lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;eigener-SIGNALduino-Name&amp;gt; SIGNALduino 192.168.0.244:23&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei der LAN Version ist in der Grundeinstellung DHCP vom Maple-SignalDuino aktiviert.&lt;br /&gt;
&lt;br /&gt;
Soll der Maple-SignalDuino eine feste IP im Netz bekommen so kann z.B mit Hilfe einer Telnet Verbindung die Netzwerk Konfig des Maple-SignalDuino geändert werden.  [[CUN Netzwerk einrichten]]&lt;br /&gt;
&lt;br /&gt;
=== Fehlersuche, Diverse ===&lt;br /&gt;
Der Stromverbrauch der Transceiver ist typischerweise 17 mA für RX und 34 mA für TX pro Modul. Bei Inaktivität: 4 Transceiver, LAN-Modul, MAPLE ca 100mA.&lt;br /&gt;
&lt;br /&gt;
Wenn der SlowRF nicht mehr funktioniert: Per Default ist das cc1101 Modul der Bank 0 zugeordnet, dies kann mit get Version kontrolliert werden. Es muß in Version &amp;quot;B0&amp;quot; stehen z.B. (R: B0). Es kann auch ein Factory Reset vom Modul B versucht werden, dazu muß das Modul B selektiert sein (R: B0*)&lt;br /&gt;
 get sduino raw e&lt;br /&gt;
Antwort:&lt;br /&gt;
 ccFactoryReset done&lt;br /&gt;
 r=B b=0 rx=0 ccmode=0 sync=D391 ccconf=10B07157C43023B900070018146C070090 boffs=0000&lt;br /&gt;
&lt;br /&gt;
Wenn es immer noch nicht funktioniert kann auch mit &amp;quot;eC&amp;quot; ein factory Reset der Konfigeinstellungen im EEPROM durchgeführt werden.&lt;br /&gt;
 get sduino raw eC&lt;br /&gt;
Antwort:&lt;br /&gt;
 Init eeprom to defaults&lt;br /&gt;
 detect B: Partn=0 Ver=0x14&lt;br /&gt;
&lt;br /&gt;
Wenn ein nativer Mode (FSK) nicht mehr funktioniert: Dazu muss das entsprechende cc1101 Modul selektiert sein. Mit &amp;quot;get Version&amp;quot; kann dies kontrolliert werden. Ein &amp;quot;-&amp;quot; bedeutet, daß das Modul nicht erkannt wurde z.B. (A-). Ein &amp;quot;i&amp;quot; bedeutet, das dem Modul keine Bank zugeordnet wurde z.B.(Ai).&lt;br /&gt;
&lt;br /&gt;
Es kann versucht werden mit den raw Befehlen &amp;quot;e&amp;quot; und &amp;quot;CW...&amp;quot; die Bank neu zu konfigurieren.&lt;br /&gt;
Wenn dies alles nicht hilft, kann mit dem raw Befehl &amp;quot;eC&amp;quot; ein factory Reset der Konfigeinstellungen gemacht werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Forenthema: {{Link2Forum|Topic=106278|LinkText=Entwicklung SIGNALDuino Empfänger Firm- und Hardware V 4.x.x auch auf Maple Mini}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Arduino]]&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;br /&gt;
[[Kategorie:CUL]]&lt;/div&gt;</summary>
		<author><name>Fritz Muster</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Maple-SignalDuino&amp;diff=35850</id>
		<title>Maple-SignalDuino</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Maple-SignalDuino&amp;diff=35850"/>
		<updated>2021-07-02T10:33:13Z</updated>

		<summary type="html">&lt;p&gt;Fritz Muster: /* Einfacher SIGNALduino mit nur einem cc1101 Modul (alternativ) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=Maple-SDuino-Photo1.jpg&lt;br /&gt;
|Bildbeschreibung=Maple-SignalDuino, links als LAN-, rechts als USB-Version&lt;br /&gt;
|HWProtocol=diverse&lt;br /&gt;
|HWType=Transceiver&lt;br /&gt;
|HWCategory=&lt;br /&gt;
|HWComm=Funk, 433MHz oder 868MHz&lt;br /&gt;
|HWChannels=f&lt;br /&gt;
|HWVoltage=3,3V nach Spannungsregler&lt;br /&gt;
|HWPowerConsumption=&lt;br /&gt;
|HWPoweredBy=USB&lt;br /&gt;
|HWSize=79 x 27&amp;amp;nbsp;mm&lt;br /&gt;
|HWDeviceFHEM=modifiziertes [[SIGNALduino]]&lt;br /&gt;
|HWManufacturer=Eigenbau}}&lt;br /&gt;
=== Einleitung ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Einfacher SIGNALduino mit nur einem cc1101 Modul (alternativ) ===&lt;br /&gt;
Es wird dabei nur das CC1101_1 (B) - für OOK/ASK verwendet.&lt;br /&gt;
&lt;br /&gt;
Schaltplan siehe [[Maple-SignalDuino#Aufbau der Hardware]]. Es kann auch die Platine von @Ranseyer verwendet werden, wenn nur das zweite cc1101 Modul bestückt wird.&lt;br /&gt;
[[Datei:MapleSduino_Schaltplan_nur_Modul_B.png|200px|thumb|right|Beispielschaltplan Maple-SIGNALduino]]  &lt;br /&gt;
&lt;br /&gt;
Es ist keine cc1101 Modul konfiguration notwendig, das Modul B wird automatisch initialisiert.&lt;br /&gt;
&lt;br /&gt;
Zur Inbetriebnahme ist folgendes notwendig:&lt;br /&gt;
* [[Maple-SignalDuino#2#Firmware flashen|Bootloader 2.0 über USB flashen]] &lt;br /&gt;
* [[Maple-SignalDuino#2#Firmware flashen|Firmware flashen]]   &lt;br /&gt;
&lt;br /&gt;
* [[Maple-SignalDuino#2#Austausch des FHEM Moduls 00 SIGNALduino.pm|evtl. angepasstes 00_SIGNALduino Modul installieren]]&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&amp;lt;u&amp;gt;Dieses Projekt ist &#039;&#039;&#039;NICHT&#039;&#039;&#039; zu verwechseln mit dem Originalprojekt.&amp;lt;/u&amp;gt; Es handelt sich hierbei um einen Clone von [https://github.com/RFD-FHEM/RFFHEM RFFHEM] und [https://github.com/RFD-FHEM/SIGNALDuino SIGNALduino].&lt;br /&gt;
&lt;br /&gt;
==== Neuerungen ====&lt;br /&gt;
&#039;&#039;&#039;Bei dieser Version für den Maple Mini gibt es u.a. die folgenden Neuerungen:&#039;&#039;&#039;&lt;br /&gt;
* Das Sendekommando kann eine maximale Länge von 600 Zeichen haben.&lt;br /&gt;
* Der Messagepuffer hat nun eine maximale Größe von 1500 Pulsen Es gibt nun zwei neue Konfigurationsvariablen ::&#039;&#039;CSmaxMsgSizex256&#039;&#039; - damit kann die Größe des Messagepuffers konfiguriert werden. Der Wert wird mit 256 multipliziert, d.h. 4 ergibt eine Messagepuffergröße von 1024 &lt;br /&gt;
::&#039;&#039;CSmaxMuPrintx256&#039;&#039; - damit kann die maximale Länge von MU-Nachrichten konfiguriert werden. Der Wert wird mit 256 multipliziert&lt;br /&gt;
* Die zweite und folgenden MS-Nachrichten werden nun mit der vorherigen MS-Nachricht verglichen; sind sie gleich, wird am Ende ein &amp;quot;Q&amp;quot; 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&lt;br /&gt;
* &#039;&#039;&#039;CR&#039;&#039;&#039; - configRadio Mit CRE&amp;lt;A-D&amp;gt; kann ein cc1101 Modul aktiviert werden. z.B. CREA aktiviert das erste cc1101 Modul A MIt CRD&amp;lt;A-D&amp;gt; kann ein cc1101 Modul deaktiviert werden. z.B. CRDA deaktiviert das erste cc1101 Modul A&lt;br /&gt;
* Der Befehl &#039;&#039;&#039;b&#039;&#039;&#039; wurde erweitert: b&amp;lt;A-D&amp;gt;&amp;lt;0-9&amp;gt;  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&amp;lt;A-D&amp;gt; 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&lt;br /&gt;
* &#039;&#039;&#039;br&#039;&#039;&#039; - damit wird von allen cc1101 eine Bankinfo ausgegeben&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - damit wird eine Übersicht von allen Bänken ausgegeben&lt;br /&gt;
* Mit &#039;&#039;&#039;V&#039;&#039;&#039; (get Version) bekommt man eine Übersicht über die Module z.B. (R: A1 B0*). Mit * wird das selektierte cc1101 Modul markiert. Ein &amp;quot;-&amp;quot; hinter dem Modul (A-D), bedeutet, dass dieses Modul nicht richtig erkannt wurde, ein &amp;quot;i&amp;quot; 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. &lt;br /&gt;
* Mit &#039;&#039;&#039;XQ&#039;&#039;&#039; und &#039;&#039;&#039;XE&#039;&#039;&#039; 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 &#039;&#039;&#039;USB Version&#039;&#039;&#039; ist durch anhängen von W ein &#039;&#039;&#039;XQW&#039;&#039;&#039; 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 &amp;quot;irx0&amp;quot; in der Version erkennbar.&lt;br /&gt;
* Die Datenkomprimierung für MS- und MU-Nachrichten (config: Mred=1) ist nun nicht mehr notwendig.&lt;br /&gt;
&lt;br /&gt;
==== Kompilieren ====&lt;br /&gt;
Wer es selber compilieren will: https://github.com/Ralf9/SIGNALDuino/tree/dev-r41x_cc1101 ({{Link2Forum|Topic=106278|Message=1027914|LinkText=siehe auch diesen Forenbeitrag}})&lt;br /&gt;
&lt;br /&gt;
=== Flashen ===&lt;br /&gt;
Es empfiehlt sich sowohl den Bootloader als auch die Firmware im zunächst unbestückten Zustand des MapleSduino auf selbigen zu flashen. Im Forum wird immer wieder mal von nichtfunktionierenden Bauteilen wie Maple, LAN Modul oder auch nicht korrekt funktionierenden CC1101 Modulen berichtet. Sind alle Bauteile auf entsprechenden Platinen erst einmal verlötet ist es sehr schwierig defekte Bauteile zu entlöten bzw. auszutauschen.&lt;br /&gt;
&lt;br /&gt;
==== Bootloader flashen ====&lt;br /&gt;
Ab der Version 4.1.0-dev200427 ist für die bin Files der Bootloader2.0 erforderlich. Der Bootloader muss nur einmalig geändert werden, ist der benötigte Bootloader einmal auf dem MapleSduino drauf kann die Firmwarew beliebig oft geflasht werden. &lt;br /&gt;
&lt;br /&gt;
Um den Flashvorgang zu vereinfachen dient folgendes kleines Skript:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
while (true); do&lt;br /&gt;
echo &amp;quot;Debug-Port des MAPLE per FTDI-USB2Seriell Wandler anschliessen (RX+TX gekreuzt)! , Bot-Taste halten und erst dann MAPLE mit Spannung versorgen. &amp;quot;&lt;br /&gt;
sudo stm32flash -w maple_mini_boot20.bin -v /dev/ttyUSB0&lt;br /&gt;
#sudo dfu-util --verbose --device 1eaf:0003 --cfg 1 --alt 2 --download MapleCUNx4_W5500_BL.bin&lt;br /&gt;
#sudo dfu-util -d 1eaf:0003 -a 1 -D ~/src/IRMP_STM32/bootloader/map.bin&lt;br /&gt;
if [ $? -eq 0 ]&lt;br /&gt;
then break&lt;br /&gt;
fi&lt;br /&gt;
sleep 1&lt;br /&gt;
done&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Der Bootloader als .bin Datei steht [https://github.com/rogerclarkmelbourne/STM32duino-bootloader/blob/master/binaries/maple_mini_boot20.bin hier] zum Download bereit. Weitere Details zum Flashen des Bootloaders&lt;br /&gt;
* [[MapleCUN#Bootloader_flashen|MapleCUN]]&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1073244|LinkText=Bootloader 2.0 über USB flashen}}&lt;br /&gt;
* https://github.com/heliflieger/a-culfw/tree/master/culfw/Devices/MapleCUN&lt;br /&gt;
&lt;br /&gt;
==== Firmware flashen ====&lt;br /&gt;
Ist der benötigte Bootloader erst einmal geflasht kann die Firmware des MapleSduino geflasht werden.  Abhängig davon wie der MapleSduino in das System eingebunden werden soll ( USB, LAN oder WIFI) gibt es momentan jeweilige Binaries für &#039;&#039;&#039;USB&#039;&#039;&#039;, &#039;&#039;&#039;LAN&#039;&#039;&#039; und &#039;&#039;&#039;Wifi/serial&#039;&#039;&#039; (tx/rx vom DBG Anschluss)&lt;br /&gt;
* LAN gibt es momentan nur für den MapleSduino, siehe in {{Link2Forum|Topic=106278|Message=1049877|LinkText=diesem Forenbeitrag}}.&lt;br /&gt;
* serial ist z.B. für eine wifi-serial bridge mit dem ESP (z.B. ESP-link)&lt;br /&gt;
Es gibt für den MapleSduino und den MapleCul verschiedene Binaries:&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;Maple_sduino....bin&amp;quot; ist für den MapleSduino&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;Maple_cul_....bin&amp;quot; ist für den MapleCUL und [[MapleCUN]].&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_sduino_USB_411dev200627.bin -R&amp;lt;/code&amp;gt;&lt;br /&gt;
oder&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_cul_USB_411dev200627.bin -R&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[MapleCUN|Hier]] steht ein kleines Script zur Verfügung welches den Flashvorgang sehr vereinfacht und hier ist die Firmware zu finden: https://github.com/Ralf9/SIGNALDuino/releases&lt;br /&gt;
&lt;br /&gt;
Die verfügbare &#039;&#039;&#039;a-culw&#039;&#039;&#039; Firmware ist in diesem {{Link2Forum|Topic=106278|Message=1037726|LinkText=Forenbeitrag}} beschrieben und herunterladbar.&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Als Hardware wird der STM32F103CBT6 Maple Mini verwendet:&lt;br /&gt;
* 128 Kbytes Flash&lt;br /&gt;
* 20 Kbytes SRAM&lt;br /&gt;
* 2 SPI&lt;br /&gt;
* Als optionales [https://www.usriot.com/download/ES1/USR-ES1-EN%20V1.3.pdf LAN Modul den USR-ES1 W5500].&lt;br /&gt;
&lt;br /&gt;
==== Aufbau der Hardware ====&lt;br /&gt;
[[Datei:MapleMini-Ralf9_Schaltplan_%281%29.jpg|mini|rechts|Schaltplan]]&lt;br /&gt;
Ab der Version 4.1.0 werden bis zu vier cc1101 Module (A-D) unterstützt&lt;br /&gt;
&lt;br /&gt;
Beim MapleSduino sind die cc1101 Module an SPI2 angeschlossen:&lt;br /&gt;
* 28 MOSI&lt;br /&gt;
* 29 MISO&lt;br /&gt;
* 30 SCLK&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_0 (&#039;&#039;&#039;A&#039;&#039;&#039;) &lt;br /&gt;
* 31  CSN  (Chip Select)&lt;br /&gt;
* 11  GD02 (Receive)&lt;br /&gt;
* 10  GD00  (send), optional für die a-culw&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_1 (&#039;&#039;&#039;B&#039;&#039;&#039;) - 433 MHz für OOK/ASK &lt;br /&gt;
* 12  CSN  (Chip Select)&lt;br /&gt;
* 18  GD02 (Receive)&lt;br /&gt;
* 17  GD00  (send)&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_2 (&#039;&#039;&#039;C&#039;&#039;&#039;)&lt;br /&gt;
* 15  CSN  (Chip Select)&lt;br /&gt;
* 16  GD02 (Receive)&lt;br /&gt;
* 13  GD00  (send), optional für die a-culw&lt;br /&gt;
&lt;br /&gt;
===== Platine =====&lt;br /&gt;
Es gibt von {{Link2FU|12535|Ranseyer}} eine {{Link2Forum|Topic=109220|LinkText=Platine}}. &lt;br /&gt;
&lt;br /&gt;
Der Maple-Mini kann auf zwei unterschiedliche Arten auf dieser Platine bestückt werden: &lt;br /&gt;
#normal (die USB Buchse und reset/but Taste sind oben, somit sind die beiden Taster direkt zu betätigen) &lt;br /&gt;
#gedreht (USB Buchse ist unten in der Aussparung und kann zB. mit Heisskleber fixiert werden, reset/but Taster sind durch entsprechende Löcher/Langloch in der Platine zu betätigen)&lt;br /&gt;
Zur Orientierung ist Pin 31 auf der Platine beschriftet.&lt;br /&gt;
&lt;br /&gt;
Es können bis zu 3 CC1101 Module/Stamps an der Platine betrieben werden. 2 Module 868MHz und 433MHz werden direkt auf die Platine gelötet. Das dritte Modul/Stamp wird Mithilfe einzelner Adern an die Platine (Lötaugen CC3A-VCC,GND,MOSI,SCK und CC3B-CS2,Out2,IN2,MISO2) angeschlossen&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wichtig: Bei den V0.1 und V0.2 Platinen ist die Beschriftung 433 und 868 MHz manuell zu ändern!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== Teile =====&lt;br /&gt;
* Maple Mini / STM32F103CBT6: https://de.aliexpress.com/item/1400667476.html oder auch schneller bei Amazon&lt;br /&gt;
&lt;br /&gt;
Funkmodule nach Wahl:&lt;br /&gt;
* CC1101 868MHZ:  https://de.aliexpress.com/item/32635393463.html, https://de.aliexpress.com/item/4000594832541.html&lt;br /&gt;
* CC1101 433 Mhz: https://de.aliexpress.com/item/32472259186.html&lt;br /&gt;
&lt;br /&gt;
Empfohlen:&lt;br /&gt;
* Puffer-Kondensator 10-500uF. Z.B. als C5 mit 10uF: Conrad Artikelnummer 457966&lt;br /&gt;
&lt;br /&gt;
Optional:&lt;br /&gt;
* LAN Modul USR-ES1 W5500: https://de.aliexpress.com/item/32598945210.html&lt;br /&gt;
* Abblock-Kondensator mit ein paar pF bis nF an VCC des Maple. Z.B. als C6 mit 22PF: Conrad Artikelnummer 445432&lt;br /&gt;
* Koaxbuchsen: https://de.aliexpress.com/item/4000009303962.html&lt;br /&gt;
&lt;br /&gt;
Antennen: Infos dazu gibt es reichlich im Internet, auch im {{Link2Forum|Topic=93021|LinkText=Antennenthread im FHEM-Forum}}&lt;br /&gt;
&lt;br /&gt;
== Nutzung in FHEM ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;Austausch des FHEM Moduls 00_SIGNALduino.pm&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Für die komfortable Bedienung und für FSK ist ein {{Link2Forum|Topic=111653|Message=1058900|LinkText=angepasstes 00_SIGNALduino Modul}} notwendig. Weitere Informationen:&lt;br /&gt;
&lt;br /&gt;
Wird die ursprüngliche 00_SIGNALduino.pm genutzt so bedarf es recht umständliche Zeichenfolgen um z.B den jeweiligen Sendemodus eines CC1101 Moduls zu konfigurieren. So lautet z.B. die Zeichenfolge für die Konfiguration des Sendemodus  &#039;&#039;Mode 1 - IT+ 17.241 kbps (LaCrosse)&#039;&#039;&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
get sduino raw CW0001,0246,0302,042D,05D4,06FF,0700,0802,0D21,0E65,0F6A,1089,115C,1206,1322,14F8,1556,1700,1818,1916,1B43,1C68,1D91,2211,23E9,242A,2500,2611,3D00,3E04,404d,4131,425f,4349,4454,452b,4600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wird die angepasste 00_SIGNALduino.pm steht folgender Befehl im FHEM Device zur Verfügung&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
set sduino rfmode&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein &#039;&#039;&#039;update auf die angepasste 00_SIGNALduino.pm&#039;&#039;&#039;  kann gemacht werden mit&lt;br /&gt;
 &amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/Ralf9/RFFHEM/master/controls_ralf9_signalduino.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;oder&#039;&#039;&#039; die Datei   [https://raw.githubusercontent.com/Ralf9/RFFHEM/master/FHEM/00_SIGNALduino.pm 00_SIGNALduino.pm] ins FHEM Verzeichnis und die [https://raw.githubusercontent.com/Ralf9/RFFHEM/master/FHEM/lib/signalduino_protocols.pm signalduino_protocols.pm] ins lib Verzeichnis kopieren, dann fhem neustarten.&lt;br /&gt;
&lt;br /&gt;
Hier gibt es noch weitere Details zu dem Thema&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1032098|LinkText=Erste Schritte}}&lt;br /&gt;
* {{Link2Forum|Topic=58396|Message=497921|LinkText=allgemeine Befehlsübersicht}}&lt;br /&gt;
* Beschreibung {{Link2Forum|Topic=106594|Message=1004463|LinkText=&amp;quot;FSK mit dem SIGNALDuino&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
=== USB-ID ermitteln (bei der USB Variante) ===&lt;br /&gt;
{{Randnotiz|RNTyp=g|RNText=Weitere Hintergrundinformationen zu dieser Art der Adressierung von USB-Geräten allgemein sind in [[Mehrere USB-Geräte einbinden|diesem Beitrag]] zu finden.}}Im Terminal den folgenden Befehl ausführen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ls -l /dev/serial/by-id &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das ergibt z.B. diese Ausgabe:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;lrwxrwxrwx 1 root root 13 28. Jun 19:13 usb-STMicroelectronics_MAPLEMINI_F103CB_CDC_in_FS_Mode_XXXXXXXXX-if00 -&amp;gt; ../../ttyACM0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SIGNALduino Definition ===&lt;br /&gt;
Für die USB-Version: &lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;eigener-SIGNALduino-Name&amp;gt; SIGNALduino /dev/serial/by-id/&#039;&#039;&#039;&#039;&#039;usb-STMicroelectronics_MAPLEMINI_F103CB_CDC_in_FS_Mode_XXXXXXXX-if00&#039;&#039;&#039;&#039;&#039;@115200&amp;lt;/code&amp;gt;&lt;br /&gt;
Für die LAN-Version: &lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;eigener-SIGNALduino-Name&amp;gt; SIGNALduino 192.168.0.244:23&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei der LAN Version ist in der Grundeinstellung DHCP vom Maple-SignalDuino aktiviert.&lt;br /&gt;
&lt;br /&gt;
Soll der Maple-SignalDuino eine feste IP im Netz bekommen so kann z.B mit Hilfe einer Telnet Verbindung die Netzwerk Konfig des Maple-SignalDuino geändert werden.  [[CUN Netzwerk einrichten]]&lt;br /&gt;
&lt;br /&gt;
=== Fehlersuche, Diverse ===&lt;br /&gt;
Der Stromverbrauch der Transceiver ist typischerweise 17 mA für RX und 34 mA für TX pro Modul. Bei Inaktivität: 4 Transceiver, LAN-Modul, MAPLE ca 100mA.&lt;br /&gt;
&lt;br /&gt;
Wenn der SlowRF nicht mehr funktioniert: Per Default ist das cc1101 Modul der Bank 0 zugeordnet, dies kann mit get Version kontrolliert werden. Es muß in Version &amp;quot;B0&amp;quot; stehen z.B. (R: B0). Es kann auch ein Factory Reset vom Modul B versucht werden, dazu muß das Modul B selektiert sein (R: B0*)&lt;br /&gt;
 get sduino raw e&lt;br /&gt;
Antwort:&lt;br /&gt;
 ccFactoryReset done&lt;br /&gt;
 r=B b=0 rx=0 ccmode=0 sync=D391 ccconf=10B07157C43023B900070018146C070090 boffs=0000&lt;br /&gt;
&lt;br /&gt;
Wenn es immer noch nicht funktioniert kann auch mit &amp;quot;eC&amp;quot; ein factory Reset der Konfigeinstellungen im EEPROM durchgeführt werden.&lt;br /&gt;
 get sduino raw eC&lt;br /&gt;
Antwort:&lt;br /&gt;
 Init eeprom to defaults&lt;br /&gt;
 detect B: Partn=0 Ver=0x14&lt;br /&gt;
&lt;br /&gt;
Wenn ein nativer Mode (FSK) nicht mehr funktioniert: Dazu muss das entsprechende cc1101 Modul selektiert sein. Mit &amp;quot;get Version&amp;quot; kann dies kontrolliert werden. Ein &amp;quot;-&amp;quot; bedeutet, daß das Modul nicht erkannt wurde z.B. (A-). Ein &amp;quot;i&amp;quot; bedeutet, das dem Modul keine Bank zugeordnet wurde z.B.(Ai).&lt;br /&gt;
&lt;br /&gt;
Es kann versucht werden mit den raw Befehlen &amp;quot;e&amp;quot; und &amp;quot;CW...&amp;quot; die Bank neu zu konfigurieren.&lt;br /&gt;
Wenn dies alles nicht hilft, kann mit dem raw Befehl &amp;quot;eC&amp;quot; ein factory Reset der Konfigeinstellungen gemacht werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Forenthema: {{Link2Forum|Topic=106278|LinkText=Entwicklung SIGNALDuino Empfänger Firm- und Hardware V 4.x.x auch auf Maple Mini}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Arduino]]&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;br /&gt;
[[Kategorie:CUL]]&lt;/div&gt;</summary>
		<author><name>Fritz Muster</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Maple-SignalDuino&amp;diff=35849</id>
		<title>Maple-SignalDuino</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Maple-SignalDuino&amp;diff=35849"/>
		<updated>2021-07-02T10:18:08Z</updated>

		<summary type="html">&lt;p&gt;Fritz Muster: Änderungen  Ergänzungen /* Einleitung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=Maple-SDuino-Photo1.jpg&lt;br /&gt;
|Bildbeschreibung=Maple-SignalDuino, links als LAN-, rechts als USB-Version&lt;br /&gt;
|HWProtocol=diverse&lt;br /&gt;
|HWType=Transceiver&lt;br /&gt;
|HWCategory=&lt;br /&gt;
|HWComm=Funk, 433MHz oder 868MHz&lt;br /&gt;
|HWChannels=f&lt;br /&gt;
|HWVoltage=3,3V nach Spannungsregler&lt;br /&gt;
|HWPowerConsumption=&lt;br /&gt;
|HWPoweredBy=USB&lt;br /&gt;
|HWSize=79 x 27&amp;amp;nbsp;mm&lt;br /&gt;
|HWDeviceFHEM=modifiziertes [[SIGNALduino]]&lt;br /&gt;
|HWManufacturer=Eigenbau}}&lt;br /&gt;
=== Einleitung ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Einfacher SIGNALduino mit nur einem cc1101 Modul (alternativ) ===&lt;br /&gt;
Es wird dabei nur das CC1101_1 (B) - für OOK/ASK verwendet.&lt;br /&gt;
&lt;br /&gt;
Schaltplan siehe [[Maple-SignalDuino#Aufbau der Hardware]]. Es kann auch die Platine von @Ranseyer verwendet werden, wenn nur das zweite cc1101 Modul bestückt wird.&lt;br /&gt;
[[Datei:MapleSduino_Schaltplan_nur_Modul_B.png|200px|thumb|right|Beispielschaltplan Maple-SIGNALduino]]  &lt;br /&gt;
&lt;br /&gt;
Es ist keine cc1101 Modul konfiguration notwendig, das Modul B wird automatisch initialisiert.&lt;br /&gt;
&lt;br /&gt;
Zur Inbetriebnahme ist folgendes notwendig:&lt;br /&gt;
* [https://wiki.fhem.de/wiki/Maple-SignalDuino?veaction=edit&amp;amp;section=2#Firmware_flashen Bootloader 2.0 über USB flashen]&lt;br /&gt;
* [https://wiki.fhem.de/wiki/Maple-SignalDuino?veaction=edit&amp;amp;section=2#Firmware_flashen Firmware flashen]   &lt;br /&gt;
&lt;br /&gt;
* [https://wiki.fhem.de/wiki/Maple-SignalDuino?veaction=edit&amp;amp;section=2#Austausch_des_FHEM_Moduls_00_SIGNALduino.pm evtl. angepasstes 00_SIGNALduino Modul installieren]&lt;br /&gt;
: gegenüber der offiziellen Version von @Sidey enthält diese Version Optimierungen und Komfortfunktionen.&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1032098|LinkText=Erste Schritte}}&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&amp;lt;u&amp;gt;Dieses Projekt ist &#039;&#039;&#039;NICHT&#039;&#039;&#039; zu verwechseln mit dem Originalprojekt.&amp;lt;/u&amp;gt; Es handelt sich hierbei um einen Clone von [https://github.com/RFD-FHEM/RFFHEM RFFHEM] und [https://github.com/RFD-FHEM/SIGNALDuino SIGNALduino].&lt;br /&gt;
&lt;br /&gt;
==== Neuerungen ====&lt;br /&gt;
&#039;&#039;&#039;Bei dieser Version für den Maple Mini gibt es u.a. die folgenden Neuerungen:&#039;&#039;&#039;&lt;br /&gt;
* Das Sendekommando kann eine maximale Länge von 600 Zeichen haben.&lt;br /&gt;
* Der Messagepuffer hat nun eine maximale Größe von 1500 Pulsen Es gibt nun zwei neue Konfigurationsvariablen ::&#039;&#039;CSmaxMsgSizex256&#039;&#039; - damit kann die Größe des Messagepuffers konfiguriert werden. Der Wert wird mit 256 multipliziert, d.h. 4 ergibt eine Messagepuffergröße von 1024 &lt;br /&gt;
::&#039;&#039;CSmaxMuPrintx256&#039;&#039; - damit kann die maximale Länge von MU-Nachrichten konfiguriert werden. Der Wert wird mit 256 multipliziert&lt;br /&gt;
* Die zweite und folgenden MS-Nachrichten werden nun mit der vorherigen MS-Nachricht verglichen; sind sie gleich, wird am Ende ein &amp;quot;Q&amp;quot; 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&lt;br /&gt;
* &#039;&#039;&#039;CR&#039;&#039;&#039; - configRadio Mit CRE&amp;lt;A-D&amp;gt; kann ein cc1101 Modul aktiviert werden. z.B. CREA aktiviert das erste cc1101 Modul A MIt CRD&amp;lt;A-D&amp;gt; kann ein cc1101 Modul deaktiviert werden. z.B. CRDA deaktiviert das erste cc1101 Modul A&lt;br /&gt;
* Der Befehl &#039;&#039;&#039;b&#039;&#039;&#039; wurde erweitert: b&amp;lt;A-D&amp;gt;&amp;lt;0-9&amp;gt;  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&amp;lt;A-D&amp;gt; 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&lt;br /&gt;
* &#039;&#039;&#039;br&#039;&#039;&#039; - damit wird von allen cc1101 eine Bankinfo ausgegeben&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - damit wird eine Übersicht von allen Bänken ausgegeben&lt;br /&gt;
* Mit &#039;&#039;&#039;V&#039;&#039;&#039; (get Version) bekommt man eine Übersicht über die Module z.B. (R: A1 B0*). Mit * wird das selektierte cc1101 Modul markiert. Ein &amp;quot;-&amp;quot; hinter dem Modul (A-D), bedeutet, dass dieses Modul nicht richtig erkannt wurde, ein &amp;quot;i&amp;quot; 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. &lt;br /&gt;
* Mit &#039;&#039;&#039;XQ&#039;&#039;&#039; und &#039;&#039;&#039;XE&#039;&#039;&#039; 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 &#039;&#039;&#039;USB Version&#039;&#039;&#039; ist durch anhängen von W ein &#039;&#039;&#039;XQW&#039;&#039;&#039; 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 &amp;quot;irx0&amp;quot; in der Version erkennbar.&lt;br /&gt;
* Die Datenkomprimierung für MS- und MU-Nachrichten (config: Mred=1) ist nun nicht mehr notwendig.&lt;br /&gt;
&lt;br /&gt;
==== Kompilieren ====&lt;br /&gt;
Wer es selber compilieren will: https://github.com/Ralf9/SIGNALDuino/tree/dev-r41x_cc1101 ({{Link2Forum|Topic=106278|Message=1027914|LinkText=siehe auch diesen Forenbeitrag}})&lt;br /&gt;
&lt;br /&gt;
=== Flashen ===&lt;br /&gt;
Es empfiehlt sich sowohl den Bootloader als auch die Firmware im zunächst unbestückten Zustand des MapleSduino auf selbigen zu flashen. Im Forum wird immer wieder mal von nichtfunktionierenden Bauteilen wie Maple, LAN Modul oder auch nicht korrekt funktionierenden CC1101 Modulen berichtet. Sind alle Bauteile auf entsprechenden Platinen erst einmal verlötet ist es sehr schwierig defekte Bauteile zu entlöten bzw. auszutauschen.&lt;br /&gt;
&lt;br /&gt;
==== Bootloader flashen ====&lt;br /&gt;
Ab der Version 4.1.0-dev200427 ist für die bin Files der Bootloader2.0 erforderlich. Der Bootloader muss nur einmalig geändert werden, ist der benötigte Bootloader einmal auf dem MapleSduino drauf kann die Firmwarew beliebig oft geflasht werden. &lt;br /&gt;
&lt;br /&gt;
Um den Flashvorgang zu vereinfachen dient folgendes kleines Skript:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
while (true); do&lt;br /&gt;
echo &amp;quot;Debug-Port des MAPLE per FTDI-USB2Seriell Wandler anschliessen (RX+TX gekreuzt)! , Bot-Taste halten und erst dann MAPLE mit Spannung versorgen. &amp;quot;&lt;br /&gt;
sudo stm32flash -w maple_mini_boot20.bin -v /dev/ttyUSB0&lt;br /&gt;
#sudo dfu-util --verbose --device 1eaf:0003 --cfg 1 --alt 2 --download MapleCUNx4_W5500_BL.bin&lt;br /&gt;
#sudo dfu-util -d 1eaf:0003 -a 1 -D ~/src/IRMP_STM32/bootloader/map.bin&lt;br /&gt;
if [ $? -eq 0 ]&lt;br /&gt;
then break&lt;br /&gt;
fi&lt;br /&gt;
sleep 1&lt;br /&gt;
done&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Der Bootloader als .bin Datei steht [https://github.com/rogerclarkmelbourne/STM32duino-bootloader/blob/master/binaries/maple_mini_boot20.bin hier] zum Download bereit. Weitere Details zum Flashen des Bootloaders&lt;br /&gt;
* [[MapleCUN#Bootloader_flashen|MapleCUN]]&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1073244|LinkText=Bootloader 2.0 über USB flashen}}&lt;br /&gt;
* https://github.com/heliflieger/a-culfw/tree/master/culfw/Devices/MapleCUN&lt;br /&gt;
&lt;br /&gt;
==== Firmware flashen ====&lt;br /&gt;
Ist der benötigte Bootloader erst einmal geflasht kann die Firmware des MapleSduino geflasht werden.  Abhängig davon wie der MapleSduino in das System eingebunden werden soll ( USB, LAN oder WIFI) gibt es momentan jeweilige Binaries für &#039;&#039;&#039;USB&#039;&#039;&#039;, &#039;&#039;&#039;LAN&#039;&#039;&#039; und &#039;&#039;&#039;Wifi/serial&#039;&#039;&#039; (tx/rx vom DBG Anschluss)&lt;br /&gt;
* LAN gibt es momentan nur für den MapleSduino, siehe in {{Link2Forum|Topic=106278|Message=1049877|LinkText=diesem Forenbeitrag}}.&lt;br /&gt;
* serial ist z.B. für eine wifi-serial bridge mit dem ESP (z.B. ESP-link)&lt;br /&gt;
Es gibt für den MapleSduino und den MapleCul verschiedene Binaries:&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;Maple_sduino....bin&amp;quot; ist für den MapleSduino&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;Maple_cul_....bin&amp;quot; ist für den MapleCUL und [[MapleCUN]].&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_sduino_USB_411dev200627.bin -R&amp;lt;/code&amp;gt;&lt;br /&gt;
oder&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_cul_USB_411dev200627.bin -R&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[MapleCUN|Hier]] steht ein kleines Script zur Verfügung welches den Flashvorgang sehr vereinfacht und hier ist die Firmware zu finden: https://github.com/Ralf9/SIGNALDuino/releases&lt;br /&gt;
&lt;br /&gt;
Die verfügbare &#039;&#039;&#039;a-culw&#039;&#039;&#039; Firmware ist in diesem {{Link2Forum|Topic=106278|Message=1037726|LinkText=Forenbeitrag}} beschrieben und herunterladbar.&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Als Hardware wird der STM32F103CBT6 Maple Mini verwendet:&lt;br /&gt;
* 128 Kbytes Flash&lt;br /&gt;
* 20 Kbytes SRAM&lt;br /&gt;
* 2 SPI&lt;br /&gt;
* Als optionales [https://www.usriot.com/download/ES1/USR-ES1-EN%20V1.3.pdf LAN Modul den USR-ES1 W5500].&lt;br /&gt;
&lt;br /&gt;
==== Aufbau der Hardware ====&lt;br /&gt;
[[Datei:MapleMini-Ralf9_Schaltplan_%281%29.jpg|mini|rechts|Schaltplan]]&lt;br /&gt;
Ab der Version 4.1.0 werden bis zu vier cc1101 Module (A-D) unterstützt&lt;br /&gt;
&lt;br /&gt;
Beim MapleSduino sind die cc1101 Module an SPI2 angeschlossen:&lt;br /&gt;
* 28 MOSI&lt;br /&gt;
* 29 MISO&lt;br /&gt;
* 30 SCLK&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_0 (&#039;&#039;&#039;A&#039;&#039;&#039;) &lt;br /&gt;
* 31  CSN  (Chip Select)&lt;br /&gt;
* 11  GD02 (Receive)&lt;br /&gt;
* 10  GD00  (send), optional für die a-culw&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_1 (&#039;&#039;&#039;B&#039;&#039;&#039;) - 433 MHz für OOK/ASK &lt;br /&gt;
* 12  CSN  (Chip Select)&lt;br /&gt;
* 18  GD02 (Receive)&lt;br /&gt;
* 17  GD00  (send)&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_2 (&#039;&#039;&#039;C&#039;&#039;&#039;)&lt;br /&gt;
* 15  CSN  (Chip Select)&lt;br /&gt;
* 16  GD02 (Receive)&lt;br /&gt;
* 13  GD00  (send), optional für die a-culw&lt;br /&gt;
&lt;br /&gt;
===== Platine =====&lt;br /&gt;
Es gibt von {{Link2FU|12535|Ranseyer}} eine {{Link2Forum|Topic=109220|LinkText=Platine}}. &lt;br /&gt;
&lt;br /&gt;
Der Maple-Mini kann auf zwei unterschiedliche Arten auf dieser Platine bestückt werden: &lt;br /&gt;
#normal (die USB Buchse und reset/but Taste sind oben, somit sind die beiden Taster direkt zu betätigen) &lt;br /&gt;
#gedreht (USB Buchse ist unten in der Aussparung und kann zB. mit Heisskleber fixiert werden, reset/but Taster sind durch entsprechende Löcher/Langloch in der Platine zu betätigen)&lt;br /&gt;
Zur Orientierung ist Pin 31 auf der Platine beschriftet.&lt;br /&gt;
&lt;br /&gt;
Es können bis zu 3 CC1101 Module/Stamps an der Platine betrieben werden. 2 Module 868MHz und 433MHz werden direkt auf die Platine gelötet. Das dritte Modul/Stamp wird Mithilfe einzelner Adern an die Platine (Lötaugen CC3A-VCC,GND,MOSI,SCK und CC3B-CS2,Out2,IN2,MISO2) angeschlossen&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wichtig: Bei den V0.1 und V0.2 Platinen ist die Beschriftung 433 und 868 MHz manuell zu ändern!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== Teile =====&lt;br /&gt;
* Maple Mini / STM32F103CBT6: https://de.aliexpress.com/item/1400667476.html oder auch schneller bei Amazon&lt;br /&gt;
&lt;br /&gt;
Funkmodule nach Wahl:&lt;br /&gt;
* CC1101 868MHZ:  https://de.aliexpress.com/item/32635393463.html, https://de.aliexpress.com/item/4000594832541.html&lt;br /&gt;
* CC1101 433 Mhz: https://de.aliexpress.com/item/32472259186.html&lt;br /&gt;
&lt;br /&gt;
Empfohlen:&lt;br /&gt;
* Puffer-Kondensator 10-500uF. Z.B. als C5 mit 10uF: Conrad Artikelnummer 457966&lt;br /&gt;
&lt;br /&gt;
Optional:&lt;br /&gt;
* LAN Modul USR-ES1 W5500: https://de.aliexpress.com/item/32598945210.html&lt;br /&gt;
* Abblock-Kondensator mit ein paar pF bis nF an VCC des Maple. Z.B. als C6 mit 22PF: Conrad Artikelnummer 445432&lt;br /&gt;
* Koaxbuchsen: https://de.aliexpress.com/item/4000009303962.html&lt;br /&gt;
&lt;br /&gt;
Antennen: Infos dazu gibt es reichlich im Internet, auch im {{Link2Forum|Topic=93021|LinkText=Antennenthread im FHEM-Forum}}&lt;br /&gt;
&lt;br /&gt;
== Nutzung in FHEM ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;Austausch des FHEM Moduls 00_SIGNALduino.pm&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Für die komfortable Bedienung und für FSK ist ein {{Link2Forum|Topic=111653|Message=1058900|LinkText=angepasstes 00_SIGNALduino Modul}} notwendig. Weitere Informationen:&lt;br /&gt;
&lt;br /&gt;
Wird die ursprüngliche 00_SIGNALduino.pm genutzt so bedarf es recht umständliche Zeichenfolgen um z.B den jeweiligen Sendemodus eines CC1101 Moduls zu konfigurieren. So lautet z.B. die Zeichenfolge für die Konfiguration des Sendemodus  &#039;&#039;Mode 1 - IT+ 17.241 kbps (LaCrosse)&#039;&#039;&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
get sduino raw CW0001,0246,0302,042D,05D4,06FF,0700,0802,0D21,0E65,0F6A,1089,115C,1206,1322,14F8,1556,1700,1818,1916,1B43,1C68,1D91,2211,23E9,242A,2500,2611,3D00,3E04,404d,4131,425f,4349,4454,452b,4600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wird die angepasste 00_SIGNALduino.pm steht folgender Befehl im FHEM Device zur Verfügung&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
set sduino rfmode&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein &#039;&#039;&#039;update auf die angepasste 00_SIGNALduino.pm&#039;&#039;&#039;  kann gemacht werden mit&lt;br /&gt;
 &amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/Ralf9/RFFHEM/master/controls_ralf9_signalduino.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;oder&#039;&#039;&#039; die Datei   [https://raw.githubusercontent.com/Ralf9/RFFHEM/master/FHEM/00_SIGNALduino.pm 00_SIGNALduino.pm] ins FHEM Verzeichnis und die [https://raw.githubusercontent.com/Ralf9/RFFHEM/master/FHEM/lib/signalduino_protocols.pm signalduino_protocols.pm] ins lib Verzeichnis kopieren, dann fhem neustarten.&lt;br /&gt;
&lt;br /&gt;
Hier gibt es noch weitere Details zu dem Thema&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1032098|LinkText=Erste Schritte}}&lt;br /&gt;
* {{Link2Forum|Topic=58396|Message=497921|LinkText=allgemeine Befehlsübersicht}}&lt;br /&gt;
* Beschreibung {{Link2Forum|Topic=106594|Message=1004463|LinkText=&amp;quot;FSK mit dem SIGNALDuino&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
=== USB-ID ermitteln (bei der USB Variante) ===&lt;br /&gt;
{{Randnotiz|RNTyp=g|RNText=Weitere Hintergrundinformationen zu dieser Art der Adressierung von USB-Geräten allgemein sind in [[Mehrere USB-Geräte einbinden|diesem Beitrag]] zu finden.}}Im Terminal den folgenden Befehl ausführen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ls -l /dev/serial/by-id &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das ergibt z.B. diese Ausgabe:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;lrwxrwxrwx 1 root root 13 28. Jun 19:13 usb-STMicroelectronics_MAPLEMINI_F103CB_CDC_in_FS_Mode_XXXXXXXXX-if00 -&amp;gt; ../../ttyACM0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SIGNALduino Definition ===&lt;br /&gt;
Für die USB-Version: &lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;eigener-SIGNALduino-Name&amp;gt; SIGNALduino /dev/serial/by-id/&#039;&#039;&#039;&#039;&#039;usb-STMicroelectronics_MAPLEMINI_F103CB_CDC_in_FS_Mode_XXXXXXXX-if00&#039;&#039;&#039;&#039;&#039;@115200&amp;lt;/code&amp;gt;&lt;br /&gt;
Für die LAN-Version: &lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;eigener-SIGNALduino-Name&amp;gt; SIGNALduino 192.168.0.244:23&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei der LAN Version ist in der Grundeinstellung DHCP vom Maple-SignalDuino aktiviert.&lt;br /&gt;
&lt;br /&gt;
Soll der Maple-SignalDuino eine feste IP im Netz bekommen so kann z.B mit Hilfe einer Telnet Verbindung die Netzwerk Konfig des Maple-SignalDuino geändert werden.  [[CUN Netzwerk einrichten]]&lt;br /&gt;
&lt;br /&gt;
=== Fehlersuche, Diverse ===&lt;br /&gt;
Der Stromverbrauch der Transceiver ist typischerweise 17 mA für RX und 34 mA für TX pro Modul. Bei Inaktivität: 4 Transceiver, LAN-Modul, MAPLE ca 100mA.&lt;br /&gt;
&lt;br /&gt;
Wenn der SlowRF nicht mehr funktioniert: Per Default ist das cc1101 Modul der Bank 0 zugeordnet, dies kann mit get Version kontrolliert werden. Es muß in Version &amp;quot;B0&amp;quot; stehen z.B. (R: B0). Es kann auch ein Factory Reset vom Modul B versucht werden, dazu muß das Modul B selektiert sein (R: B0*)&lt;br /&gt;
 get sduino raw e&lt;br /&gt;
Antwort:&lt;br /&gt;
 ccFactoryReset done&lt;br /&gt;
 r=B b=0 rx=0 ccmode=0 sync=D391 ccconf=10B07157C43023B900070018146C070090 boffs=0000&lt;br /&gt;
&lt;br /&gt;
Wenn es immer noch nicht funktioniert kann auch mit &amp;quot;eC&amp;quot; ein factory Reset der Konfigeinstellungen im EEPROM durchgeführt werden.&lt;br /&gt;
 get sduino raw eC&lt;br /&gt;
Antwort:&lt;br /&gt;
 Init eeprom to defaults&lt;br /&gt;
 detect B: Partn=0 Ver=0x14&lt;br /&gt;
&lt;br /&gt;
Wenn ein nativer Mode (FSK) nicht mehr funktioniert: Dazu muss das entsprechende cc1101 Modul selektiert sein. Mit &amp;quot;get Version&amp;quot; kann dies kontrolliert werden. Ein &amp;quot;-&amp;quot; bedeutet, daß das Modul nicht erkannt wurde z.B. (A-). Ein &amp;quot;i&amp;quot; bedeutet, das dem Modul keine Bank zugeordnet wurde z.B.(Ai).&lt;br /&gt;
&lt;br /&gt;
Es kann versucht werden mit den raw Befehlen &amp;quot;e&amp;quot; und &amp;quot;CW...&amp;quot; die Bank neu zu konfigurieren.&lt;br /&gt;
Wenn dies alles nicht hilft, kann mit dem raw Befehl &amp;quot;eC&amp;quot; ein factory Reset der Konfigeinstellungen gemacht werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Forenthema: {{Link2Forum|Topic=106278|LinkText=Entwicklung SIGNALDuino Empfänger Firm- und Hardware V 4.x.x auch auf Maple Mini}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Arduino]]&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;br /&gt;
[[Kategorie:CUL]]&lt;/div&gt;</summary>
		<author><name>Fritz Muster</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Maple-SignalDuino&amp;diff=35848</id>
		<title>Maple-SignalDuino</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Maple-SignalDuino&amp;diff=35848"/>
		<updated>2021-07-02T10:05:27Z</updated>

		<summary type="html">&lt;p&gt;Fritz Muster: Änderungen/Ergänzungen /* Firmware flashen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=Maple-SDuino-Photo1.jpg&lt;br /&gt;
|Bildbeschreibung=Maple-SignalDuino, links als LAN-, rechts als USB-Version&lt;br /&gt;
|HWProtocol=diverse&lt;br /&gt;
|HWType=Transceiver&lt;br /&gt;
|HWCategory=&lt;br /&gt;
|HWComm=Funk, 433MHz oder 868MHz&lt;br /&gt;
|HWChannels=f&lt;br /&gt;
|HWVoltage=3,3V nach Spannungsregler&lt;br /&gt;
|HWPowerConsumption=&lt;br /&gt;
|HWPoweredBy=USB&lt;br /&gt;
|HWSize=79 x 27&amp;amp;nbsp;mm&lt;br /&gt;
|HWDeviceFHEM=modifiziertes [[SIGNALduino]]&lt;br /&gt;
|HWManufacturer=Eigenbau}}&lt;br /&gt;
=== Einleitung ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Einfacher SIGNALduino mit nur einem cc1101 Modul (alternativ) ===&lt;br /&gt;
Es wird dabei nur das CC1101_1 (B) - für OOK/ASK verwendet.&lt;br /&gt;
&lt;br /&gt;
Schaltplan siehe [[Maple-SignalDuino#Aufbau der Hardware]]. Es kann auch die Platine von @Ranseyer verwendet werden, wenn nur das zweite cc1101 Modul bestückt wird.&lt;br /&gt;
[[Datei:MapleSduino_Schaltplan_nur_Modul_B.png|200px|thumb|right|Beispielschaltplan Maple-SIGNALduino]]  &lt;br /&gt;
&lt;br /&gt;
Es ist keine cc1101 Modul konfiguration notwendig, das Modul B wird automatisch initialisiert.&lt;br /&gt;
&lt;br /&gt;
Zur Inbetriebnahme ist folgendes notwendig:&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1073244|LinkText=Bootloader 2.0 über USB flashen}}&lt;br /&gt;
* Firmware flashen (die bin Datei muss ggf durch die aktuelle Version ersetzt werden)   &lt;br /&gt;
: &amp;lt;code&amp;gt;sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_sduino_USB_411dev200627.bin -R&amp;lt;/code&amp;gt;&lt;br /&gt;
* evtl {{Link2Forum|Topic=106278|LinkText=angepasstes 00_SIGNALduino Modul installieren}}&lt;br /&gt;
: gegenüber der offiziellen Version von @Sidey enthält diese Version Optimierungen und Komfortfunktionen.&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1032098|LinkText=Erste Schritte}}&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&amp;lt;u&amp;gt;Dieses Projekt ist &#039;&#039;&#039;NICHT&#039;&#039;&#039; zu verwechseln mit dem Originalprojekt.&amp;lt;/u&amp;gt; Es handelt sich hierbei um einen Clone von [https://github.com/RFD-FHEM/RFFHEM RFFHEM] und [https://github.com/RFD-FHEM/SIGNALDuino SIGNALduino].&lt;br /&gt;
&lt;br /&gt;
==== Neuerungen ====&lt;br /&gt;
&#039;&#039;&#039;Bei dieser Version für den Maple Mini gibt es u.a. die folgenden Neuerungen:&#039;&#039;&#039;&lt;br /&gt;
* Das Sendekommando kann eine maximale Länge von 600 Zeichen haben.&lt;br /&gt;
* Der Messagepuffer hat nun eine maximale Größe von 1500 Pulsen Es gibt nun zwei neue Konfigurationsvariablen ::&#039;&#039;CSmaxMsgSizex256&#039;&#039; - damit kann die Größe des Messagepuffers konfiguriert werden. Der Wert wird mit 256 multipliziert, d.h. 4 ergibt eine Messagepuffergröße von 1024 &lt;br /&gt;
::&#039;&#039;CSmaxMuPrintx256&#039;&#039; - damit kann die maximale Länge von MU-Nachrichten konfiguriert werden. Der Wert wird mit 256 multipliziert&lt;br /&gt;
* Die zweite und folgenden MS-Nachrichten werden nun mit der vorherigen MS-Nachricht verglichen; sind sie gleich, wird am Ende ein &amp;quot;Q&amp;quot; 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&lt;br /&gt;
* &#039;&#039;&#039;CR&#039;&#039;&#039; - configRadio Mit CRE&amp;lt;A-D&amp;gt; kann ein cc1101 Modul aktiviert werden. z.B. CREA aktiviert das erste cc1101 Modul A MIt CRD&amp;lt;A-D&amp;gt; kann ein cc1101 Modul deaktiviert werden. z.B. CRDA deaktiviert das erste cc1101 Modul A&lt;br /&gt;
* Der Befehl &#039;&#039;&#039;b&#039;&#039;&#039; wurde erweitert: b&amp;lt;A-D&amp;gt;&amp;lt;0-9&amp;gt;  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&amp;lt;A-D&amp;gt; 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&lt;br /&gt;
* &#039;&#039;&#039;br&#039;&#039;&#039; - damit wird von allen cc1101 eine Bankinfo ausgegeben&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - damit wird eine Übersicht von allen Bänken ausgegeben&lt;br /&gt;
* Mit &#039;&#039;&#039;V&#039;&#039;&#039; (get Version) bekommt man eine Übersicht über die Module z.B. (R: A1 B0*). Mit * wird das selektierte cc1101 Modul markiert. Ein &amp;quot;-&amp;quot; hinter dem Modul (A-D), bedeutet, dass dieses Modul nicht richtig erkannt wurde, ein &amp;quot;i&amp;quot; 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. &lt;br /&gt;
* Mit &#039;&#039;&#039;XQ&#039;&#039;&#039; und &#039;&#039;&#039;XE&#039;&#039;&#039; 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 &#039;&#039;&#039;USB Version&#039;&#039;&#039; ist durch anhängen von W ein &#039;&#039;&#039;XQW&#039;&#039;&#039; 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 &amp;quot;irx0&amp;quot; in der Version erkennbar.&lt;br /&gt;
* Die Datenkomprimierung für MS- und MU-Nachrichten (config: Mred=1) ist nun nicht mehr notwendig.&lt;br /&gt;
&lt;br /&gt;
==== Kompilieren ====&lt;br /&gt;
Wer es selber compilieren will: https://github.com/Ralf9/SIGNALDuino/tree/dev-r41x_cc1101 ({{Link2Forum|Topic=106278|Message=1027914|LinkText=siehe auch diesen Forenbeitrag}})&lt;br /&gt;
&lt;br /&gt;
=== Flashen ===&lt;br /&gt;
Es empfiehlt sich sowohl den Bootloader als auch die Firmware im zunächst unbestückten Zustand des MapleSduino auf selbigen zu flashen. Im Forum wird immer wieder mal von nichtfunktionierenden Bauteilen wie Maple, LAN Modul oder auch nicht korrekt funktionierenden CC1101 Modulen berichtet. Sind alle Bauteile auf entsprechenden Platinen erst einmal verlötet ist es sehr schwierig defekte Bauteile zu entlöten bzw. auszutauschen.&lt;br /&gt;
&lt;br /&gt;
==== Bootloader flashen ====&lt;br /&gt;
Ab der Version 4.1.0-dev200427 ist für die bin Files der Bootloader2.0 erforderlich. Der Bootloader muss nur einmalig geändert werden, ist der benötigte Bootloader einmal auf dem MapleSduino drauf kann die Firmwarew beliebig oft geflasht werden. &lt;br /&gt;
&lt;br /&gt;
Um den Flashvorgang zu vereinfachen dient folgendes kleines Skript:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
while (true); do&lt;br /&gt;
echo &amp;quot;Debug-Port des MAPLE per FTDI-USB2Seriell Wandler anschliessen (RX+TX gekreuzt)! , Bot-Taste halten und erst dann MAPLE mit Spannung versorgen. &amp;quot;&lt;br /&gt;
sudo stm32flash -w maple_mini_boot20.bin -v /dev/ttyUSB0&lt;br /&gt;
#sudo dfu-util --verbose --device 1eaf:0003 --cfg 1 --alt 2 --download MapleCUNx4_W5500_BL.bin&lt;br /&gt;
#sudo dfu-util -d 1eaf:0003 -a 1 -D ~/src/IRMP_STM32/bootloader/map.bin&lt;br /&gt;
if [ $? -eq 0 ]&lt;br /&gt;
then break&lt;br /&gt;
fi&lt;br /&gt;
sleep 1&lt;br /&gt;
done&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Der Bootloader als .bin Datei steht [https://github.com/rogerclarkmelbourne/STM32duino-bootloader/blob/master/binaries/maple_mini_boot20.bin hier] zum Download bereit. Weitere Details zum Flashen des Bootloaders&lt;br /&gt;
* [[MapleCUN#Bootloader_flashen|MapleCUN]]&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1073244|LinkText=Bootloader 2.0 über USB flashen}}&lt;br /&gt;
* https://github.com/heliflieger/a-culfw/tree/master/culfw/Devices/MapleCUN&lt;br /&gt;
&lt;br /&gt;
==== Firmware flashen ====&lt;br /&gt;
Ist der benötigte Bootloader erst einmal geflasht kann die Firmware des MapleSduino geflasht werden.  Abhängig davon wie der MapleSduino in das System eingebunden werden soll ( USB, LAN oder WIFI) gibt es momentan jeweilige Binaries für &#039;&#039;&#039;USB&#039;&#039;&#039;, &#039;&#039;&#039;LAN&#039;&#039;&#039; und &#039;&#039;&#039;Wifi/serial&#039;&#039;&#039; (tx/rx vom DBG Anschluss)&lt;br /&gt;
* LAN gibt es momentan nur für den MapleSduino, siehe in {{Link2Forum|Topic=106278|Message=1049877|LinkText=diesem Forenbeitrag}}.&lt;br /&gt;
* serial ist z.B. für eine wifi-serial bridge mit dem ESP (z.B. ESP-link)&lt;br /&gt;
Es gibt für den MapleSduino und den MapleCul verschiedene Binaries:&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;Maple_sduino....bin&amp;quot; ist für den MapleSduino&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;Maple_cul_....bin&amp;quot; ist für den MapleCUL und [[MapleCUN]].&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_sduino_USB_411dev200627.bin -R&amp;lt;/code&amp;gt;&lt;br /&gt;
oder&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_cul_USB_411dev200627.bin -R&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[MapleCUN|Hier]] steht ein kleines Script zur Verfügung welches den Flashvorgang sehr vereinfacht und hier ist die Firmware zu finden: https://github.com/Ralf9/SIGNALDuino/releases&lt;br /&gt;
&lt;br /&gt;
Die verfügbare &#039;&#039;&#039;a-culw&#039;&#039;&#039; Firmware ist in diesem {{Link2Forum|Topic=106278|Message=1037726|LinkText=Forenbeitrag}} beschrieben und herunterladbar.&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Als Hardware wird der STM32F103CBT6 Maple Mini verwendet:&lt;br /&gt;
* 128 Kbytes Flash&lt;br /&gt;
* 20 Kbytes SRAM&lt;br /&gt;
* 2 SPI&lt;br /&gt;
* Als optionales [https://www.usriot.com/download/ES1/USR-ES1-EN%20V1.3.pdf LAN Modul den USR-ES1 W5500].&lt;br /&gt;
&lt;br /&gt;
==== Aufbau der Hardware ====&lt;br /&gt;
[[Datei:MapleMini-Ralf9_Schaltplan_%281%29.jpg|mini|rechts|Schaltplan]]&lt;br /&gt;
Ab der Version 4.1.0 werden bis zu vier cc1101 Module (A-D) unterstützt&lt;br /&gt;
&lt;br /&gt;
Beim MapleSduino sind die cc1101 Module an SPI2 angeschlossen:&lt;br /&gt;
* 28 MOSI&lt;br /&gt;
* 29 MISO&lt;br /&gt;
* 30 SCLK&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_0 (&#039;&#039;&#039;A&#039;&#039;&#039;) &lt;br /&gt;
* 31  CSN  (Chip Select)&lt;br /&gt;
* 11  GD02 (Receive)&lt;br /&gt;
* 10  GD00  (send), optional für die a-culw&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_1 (&#039;&#039;&#039;B&#039;&#039;&#039;) - 433 MHz für OOK/ASK &lt;br /&gt;
* 12  CSN  (Chip Select)&lt;br /&gt;
* 18  GD02 (Receive)&lt;br /&gt;
* 17  GD00  (send)&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_2 (&#039;&#039;&#039;C&#039;&#039;&#039;)&lt;br /&gt;
* 15  CSN  (Chip Select)&lt;br /&gt;
* 16  GD02 (Receive)&lt;br /&gt;
* 13  GD00  (send), optional für die a-culw&lt;br /&gt;
&lt;br /&gt;
===== Platine =====&lt;br /&gt;
Es gibt von {{Link2FU|12535|Ranseyer}} eine {{Link2Forum|Topic=109220|LinkText=Platine}}. &lt;br /&gt;
&lt;br /&gt;
Der Maple-Mini kann auf zwei unterschiedliche Arten auf dieser Platine bestückt werden: &lt;br /&gt;
#normal (die USB Buchse und reset/but Taste sind oben, somit sind die beiden Taster direkt zu betätigen) &lt;br /&gt;
#gedreht (USB Buchse ist unten in der Aussparung und kann zB. mit Heisskleber fixiert werden, reset/but Taster sind durch entsprechende Löcher/Langloch in der Platine zu betätigen)&lt;br /&gt;
Zur Orientierung ist Pin 31 auf der Platine beschriftet.&lt;br /&gt;
&lt;br /&gt;
Es können bis zu 3 CC1101 Module/Stamps an der Platine betrieben werden. 2 Module 868MHz und 433MHz werden direkt auf die Platine gelötet. Das dritte Modul/Stamp wird Mithilfe einzelner Adern an die Platine (Lötaugen CC3A-VCC,GND,MOSI,SCK und CC3B-CS2,Out2,IN2,MISO2) angeschlossen&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wichtig: Bei den V0.1 und V0.2 Platinen ist die Beschriftung 433 und 868 MHz manuell zu ändern!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== Teile =====&lt;br /&gt;
* Maple Mini / STM32F103CBT6: https://de.aliexpress.com/item/1400667476.html oder auch schneller bei Amazon&lt;br /&gt;
&lt;br /&gt;
Funkmodule nach Wahl:&lt;br /&gt;
* CC1101 868MHZ:  https://de.aliexpress.com/item/32635393463.html, https://de.aliexpress.com/item/4000594832541.html&lt;br /&gt;
* CC1101 433 Mhz: https://de.aliexpress.com/item/32472259186.html&lt;br /&gt;
&lt;br /&gt;
Empfohlen:&lt;br /&gt;
* Puffer-Kondensator 10-500uF. Z.B. als C5 mit 10uF: Conrad Artikelnummer 457966&lt;br /&gt;
&lt;br /&gt;
Optional:&lt;br /&gt;
* LAN Modul USR-ES1 W5500: https://de.aliexpress.com/item/32598945210.html&lt;br /&gt;
* Abblock-Kondensator mit ein paar pF bis nF an VCC des Maple. Z.B. als C6 mit 22PF: Conrad Artikelnummer 445432&lt;br /&gt;
* Koaxbuchsen: https://de.aliexpress.com/item/4000009303962.html&lt;br /&gt;
&lt;br /&gt;
Antennen: Infos dazu gibt es reichlich im Internet, auch im {{Link2Forum|Topic=93021|LinkText=Antennenthread im FHEM-Forum}}&lt;br /&gt;
&lt;br /&gt;
== Nutzung in FHEM ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;Austausch des FHEM Moduls 00_SIGNALduino.pm&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Für die komfortable Bedienung und für FSK ist ein {{Link2Forum|Topic=111653|Message=1058900|LinkText=angepasstes 00_SIGNALduino Modul}} notwendig. Weitere Informationen:&lt;br /&gt;
&lt;br /&gt;
Wird die ursprüngliche 00_SIGNALduino.pm genutzt so bedarf es recht umständliche Zeichenfolgen um z.B den jeweiligen Sendemodus eines CC1101 Moduls zu konfigurieren. So lautet z.B. die Zeichenfolge für die Konfiguration des Sendemodus  &#039;&#039;Mode 1 - IT+ 17.241 kbps (LaCrosse)&#039;&#039;&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
get sduino raw CW0001,0246,0302,042D,05D4,06FF,0700,0802,0D21,0E65,0F6A,1089,115C,1206,1322,14F8,1556,1700,1818,1916,1B43,1C68,1D91,2211,23E9,242A,2500,2611,3D00,3E04,404d,4131,425f,4349,4454,452b,4600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wird die angepasste 00_SIGNALduino.pm steht folgender Befehl im FHEM Device zur Verfügung&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
set sduino rfmode&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein &#039;&#039;&#039;update auf die angepasste 00_SIGNALduino.pm&#039;&#039;&#039;  kann gemacht werden mit&lt;br /&gt;
 &amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/Ralf9/RFFHEM/master/controls_ralf9_signalduino.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;oder&#039;&#039;&#039; die Datei   [https://raw.githubusercontent.com/Ralf9/RFFHEM/master/FHEM/00_SIGNALduino.pm 00_SIGNALduino.pm] ins FHEM Verzeichnis und die [https://raw.githubusercontent.com/Ralf9/RFFHEM/master/FHEM/lib/signalduino_protocols.pm signalduino_protocols.pm] ins lib Verzeichnis kopieren, dann fhem neustarten.&lt;br /&gt;
&lt;br /&gt;
Hier gibt es noch weitere Details zu dem Thema&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1032098|LinkText=Erste Schritte}}&lt;br /&gt;
* {{Link2Forum|Topic=58396|Message=497921|LinkText=allgemeine Befehlsübersicht}}&lt;br /&gt;
* Beschreibung {{Link2Forum|Topic=106594|Message=1004463|LinkText=&amp;quot;FSK mit dem SIGNALDuino&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
=== USB-ID ermitteln (bei der USB Variante) ===&lt;br /&gt;
{{Randnotiz|RNTyp=g|RNText=Weitere Hintergrundinformationen zu dieser Art der Adressierung von USB-Geräten allgemein sind in [[Mehrere USB-Geräte einbinden|diesem Beitrag]] zu finden.}}Im Terminal den folgenden Befehl ausführen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ls -l /dev/serial/by-id &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das ergibt z.B. diese Ausgabe:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;lrwxrwxrwx 1 root root 13 28. Jun 19:13 usb-STMicroelectronics_MAPLEMINI_F103CB_CDC_in_FS_Mode_XXXXXXXXX-if00 -&amp;gt; ../../ttyACM0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SIGNALduino Definition ===&lt;br /&gt;
Für die USB-Version: &lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;eigener-SIGNALduino-Name&amp;gt; SIGNALduino /dev/serial/by-id/&#039;&#039;&#039;&#039;&#039;usb-STMicroelectronics_MAPLEMINI_F103CB_CDC_in_FS_Mode_XXXXXXXX-if00&#039;&#039;&#039;&#039;&#039;@115200&amp;lt;/code&amp;gt;&lt;br /&gt;
Für die LAN-Version: &lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;eigener-SIGNALduino-Name&amp;gt; SIGNALduino 192.168.0.244:23&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei der LAN Version ist in der Grundeinstellung DHCP vom Maple-SignalDuino aktiviert.&lt;br /&gt;
&lt;br /&gt;
Soll der Maple-SignalDuino eine feste IP im Netz bekommen so kann z.B mit Hilfe einer Telnet Verbindung die Netzwerk Konfig des Maple-SignalDuino geändert werden.  [[CUN Netzwerk einrichten]]&lt;br /&gt;
&lt;br /&gt;
=== Fehlersuche, Diverse ===&lt;br /&gt;
Der Stromverbrauch der Transceiver ist typischerweise 17 mA für RX und 34 mA für TX pro Modul. Bei Inaktivität: 4 Transceiver, LAN-Modul, MAPLE ca 100mA.&lt;br /&gt;
&lt;br /&gt;
Wenn der SlowRF nicht mehr funktioniert: Per Default ist das cc1101 Modul der Bank 0 zugeordnet, dies kann mit get Version kontrolliert werden. Es muß in Version &amp;quot;B0&amp;quot; stehen z.B. (R: B0). Es kann auch ein Factory Reset vom Modul B versucht werden, dazu muß das Modul B selektiert sein (R: B0*)&lt;br /&gt;
 get sduino raw e&lt;br /&gt;
Antwort:&lt;br /&gt;
 ccFactoryReset done&lt;br /&gt;
 r=B b=0 rx=0 ccmode=0 sync=D391 ccconf=10B07157C43023B900070018146C070090 boffs=0000&lt;br /&gt;
&lt;br /&gt;
Wenn es immer noch nicht funktioniert kann auch mit &amp;quot;eC&amp;quot; ein factory Reset der Konfigeinstellungen im EEPROM durchgeführt werden.&lt;br /&gt;
 get sduino raw eC&lt;br /&gt;
Antwort:&lt;br /&gt;
 Init eeprom to defaults&lt;br /&gt;
 detect B: Partn=0 Ver=0x14&lt;br /&gt;
&lt;br /&gt;
Wenn ein nativer Mode (FSK) nicht mehr funktioniert: Dazu muss das entsprechende cc1101 Modul selektiert sein. Mit &amp;quot;get Version&amp;quot; kann dies kontrolliert werden. Ein &amp;quot;-&amp;quot; bedeutet, daß das Modul nicht erkannt wurde z.B. (A-). Ein &amp;quot;i&amp;quot; bedeutet, das dem Modul keine Bank zugeordnet wurde z.B.(Ai).&lt;br /&gt;
&lt;br /&gt;
Es kann versucht werden mit den raw Befehlen &amp;quot;e&amp;quot; und &amp;quot;CW...&amp;quot; die Bank neu zu konfigurieren.&lt;br /&gt;
Wenn dies alles nicht hilft, kann mit dem raw Befehl &amp;quot;eC&amp;quot; ein factory Reset der Konfigeinstellungen gemacht werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Forenthema: {{Link2Forum|Topic=106278|LinkText=Entwicklung SIGNALDuino Empfänger Firm- und Hardware V 4.x.x auch auf Maple Mini}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Arduino]]&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;br /&gt;
[[Kategorie:CUL]]&lt;/div&gt;</summary>
		<author><name>Fritz Muster</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Maple-SignalDuino&amp;diff=35847</id>
		<title>Maple-SignalDuino</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Maple-SignalDuino&amp;diff=35847"/>
		<updated>2021-07-02T09:36:19Z</updated>

		<summary type="html">&lt;p&gt;Fritz Muster: Ergänzungen zum Flashen und zum Austausch des FHEM Moduls 00_SIGNALduino.pm&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=Maple-SDuino-Photo1.jpg&lt;br /&gt;
|Bildbeschreibung=Maple-SignalDuino, links als LAN-, rechts als USB-Version&lt;br /&gt;
|HWProtocol=diverse&lt;br /&gt;
|HWType=Transceiver&lt;br /&gt;
|HWCategory=&lt;br /&gt;
|HWComm=Funk, 433MHz oder 868MHz&lt;br /&gt;
|HWChannels=f&lt;br /&gt;
|HWVoltage=3,3V nach Spannungsregler&lt;br /&gt;
|HWPowerConsumption=&lt;br /&gt;
|HWPoweredBy=USB&lt;br /&gt;
|HWSize=79 x 27&amp;amp;nbsp;mm&lt;br /&gt;
|HWDeviceFHEM=modifiziertes [[SIGNALduino]]&lt;br /&gt;
|HWManufacturer=Eigenbau}}&lt;br /&gt;
=== Einleitung ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Einfacher SIGNALduino mit nur einem cc1101 Modul (alternativ) ===&lt;br /&gt;
Es wird dabei nur das CC1101_1 (B) - für OOK/ASK verwendet.&lt;br /&gt;
&lt;br /&gt;
Schaltplan siehe [[Maple-SignalDuino#Aufbau der Hardware]]. Es kann auch die Platine von @Ranseyer verwendet werden, wenn nur das zweite cc1101 Modul bestückt wird.&lt;br /&gt;
[[Datei:MapleSduino_Schaltplan_nur_Modul_B.png|200px|thumb|right|Beispielschaltplan Maple-SIGNALduino]]  &lt;br /&gt;
&lt;br /&gt;
Es ist keine cc1101 Modul konfiguration notwendig, das Modul B wird automatisch initialisiert.&lt;br /&gt;
&lt;br /&gt;
Zur Inbetriebnahme ist folgendes notwendig:&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1073244|LinkText=Bootloader 2.0 über USB flashen}}&lt;br /&gt;
* Firmware flashen (die bin Datei muss ggf durch die aktuelle Version ersetzt werden)   &lt;br /&gt;
: &amp;lt;code&amp;gt;sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_sduino_USB_411dev200627.bin -R&amp;lt;/code&amp;gt;&lt;br /&gt;
* evtl {{Link2Forum|Topic=106278|LinkText=angepasstes 00_SIGNALduino Modul installieren}}&lt;br /&gt;
: gegenüber der offiziellen Version von @Sidey enthält diese Version Optimierungen und Komfortfunktionen.&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1032098|LinkText=Erste Schritte}}&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&amp;lt;u&amp;gt;Dieses Projekt ist &#039;&#039;&#039;NICHT&#039;&#039;&#039; zu verwechseln mit dem Originalprojekt.&amp;lt;/u&amp;gt; Es handelt sich hierbei um einen Clone von [https://github.com/RFD-FHEM/RFFHEM RFFHEM] und [https://github.com/RFD-FHEM/SIGNALDuino SIGNALduino].&lt;br /&gt;
&lt;br /&gt;
==== Neuerungen ====&lt;br /&gt;
&#039;&#039;&#039;Bei dieser Version für den Maple Mini gibt es u.a. die folgenden Neuerungen:&#039;&#039;&#039;&lt;br /&gt;
* Das Sendekommando kann eine maximale Länge von 600 Zeichen haben.&lt;br /&gt;
* Der Messagepuffer hat nun eine maximale Größe von 1500 Pulsen Es gibt nun zwei neue Konfigurationsvariablen ::&#039;&#039;CSmaxMsgSizex256&#039;&#039; - damit kann die Größe des Messagepuffers konfiguriert werden. Der Wert wird mit 256 multipliziert, d.h. 4 ergibt eine Messagepuffergröße von 1024 &lt;br /&gt;
::&#039;&#039;CSmaxMuPrintx256&#039;&#039; - damit kann die maximale Länge von MU-Nachrichten konfiguriert werden. Der Wert wird mit 256 multipliziert&lt;br /&gt;
* Die zweite und folgenden MS-Nachrichten werden nun mit der vorherigen MS-Nachricht verglichen; sind sie gleich, wird am Ende ein &amp;quot;Q&amp;quot; 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&lt;br /&gt;
* &#039;&#039;&#039;CR&#039;&#039;&#039; - configRadio Mit CRE&amp;lt;A-D&amp;gt; kann ein cc1101 Modul aktiviert werden. z.B. CREA aktiviert das erste cc1101 Modul A MIt CRD&amp;lt;A-D&amp;gt; kann ein cc1101 Modul deaktiviert werden. z.B. CRDA deaktiviert das erste cc1101 Modul A&lt;br /&gt;
* Der Befehl &#039;&#039;&#039;b&#039;&#039;&#039; wurde erweitert: b&amp;lt;A-D&amp;gt;&amp;lt;0-9&amp;gt;  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&amp;lt;A-D&amp;gt; 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&lt;br /&gt;
* &#039;&#039;&#039;br&#039;&#039;&#039; - damit wird von allen cc1101 eine Bankinfo ausgegeben&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - damit wird eine Übersicht von allen Bänken ausgegeben&lt;br /&gt;
* Mit &#039;&#039;&#039;V&#039;&#039;&#039; (get Version) bekommt man eine Übersicht über die Module z.B. (R: A1 B0*). Mit * wird das selektierte cc1101 Modul markiert. Ein &amp;quot;-&amp;quot; hinter dem Modul (A-D), bedeutet, dass dieses Modul nicht richtig erkannt wurde, ein &amp;quot;i&amp;quot; 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. &lt;br /&gt;
* Mit &#039;&#039;&#039;XQ&#039;&#039;&#039; und &#039;&#039;&#039;XE&#039;&#039;&#039; 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 &#039;&#039;&#039;USB Version&#039;&#039;&#039; ist durch anhängen von W ein &#039;&#039;&#039;XQW&#039;&#039;&#039; 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 &amp;quot;irx0&amp;quot; in der Version erkennbar.&lt;br /&gt;
* Die Datenkomprimierung für MS- und MU-Nachrichten (config: Mred=1) ist nun nicht mehr notwendig.&lt;br /&gt;
&lt;br /&gt;
==== Kompilieren ====&lt;br /&gt;
Wer es selber compilieren will: https://github.com/Ralf9/SIGNALDuino/tree/dev-r41x_cc1101 ({{Link2Forum|Topic=106278|Message=1027914|LinkText=siehe auch diesen Forenbeitrag}})&lt;br /&gt;
&lt;br /&gt;
=== Flashen ===&lt;br /&gt;
Es empfiehlt sich sowohl den Bootloader als auch die Firmware im zunächst unbestückten Zustand des MapleSduino auf selbigen zu flashen. Im Forum wird immer wieder mal von nichtfunktionierenden Bauteilen wie Maple, LAN Modul oder auch nicht korrekt funktionierenden CC1101 Modulen berichtet. Sind alle Bauteile auf entsprechenden Platinen erst einmal verlötet ist es sehr schwierig defekte Bauteile zu entlöten bzw. auszutauschen.&lt;br /&gt;
&lt;br /&gt;
==== Bootloader flashen ====&lt;br /&gt;
Ab der Version 4.1.0-dev200427 ist für die bin Files der Bootloader2.0 erforderlich. Der Bootloader muss nur einmalig geändert werden, ist der benötigte Bootloader einmal auf dem MapleSduino drauf kann die Firmwarew beliebig oft geflasht werden. &lt;br /&gt;
&lt;br /&gt;
Um den Flashvorgang zu vereinfachen dient folgendes kleines Skript:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
while (true); do&lt;br /&gt;
echo &amp;quot;Debug-Port des MAPLE per FTDI-USB2Seriell Wandler anschliessen (RX+TX gekreuzt)! , Bot-Taste halten und erst dann MAPLE mit Spannung versorgen. &amp;quot;&lt;br /&gt;
sudo stm32flash -w maple_mini_boot20.bin -v /dev/ttyUSB0&lt;br /&gt;
#sudo dfu-util --verbose --device 1eaf:0003 --cfg 1 --alt 2 --download MapleCUNx4_W5500_BL.bin&lt;br /&gt;
#sudo dfu-util -d 1eaf:0003 -a 1 -D ~/src/IRMP_STM32/bootloader/map.bin&lt;br /&gt;
if [ $? -eq 0 ]&lt;br /&gt;
then break&lt;br /&gt;
fi&lt;br /&gt;
sleep 1&lt;br /&gt;
done&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Der Bootloader als .bin Datei steht [https://github.com/rogerclarkmelbourne/STM32duino-bootloader/blob/master/binaries/maple_mini_boot20.bin hier] zum Download bereit. Weitere Details zum Flashen des Bootloaders&lt;br /&gt;
* [[MapleCUN#Bootloader_flashen|MapleCUN]]&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1073244|LinkText=Bootloader 2.0 über USB flashen}}&lt;br /&gt;
* https://github.com/heliflieger/a-culfw/tree/master/culfw/Devices/MapleCUN&lt;br /&gt;
&lt;br /&gt;
==== Firmware flashen ====&lt;br /&gt;
Hier ist die Firmware: https://github.com/Ralf9/SIGNALDuino/releases&lt;br /&gt;
&lt;br /&gt;
Abhängig davon wie der MapleSduino in das System eingebunden werden soll ( USB, LAN oder WIFI) gibt es momentan jeweilige Binaries für &#039;&#039;&#039;USB&#039;&#039;&#039;, &#039;&#039;&#039;LAN&#039;&#039;&#039; und &#039;&#039;&#039;Wifi/serial&#039;&#039;&#039; (tx/rx vom DBG Anschluss)&lt;br /&gt;
* LAN gibt es momentan nur für den MapleSduino, siehe in {{Link2Forum|Topic=106278|Message=1049877|LinkText=diesem Forenbeitrag}}.&lt;br /&gt;
* serial ist z.B. für eine wifi-serial bridge mit dem ESP (z.B. ESP-link)&lt;br /&gt;
Es gibt für den MapleSduino und den MapleCul verschiedene Binaries:&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;Maple_sduino....bin&amp;quot; ist für den MapleSduino&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;Maple_cul_....bin&amp;quot; ist für den MapleCUL und [[MapleCUN]].&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_sduino_USB_411dev200627.bin -R&amp;lt;/code&amp;gt;&lt;br /&gt;
oder&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_cul_USB_411dev200627.bin -R&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[MapleCUN|Hier]] steht ein kleines Script zur Verfügung welches den Flashvorgang sehr vereinfacht.&lt;br /&gt;
&lt;br /&gt;
Die verfügbare &#039;&#039;&#039;a-culw&#039;&#039;&#039; Firmware ist in diesem {{Link2Forum|Topic=106278|Message=1037726|LinkText=Forenbeitrag}} beschrieben und herunterladbar.&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Als Hardware wird der STM32F103CBT6 Maple Mini verwendet:&lt;br /&gt;
* 128 Kbytes Flash&lt;br /&gt;
* 20 Kbytes SRAM&lt;br /&gt;
* 2 SPI&lt;br /&gt;
* Als optionales [https://www.usriot.com/download/ES1/USR-ES1-EN%20V1.3.pdf LAN Modul den USR-ES1 W5500].&lt;br /&gt;
&lt;br /&gt;
==== Aufbau der Hardware ====&lt;br /&gt;
[[Datei:MapleMini-Ralf9_Schaltplan_%281%29.jpg|mini|rechts|Schaltplan]]&lt;br /&gt;
Ab der Version 4.1.0 werden bis zu vier cc1101 Module (A-D) unterstützt&lt;br /&gt;
&lt;br /&gt;
Beim MapleSduino sind die cc1101 Module an SPI2 angeschlossen:&lt;br /&gt;
* 28 MOSI&lt;br /&gt;
* 29 MISO&lt;br /&gt;
* 30 SCLK&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_0 (&#039;&#039;&#039;A&#039;&#039;&#039;) &lt;br /&gt;
* 31  CSN  (Chip Select)&lt;br /&gt;
* 11  GD02 (Receive)&lt;br /&gt;
* 10  GD00  (send), optional für die a-culw&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_1 (&#039;&#039;&#039;B&#039;&#039;&#039;) - 433 MHz für OOK/ASK &lt;br /&gt;
* 12  CSN  (Chip Select)&lt;br /&gt;
* 18  GD02 (Receive)&lt;br /&gt;
* 17  GD00  (send)&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_2 (&#039;&#039;&#039;C&#039;&#039;&#039;)&lt;br /&gt;
* 15  CSN  (Chip Select)&lt;br /&gt;
* 16  GD02 (Receive)&lt;br /&gt;
* 13  GD00  (send), optional für die a-culw&lt;br /&gt;
&lt;br /&gt;
===== Platine =====&lt;br /&gt;
Es gibt von {{Link2FU|12535|Ranseyer}} eine {{Link2Forum|Topic=109220|LinkText=Platine}}. &lt;br /&gt;
&lt;br /&gt;
Der Maple-Mini kann auf zwei unterschiedliche Arten auf dieser Platine bestückt werden: &lt;br /&gt;
#normal (die USB Buchse und reset/but Taste sind oben, somit sind die beiden Taster direkt zu betätigen) &lt;br /&gt;
#gedreht (USB Buchse ist unten in der Aussparung und kann zB. mit Heisskleber fixiert werden, reset/but Taster sind durch entsprechende Löcher/Langloch in der Platine zu betätigen)&lt;br /&gt;
Zur Orientierung ist Pin 31 auf der Platine beschriftet.&lt;br /&gt;
&lt;br /&gt;
Es können bis zu 3 CC1101 Module/Stamps an der Platine betrieben werden. 2 Module 868MHz und 433MHz werden direkt auf die Platine gelötet. Das dritte Modul/Stamp wird Mithilfe einzelner Adern an die Platine (Lötaugen CC3A-VCC,GND,MOSI,SCK und CC3B-CS2,Out2,IN2,MISO2) angeschlossen&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wichtig: Bei den V0.1 und V0.2 Platinen ist die Beschriftung 433 und 868 MHz manuell zu ändern!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== Teile =====&lt;br /&gt;
* Maple Mini / STM32F103CBT6: https://de.aliexpress.com/item/1400667476.html oder auch schneller bei Amazon&lt;br /&gt;
&lt;br /&gt;
Funkmodule nach Wahl:&lt;br /&gt;
* CC1101 868MHZ:  https://de.aliexpress.com/item/32635393463.html, https://de.aliexpress.com/item/4000594832541.html&lt;br /&gt;
* CC1101 433 Mhz: https://de.aliexpress.com/item/32472259186.html&lt;br /&gt;
&lt;br /&gt;
Empfohlen:&lt;br /&gt;
* Puffer-Kondensator 10-500uF. Z.B. als C5 mit 10uF: Conrad Artikelnummer 457966&lt;br /&gt;
&lt;br /&gt;
Optional:&lt;br /&gt;
* LAN Modul USR-ES1 W5500: https://de.aliexpress.com/item/32598945210.html&lt;br /&gt;
* Abblock-Kondensator mit ein paar pF bis nF an VCC des Maple. Z.B. als C6 mit 22PF: Conrad Artikelnummer 445432&lt;br /&gt;
* Koaxbuchsen: https://de.aliexpress.com/item/4000009303962.html&lt;br /&gt;
&lt;br /&gt;
Antennen: Infos dazu gibt es reichlich im Internet, auch im {{Link2Forum|Topic=93021|LinkText=Antennenthread im FHEM-Forum}}&lt;br /&gt;
&lt;br /&gt;
== Nutzung in FHEM ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;Austausch des FHEM Moduls 00_SIGNALduino.pm&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Für die komfortable Bedienung und für FSK ist ein {{Link2Forum|Topic=111653|Message=1058900|LinkText=angepasstes 00_SIGNALduino Modul}} notwendig. Weitere Informationen:&lt;br /&gt;
&lt;br /&gt;
Wird die ursprüngliche 00_SIGNALduino.pm genutzt so bedarf es recht umständliche Zeichenfolgen um z.B den jeweiligen Sendemodus eines CC1101 Moduls zu konfigurieren. So lautet z.B. die Zeichenfolge für die Konfiguration des Sendemodus  &#039;&#039;Mode 1 - IT+ 17.241 kbps (LaCrosse)&#039;&#039;&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
get sduino raw CW0001,0246,0302,042D,05D4,06FF,0700,0802,0D21,0E65,0F6A,1089,115C,1206,1322,14F8,1556,1700,1818,1916,1B43,1C68,1D91,2211,23E9,242A,2500,2611,3D00,3E04,404d,4131,425f,4349,4454,452b,4600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wird die angepasste 00_SIGNALduino.pm steht folgender Befehl im FHEM Device zur Verfügung&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
set sduino rfmode&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein &#039;&#039;&#039;update auf die angepasste 00_SIGNALduino.pm&#039;&#039;&#039;  kann gemacht werden mit&lt;br /&gt;
 &amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/Ralf9/RFFHEM/master/controls_ralf9_signalduino.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;oder&#039;&#039;&#039; die Datei   [https://raw.githubusercontent.com/Ralf9/RFFHEM/master/FHEM/00_SIGNALduino.pm 00_SIGNALduino.pm] ins FHEM Verzeichnis und die [https://raw.githubusercontent.com/Ralf9/RFFHEM/master/FHEM/lib/signalduino_protocols.pm signalduino_protocols.pm] ins lib Verzeichnis kopieren, dann fhem neustarten.&lt;br /&gt;
&lt;br /&gt;
Hier gibt es noch weitere Details zu dem Thema&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1032098|LinkText=Erste Schritte}}&lt;br /&gt;
* {{Link2Forum|Topic=58396|Message=497921|LinkText=allgemeine Befehlsübersicht}}&lt;br /&gt;
* Beschreibung {{Link2Forum|Topic=106594|Message=1004463|LinkText=&amp;quot;FSK mit dem SIGNALDuino&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
=== USB-ID ermitteln (bei der USB Variante) ===&lt;br /&gt;
{{Randnotiz|RNTyp=g|RNText=Weitere Hintergrundinformationen zu dieser Art der Adressierung von USB-Geräten allgemein sind in [[Mehrere USB-Geräte einbinden|diesem Beitrag]] zu finden.}}Im Terminal den folgenden Befehl ausführen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ls -l /dev/serial/by-id &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das ergibt z.B. diese Ausgabe:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;lrwxrwxrwx 1 root root 13 28. Jun 19:13 usb-STMicroelectronics_MAPLEMINI_F103CB_CDC_in_FS_Mode_XXXXXXXXX-if00 -&amp;gt; ../../ttyACM0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SIGNALduino Definition ===&lt;br /&gt;
Für die USB-Version: &lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;eigener-SIGNALduino-Name&amp;gt; SIGNALduino /dev/serial/by-id/&#039;&#039;&#039;&#039;&#039;usb-STMicroelectronics_MAPLEMINI_F103CB_CDC_in_FS_Mode_XXXXXXXX-if00&#039;&#039;&#039;&#039;&#039;@115200&amp;lt;/code&amp;gt;&lt;br /&gt;
Für die LAN-Version: &lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;eigener-SIGNALduino-Name&amp;gt; SIGNALduino 192.168.0.244:23&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei der LAN Version ist in der Grundeinstellung DHCP vom Maple-SignalDuino aktiviert.&lt;br /&gt;
&lt;br /&gt;
Soll der Maple-SignalDuino eine feste IP im Netz bekommen so kann z.B mit Hilfe einer Telnet Verbindung die Netzwerk Konfig des Maple-SignalDuino geändert werden.  [[CUN Netzwerk einrichten]]&lt;br /&gt;
&lt;br /&gt;
=== Fehlersuche, Diverse ===&lt;br /&gt;
Der Stromverbrauch der Transceiver ist typischerweise 17 mA für RX und 34 mA für TX pro Modul. Bei Inaktivität: 4 Transceiver, LAN-Modul, MAPLE ca 100mA.&lt;br /&gt;
&lt;br /&gt;
Wenn der SlowRF nicht mehr funktioniert: Per Default ist das cc1101 Modul der Bank 0 zugeordnet, dies kann mit get Version kontrolliert werden. Es muß in Version &amp;quot;B0&amp;quot; stehen z.B. (R: B0). Es kann auch ein Factory Reset vom Modul B versucht werden, dazu muß das Modul B selektiert sein (R: B0*)&lt;br /&gt;
 get sduino raw e&lt;br /&gt;
Antwort:&lt;br /&gt;
 ccFactoryReset done&lt;br /&gt;
 r=B b=0 rx=0 ccmode=0 sync=D391 ccconf=10B07157C43023B900070018146C070090 boffs=0000&lt;br /&gt;
&lt;br /&gt;
Wenn es immer noch nicht funktioniert kann auch mit &amp;quot;eC&amp;quot; ein factory Reset der Konfigeinstellungen im EEPROM durchgeführt werden.&lt;br /&gt;
 get sduino raw eC&lt;br /&gt;
Antwort:&lt;br /&gt;
 Init eeprom to defaults&lt;br /&gt;
 detect B: Partn=0 Ver=0x14&lt;br /&gt;
&lt;br /&gt;
Wenn ein nativer Mode (FSK) nicht mehr funktioniert: Dazu muss das entsprechende cc1101 Modul selektiert sein. Mit &amp;quot;get Version&amp;quot; kann dies kontrolliert werden. Ein &amp;quot;-&amp;quot; bedeutet, daß das Modul nicht erkannt wurde z.B. (A-). Ein &amp;quot;i&amp;quot; bedeutet, das dem Modul keine Bank zugeordnet wurde z.B.(Ai).&lt;br /&gt;
&lt;br /&gt;
Es kann versucht werden mit den raw Befehlen &amp;quot;e&amp;quot; und &amp;quot;CW...&amp;quot; die Bank neu zu konfigurieren.&lt;br /&gt;
Wenn dies alles nicht hilft, kann mit dem raw Befehl &amp;quot;eC&amp;quot; ein factory Reset der Konfigeinstellungen gemacht werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Forenthema: {{Link2Forum|Topic=106278|LinkText=Entwicklung SIGNALDuino Empfänger Firm- und Hardware V 4.x.x auch auf Maple Mini}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Arduino]]&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;br /&gt;
[[Kategorie:CUL]]&lt;/div&gt;</summary>
		<author><name>Fritz Muster</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Selbstbau_CUL&amp;diff=35845</id>
		<title>Selbstbau CUL</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Selbstbau_CUL&amp;diff=35845"/>
		<updated>2021-07-01T13:56:28Z</updated>

		<summary type="html">&lt;p&gt;Fritz Muster: Hinweis auf MapleCUL&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware|&lt;br /&gt;
|Bild=Selbstbau_cul_breadboard.jpg&lt;br /&gt;
|Bildbeschreibung=Selbstbau CUL auf Breadboard&lt;br /&gt;
|HWProtocol=diverse&lt;br /&gt;
|HWType=Transceiver&lt;br /&gt;
|HWCategory=CUL&lt;br /&gt;
|HWComm=Funk 433MHz oder 868MHz &lt;br /&gt;
|HWChannels=N/A&lt;br /&gt;
|HWVoltage=5V&lt;br /&gt;
|HWPowerConsumption=&lt;br /&gt;
|HWPoweredBy=USB&lt;br /&gt;
|HWSize=&lt;br /&gt;
|HWDeviceFHEM=CUL&lt;br /&gt;
|HWManufacturer=du selbst&lt;br /&gt;
}}&lt;br /&gt;
Ein [[CUL]] ist ein [[Interface|Transceiver]] zum Empfangen und Senden von Funknachrichten. Er besteht im Wesentlichen aus einem Atmel ATmega Mikrocontroller und einem CC1101 Funkmodul sowie einer USB-Schnittstelle zur Verbindung mit dem Host Computer auf dem z. B. FHEM läuft.&lt;br /&gt;
Als Firmware wird die quelloffene [http://culfw.de/culfw.html culfw] verwendet.&lt;br /&gt;
&lt;br /&gt;
Mittlerweile sind diese Baugruppen einfach und kostengünstig einzeln beschaffbar. Daher ist es relativ einfach möglich eine in der Funktionalität zum CUL vergleichbare Hardware selbst zu bauen.  &lt;br /&gt;
&lt;br /&gt;
Mit dem Maple existiert inzwischen eine Weiterentwicklung, die einen wesentlich größeren Funktionsumfang aufweist. Details sind auf der Seite [[Maple-SignalDuino]] zu finden.  &lt;br /&gt;
&lt;br /&gt;
== Verwendete Hardware ==&lt;br /&gt;
Die [http://arduino.cc Arduinos] sind weit verbreitete Boards mit dem ATmega328p. Für den Selbstbau CUL ist insbesondere der [http://arduino.cc/en/Main/ArduinoBoardNano Arduino nano] gut geeignet.&lt;br /&gt;
Er ist relativ klein, hat eine USB-Schnittstelle und kann eine 3,3V Spannungsversorgung für den CC1101 zur Verfügung stellen.&lt;br /&gt;
&lt;br /&gt;
Module mit dem CC1101 Funkchip gibt es in unterschiedlichen Ausführungen.&lt;br /&gt;
Wichtig ist die Unterscheidung nach der verwendeten Funkfrequenz, für den Einsatz in Europa sind das 433MHz und 868MHz. Zwar kann der Chip grundsätzlich auf beide Frequenzen eingestellt werden - für eine optimale Sende- und Empfangsleistung muss aber der Antennenkreis auf die verwendete Frequenz abgestimmt werden. &lt;br /&gt;
Damit ist nicht nur die Antenne selbst gemeint, auch die Hardware auf dem Modul ist unterschiedlich.&lt;br /&gt;
&lt;br /&gt;
Zwar kann die culfw temporär auf eine andere Frequenz umschalten, aber das führt oft nur zu unbefriedigenden Ergebnissen. Es sollte daher das Modul verwendet werden, das zu dem Funkprotokoll passt, welches hauptsächlich zum Einsatz kommen soll.&lt;br /&gt;
&lt;br /&gt;
== Die unterschiedlichen Ausführungen des Funkmoduls ==&lt;br /&gt;
Die Module gibt es von unterschiedlichen Herstellern die auch unterschiedliche Anschlüsse verwenden. Daher muss die genaue Anschlussbelegung ermittelt werden und kann nicht einfach blind aus einem Beispiel übernommen werden.&lt;br /&gt;
&lt;br /&gt;
Einige Hersteller bestücken die Module statt mit dem [http://www.ti.com/product/CC1101/description CC1101] mit dem [http://www.ti.com/product/CC110L/description CC110L], einer Low-Cost-Version des CC1101 mit eingeschränktem Funktionsumfang.&lt;br /&gt;
Es ist nicht garantiert, dass alle Funktionen der culfw auch mit dem CC110L fehlerfrei arbeiten.&lt;br /&gt;
&lt;br /&gt;
Die Module für die unterschiedlichen Frequenzbereiche werden von den Anbietern leider nicht immer genau spezifiziert. Man kann die Auslegung eines Moduls anhand der Bestückung des Antennenfrontends im Vergleich zur Referenzschaltung von TI selber prüfen.&lt;br /&gt;
&lt;br /&gt;
Ausgehend vom CC1101-Chip her fängt die 868MHz Schaltung mit zwei Induktivitäten Richtung Antenne an. Optisch also zwei gleiche Bauteile. Die 433 MHz Schaltung hat zwei unterschiedliche Bauteile, eine Induktivität und einen Kondensator.&lt;br /&gt;
Die 868 MHz Version hat dagegen zwei Induktivitäten in Reihe und dazwischen einen Kondensator auf Masse. Die 433 MHz Version hat zuerst einen Kondensator und dann eine Induktivität in Reihe sowie dazwischen noch mal einen Kondensator auf Masse.&lt;br /&gt;
&lt;br /&gt;
Kondensatoren sind bräunlich, Induktivitäten weiß bzw. grün.&lt;br /&gt;
&lt;br /&gt;
Auf diesem Bild sieht man 433MHz Module im Vergleich zur Referenzschaltung:&lt;br /&gt;
[[Datei:Cc1101_433_vs_868.png]]&lt;br /&gt;
&lt;br /&gt;
Dieses Bild zeigt dagegen ein echtes 868MHz Modul:&lt;br /&gt;
[[Datei:CC1101_868_mini.png]]&lt;br /&gt;
&lt;br /&gt;
In {{Link2Forum|Topic=24651|Message=387326|LinkText=diesem Forenbeitrag}} ist der Schaltplan mit Pinbelegung zum Anschließen des CC1101 mit 868MHz verlinkt.&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
Die original Arduinos sind relativ teuer. Es gibt aber billige Kopien, entweder bei den bekannten Auktionshäusern und Handelsplattformen oder direkt in China.&lt;br /&gt;
{{Randnotiz|RNTyp=y|RNText=Eine mögliche Vorgehensweise, mehrere FTDI mit gleicher ID eventuell doch benutzen zu können, ist in {{Link2Forum|Topic=44926|Message=446809|LinkText=diesem Forenbeitrag}} beschrieben.}}&lt;br /&gt;
Dort ist ein nano für unter 5€ beschaffbar. Es sollte aber darauf geachtet werden, dass als USB-Seriell-Wandler auf dem nano ein FTDI FT232RL Chip oder ein anderer Chip mit eindeutiger ID verwendet wird.&lt;br /&gt;
Nur dann sind mehrere CULs gleichzeitig ohne Probleme in FHEM nutzbar.&lt;br /&gt;
&lt;br /&gt;
Auch die CC1101 Module werden dort in unterschiedlichen Ausführungen angeboten. Die 433MHz Versionen sind i.A. leichter erhältlich als die 868MHz Versionen.&lt;br /&gt;
Wenn keine guten Lötkenntnisse vorhanden sind, sollte darauf geachtet werden, ein Modul mit als Stiftleiste im 2,54mm Raster herausgeführten Anschlüssen zu verwenden.&lt;br /&gt;
&lt;br /&gt;
== Schaltplan ==&lt;br /&gt;
[[Datei:Selbstbau_cul_Schaltplan_1.png|mini|rechts|400px|Schaltplan des Selbstbau CUL (geänderte Version mit Pegelanpassung)]]&lt;br /&gt;
&lt;br /&gt;
Das Funkmodul ist hier nur über seine acht Anschlüsse dargestellt. &lt;br /&gt;
Hilfreich ist der Anschluss einer LED mit passendem Vorwiderstand. Diese hilft bei der Inbetriebnahme und als grobe Funktionskontrolle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Achtung!&#039;&#039;&#039;&lt;br /&gt;
Der CC1101 darf nur mit maximal 3.6V betrieben werden. Eine passende Versorgungsspannung stellt der Arduino nano bereit. Aber auch die Signalleitungen sind laut Datenblatt nicht 5V tolerant.&lt;br /&gt;
Diese haben beim nano aber 5V Pegel. In der Praxis funktionieren die Module bisher trotzdem. Langzeiterfahrungen gibt es aber nicht und es ist nicht ausgeschlossen, dass die Module dadurch beschädigt werden.&lt;br /&gt;
&lt;br /&gt;
Wer sicher gehen will, verwendet in den Signalleitungen Pegelanpassungen 5V -&amp;gt; 3,3V. Das ist mit fertigen Bausteinen ([http://www.aliexpress.com/wholesale?catId=0&amp;amp;SearchText=i2c+level+converter Levelshifter]) möglich oder im einfachsten Fall mit [http://lowpowerlab.com/wp-content/uploads/2012/12/rfm12B-arduino-moteino-atmega328_5V_connections.png Widerständen] als Spannungsteiler. Zu der Dimensionierung der Spannungsteiler siehe auch diesen Hinweis {{Link2Forum|Topic=52865|LinkText=im Forum}}: für eine bessere Signalübertragung wurde 470 Ohm/1000 Ohm genommen, statt 4.7k/10k Variante in einer früheren Darstellung.&lt;br /&gt;
&lt;br /&gt;
Um Empfangsproblemen vorzubeugen, sollte ein Pullup-Widerstand (R2, 10k) am CSN Pin des Moduls verwendet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aufbau ==&lt;br /&gt;
[[Datei:Selbstbau_cul_lochraster.png|mini|rechts|300px||Beispielhafter Aufbau auf einer Lochrasterplatine für ein Modul mit 10-poligem Anschluss.]]&lt;br /&gt;
Am einfachsten ist der Aufbau auf einem Steckbrett (Breadboard). Damit lässt es sich schnell in Betrieb nehmen und mögliche Fehler können einfach korrigiert werden.&lt;br /&gt;
Für einen permanenten Aufbau kann z. B. eine Lochraster oder Streifenrasterplatine verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Wer nicht löten will kann auch ein Breakoutboard mit Schraubklemmen für den Arduino nano verwenden, z. B. ein [http://www.ebay.de/itm/121239860594?_trksid=p2059210.m2749.l2649&amp;amp;ssPageName=STRK%3AMEBIDX%3AIT Angebot bei eBay]. &lt;br /&gt;
&lt;br /&gt;
Im diesem {{Link2Forum|Topic=52865|Message=561527}} im Forum findet sich eine Fritzing-Datei, wenn man eine Leiterplatte damit erstellen will.&lt;br /&gt;
&lt;br /&gt;
Ebenso gibt es in {{Link2Forum|Topic=82379|Message=1033374|LinkText=diesem Forenbeitrag}} Schaltpläne, wenn eine WLAN-Anbindung (mit einem ESP01 mit ESP-Link-Firmware) erfolgen soll. Hierbei wurde allerdings kein CUL, sondern ein SIGNALduino erstellt - die Schaltpläne sind aber identisch, nur die Firmware unterscheidet sich.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
== Software ==&lt;br /&gt;
{{Randnotiz|RNTyp=Info|RNText=Es gibt mittlerweile mehrere alternative Versionen der culfw. Diese implementieren zusätzliche, noch experimentelle Features, sind dafür aber möglicherweise instabiler als die offizielle culfw. Siehe dazu auch &lt;br /&gt;
* {{Link2Forum|Topic=35064|LinkText=erweiterte Intertechno und Tempsensoren Unterstützung}} und &lt;br /&gt;
* {{Link2Forum|Topic=24436|LinkText=Bessere Unterstützung von Homematic}}}}&lt;br /&gt;
Um die culfw zu kompilieren, müssen ein AVR C-Cross-Compiler sowie dazugehörige Tools installiert sein.&lt;br /&gt;
Bei einem Debian-basierten Linux geht das mit&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo apt-get install make gcc-avr avrdude avr-libc&amp;lt;/code&amp;gt;&lt;br /&gt;
Anschließend die neueste Version der culfw als [https://sourceforge.net/p/culfw/code/HEAD/tarball ZIP-Datei] herunterladen und auspacken.&lt;br /&gt;
&lt;br /&gt;
Dann in das Verzeichnis &amp;lt;code&amp;gt;culfw/Devices/nanoCUL&amp;lt;/code&amp;gt; wechseln.&lt;br /&gt;
In dieser Auslieferung sind alle von der culfw unterstützten Protokolle mit Ausnahme vom Wireless M-Bus aktiviert. Bei Bedarf können einzelne Protokolle durch Änderungen der entsprechenden defines in der Datei board.h aus- oder eingeschaltet werden.&lt;br /&gt;
&lt;br /&gt;
Wenn ein 868MHz Modul verbaut ist, sollte in der Datei board.h die Zeile&lt;br /&gt;
:&amp;lt;code&amp;gt;#define HAS_CC1100_433&amp;lt;/code&amp;gt;&lt;br /&gt;
auskommentiert werden.&lt;br /&gt;
&lt;br /&gt;
Wird ein Arduino mit einer Taktfrequenz von nur 8MHz, wie ein [http://arduino.cc/en/Main/ArduinoBoardProMini Pro Mini 3,3V], verwendet, so muss die Zeile &lt;br /&gt;
:&amp;lt;code&amp;gt;#define HAS_16MHZ_CLOCK&amp;lt;/code&amp;gt;&lt;br /&gt;
in der Datei board.h auskommentiert werden.&lt;br /&gt;
&lt;br /&gt;
Mittels&lt;br /&gt;
:&amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
wird dann die Übersetzung gestartet, die ohne Fehler durchlaufen sollte. Dabei wird die Datei nanoCUL.hex erzeugt.&lt;br /&gt;
&lt;br /&gt;
Diese muss dann anschließend noch auf den Arduino geflasht werden.&lt;br /&gt;
&lt;br /&gt;
Wenn der Arduino das einzige per USB angeschlossene Gerät mit serieller Schnittstelle ist, geht das ohne weitere Änderungen mit&lt;br /&gt;
:&amp;lt;code&amp;gt;make program&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039; Wenn der Arduino bereits in FHEM konfiguriert ist, muss vor einem Flashen erst FHEM beendet werden, damit die Schnittstelle freigegeben wird. Andernfalls wird avrdude einen Fehler melden.&lt;br /&gt;
&lt;br /&gt;
== Inbetriebnahme ==&lt;br /&gt;
Nach dem Flashen sollte die LED einmal pro Sekunde blinken. Blinkt sie schneller oder langsamer, ist die Frequenz des Controllers nicht richtig eingestellt. Ursache können z.B. falsche Fuses sein, so dass der Controller den internen RC-Oszillator statt des externen 16MHz Quarz nutzt.&lt;br /&gt;
Die culfw ist für eine Verarbeitungsgeschwindigkeit von 8MHz ausgelegt, daher wird beim nanoCUL die externe Frequenz von 16MHz direkt beim Start heruntergeteilt.&lt;br /&gt;
&lt;br /&gt;
Bevor der Selbstbau CUL mit FHEM verwendet wird, kann man noch eine Funktionskontrolle mit Hilfe eines Terminalprogramms wie screen, picocom, cutecom oder minicom vornehmen. Dabei müssen die Kommunikationsparameter 38400/8N1 sein.&lt;br /&gt;
{{Randnotiz|RNTyp=Info|RNText=Kommandos an die culfw müssen jeweils mit einem Zeilenumbruch bestätigt werden damit sie verarbeitet werden.}}&lt;br /&gt;
Nach der Eingabe von {{Taste|V}} und Bestätigung mit {{Taste|Return}} sollte die Versionsinformation ausgegeben werden.&lt;br /&gt;
Nach {{Taste|?}} werden die unterstützen Protokolle ausgegeben, siehe die [http://culfw.de/commandref.html Dokumentation der culfw] für Details. &lt;br /&gt;
&lt;br /&gt;
Um zu prüfen, ob der Empfang prinzipiell funktioniert, kann das Kommando [http://culfw.de/commandref.html#X X08] verwendet werden. Wird auf der eingestellten Frequenz irgendwas empfangen, erfolgt eine Ausgabe.&lt;br /&gt;
&lt;br /&gt;
== Hinweise zum Betrieb mit FHEM ==&lt;br /&gt;
Der Selbstbau CUL wird fast genauso wie ein &amp;quot;richtiger&amp;quot; CUL verwendet, die entsprechende [http://fhem.de/commandref_DE.html#CUL Dokumentation] gilt also auch hier. Der einzige Unterschied ist der Bootloader. Der bereits bei fabrikneuen Arduinos vorhandene Bootloader ist nicht kompatibel zu dem Bootloader der culfw. Daher funktioniert das Kommando {{Taste|B}} zum rebooten des Selbstbau CULs nicht. Der Selbstbau CUL gerät dann in eine Endlosschleife, die sich nur durch aus- und einstecken beenden lässt. Das Problem tritt aber im normalen Betrieb nicht auf.&lt;br /&gt;
&lt;br /&gt;
USB-Geräte werden bei jedem Systemneustart neu &#039;&#039;enumeriert&#039;&#039;. Daher kann es vorkommen, dass ein Gerät, das mal unter /dev/ttyUSB0 erreichbar war, nach dem Neustart unter /dev/ttyUSB1 ist. Das führt natürlich zu Problemen, wenn FHEM das Gerät unter /dev/ttyUSB0 erwartet. Um dieses Problem auszuschließen, empfiehlt es sich, den CUL unter seiner eindeutigen ID anzusprechen. Die entsprechende Gerätedatei findet sich unter /dev/serial/by-id.&lt;br /&gt;
&lt;br /&gt;
Ein Beispiel für eine Definition in FHEM könnte so aussehen:&lt;br /&gt;
:&amp;lt;code&amp;gt;define nanoCUL CUL /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A903N5T5-if00-port0@38400 1234&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wichtig ist es, die Übertragungsrate von 38400 bit/s anzugeben.&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
Viele der Arduino nano haben eine sehr grell leuchtende blaue Stromversorgungs-LED. Diese lässt sich nicht per Software ausschalten. Sollte sie stören, kann entweder die Lötverbindung zur LED durchtrennt oder die LED z.B. mit einem schwarzen Lackstift übermalt werden.&lt;br /&gt;
&lt;br /&gt;
Bei den nachgebauten nanos gibt es wohl viele mit einem {{Link2Forum|Topic=24651|Message=218291|LinkText=Fehler}} in der Schaltung (unverbundener Testpin des FT232RL). Das kann dazu führen, dass er nicht richtig am USB Anschluss funktioniert.&lt;br /&gt;
&lt;br /&gt;
Da der Arduino so langsam an seine Grenzen (Geschwindigkeit, Flash und SRAM) kommt, gibt es mittlerweile eine Portierung auf eine leistungsfähigere Hardware.&lt;br /&gt;
&lt;br /&gt;
Als Hardware wird der STM32F103CBT6 Maple Mini verwendet:&lt;br /&gt;
&lt;br /&gt;
128 Kbytes Flash&lt;br /&gt;
&lt;br /&gt;
20 Kbytes SRAM &lt;br /&gt;
&lt;br /&gt;
  2 SPI&lt;br /&gt;
&lt;br /&gt;
Der Maple kann optional mit einem LAN Modul (USR-ES1 W5500) erweitert werden oder aber per serial Schnittstelle mit einem ESP verbunden und ins WLAN integriert werden.  [[Maple-SignalDuino|Hier]] das Wiki dazu.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* Blog [http://blog.gummibaer-tech.de/cul-stick-868433-im-selbstbau/]&lt;br /&gt;
* {{Link2Forum|Topic=24651|LinkText=Forumsthread}} zu diesem Thema&lt;br /&gt;
* Detaillierte Anleitung für Aufbau auf einer Lochstreifenplatine [http://raspberry.tips/raspberrypi-tutorials/hausautomatisierung-mit-fhem-teil-1-cul-stick-selbstbau-868mhz-cul-am-raspberry-pi/]&lt;br /&gt;
* Weitere Konfigurationsoptionen auf der Seite über [[CUL]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;br /&gt;
[[Kategorie:CUL]]&lt;br /&gt;
[[Kategorie:Arduino]]&lt;br /&gt;
[[Kategorie:433MHz]]&lt;br /&gt;
[[Kategorie:868MHz]]&lt;/div&gt;</summary>
		<author><name>Fritz Muster</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Maple-SignalDuino&amp;diff=35844</id>
		<title>Maple-SignalDuino</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Maple-SignalDuino&amp;diff=35844"/>
		<updated>2021-07-01T11:10:58Z</updated>

		<summary type="html">&lt;p&gt;Fritz Muster: Ergänzungen zu &amp;quot;Ranseyer Platine&amp;quot; und &amp;quot;Flashen&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=Maple-SDuino-Photo1.jpg&lt;br /&gt;
|Bildbeschreibung=Maple-SignalDuino, links als LAN-, rechts als USB-Version&lt;br /&gt;
|HWProtocol=diverse&lt;br /&gt;
|HWType=Transceiver&lt;br /&gt;
|HWCategory=&lt;br /&gt;
|HWComm=Funk, 433MHz oder 868MHz&lt;br /&gt;
|HWChannels=f&lt;br /&gt;
|HWVoltage=3,3V nach Spannungsregler&lt;br /&gt;
|HWPowerConsumption=&lt;br /&gt;
|HWPoweredBy=USB&lt;br /&gt;
|HWSize=79 x 27&amp;amp;nbsp;mm&lt;br /&gt;
|HWDeviceFHEM=modifiziertes [[SIGNALduino]]&lt;br /&gt;
|HWManufacturer=Eigenbau}}&lt;br /&gt;
=== Einleitung ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Einfacher SIGNALduino mit nur einem cc1101 Modul (alternativ) ===&lt;br /&gt;
Es wird dabei nur das CC1101_1 (B) - für OOK/ASK verwendet.&lt;br /&gt;
&lt;br /&gt;
Schaltplan siehe [[Maple-SignalDuino#Aufbau der Hardware]]. Es kann auch die Platine von @Ranseyer verwendet werden, wenn nur das zweite cc1101 Modul bestückt wird.&lt;br /&gt;
[[Datei:MapleSduino_Schaltplan_nur_Modul_B.png|200px|thumb|right|Beispielschaltplan Maple-SIGNALduino]]  &lt;br /&gt;
&lt;br /&gt;
Es ist keine cc1101 Modul konfiguration notwendig, das Modul B wird automatisch initialisiert.&lt;br /&gt;
&lt;br /&gt;
Zur Inbetriebnahme ist folgendes notwendig:&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1073244|LinkText=Bootloader 2.0 über USB flashen}}&lt;br /&gt;
* Firmware flashen (die bin Datei muss ggf durch die aktuelle Version ersetzt werden)   &lt;br /&gt;
: &amp;lt;code&amp;gt;sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_sduino_USB_411dev200627.bin -R&amp;lt;/code&amp;gt;&lt;br /&gt;
* evtl {{Link2Forum|Topic=106278|LinkText=angepasstes 00_SIGNALduino Modul installieren}}&lt;br /&gt;
: gegenüber der offiziellen Version von @Sidey enthält diese Version Optimierungen und Komfortfunktionen.&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1032098|LinkText=Erste Schritte}}&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&amp;lt;u&amp;gt;Dieses Projekt ist &#039;&#039;&#039;NICHT&#039;&#039;&#039; zu verwechseln mit dem Originalprojekt.&amp;lt;/u&amp;gt; Es handelt sich hierbei um einen Clone von [https://github.com/RFD-FHEM/RFFHEM RFFHEM] und [https://github.com/RFD-FHEM/SIGNALDuino SIGNALduino].&lt;br /&gt;
&lt;br /&gt;
==== Neuerungen ====&lt;br /&gt;
&#039;&#039;&#039;Bei dieser Version für den Maple Mini gibt es u.a. die folgenden Neuerungen:&#039;&#039;&#039;&lt;br /&gt;
* Das Sendekommando kann eine maximale Länge von 600 Zeichen haben.&lt;br /&gt;
* Der Messagepuffer hat nun eine maximale Größe von 1500 Pulsen Es gibt nun zwei neue Konfigurationsvariablen ::&#039;&#039;CSmaxMsgSizex256&#039;&#039; - damit kann die Größe des Messagepuffers konfiguriert werden. Der Wert wird mit 256 multipliziert, d.h. 4 ergibt eine Messagepuffergröße von 1024 &lt;br /&gt;
::&#039;&#039;CSmaxMuPrintx256&#039;&#039; - damit kann die maximale Länge von MU-Nachrichten konfiguriert werden. Der Wert wird mit 256 multipliziert&lt;br /&gt;
* Die zweite und folgenden MS-Nachrichten werden nun mit der vorherigen MS-Nachricht verglichen; sind sie gleich, wird am Ende ein &amp;quot;Q&amp;quot; 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&lt;br /&gt;
* &#039;&#039;&#039;CR&#039;&#039;&#039; - configRadio Mit CRE&amp;lt;A-D&amp;gt; kann ein cc1101 Modul aktiviert werden. z.B. CREA aktiviert das erste cc1101 Modul A MIt CRD&amp;lt;A-D&amp;gt; kann ein cc1101 Modul deaktiviert werden. z.B. CRDA deaktiviert das erste cc1101 Modul A&lt;br /&gt;
* Der Befehl &#039;&#039;&#039;b&#039;&#039;&#039; wurde erweitert: b&amp;lt;A-D&amp;gt;&amp;lt;0-9&amp;gt;  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&amp;lt;A-D&amp;gt; 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&lt;br /&gt;
* &#039;&#039;&#039;br&#039;&#039;&#039; - damit wird von allen cc1101 eine Bankinfo ausgegeben&lt;br /&gt;
* &#039;&#039;&#039;bs&#039;&#039;&#039; - damit wird eine Übersicht von allen Bänken ausgegeben&lt;br /&gt;
* Mit &#039;&#039;&#039;V&#039;&#039;&#039; (get Version) bekommt man eine Übersicht über die Module z.B. (R: A1 B0*). Mit * wird das selektierte cc1101 Modul markiert. Ein &amp;quot;-&amp;quot; hinter dem Modul (A-D), bedeutet, dass dieses Modul nicht richtig erkannt wurde, ein &amp;quot;i&amp;quot; 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. &lt;br /&gt;
* Mit &#039;&#039;&#039;XQ&#039;&#039;&#039; und &#039;&#039;&#039;XE&#039;&#039;&#039; 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 &#039;&#039;&#039;USB Version&#039;&#039;&#039; ist durch anhängen von W ein &#039;&#039;&#039;XQW&#039;&#039;&#039; 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 &amp;quot;irx0&amp;quot; in der Version erkennbar.&lt;br /&gt;
* Die Datenkomprimierung für MS- und MU-Nachrichten (config: Mred=1) ist nun nicht mehr notwendig.&lt;br /&gt;
&lt;br /&gt;
==== Kompilieren ====&lt;br /&gt;
Wer es selber compilieren will: https://github.com/Ralf9/SIGNALDuino/tree/dev-r41x_cc1101 ({{Link2Forum|Topic=106278|Message=1027914|LinkText=siehe auch diesen Forenbeitrag}})&lt;br /&gt;
&lt;br /&gt;
==== Bootloader ====&lt;br /&gt;
Ab der Version 4.1.0-dev200427 ist für die bin Files der Bootloader2.0 erforderlich. Details zum Flashen des Bootloaders sind in der Beschreibung des [[MapleCUN#Bootloader_flashen|MapleCUN]] zu finden.&lt;br /&gt;
: siehe auch {{Link2Forum|Topic=106278|Message=1073244|LinkText=Bootloader 2.0 über USB flashen}}&lt;br /&gt;
&lt;br /&gt;
==== Flashen ====&lt;br /&gt;
Hier ist die Firmware: https://github.com/Ralf9/SIGNALDuino/releases&lt;br /&gt;
&lt;br /&gt;
Abhängig davon wie der Maple-SignalDuino in das System eingebunden werden soll ( USB, LAN oder WIFI) gibt es momentan jeweilige Binaries für &#039;&#039;&#039;USB&#039;&#039;&#039;, &#039;&#039;&#039;LAN&#039;&#039;&#039; und &#039;&#039;&#039;Wifi/serial&#039;&#039;&#039; (tx/rx vom DBG Anschluss)&lt;br /&gt;
* LAN gibt es momentan nur für den MapleSduino, siehe in {{Link2Forum|Topic=106278|Message=1049877|LinkText=diesem Forenbeitrag}}.&lt;br /&gt;
* serial ist z.B. für eine wifi-serial bridge mit dem ESP (z.B. ESP-link)&lt;br /&gt;
Es gibt für den MapleSduino und den MapleCul verschiedene Binaries:&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;Maple_sduino....bin&amp;quot; ist für den MapleSduino&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;Maple_cul_....bin&amp;quot; ist für den MapleCUL und [[MapleCUN]].&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_sduino_USB_411dev200627.bin -R&amp;lt;/code&amp;gt;&lt;br /&gt;
oder&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo dfu-util -d 1eaf:0003 -a 2 -D Maple_cul_USB_411dev200627.bin -R&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[MapleCUN|Hier]] steht ein kleines Script zur Verfügung welches den Flashvorgang sehr vereinfacht.&lt;br /&gt;
&lt;br /&gt;
Die verfügbare &#039;&#039;&#039;a-culw&#039;&#039;&#039; Firmware ist in diesem {{Link2Forum|Topic=106278|Message=1037726|LinkText=Forenbeitrag}} beschrieben und herunterladbar.&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Als Hardware wird der STM32F103CBT6 Maple Mini verwendet:&lt;br /&gt;
* 128 Kbytes Flash&lt;br /&gt;
* 20 Kbytes SRAM&lt;br /&gt;
* 2 SPI&lt;br /&gt;
* Als optionales [https://www.usriot.com/download/ES1/USR-ES1-EN%20V1.3.pdf LAN Modul den USR-ES1 W5500].&lt;br /&gt;
&lt;br /&gt;
==== Aufbau der Hardware ====&lt;br /&gt;
[[Datei:MapleMini-Ralf9_Schaltplan_%281%29.jpg|mini|rechts|Schaltplan]]&lt;br /&gt;
Ab der Version 4.1.0 werden bis zu vier cc1101 Module (A-D) unterstützt&lt;br /&gt;
&lt;br /&gt;
Beim MapleSduino sind die cc1101 Module an SPI2 angeschlossen:&lt;br /&gt;
* 28 MOSI&lt;br /&gt;
* 29 MISO&lt;br /&gt;
* 30 SCLK&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_0 (&#039;&#039;&#039;A&#039;&#039;&#039;) &lt;br /&gt;
* 31  CSN  (Chip Select)&lt;br /&gt;
* 11  GD02 (Receive)&lt;br /&gt;
* 10  GD00  (send), optional für die a-culw&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_1 (&#039;&#039;&#039;B&#039;&#039;&#039;) - 433 MHz für OOK/ASK &lt;br /&gt;
* 12  CSN  (Chip Select)&lt;br /&gt;
* 18  GD02 (Receive)&lt;br /&gt;
* 17  GD00  (send)&lt;br /&gt;
&#039;&#039;&#039;CC1101&#039;&#039;&#039;_2 (&#039;&#039;&#039;C&#039;&#039;&#039;)&lt;br /&gt;
* 15  CSN  (Chip Select)&lt;br /&gt;
* 16  GD02 (Receive)&lt;br /&gt;
* 13  GD00  (send), optional für die a-culw&lt;br /&gt;
&lt;br /&gt;
===== Platine =====&lt;br /&gt;
Es gibt von {{Link2FU|12535|Ranseyer}} eine {{Link2Forum|Topic=109220|LinkText=Platine}}. &lt;br /&gt;
&lt;br /&gt;
Der Maple-Mini kann auf zwei unterschiedliche Arten auf dieser Platine bestückt werden: &lt;br /&gt;
#normal (die USB Buchse und reset/but Taste sind oben, somit sind die beiden Taster direkt zu betätigen) &lt;br /&gt;
#gedreht (USB Buchse ist unten in der Aussparung und kann zB. mit Heisskleber fixiert werden, reset/but Taster sind durch entsprechende Löcher/Langloch in der Platine zu betätigen)&lt;br /&gt;
Zur Orientierung ist Pin 31 auf der Platine beschriftet.&lt;br /&gt;
&lt;br /&gt;
Es können bis zu 3 CC1101 Module/Stamps an der Platine betrieben werden. 2 Module 868MHz und 433MHz werden direkt auf die Platine gelötet. Das dritte Modul/Stamp wird Mithilfe einzelner Adern an die Platine (Lötaugen CC3A-VCC,GND,MOSI,SCK und CC3B-CS2,Out2,IN2,MISO2) angeschlossen&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wichtig: Bei den V0.1 und V0.2 Platinen ist die Beschriftung 433 und 868 MHz manuell zu ändern!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== Teile =====&lt;br /&gt;
* Maple Mini / STM32F103CBT6: https://de.aliexpress.com/item/1400667476.html oder auch schneller bei Amazon&lt;br /&gt;
&lt;br /&gt;
Funkmodule nach Wahl:&lt;br /&gt;
* CC1101 868MHZ:  https://de.aliexpress.com/item/32635393463.html, https://de.aliexpress.com/item/4000594832541.html&lt;br /&gt;
* CC1101 433 Mhz: https://de.aliexpress.com/item/32472259186.html&lt;br /&gt;
&lt;br /&gt;
Empfohlen:&lt;br /&gt;
* Puffer-Kondensator 10-500uF. Z.B. als C5 mit 10uF: Conrad Artikelnummer 457966&lt;br /&gt;
&lt;br /&gt;
Optional:&lt;br /&gt;
* LAN Modul USR-ES1 W5500: https://de.aliexpress.com/item/32598945210.html&lt;br /&gt;
* Abblock-Kondensator mit ein paar pF bis nF an VCC des Maple. Z.B. als C6 mit 22PF: Conrad Artikelnummer 445432&lt;br /&gt;
* Koaxbuchsen: https://de.aliexpress.com/item/4000009303962.html&lt;br /&gt;
&lt;br /&gt;
Antennen: Infos dazu gibt es reichlich im Internet, auch im {{Link2Forum|Topic=93021|LinkText=Antennenthread im FHEM-Forum}}&lt;br /&gt;
&lt;br /&gt;
== Nutzung in FHEM ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;Austausch des FHEM Moduls 00_SIGNALduino.pm&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Für die komfortable Bedienung und für FSK ist ein {{Link2Forum|Topic=111653|Message=1058900|LinkText=angepasstes 00_SIGNALduino Modul}} notwendig. Weitere Informationen:&lt;br /&gt;
* {{Link2Forum|Topic=106278|Message=1032098|LinkText=Erste Schritte}}&lt;br /&gt;
* {{Link2Forum|Topic=58396|Message=497921|LinkText=allgemeine Befehlsübersicht}}&lt;br /&gt;
* Beschreibung {{Link2Forum|Topic=106594|Message=1004463|LinkText=&amp;quot;FSK mit dem SIGNALDuino&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
=== USB-ID ermitteln (bei der USB Variante) ===&lt;br /&gt;
{{Randnotiz|RNTyp=g|RNText=Weitere Hintergrundinformationen zu dieser Art der Adressierung von USB-Geräten allgemein sind in [[Mehrere USB-Geräte einbinden|diesem Beitrag]] zu finden.}}Im Terminal den folgenden Befehl ausführen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ls -l /dev/serial/by-id &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das ergibt z.B. diese Ausgabe:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;lrwxrwxrwx 1 root root 13 28. Jun 19:13 usb-STMicroelectronics_MAPLEMINI_F103CB_CDC_in_FS_Mode_XXXXXXXXX-if00 -&amp;gt; ../../ttyACM0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SIGNALduino Definition ===&lt;br /&gt;
Für die USB-Version: &lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;eigener-SIGNALduino-Name&amp;gt; SIGNALduino /dev/serial/by-id/&#039;&#039;&#039;&#039;&#039;usb-STMicroelectronics_MAPLEMINI_F103CB_CDC_in_FS_Mode_XXXXXXXX-if00&#039;&#039;&#039;&#039;&#039;@115200&amp;lt;/code&amp;gt;&lt;br /&gt;
Für die LAN-Version: &lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;eigener-SIGNALduino-Name&amp;gt; SIGNALduino 192.168.0.244:23&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei der LAN Version ist in der Grundeinstellung DHCP vom Maple-SignalDuino aktiviert.&lt;br /&gt;
&lt;br /&gt;
Soll der Maple-SignalDuino eine feste IP im Netz bekommen so kann z.B mit Hilfe einer Telnet Verbindung die Netzwerk Konfig des Maple-SignalDuino geändert werden.  [[CUN Netzwerk einrichten]]&lt;br /&gt;
&lt;br /&gt;
=== Fehlersuche, Diverse ===&lt;br /&gt;
Der Stromverbrauch der Transceiver ist typischerweise 17 mA für RX und 34 mA für TX pro Modul. Bei Inaktivität: 4 Transceiver, LAN-Modul, MAPLE ca 100mA.&lt;br /&gt;
&lt;br /&gt;
Wenn der SlowRF nicht mehr funktioniert: Per Default ist das cc1101 Modul der Bank 0 zugeordnet, dies kann mit get Version kontrolliert werden. Es muß in Version &amp;quot;B0&amp;quot; stehen z.B. (R: B0). Es kann auch ein Factory Reset vom Modul B versucht werden, dazu muß das Modul B selektiert sein (R: B0*)&lt;br /&gt;
 get sduino raw e&lt;br /&gt;
Antwort:&lt;br /&gt;
 ccFactoryReset done&lt;br /&gt;
 r=B b=0 rx=0 ccmode=0 sync=D391 ccconf=10B07157C43023B900070018146C070090 boffs=0000&lt;br /&gt;
&lt;br /&gt;
Wenn es immer noch nicht funktioniert kann auch mit &amp;quot;eC&amp;quot; ein factory Reset der Konfigeinstellungen im EEPROM durchgeführt werden.&lt;br /&gt;
 get sduino raw eC&lt;br /&gt;
Antwort:&lt;br /&gt;
 Init eeprom to defaults&lt;br /&gt;
 detect B: Partn=0 Ver=0x14&lt;br /&gt;
&lt;br /&gt;
Wenn ein nativer Mode (FSK) nicht mehr funktioniert: Dazu muss das entsprechende cc1101 Modul selektiert sein. Mit &amp;quot;get Version&amp;quot; kann dies kontrolliert werden. Ein &amp;quot;-&amp;quot; bedeutet, daß das Modul nicht erkannt wurde z.B. (A-). Ein &amp;quot;i&amp;quot; bedeutet, das dem Modul keine Bank zugeordnet wurde z.B.(Ai).&lt;br /&gt;
&lt;br /&gt;
Es kann versucht werden mit den raw Befehlen &amp;quot;e&amp;quot; und &amp;quot;CW...&amp;quot; die Bank neu zu konfigurieren.&lt;br /&gt;
Wenn dies alles nicht hilft, kann mit dem raw Befehl &amp;quot;eC&amp;quot; ein factory Reset der Konfigeinstellungen gemacht werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Forenthema: {{Link2Forum|Topic=106278|LinkText=Entwicklung SIGNALDuino Empfänger Firm- und Hardware V 4.x.x auch auf Maple Mini}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Arduino]]&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;br /&gt;
[[Kategorie:CUL]]&lt;/div&gt;</summary>
		<author><name>Fritz Muster</name></author>
	</entry>
</feed>