Entwicklung MySensors Basisplatine, Status: Test der Musterplatinen

Begonnen von Ranseyer, 11 August 2017, 18:17:12

Vorheriges Thema - Nächstes Thema

Ranseyer

#45
Hi Peter,

gute Fragen !


ZitatKern ist ein Arduino pro mini, der kann - eines von drei Radios (RFM69HW, NRF24L01+ oder CC1101) ansteuern
Ja, also Homematic oder anderes per CC1101. MySensors über den RFM69 und nur notfalls über den NRF (der liegt nicht mehr in meinem Focus!)

ZitatDie Spannungsversorgung erfolgt über einen von vier (?) Reglern (2x linear, 2x Schalt), aber ich habe nicht gesehen, dass es eine Möglichkeit des Batteriebetriebs gibt.
Ja man kann einiges an Reglern verwenden, somit ist die Frage ob in der endgültigen Version eine der Möglichkeiten entfällt. (Immerhin scheint mir derzeit dass das ganze ohne Jumper möglich ist, diese wären zu vermeiden.)

ZitatFür Erweiterungen hast Du papa's Steckverbinder (auf der Rückseite) vorgesehen, was die Sache ziemlich universell macht.
Ja, allerdings habe ich keine "papa"-Platinen und kann nichts testen. (Wer gibt 1-2 pro Typ ab ? je 10 ist mir zu viel !)
Da ich aber einige N-Module Platinen vorliegen habe, bin ich da weiter: https://www.openhardware.io/user/454/projects/Nca78
Da gibt es recht tiefgehende Geschichten: Touch, PIR, Solid-State-Relais, Miligt, ...

ZitatDie RS485 Verkabelung habe ich mir nicht im Detail angeschaut, weil ich die nicht im Einsatz habe. Ich meine aber, dass die Widerstände 2x390 Ohm bzw. 120 Ohm sein sollten.
Die Werte sind bewusst gewählt (außer ich hätte nen Fehler drin), aber Bauteil-Werte finde ich eher nebensächlich. Kann ja jeder wie er will. Mein Ziel war definierte Pegel zu erleichtern.

ZitatIn welchem Fall sollte welcher Regler verwendet?
Muss ich noch beschreiben, prinzipiell sollte man nehmen was in der Schublade ist, außer den Stromverbrauch ist relevant. Evtl sollte dazu auch noch beschrieben werden was vom Arduino zu entfernen ist...

ZitatDie Platine kann sowohl als Gateway (dafür würde aber die USB Verbindung fehlen) als auch als Sensor eingesetzt werden.
Kann man, sollte man aber nicht, außer "es muss halt mal spontan sein"... :-) Daher ist mein Beispiel-Foto sicher nicht perfekt.

ZitatFür den Sensorbetrieb fehlt mir der Batteriebetrieb
Ich hänge mal ein Foto an. Denke im finalen Release integriere ich auch noch direkt einen diskreten Step-Up Wandler. Chips sollten in der Schublade liegen ich hatte da ne Anregung (von Dir?, papa?)...
Ansonsten einfach eins der fertigen Platinchen in die vorhandenen Pins dengeln...

Zitatbzw. die Möglichkeit, direkt auf der Platine Sensoren zu platzieren (außer natürlich über breakout boards).
-Ja, mit Breakoutboards die man direkt auf die Platine lötet, ohne die Lötstifte. Aber gute Idee: Dazu sollten ggf. noch optimierte Lötpads auf die Platine. (Direkt ein BM**80 auf der Platine macht für mich keinen Sinn in Hinblick auf die Menge der Leute die den selbst löten können)
-eine weitere Option wäre eine allgemeine Sensorplatine für N-Module oder Papa's System mit einigen fest verbauten Sensoren

ZitatIrgendwie fehlt mir auch noch ein Steckverbinder, um die Software per Bootloader zu flashen, oder habe ich den übersehen?
Hmm, ich vermisse den nicht. Wer flashen will, kann das doch direkt am Arduino machen. Welchen Grund siehst Du um darum Platinenfläche zu opfern ? (Bin ja eher am überlegen was alles wieder weg kann)

PS: Unter easy-Platine verstehe ich dass die Lötreihenfolge möglichst egal sein sollte. Aufbau soweit möglich ohne Anleitung (aber Multimeter und Aufdruck)

Die Links: Muss ich mal suchen auch wegen Wiki: Problem: Ich kenne keine eindeutige Bezeichnung sonder nur Ali-Links die auch veralten werden. Mal sehen ob das über die Maße klappt...
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!

Markus.

#46
Hallo Zusammen,

habe eins von den Boards als MySensors Gateway aufgebaut uns versuche gerade den Standard Gateway Sketch zum laufen zu bekommen. Radio initialisiert er einwandfrei aber das was auch schon. Er bekommt keine Verbindung zu einem RFM69 Node.
flashe ich dagegen ein Sensor Sketch, funktioniert die Kommunikation..
Radio Settings sind gleich definiert im Gatewaysketch und im Sensorsketch

Hiermal der Sketch den ich verwende:

/**
* 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.
*
*******************************
*
* DESCRIPTION
* The ArduinoGateway prints data received from sensors on the serial link.
* The gateway accepts input on seral which will be sent out on radio network.
*
* The GW code is designed for Arduino Nano 328p / 16MHz
*
* Wire connections (OPTIONAL):
* - Inclusion button should be connected between digital pin 3 and GND
* - RX/TX/ERR leds need to be connected between +5V (anode) and digital pin 6/5/4 with resistor 270-330R in a series
*
* LEDs (OPTIONAL):
* - To use the feature, uncomment any of the MY_DEFAULT_xx_LED_PINs
* - RX (green) - blink fast on radio message recieved. In inclusion mode will blink fast only on presentation recieved
* - TX (yellow) - blink fast on radio message transmitted. In inclusion mode will blink slowly
* - ERR (red) - fast blink on error during transmission error or recieve crc error
*
*/

// Enable debug prints to serial monitor
#define MY_DEBUG


// Enable and select radio type attached
//#define MY_RADIO_NRF24
//#define MY_RADIO_NRF5_ESB
#define MY_RADIO_RFM69
//#define MY_RADIO_RFM95
#define MY_RFM69_FREQUENCY RFM69_868MHZ
//#define MY_IS_RFM69HW

// 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

// Enable serial gateway
#define MY_GATEWAY_SERIAL

// Define a lower baud rate for Arduino's running on 8 MHz (Arduino Pro Mini 3.3V & SenseBender)
#if F_CPU == 8000000L
#define MY_BAUD_RATE 38400
#endif

// Enable inclusion mode
#define MY_INCLUSION_MODE_FEATURE
// Enable Inclusion mode button on gateway
//#define MY_INCLUSION_BUTTON_FEATURE

// Inverses behavior of inclusion button (if using external pullup)
//#define MY_INCLUSION_BUTTON_EXTERNAL_PULLUP

// Set inclusion mode duration (in seconds)
#define MY_INCLUSION_MODE_DURATION 60
// Digital pin used for inclusion mode button
//#define MY_INCLUSION_MODE_BUTTON_PIN  3

// Set blinking period
#define MY_DEFAULT_LED_BLINK_PERIOD 300

// Inverses the behavior of leds
//#define MY_WITH_LEDS_BLINKING_INVERSE

// 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

#include <MySensors.h>

void setup()
{
// Setup locally attached sensors
}

void presentation()
{
// Present locally attached sensors
}

void loop()
{
// Send locally attached sensor data here
}

Und hier die serielle Ausgabe:

__  __       ____
|  \/  |_   _/ ___|  ___ _ __  ___  ___  _ __ ___
| |\/| | | | \___ \ / _ \ `_ \/ __|/ _ \| `__/ __|
| |  | | |_| |___| |  __/ | | \__ \  _  | |  \__ \
|_|  |_|\__, |____/ \___|_| |_|___/\___/|_|  |___/
        |___/                      2.2.0-beta

0;255;3;0;9;53 MCO:BGN:INIT GW,CP=RRNGA---,VER=2.2.0-beta
0;255;3;0;9;83 TSM:INIT
0;255;3;0;9;92 TSF:WUR:MS=0
0;255;3;0;9;104 TSM:INIT:TSP OK
0;255;3;0;9;114 TSM:INIT:GW MODE
0;255;3;0;9;122 TSM:READY:ID=0,PAR=0,DIS=0
0;255;3;0;9;135 MCO:REG:NOT NEEDED
0;255;3;0;14;Gateway startup complete.
0;255;0;0;18;2.2.0-beta
0;255;3;0;9;147 MCO:BGN:STP
0;255;3;0;9;167 MCO:BGN:INIT OK,TSP=1


Mehr kommt nicht :-(
Wie gesagt flashe ich ein Relais Sketch wie folgendes, klappt die Datenübertragung:

/**
* 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
* Example sketch showing how to control physical relays.
* This example will remember relay state after power failure.
* http://www.mysensors.org/build/relay
*/

// Enable debug prints to serial monitor
#define MY_DEBUG
#define MY_NODE_ID 120

// Enable and select radio type attached
//#define MY_RADIO_NRF24
#define MY_RADIO_RFM69
#define MY_RFM69_FREQUENCY RFM69_868MHZ
#define MY_BAUD_RATE 38400

// Enable repeater functionality for this node
//#define MY_REPEATER_FEATURE

#include <MySensors.h>

const int RELAY_1[]= {5, 6, 7, 3}; // Arduino Digital I/O pin number for first relay (second on pin+1 etc)
#define NUMBER_OF_RELAYS 4 // Total number of attached relays
#define RELAY_ON 1  // GPIO value to write to turn on attached relay
#define RELAY_OFF 0 // GPIO value to write to turn off attached relay


void before()
{
  for (int sensor=1, pin=0; sensor<=NUMBER_OF_RELAYS; sensor++, pin++) {
    // Then set relay pins in output mode
    pinMode(RELAY_1[pin], OUTPUT);
    // Set relay to last known state (using eeprom storage)
    digitalWrite(RELAY_1[pin], loadState(sensor)?RELAY_ON:RELAY_OFF);
  }
}

void setup()
{

}

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

  for (int sensor=1, pin=0, RELAY_1[pin]; sensor<=NUMBER_OF_RELAYS; sensor++, pin++) {
    // Register all sensors to gw (they will be created as child devices)
    present(sensor, S_BINARY);
  }
}


void loop()
{

}

void receive(const MyMessage &message)
{
  // We only expect one type of message from controller. But we better check anyway.
  if (message.type==V_STATUS) {
    // Change relay state
    digitalWrite(RELAY_1[message.sensor-1], message.getBool()?RELAY_ON:RELAY_OFF);
    // Store state in eeprom
    saveState(message.sensor, message.getBool());
    // Write some debug info
    Serial.print("Incoming change for sensor:");
    Serial.print(message.sensor);
    Serial.print(", New status: ");
    Serial.println(message.getBool());
  }
}


Jemand eine Idee?
Achso, zur Zeit habe ich ein ähnliches Gateway amlaufen mit einem RFM69W 868. Basierend auf einem EasyPCB von Mysensors. Das PCB ist eigentlich für NRFs aber verwende so eine Adapterplatine RFM auf NRF connector. Da funktioniertder Gatewaysketch einwandfrei. Läuft eigentlich mit der Luftverkabelung USB->FTDI->ProMini seit einigen Wochen ohne Probleme.

Gruß

Markus

Ranseyer

Keine konkrete Idee. Aber ich habe die Sketche von der MySensors Seite zum Test genommen. Also kein 2.2 Beta, sondern V2.0.
Ob es daran liegen kann weiss ich nicht.
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!

Markus.

#48
Ich prbiers mal mit der V2.0...
iRQ ist gebrückt und 10yF Elko habe ich auch mal getestet aber selbes Problem.
Gruß

Markus

Markus.

Also die 2.0 scheint nicht mehr verfügbar bei MySensors. Hab dann mal die 2.1.0 und 2.1.1probiert.
Startup okay aber dann nix mehr...

0;255;3;0;9;MCO:BGN:INIT GW,CP=RRNGA--,VER=2.1.1
0;255;3;0;9;TSM:INIT
0;255;3;0;9;TSF:WUR:MS=0
0;255;3;0;9;TSM:INIT:TSP OK
0;255;3;0;9;TSM:INIT:GW MODE
0;255;3;0;9;TSM:READY:ID=0,PAR=0,DIS=0
0;255;3;0;9;MCO:REG:NOT NEEDED
0;255;3;0;14;Gateway startup complete.
0;255;0;0;18;2.1.1
0;255;3;0;9;MCO:BGN:STP
0;255;3;0;9;MCO:BGN:INIT OK,TSP=1


Gruß
Markus

Markus.

Seltsam ist, das am VCC Pin des RFMs nur 2,16 V anliegen. Der FTDI liefert 3,3V. Dann wäre dieses Verhalten ja klar. Aber wo geht die Spannung flöten ? :-(
Bei den anderen Boards verwende ich Step-up Booster für die Radiospannung. Nur weiß ich im Moment nicht wo ich den Booster auf dem PCB anschliessen könnte...

Gruß

Markus

Ranseyer

Hi,

A) Bei mir läuft es problemlos

B) Ich verstehe nichtr warum. Grund: Schau mal den Schaltplan an und suche nach "3,3V" : https://raw.githubusercontent.com/ranseyer/home-automatics/master/MySensors-HM-easy-RFM-NRF-CC1101-RS485/Schematic010.png
Einer der drei Punkte die ich gesehen habe müsste mit VCC verbunden werden (der geschickteste)

Was ich nicht verstehe: über welchen Weg kommte die Spannung (bei mir 2,9V Anfangs  bis 2,1V) später an den TRX ?
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

Ein guter Weg könnte sein vom AMS117 zum ATSHA204 ... Ich probiert das gleich mal.
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!

Markus.

Was ich ja nicht ganz verstehe ist, VCC müsste doch überall 3,3v sein. Wenn ich am vcc pin messe wo eigentlich der cc1101 hin soll, habe ich auch nur 2,1v. Das pcb hab ich nicht geteilt. Mal ne blöde frage, von wo werden denn die Radios versorgt rein verbindungstechnisch? Oder hab ich da irgendwo ne brücke vergessen ?

Gruss

Markus

Ranseyer

#54
So geht es.

Zitatvon wo werden denn die Radios versorgt rein verbindungstechnisch?
Von VCC sollen diese versorgt werden. Aber im Schaltplan sind noch drei "Typos". 3,3V sollte durch VCC ersetzt werden. Und außer man will RS485 nutzen sollte VCC immer 3,3V haben.
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!

Markus.

sieht besser aus... :-)
jetzt hab ich 3,3 V am Radio VCC.. Mal sehen ob sich das Problem nun erledigt hat.

Gruß

Markus

Markus.

juhuuuu das wars :-)

Funzt nun einwandfrei.. :-)

Viiiielen Dank !!


__  __       ____
|  \/  |_   _/ ___|  ___ _ __  ___  ___  _ __ ___
| |\/| | | | \___ \ / _ \ `_ \/ __|/ _ \| `__/ __|
| |  | | |_| |___| |  __/ | | \__ \  _  | |  \__ \
|_|  |_|\__, |____/ \___|_| |_|___/\___/|_|  |___/
        |___/                      2.2.0-beta

0;255;3;0;9;53 MCO:BGN:INIT GW,CP=RRNGA---,VER=2.2.0-beta
0;255;3;0;9;83 TSM:INIT
0;255;3;0;9;92 TSF:WUR:MS=0
0;255;3;0;9;100 TSM:INIT:TSP OK
0;255;3;0;9;108 TSM:INIT:GW MODE
0;255;3;0;9;118 TSM:READY:ID=0,PAR=0,DIS=0
0;255;3;0;9;129 MCO:REG:NOT NEEDED
0;255;3;0;14;Gateway startup complete.
0;255;0;0;18;2.2.0-beta
0;255;3;0;9;141 MCO:BGN:STP
0;255;3;0;9;163 MCO:BGN:INIT OK,TSP=1
0;255;3;0;9;184369 TSF:MSG:READ,106-106-0,s=1,c=1,t=0,pt=7,l=5,sg=0:19.8
106;1;1;0;0;19.8
0;255;3;0;9;184571 TSF:MSG:READ,106-106-0,s=1,c=1,t=0,pt=7,l=5,sg=0:19.8
106;1;1;0;0;19.8
0;255;3;0;9;184778 TSF:MSG:READ,106-106-0,s=1,c=1,t=0,pt=7,l=5,sg=0:19.8
106;1;1;0;0;19.8
0;255;3;0;9;184807 TSF:MSG:READ,106-106-0,s=0,c=1,t=1,pt=7,l=5,sg=0:62.1
106;0;1;0;1;62.1
0;255;3;0;9;185012 TSF:MSG:READ,106-106-0,s=0,c=1,t=1,pt=7,l=5,sg=0:62.1
106;0;1;0;1;62.1
0;255;3;0;9;185217 TSF:MSG:READ,106-106-0,s=0,c=1,t=1,pt=7,l=5,sg=0:62.1
106;0;1;0;1;62.1
0;255;3;0;9;185421 TSF:MSG:READ,106-106-0,s=0,c=1,t=1,pt=7,l=5,sg=0:62.1
106;0;1;0;1;62.1
0;255;3;0;9;185452 TSF:MSG:READ,106-106-0,s=255,c=3,t=0,pt=1,l=1,sg=0:89
106;255;3;0;0;89
0;255;3;0;9;185485 TSF:MSG:READ,106-106-0,s=3,c=1,t=38,pt=7,l=5,sg=0:3.66
106;3;1;0;38;3.66
0;255;3;0;9;185690 TSF:MSG:READ,106-106-0,s=3,c=1,t=38,pt=7,l=5,sg=0:3.66
106;3;1;0;38;3.66
0;255;3;0;9;185896 TSF:MSG:READ,106-106-0,s=3,c=1,t=38,pt=7,l=5,sg=0:3.66
106;3;1;0;38;3.66
0;255;3;0;9;186101 TSF:MSG:READ,106-106-0,s=3,c=1,t=38,pt=7,l=5,sg=0:3.66
106;3;1;0;38;3.66
0;255;3;0;9;186306 TSF:MSG:READ,106-106-0,s=3,c=1,t=38,pt=7,l=5,sg=0:3.66
106;3;1;0;38;3.66



Dann kann ich ja jetzt mein freiluftverkabeltes Gateway austauschen... :-)

Gruß

Markus

Markus.

Mal Ne Frage die eigentlich nichts unmittelbar hiermit zu tun hat.. Und zwar RSSI Wert. Ich habe jetzt mal eine SMA Antenne drauf gepackt und mit einem Testsketch für RFM (send / receive)getestet. Entfernung etwa 15 Meter durch 3 Wände. Hab da einen Wert von -33. Muss der Wert eigentlich höher sein um besser zu sein oder geht das?
Gruß
Markus

DerFrickler


RaspiLED

Hi,
Mal einfacher alles zwischen 0, -30 bis -70 dBm ist gut, danach wird es schwierig und ab -90 dBm unwahrscheinlich

https://www.metageek.com/training/resources/understanding-rssi.html

Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...