MySensors SAMD basiert; gesplittet von :RS485 basierend auf Arduino ProMicro; gesplittet von:Fragen

Begonnen von Brasletti, 31 Dezember 2017, 01:00:30

Vorheriges Thema - Nächstes Thema

Brasletti

Langsam glaube ich wir sind mit dem promicro auf dem Holzweg.  Ich konnte keine Beiträge über laufende Gateways finden. Als Node scheint er zu funktionieren.

Evtl. Sollten wir mal einen Blick auf Boards mit der samd21 Mcu werfen wie er auf dem Sensbender GW verwendet wird. Hier läuft ja mysensors als Gateway bereits. Evtl. ist der samd20 für Nodes interessant.

Brasletti

So wie ich das gelesen habe  eignet sich der MapleMini nicht wegen dem zu hohen Stromverbrauch im Sleep Modus. Darum verwenden einige jetzt den samd20. Den gibt es auch in einer "lötfreundlichen" tqfp-32 Bauform.

Brasletti

Sieht eigentlich gar nicht schelcht aus ;) !
Ich werd mir mal nen SparkFun SAMD21 Mini Breakout kommen lassen und damit testen. Den ATSAMD21 (ATSAMD21G18A-AU 32kB SRam 256kB Flash) in 48TQFP Auspührung gibt es auf Aliexpress und bei TME für 3,40 also auch nicht alzu teuer falls Ranseyer sich dazu entschließt ne Platine zu pinseln. Die Eaglefiles stellt ja Sparkfun zur Verfügung und die Anbindung an die  Arduino IDE ist ja auch vorhanden. Muss jetzt mal schauen ob es noch eine ATSAMD20 Variante gibt, die wäre dann wie ein ProMini ohne USB so wie ich das verstanden habe.

Ranseyer

Zum SAMD: poste doch kurz deine Vorstellung ( maxxx an pin y).   Evtl kann ich noch eine schlampige Testplatine mit bestellen...
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

Brasletti

@Beta-User: Mit dem Stromverbrauch hast Du natürlich recht am Gateway. Aber warum auf eine Board setzen welches noch nicht so verbreitet ist bei MySensors. Mit dem SAMD21 ist man doch bestens unterstützt da ja auch das Sensbender mit dieser MCU läuft. Und bei den Nodes wäre es auch schön ein Board zu haben welches mit Hardware-Serial zuverlässig läuft und einfach zu flashen ist.

@Ranseyer: Ich schau mir das Sparkfun MiniBreakout mal an und melde mich dann.

Ranseyer

@Brasletti: Gerne. Ob das mal so spontan zu machen ist, kann ich nicht sagen. Das Sparkfun-Mini hat 4 Layers...

Das Normale Breakout ist eine bessere Basis. Abspecken und wieder ergänzen. Es muss nur das Ergebnis wieder wieder per CC bySA  Loizenz freigegeben werden. Kein Problem...
Nur wie gesagt möchte noch in diesem Jahr nach chinesischer Zeit bestellen.
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

Brasletti

Mit diesem Sercom Model des SAMDxx muss ich mich erst mal vertraut machen. Prinzipiell muss der Max485/487 an den Pin PA10(TX) / PA11(RX) des Sparkfun SAMD21 Mini Breakout Boards und de/re sollten an Pin3 funktionieren (Lötjumper auf Pin2 wäre auch nicht schlecht für Tests). Ich bräuchte eigentlich nur eine Platine im 2,54mm Raster um das Board aufzustecken. Links und rechts mit ein wenig Abstand die Stiftleisten wieder herausgeführt damit ich mit Steckschraubklemmen drauf kann. Und am gegenüberliegenden Ende (gegenüber des USB Anschlusses) die Pads für 3,5mm Wannenstecker mit angeschlossenem Max485/487 und falls möglich noch eien Reg1117 3,3V zur Spannungsversorung über RS485.

Das Sparkfun wird ja nur aufgesteckt ;) Die China Clone haben nur zwei Layer sind etwas größer aber ich glaube Pinkompatibel.


Brasletti

Ich hab mir jetzt mal das China Mini und das Sparkfun mini bestellt. Werde beide einmal ausprobieren.

Ranseyer

Mod: mal wieder gesplitted.


@Brasletti: Ich kann dir da gerne helfen mit der SAMD Sache. Aber heute nicht mehr !
Du könntest ja auch mal mit nem Schaltplan oder so starten...
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

Brasletti

Werde morgen mich mal an dem Schaltplan auf Basis des Sparkfun Boards versuchen.

Brasletti

Erster Test mit dem SAMD Board war schon mal vielversprechend, der Gateway Sketch läuft auf dem Board! Sobald alle Teile da sind werde ich weiter testen.

Brasletti

Ich hab mal ein paar Bilder mit Gehäuse von der Entwicklungsversion gemacht. Fest verlötet sitzt der SAMD natürlich tiefer im Gehäuse und die Löcher im Deckel verschwinden aber zum testen hab ich ihn mal gesockelt. Beim Bussplitter fehlt leider noch die einfache RJ45 Buchse;)

Ranseyer

Ich hab mir kürlich auch mal so ein Board bestellt. Auch wenn mir die MAPLE bisher mehr am Herz lagen...
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

PeMue

Das ist kein Maple mini Board, oder? Was ist das dann? Watterott hat auch ein STM32F10x Board, das mit ca 6 € aus Deutschland relativ preiswert scheint.

Danke + Gruß

Peter
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser


PeMue

RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

Brasletti

Ich habe gerade festgestellt dass die Eingänge am SAMD21 nicht 5V tollerant sind  :( !!! Zum Glück erst nachgelesen  8)
Jetzt die Frage welchen RS485 Chip soll ich Anstatt des max487 nehmen ?

MAX3430 teuer, laufen mit 3,3V, 80V failsave an den Eingängen, 12kV ESD safe, Busspannung -7 bis +12V, 128 Reciver am Bus (11,87 Euro für 10Stück bei Ali).
Oder
MAX3085 günstig, laufen auf 3,3V, Busspannung -7 bis +12V, 256 Reciver am Bus (2,72 Euro für 10 Stück bei Ali).

Edit: Ich denkt der MAX3430 kommt dem max487 am nächsten, denke Mischbetrieb sollte hier am unproblematischsten sein.

Viele Grüße
Armin

Ranseyer

Gute Frage, ich hatte schon mal ausführlich geforscht und das Ergebnis hier gepostet. Aber wo genau ?
Der beste Treffer: https://forum.fhem.de/index.php/topic,75286.msg737469.html#msg737469

Hättest Du mal nen Link ?
Grund: Die Angebote die ich gesehen habe sind teilweise widersprüchlich..
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!


Ranseyer

Das sieht doch gut aus... https://www.mouser.de/ProductDetail/Maxim-Integrated/MAX3430ESA?qs=sGAEpiMZZMtk5jbcouIbSxgIiqv8VXz4QnUihOhBGyQ%3d

Ich hatte in dem verlinkten Post +/-20€ für 10 Stück geschrieben... Man findet zwar viel günstigere als diese aber mit anderem Suffix, und die Beispiel die ich angeschaut habe brauchen dann trotz gleicher Zahl 5V...
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

Ranseyer

FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

Brasletti

Ich hab jetzt mal den MAX3430 bestellt  ;), falls du welche brauchst sag bescheid.

Ranseyer

Kommt drauf an was ich mit dem einen SAMD Board mache welches ich mir bestellt habe... (Funk oder RS485, oder gar beides zum Testen ? also ggf. sockeln...)
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

Brasletti

Ich hab mir auch noch ein "zweites" bestellt und was kam, ein "esp wroom 32"   :o mal schauen was der Chinese nach dem Chinesischen Neujahr dazu meint.

Ranseyer

Gerade kam der SAMD21Mini von Wemos... Hast Du schon nen fertigen Sketch dafür ?

FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

Brasletti

Ich hab einfach mal das GW Sketch genommen die LEDs auskommentiert und dann geflashed (Arduino Zero nehmen, musst im Boardverwalter nachinstallieren). Lief out of the Box mit MySensors. Brauchst auch keine Development Branch.

Ranseyer

Als Motion-Sensor dann so ? (inkl Pin "4" und "Serial")

#define MY_RS485

// Define this to enables DE-pin management on defined pin
#define MY_RS485_DE_PIN 4

// Set RS485 baud rate to use
#define MY_RS485_BAUD_RATE 38400
#define MY_NODE_ID 24

// Enable this if RS485 is connected to a hardware serial port
#define MY_RS485_HWSERIAL Serial


Bei mir kommt keine Kommunikation zustande ... Bestückt nur das ATSAM Modul, Max487, LAN Buchsen, sonst nichts.
Ich würde den Sketch dann ins Github packen...
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

Brasletti

Warten wir mal auf den max3430. Ich denke dann sollte es mit kleinen Modifikationen am Board laufen.

Ranseyer

Zitat von: Brasletti am 19 Februar 2018, 17:55:30
Warten wir mal auf den max3430. Ich denke dann sollte es mit kleinen Modifikationen am Board laufen.

Ahhh, Ich Id...t, Die Spannung hab ich verdrängt, und der RX verträgt laut Datenblatt keine 5V.
Sonst hätte man VCC von MAX umverkabeln können... Aber noch einen Spannungsteiler dazu macht es auch nicht schöner...

Hast Du schon einen RFM* getestet ?
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!


Ranseyer

RFM69 funktioniert so nicht:
// Enable debug prints to serial monitor
#define MY_DEBUG
#define MY_RADIO_RFM69
#define MY_IS_RFM69HW // Lokale Vorschriften beachten !
#define MY_RFM69_FREQUENCY RFM69_868MHZ
//#define MY_RFM69_FREQUENCY RF69_433MHZ  // Define for frequency setting. Needed if you're radio module isn't 868Mhz (868Mhz is default in lib)
#define MY_RFM69_NEW_DRIVER


/**
D4=IRG
D10 = SS
D11 = MOSI
D12 = MISO
D13 = SCK
*/

#define MY_RF69_IRQ_PIN 4
#define MY_RF69_IRQ_NUM MY_RF69_IRQ_PIN
//#define MY_RFM69_CS_PIN D10 // NSS. Use MY_RF69_SPI_CS for older versions (before 2.2.0)
//#define MY_RFM69_NETWORKID 100  // Default is 100 in lib. Uncomment it and set your preferred network id if needed
#define MY_RF69_IRQ_NUM 4 // Temporary define (will be removed in next radio driver revision). Needed if you want to change the IRQ pin your radio is connected. So, if your radio is connected to D3/INT1, value is 1 (INT1). For others mcu like Atmel SAMD, Esp8266, value is simply the same as your RF69_IRQ_PIN
// #define MY_RF69_SPI_CS 15 // If using a different CS pin for the SPI bus. Use MY_RFM69_CS_PIN for the development branch.



Aber es ist trotzdem schon mal ein Anfang...
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

Brasletti

Ich glaube 4 haben wir schon mit 5V vom Max gegrillt  :o ! Ich hab grad mal den Blink Sketch mit D3 und D4 versucht. D3 blinkt D4 nicht.

Ranseyer

Schei... Ich hab mir den Schaltplan dazu nicht angesehen vor der Inbetriebnahme mit dem MAX487...

Aber:
-Bei der SMD Variante gehen +5V auf die Spannungsversorgung des MAXen
-Bei der DIL Variante ist die Spannungsversorgung gar nicht explizit angeschlossen, wird also eher auf VCC gehen.
=> Ich löte leider irgendwie lieber die SMD Variante...

Wenn ich mit dem Oszi messe sehe ich Aktivität an Pin3  aber nicht an Pin4. Da der Compiler sich nicht weigert und es auch sonst funktionieren sollte ist D4 wohl hinüber.
:'(

Wie hast du den Pin D4 ausgewählt / welchen schlägst du als Ersatz vor?

PS: Gerade neuen Input gefunden: https://www.openhardware.io/view/12/Sensbender-Gateway
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

Brasletti

Ich hab mal zwei samd21 chips bestellt, wenn die da sind schickst mir deinen und ich mach ich wieder heile ;). Ich hab den ja auch schon gegrillt.

Den DIP hab ich in eagle nicht angeschlossen weil ich das Invoke noch nicht kannte und deshalb die Anschlüsse verborgen blieben.

Da ist noch der Schaltplan vom Mini. Die Pins unterscheiden sich auch vom Zero!

Ranseyer

Ich wollte nur mal aufzeigen wie es andere machen...

Das Angebot würde ich bei Bedarf gerne annehmen. Aber Frage: Warum nicht einfach nen anderen Pin nehmen ?
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

Brasletti

Ja klar, zum testen erst mal nen anderen Pin!
Bin nur gerade ziemlich ratlos ich versuch es schon den ganzen Tag, komm aber irgendwie nicht weiter.
Das Sensbender basiert ja auf der 64Pin Variante, kann das leider nicht eins zu eins übernehem. Um das mit MySensors zum Laufen zu bringen braucht man wahrscheinlich
eine eigen Boarddefinition basierend auf der Arduino Zero nur mit umdefinierter Pinbelegung und anderm Sercom Mux.
Ich hab da mal ein bischen angefangen, hab es aber bis jetzt nicht zum laufen bekommen.

Beim Sensbender gab es da wohl auch Anlaufschwierigkeiten ;)


Brasletti

Ich hab mal den SPI Ausgang auf dem ICSP Header versucht (mit normalen Arduino Zero Bord Definitionen). Auf diesem reagiert wenigstens mal das Funkmodul. Ich muss jetzt nur noch rausfinden wie ich über die Boarddefinitionen den anderen SPI Ausgang aktivieren kann. Ich muss auch mal die Bootloader Sourcen vom Sensbender mit denen vom Zero vergleichen. Vielleicht muss da auch was geändert werden?

Edit: Der Bootloader scheint nicht geändert werden zu müssen, er scheint im "Großen und Ganzen" dem Zero Bootloader zu entsprechen (kleinere Änderungen, die soweit ich das erkennen kann, keinen Einfluss auf den Sercom Mux in den Boarddefinitionen haben sollten).

Brasletti

Neuer Stand: senden ja, empangen nein!

Spi scheint zu laufen mit geänderter Boarddefinition. Auf Empfangen schaltet er ja mit dem Interrupt Pin um oder? Falls ja scheint es da noch ein Problem zu geben :(

Im Anhang habe ich mal meine Boarddefinition reingepackt (unter Windows nach "...\Users\"User Name"\Documents\Arduino\hardware\" entpacken).

Brasletti

So, geschafft  8) Kontakt ist hergestellt !!! War mit meinen libs in der Arduino IDE schon auf development und das GW noch auf master. Mit den im vorherigen Post angehängten Boarddefinitionen läuft das Ganze. Getestet mit dem MotionSensor sketch von unten.

@Ranseyer: Kannst es ja mal noch mit der development Version probieren. evtl bekommt das RFM69 noch zu wenig Saft ich hab das ganze mal auf nem Breadboard aufgebaut mit
separater Stromversorgung als Interrupt hab ich im Sketch Pin8. Solltest Du einen anderen Pin versuchen wollen musst du evtl. die Boarddefinitionen anpassen (varian.cpp) !

//{ PORTA,  6, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), No_ADC_Channel, PWM1_CH0, TCC1_CH0, EXTERNAL_INT_6 }, // TCC1/WO[0]
  { PORTA,  6, PIO_DIGITAL, (PIN_ATTR_DIGITAL),                          No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_6 },

So sieht da Pin 8 aus Pin 3 und 5 sind entsprechend vorbereitet. evtl. muss auch nichts geändert werden, werd ich gleich mal ausprobieren.

Edit: Muss nichts geändert werden, wenn du einen anderen PIN nimmst!!!
Edit2: Strom reicht auch per M0_Mini per USB!

Brasletti

Welchen Pin soll ich denn jetzt als Interupt Pin nehmen?
Pin 4 schein nicht ideal. Im Samd21 Manual steht, dass PIN 4 ein NMI (Non-Maskable Interrupt) Pin sei (hab mich noch nicht näher damit beschäftigt).

Deshalb würde ich jetzt mal Pin 9 vorschlagen, der liegt auf Sercom 0 und stört deshalb nicht falls man weitere SPIs benötigt zudem liegen dann die nötigen Pins genau neben einander :) . Getestet ist er auch!

Für das nächste Layout würde ich auch den Interupt für den Max auf Pin8 verlegen oder?

Ranseyer

Hört sich doch gut an. Ich würde am Wochenende mal versuchen das nachzubauen und zu dokumentieren. 

Danke für den Einsatz!
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

ulli

Hallo zusammen,
ich bin gerade am überlegen von meinem atmega328p umzusteigen.
https://forum.fhem.de/index.php?topic=85069.msg773983#msg773983
Und bin auf diesen Thread hingewiesen worden.

Dazu habe ich zwei Fragen an euch
* woher bezieht ihr den ATSAMD21? Ich finde nirgends den Chip für einen akzeptablen Preis.
   Den Stm32f  gibt es für 2€ beim ali. Den stm32l0 finde ich wieder nirgends.
* warum nicht den stm32f103 nutzen? Das Thema Stromverbrauch sehe ich aus folgenden Gründen nicht:
   1. Ein Gateway wird von euch vermutlich eh nicht über einen Akku oder Batterien betrieben.
   2. Der Verbrauch des rfm69 ist sowieso um ein vielfaches höher als der des Controllers
   3. Der stm32 ist um ein vielfaches schneller und damit arbeitet er die Befehle schneller ab und ist damit schneller wieder im deep sleep mode
* der Funktionsumfang ist beim stm32 doch größer als beim ATSAMD

Gerne beteilige ich mich ggf. an der Entwicklung, ich kenne den rfm69 schon sehr gut.

Hier noch ein interessantes Board. Das mit nem rfm69hw, da will ich evtl hin.
http://flabbergast.github.io

Viele Grüße,
   Ulli

Brasletti

Hier gibt es den SAMD21 zu einem akzeptablen Preis.
https://de.aliexpress.com/item/ATSAMD21G18A-AU-ATSAMD21-G18A-U/32836378682.html

MySensors unterstütze den SAMD21 bereits in der letzten Version durch das Sensbender, deshalb bin ich davon ausgegangen dass es erst mal leichter ist mysensors auf diesem uC zum laufen zu bringen. Zwischenzeitlich wird der STM32 auch von mySensors in der Development Branch unterstützt. Vom Speicher her ist der SAMD21 etwas besser bestückt aber sonst hast du recht der STM32 ist auch sehr attraktiv.
Hier https://forum.fhem.de/index.php/topic,81944.0.html wird parallel am STM32 gewerkelt ;)

Viele Grüße

Ranseyer

ZitatHier https://forum.fhem.de/index.php/topic,81944.0.html wird parallel am STM32 gewerkelt

Das stimmt. Als RS485 Gateway läuft es bisher absolut zufriedenstellend. RFM69 habe ich etwas nach hinten geschoben, weil ich nicht sofort die Pin-Definition verstanden hatte.
Wer sich da einbringen möchte kann gerne 1-2 Platinen haben. Das sollten wir dann aber per PN oder im anderen Thread besprechen.

PS: Ich habe schon einige der MAPLEs verbaut und finde die sehr gut. Aber das SAMD-Board von WeMos finde ich fast schicker. Das ist nur auf einer Seite bestückt und absolut geschmeidig beim flashen. (Den MAPLE kann man mit der Arduino IDE erst mal gar nicht flashen, man muss erst ein bisschen frickeln bis der erste Sketch darauf läuft und dann ist es meist auch easy, aber nicht ganz so schnell wie beim SAMD)
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

Brasletti

SAMD mit MAX3430 (MotionSensor) läuft per RS485 mit dem STM32 GW zusammen!!! (Mischbetrieb mit MAX487). Beim Test ist mir der 1117 5V auf der Spannungsversorgungsplatine abgeraucht, muss jetzt da erst mal schauen was damit los ist.

/**
* The MySensors Arduino library handles the wireless radio link and protocol
* between your home built sensors/actuators and HA controller of choice.
* The sensors forms a self healing radio network with optional repeaters. Each
* repeater and gateway builds a routing tables in EEPROM which keeps track of the
* network topology allowing messages to be routed to nodes.
*
* Created by Henrik Ekblad <henrik.ekblad@mysensors.org>
* Copyright (C) 2013-2015 Sensnology AB
* Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors
*
* Documentation: http://www.mysensors.org
* Support Forum: http://forum.mysensors.org
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 as published by the Free Software Foundation.
*
*******************************
*
* REVISION HISTORY
* Version 1.0 - Henrik Ekblad
*
* DESCRIPTION
* Motion Sensor example using HC-SR501
* http://www.mysensors.org/build/motion
*
*/

#define MY_DEBUG
#define MY_DEBUG_HWSERIAL Serial // = Serial0 / Rx0 & Tx0 to programming & debug


// Enable RS485 transport layer
#define MY_RS485
// Define this to enables DE-pin management on defined pin
#define MY_RS485_DE_PIN 9
// Set RS485 baud rate to use
#define MY_RS485_BAUD_RATE 38400

// Enable this if RS485 is connected to a hardware serial port
// Not possible with Arduino Nano !!
#define MY_RS485_HWSERIAL Serial1

#define MY_NODE_ID 201

// Enable serial gateway
//#define MY_GATEWAY_SERIAL
//#define MY_SERIALDEVICE Serial // Serial = USB

// Enable inclusion mode
//#define MY_INCLUSION_MODE_FEATURE
// Enable Inclusion mode button on gateway
//#define MY_INCLUSION_BUTTON_FEATURE
// Set inclusion mode duration (in seconds)
//#define MY_INCLUSION_MODE_DURATION 120
// Digital pin used for inclusion mode button
//#define MY_INCLUSION_MODE_BUTTON_PIN  3

// Set blinking period
//#define MY_DEFAULT_LED_BLINK_PERIOD 300

// Flash leds on rx/tx/err
//#define MY_DEFAULT_ERR_LED_PIN 4  // Error led pin
//#define MY_DEFAULT_RX_LED_PIN  5  // Receive led pin
//#define MY_DEFAULT_TX_LED_PIN  6  // the PCB, on board LED


#include <MySensors.h>

uint32_t SLEEP_TIME = 120000; // Sleep time between reports (in milliseconds)
#define DIGITAL_INPUT_SENSOR 5   // The digital input you attached your motion sensor.  (Only 2 and 3 generates interrupt!)
#define CHILD_ID 1   // Id of the sensor child

// Initialize motion message
MyMessage msg(CHILD_ID, V_TRIPPED);

void setup()

pinMode(DIGITAL_INPUT_SENSOR, INPUT);      // sets the motion sensor digital pin as input
}

void presentation()
{
// Send the sketch version information to the gateway and Controller
sendSketchInfo("Motion Sensor", "1.0");

// Register all sensors to gw (they will be created as child devices)
present(CHILD_ID, S_MOTION);
}

void loop()
{
// Read digital motion value
bool tripped = digitalRead(DIGITAL_INPUT_SENSOR) == HIGH;

Serial.println(tripped);
send(msg.set(tripped?"1":"0"));  // Send tripped value to gw

// Sleep until interrupt comes in on motion sensor. Send update every two minute.
sleep(digitalPinToInterrupt(DIGITAL_INPUT_SENSOR), CHANGE, SLEEP_TIME);
}