Einstellungen für seriellen Sketch

Begonnen von PeMue, 02 Januar 2018, 13:29:34

Vorheriges Thema - Nächstes Thema

PeMue

Hallo zusammen,

ich bräuchte mal von den MySensors Experten ein paar Ratschläge bzw. Tipps.
Ich habe im MapleCUx (links unten) das serielle Gateway in Minimalausführung.
Das NRF24L01+ (mit PA) ist m.E. ausreichend gepuffert. Eine LED ist für PD6/6 vorgesehen (PB5 = SCK) wäre auch möglich, SPI wird nicht verwendet).

Ich würde den Sketch von hier nehmen und folgendes ändern:

// Set LOW transmit power level as default, if you have an amplified NRF-module and
// power your radio separately with a good regulator you can turn up PA level.
//#define MY_RF24_PA_LEVEL RF24_PA_LOW
// possibilities: RF24_PA_MIN, RF24_PA_LOW, RF24_PA_HIGH, RF24_PA_MAX
#define MY_RF24_PA_LEVEL RF24_PA_MAX
// ...
// Flash leds on RX/TX/ERR
// Uncomment to override default HW configurations
//#define MY_DEFAULT_ERR_LED_PIN 4  // error led pin
#define MY_DEFAULT_RX_LED_PIN  6  // receive led pin
//#define MY_DEFAULT_TX_LED_PIN  5  // the PCB, on board LED


Auf welchem Kanal funkt ihr? Sollte ich da noch was umstellen? Geht das im Sketch oder muss ich das in den anderen Headern machen?

Bootloader brauche ich ja nicht unbedingt, aber könnte ich auch noch brennen (entweder Arduino oder ggf. auch OptiBoot).
Ich denke OTA für MySensors ist (ohne EEPROM) noch nicht soweit, aber eventuell wäre das natürlich auch eine Möglichkeit). Wenn ihr da Tipps hättet, wie das geht, würde ich das ausprobieren.

Arduino IDE 1.8.5 bzw. MySensors Library 2.1.1.

Habt ihr sonst noch irgendwelche Tipps, was ich noch machen sollte? Ich möchte einen vernünftigen Sketch, der dann eine ganze Weile geflasht bleibt ...

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

Beta-User

Hallo Peter,

gutes neues allseits noch!

Habe zwar schon länger keine neuen nRF24-Nodes mehr gebastelt, aber wenigstens eine Teilantwort:

- Die Einstellungen sollten so passen
- Kanal: am oberen Ende des Erlaubten, es gilt scheinbar: je höher, desto besser die Reichweite (habe noch nicht nachgemessen).
- Alle Einstellungen kann man auch in den einzelnen Sketchen machen, die zentralen Einstellungsdateien funktionieren nach dem Motto: "Wenn nichts anderes eingestellt wurde, nimm folgenden Standard: ..."
- OTA dürfte für das GW nicht so das Thema sein, denn:
-- Ein GW sollte zwar immer die aktuellste Version verwenden, die auch die Nodes verwenden. Das ist also sw-mäßig eher nicht für die Ewigkeit gemacht ;) .
-- hier ist aber die serielle Schnittstelle ja im Netz verfügbar, also sollte man darüber auch updates auf den Arduino bekommen können. Man muß vermutlich nur für einen (nicht im Nirvana stattfindenen) Reboot des Arduinos sorgen (via Taste, von FHEM aus bleiben die Nodes im genannten Modus hängen...).
-- Der OTA_Bootloader würde nur auf Kanal 76 darauf warten, dass eine neue Firmware kommt, aber wo soll die herkommen? (Von einem anderen GW, ok...). Könnte aber sein, dass man damit auch die serielle Schnittstelle für updates frei bekommt (dafür muß man dann aufpassen, dass man die firmware für updates dann passend zum bootloader baut - mir ist das jedenfalls zu blöd gewesen).

Wenn du kein signing machst, wäre das Ändern der MY_RF24_BASE_RADIO_ID noch eine Idee, um wenigstens Steuerungsversuche von dritter Seite etwas zu erschweren.

Was die Lib angeht, kann ich den Hang zur "stabilen" Version nicht so recht nachvollziehen, zumal die 2.2.0-Beta zwischenzeitlich den Status einer RC2 hat. It's open source, not Microsoft ::) .

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

smoudo

Sieht soweit gut aus.

Falls du doch Probleme mit dem Funk hast kannst du testweise den
MY_RF24_PA_LEVEL RF24_PA_MAX Auf LOW probieren.
Bei MAX kommt es oft zu Spannungseinbrüchen bei der Antennen Version.
Ich hoffe du hast anständige Funkmodule erwischt!

PeMue

Hallo zusammen,

Danke für die Rückmeldungen. Werde erst mal mein Programmierkabel löten und die Fuses setzen, dann einen Blink Sketch draufmachen und schauen, ob die LED im Sekundentakt blinkt. Dann wird probiert, ob der Atmega vom mapleCux per USB flashbar ist (Reset Taster vorausgesetzt  ;)).

Zitat von: smoudo am 04 Januar 2018, 11:09:51
Bei MAX kommt es oft zu Spannungseinbrüchen bei der Antennen Version.
Ich habe das Modul extra mit 100 µF Tantal gepuffert  ;)

Zitat von: smoudo am 04 Januar 2018, 11:09:51
Ich hoffe du hast anständige Funkmodule erwischt!
Das bringt mich zu dem Schluss, dass ich doch noch probiere, das Modul tauschbar zu machen. Ich habe jetzt gesehen, dass die SMD Version der Pfostenbuchsen deutlich weniger Höhe hat, als die THT Version. Vielleicht reicht das in der Höhe ...

Gruß 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

Beta-User

Löten war so ein Stichwort, ja...

Wenn du noch nRFs brauchst, kannst du dich ja melden, habe noch diverse rumliegen, die eigentlich funktionieren müßten (normale+PA/LNA für Sockel).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

smoudo

Hatte auch anfangs die Module verlötet. Nachdem ich gleich beim ersten eine Niete eingelötet hatte, bin ich dann auf 2x4 Buchsenleisten umgestiegen.

PeMue

Zitat von: smoudo am 04 Januar 2018, 21:50:32
Hatte auch anfangs die Module verlötet.
Naja, dann muss ich beim PA/LNA Modul die Antenne auslöten und umdrehen, dann sollte es in der Höhe wieder passen  ;)

Gruß 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

PeMue

#7
Hallo,

habe noch gesehen, dass die LED nach GND verbunden ist, daher muss das
// Inverses the behavior of leds
#define MY_WITH_LEDS_BLINKING_INVERSE

auch noch aktiviert werden.
Wenn ich fertig bin, stelle ich den Sketch zur Verfügung.

Bzw: flashen über MapleCUx und bootloader geht nicht, aber die serielle Schnittstelle ist in Ordnung  :o

Gruß PeMue

Edit 1:
Meine NRF24 mit PA/LNA machen nur Probleme. Beim seriellen Gatway sorgen die (bei RF24_PA_MIN) für regelmäige Reboots, bei RF24_PA_MAX funktionieren sie, aber man kann nichts empfangen  >:(
Die Entscheidung, die Dinger zu sockeln war goldrichtig !!!

Edit 2:
Habe hier noch was bezüglich der Baudrate gefunden ...
Und mit der Baudrate von 38400 baud in FHEM geht es plötzlich  ;D ;D ;D

Edit 3:
Der mapleCUx hat eine irre Einschaltverzögerung durch den Bootloader. Da ist der Arduino Bootloader deutlich schneller. Nachdem man einen Reset des Atmega328P gemacht hat, geht dann auch der MySensors Gateway auf Status startup complete  :o
Fazit: Das Ding funktioniert seitens der Hardware, Produktivbetrieb ist so nicht möglich. Aber nachdem alles Software ist, bestücke ich mal weiter.

Edit 4:
Nachdem das MySensors Gateway Sache einigermaßen an der USB Schnittstelle funktioniert, funktioniert es über LAN überhaupt nicht. Hat jemand eine Idee, welche Latenzzeiten akzeptiert werden?
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

smoudo

Über lan kann ich leider nichts sagen. Hast du am nrf ausreichend kondensatoren verbaut? Brachte bei mir
Stellenweise Besserung. Mit der baudrate ist sehr interessant! Beobachte das mal, bei rs485 hatte ich anfänglich auch Besserung, bekam auf Dauer aber nichts stabiles hin.

Beta-User

Warum wunderst du dich über "startup complete"?
Das ist bei meinen seriellen GW's (gefühlt seit 2.0.0-beta) Standard...
Für mcih sieht das so aus, als wäre soweit alles auf der GW-Seite i.O.. Interessant ist daher, ob was von Sensoren kommt.

Zum Flashen am CUN: Das Flashen braucht ja eine andere Baudrate, ich weiß nicht, ob sich das im Netzwerkbetrieb umstellen läßt, aber vielleicht lag es daran.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

PeMue

Hallo zusammen,

Zitat von: smoudo am 07 Januar 2018, 12:24:15
Hast du am nrf ausreichend kondensatoren verbaut? Brachte bei mir stellenweise Besserung.
beim mapleCUx schon, ich denke, ich muss mein nanoCUL noch einen Kondensator drauflöten. Mal schauen, ob ich da noch hinkomme  ;)

Zitat von: Beta-User am 07 Januar 2018, 12:32:50
Warum wunderst du dich über "startup complete"?
Naja, es kommt das "startup complete" erst, wenn ich den Atmega328P von Hand resette. Ich werde mal 3 s Pause am Anfang einbauen und mal schauen. Über USB funktioniert das Ganze halbwegs ordentlich, über LAN gar nicht  >:( Ggf. schraube ich die Baudrate noch weiter runter.

Zitat von: Beta-User am 07 Januar 2018, 12:32:50
Zum Flashen am CUN: Das Flashen braucht ja eine andere Baudrate, ich weiß nicht, ob sich das im Netzwerkbetrieb umstellen läßt, aber vielleicht lag es daran.
Der CUN kann USB und LAN. Auch über USB funktioniert das Flashen nicht. Aber das ist das Thema mit den Arduino pro minis, vielleicht lese ich da nochmal nach ...

Gruß 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

PeMue

Hallo zusammen,

welche AVR Board Definition nehmt Ihr gerade beim Compilieren von MySensors Sketchen? Ich habe die MySensors IDE 1.8.5 und aktuell die Board Definition 1.6.20, es gibt aber schon die 1.6.21.

Danke + Gruß

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

Beta-User

Hatte neulich Probleme beim Flashen mit IDE 1.8.3 und Board Def. 1.6.21 (kein sync).
Nach einem Downgrade auf 1.6.20 ging es dann wieder.

Die 1.6.21 bietet unterschiedliche Bootloader als Option an. Das Flashen hat aber mit keiner der angebotenen Varianten funktioniert; das Flashen des neuen/eines anderen Bootloaders habe ich aber noch nicht versucht, sondern dann den downgrade gemacht.

Grüße, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files