NEWS
RFlink (LOS GEHT ES ) Bestellung d.Hardware (20€) + 5€ Spende an Forum f.d. Adapter (crowdfunding like :-)
-
Hi,
@lobomau:IObroker sagt zuerst es geht, erfolgreich… danach aber weiterhin Version 44.
<code>rflink.0 2017-01-06 12:42:08.166 error Cannot flash: Cannot init AvrFlash rflink.0 2017-01-06 12:42:08.165 error Cannot init AvrFlash na ja, "error Cannot Flash ..." und "error Cannot init..." ist nicht wirklich erfolgreich. Hast Du das ganze mal auf einem Raspi probiert? Nicht das es da Probleme im Windows-Umfeld gibt. Gruß, Eric Ja, richtig... erfolgreich sagte nur die Grafik, im log den Fehler habe ich gesehn. Ich habe es über iobroker host (ubuntu) probiert und direkt am PC. Als nächstes probiere ich mal direkt am Raspi3, der als Client läuft.</code> ``` ` `
-
Wo hängt bei dir der mega dran? Am brix mit VM?
Das wird dir nich unbedingt helfen
Hier steht aber auch, dass du die .hex Datei brauchst.
Mal in das Fenster reingeschoben oder mit Datei auswählen probiert.
Andererseits stört mich die Fehlermeldung
@lobomau:Cannot init AvrFlash `
Vielleicht kann maxtox was dazu sagen.
Gruß
Rainer
-
Hi Rainer,
schau Dir mal den Screenshot von lobomau an … es sieht tatsächlich so aus, als ob kein Hex-File ausgewählt wurde (zumindest lese ich das da). Warum dann aber so getan wird, als ob ein Upload stattfindet, ist spannend.
Gruß,
Eric
-
Wo hängt bei dir der mega dran? Am brix mit VM?
Das wird dir nich unbedingt helfen
Screenshot_20170106-130013.jpg
Hier steht aber auch, dass du die .hex Datei brauchst.
Mal in das Fenster reingeschoben oder mit Datei auswählen probiert.
Andererseits stört mich die Fehlermeldung
@lobomau:Cannot init AvrFlash `
Vielleicht kann maxtox was dazu sagen.
Gruß
Rainer `
Die .hex habe ich reingeschoben und auch ausgewählt. Beides geht nicht.Brix ist ohne VM.
Muss man beim download der .hex was beachten?
Ich habe da öffnen mit: ZIP Extractor ausgewählt. Die Datei landet dann bei meinem Google Drive von wo ich es dann runterlade. Wird unkompimiert runtergeladen. Diese .hex verwende ich dann. Ohne Erfolg.
-
Hi Rainer,
schau Dir mal den Screenshot von lobomau an … es sieht tatsächlich so aus, als ob kein Hex-File ausgewählt wurde (zumindest lese ich das da). Warum dann aber so getan wird, als ob ein Upload stattfindet, ist spannend.
Gruß,
Eric `
Ja, sieht erstmal alles gut aus…. aber nicht der log...
1146_2.jpg
1146_1.jpg -
ich habe auch ein Raspberry 3, und dort habe ich genau so eine Meldung bekommen, dass es geklappt hatte…
Die Anzeige unter "Arduini flashen" zeigte dennoch die alte v44 an. Ich habe dies ganze drei mal durchgespielt, danach habe ich es über den bekannten Weg am Laptop erledigt.
Was mir aufgefallen ist...
Das ein Mega über/dev/tty/USB0 angebunden ist - dies ist ein Arduino Mega vom Maxtox,
und der zweite was ich selbs gemacht habe findet diese /dev/tty/USB0 nicht, dafür steht etwas anderes (habe jetzt nicht im Kopf was) wird über /dev/tty/xxxxxx angebunden und läuft ebenso gut, wie dieses was ich von Maxtox bekommen habe.
dort könnte der Fehler sein!
-
Hallo,
wie kann ich ein RAW-Kommando absetzen?
z.B. das: 20;0E;Byron;ID=0097;SWITCH=01;CMD=ON;CHIME=01;
Gruß Marco
-
ich habe auch ein Raspberry 3, und dort habe ich genau so eine Meldung bekommen, dass es geklappt hatte…
Die Anzeige unter "Arduini flashen" zeigte dennoch die alte v44 an. Ich habe dies ganze drei mal durchgespielt, danach habe ich es über den bekannten Weg am Laptop erledigt.
Was mir aufgefallen ist...
Das ein Mega über/dev/tty/USB0 angebunden ist - dies ist ein Arduino Mega vom Maxtox,
und der zweite was ich selbs gemacht habe findet diese /dev/tty/USB0 nicht, dafür steht etwas anderes (habe jetzt nicht im Kopf was) wird über /dev/tty/xxxxxx angebunden und läuft ebenso gut, wie dieses was ich von Maxtox bekommen habe.
dort könnte der Fehler sein! `
Beim zweiten Versuch über einen weiteren PC hat es geklappt!Vorher hatte ich es nochmals über iobroker an einem Raspi1 probiert. Gleicher Fehler wie vorher über iobroker am brix.
-
Ich habe mit dem rf-link Adapter ein seltsames Problem.
Beim öffnen des Konfigurationfensters rutsch dieses jedesmal weiter nach rechts unten.
Jetzt ist es soweit weg, dass ich es kaum noch öffnen kann.
Ich hoffe man jann es erkennen. Es sind etwa 5 Bildschirme runter und zwei Bildschirme nach rechts.Hier sogar etwas aufgezoomt.
Alle anderen Konfigurationsfenster sind da wo sie hingehören.
Wie bekomme ich das Fenster wieder zentriert?
Gruß
Rainer
-
Moin Moin ,
mal zwei andere Fragen :
1. habt jemand von euch schon eine Wetterstation(433 mhz) im langzeiteinsatz ? (Empfehlenswert?)
2. Gibt es einen Helligkeitssensor der alle paar min den aktuellen Wert sendet
Natürlich zu einem erschwinglichen Preis [emoji12]
-
Hast du schonmal gelauscht, was die Nachbarn so haben? Unser Nachbar hat eine ganz gute… Hab mir das Geld gespart und kann ihm sogar Auskunft über seinen Batteriestand geben. Ich verzichte nun auf eine eigene.
-
Leider keiner dabei [emoji6]
Kannst du sehen was für ein Modell das ist ?
-
Es ist eine von Inovalley.
-
Danke!
Und wie sieht es bei den anderen mit einem "Lichtsensor" aus?
-
Noch jemand eine Idee für einen Lichtsensor
-
wen die sirene 433 empfängt, kannst du die handsender auslesen (siehe sketch in einem meiner beiträge) und dann dekodierst due es (an/aus) und meldest dich bei mir… dann geht es weiter
`
Das Teil ist heute angekommen.Habe an Sirene angelernt: Fernbedienung, Bewegungssensor und Türkontakt.
FB, BWM und TK finden sich bei rflink in den Objekten wieder.
Was muss ich jetzt machen, um die Sirene selbst abzubilden bzw. letzten Endes ist das Ziel über iobroker die Sirene auslösen zu können und scharf/unscharf zu stellen.
-
wen die sirene 433 empfängt, kannst du die handsender auslesen (siehe sketch in einem meiner beiträge) und dann dekodierst due es (an/aus) und meldest dich bei mir… dann geht es weiter
`
Das Teil ist heute angekommen.Habe an Sirene angelernt: Fernbedienung, Bewegungssensor und Türkontakt.
FB, BWM und TK finden sich bei rflink in den Objekten wieder.
Was muss ich jetzt machen, um die Sirene selbst abzubilden bzw. letzten Endes ist das Ziel über iobroker die Sirene auslösen zu können und scharf/unscharf zu stellen. `
Kannst Du die Sirene über die Fernbedienung auslösen? Du muß jetzt einen Weg finden, diese Sirene über den Funk EIN/AUS schalten zu können. Wenn das gegeben ist, so kann man das Teil auch für die Alarmanlage verwenden.
Jetzt kommt an sich die eigentliche Arbeit. Du brauchst einen Script für die Steuerung der Komponenten.
Ich veruche es mit Blockly. Ich habe 5 Fensterkontakte und drei Bewegungsmelder vorerst für den EG.
Dazu noch Licht, was ich im Falle eines Einbruchs einschalten könnte. Die Fenster-Rollos könnte ich auch alle hochfahren lassen. Es hängt alles vom Script ab, was geschehen soll. Dieses muß Du schreiben. Die Sirene, Bewegungsmelder und Türkontakte alleine ohne den Script sind nutzlos.
Also, vorerst prüfen, wie Du die Alarmsirene EIN/AUS schalten kannst.
Kannst Du ein Bild machen, wie sich die Sirene im RF-Link gemeldet hatte?
-
Ich versuche nun die Fernbedienung und Sirene zu dekodieren.
Habe hier gelesen http://forum.iobroker.net/viewtopic.php?f=35&t=3831 dass es einen Sketch gibt, nämlich:
! ```
`/*
Sketch zur Vorab-Analyse unbekannter 433-MHZ-Wettersensoren
und Fernbedienungen von 433MHz-Funksteckdosen
Inspiriert durch Beiträge im Arduino-Forum:
http://arduino.cc/forum/index.php/topic,119739.0.html
http://arduino.cc/forum/index.php/topic,136836.0.html
! Hardware:
1. Arduino-Board mit 433 MHz Regenerativempfänger für ASK/OOK,
angeschlossen an einem interruptfähigen Pin.
2. Funksensor entweder eines 433 MHz Funkthermometers
oder Funk-Wetterstation oder Steckdosen-Funkfernbedienung
! Analysiert werden können Sensoren mit folgendem Funkprotokoll:- extra langes Startbit (extra langer LOW Pulse am Receiver)
- langes 1-Datenbit (langer LOW Pulse am Receiver)
- kurzes 0-Datenbit (kurzer LOW Pulse am Receiver)
- sehr kurze Trenn-Impulse zwischen den Datenbits (sehr kurze HIGH-Impulse am Receiver)
- 20 bis 50 Datenbits pro Datenpaket
Diese Art Funkprotokoll trifft auf die meisten billigen 433 MHZ
Funkthermometer, Funk-Wetterstationen und Funk-Steckdosen zu.
! Ausgabe ueber den seriellen Monitor
Je erkanntem Datenpaket am Receiver wird ausgegeben:- Länge des Startbits (Mikrosekunden LOW) und des nachfolgenden HIGH-Impulses
- Anzahl der erkannten Datenbits im Datenpaket
- Länge aller erkannten Datenbits (Mikrosekunden LOW)
- Länge der zwischen den Datenbits erkannten Pausen (Mikrosekunden HIGH)
- die als 0/1-Bitstrom decodierten Datenbits des Datenpakets
! Nur Vorab-Analyse des Timings im Funkprotokoll!
In einem weiteren Schritt muss dann die Bedeutung der Bits
und die Umsetzung in Messwerte erst noch detalliert decodiert werden,
dieser Sketch erkennt nur das Timing und die Groesse der Datenpakete!
*/
! // connect data pin of rx433 module to a pin that can handle hardware interrupts
// with an Arduino UNO this is digital I/O pin 2 or 3 only
#define RX433DATAPIN 2
! // hardware interrupt connected to the pin
// with Arduino UNO interrupt-0 belongs to pin-2, interrupt-1 to pin-3
#define RX433INTERRUPT 0
! // Set speed of serial in Arduino IDE to the following value
#define SERIALSPEED 115200
! // Now make some suggestions about pulse lengths that may be detected
// minimum duration (microseconds) of the start pulse
#define MINSTARTPULSE 740
! // minimum duration (microseconds) of a short bit pulse
#define MINBITPULSE 250
! // minimum duration (microseconds) of a HIGH pulse between valid bits
#define MINHITIME 50
! // variance between pulses that should have the same duration
#define PULSEVARIANCE 250
! // minimum count of data bit pulses following the start pulse
#define MINPULSECOUNT 40
! // maximum count of data bit pulses following the start pulse
#define MAXPULSECOUNT 70
! // buffer sizes for buffering pulses in the interrupt handler
#define PBSIZE 216
! void setup()
{
Serial.begin(115200);
Serial.println();
Serial.println("Start!");
pinMode(RX433DATAPIN, INPUT);
attachInterrupt(RX433INTERRUPT, rx433Handler, CHANGE);
}
! volatile unsigned int pulsbuf[PBSIZE]; // ring buffer storing LOW pulse lengths
volatile unsigned int hibuf[PBSIZE]; // ring buffer storing HIGH pulse lengths
unsigned int validpulsbuf[MAXPULSECOUNT]; // linear buffer storing valid LOW pulses
unsigned int validhibuf[MAXPULSECOUNT]; // linear buffer storing valid HIGH pulses
! volatile byte pbread,pbwrite; // read and write index into ring buffer
! void rx433Handler()
{
static long rx433LineUp, rx433LineDown;
long LowVal, HighVal;
int rx433State = digitalRead(RX433DATAPIN); // current pin state
if (rx433State) // pin is now HIGH
{
rx433LineUp=micros(); // line went HIGH after being LOW at this time
LowVal=rx433LineUp - rx433LineDown; // calculate the LOW pulse time
if (LowVal>MINBITPULSE)
{ // store pulse in ring buffer only if duration is longer than MINBITPULSE
// To be able to store startpulses of more than Maxint duration, we dont't store the actual time,
// but we store MINSTARTPULSE+LowVal/10, be sure to calculate back showing the startpulse length!
if (LowVal>MINSTARTPULSE) LowVal=MINSTARTPULSE+LowVal/10; // we will store this as unsigned int, so do range checking
! pulsbuf[pbwrite]=LowVal; // store the LOW pulse length
pbwrite++; // advance write pointer in ringbuffer
if (pbwrite>=PBSIZE) pbwrite=0; // ring buffer is at its end
}
}
else
{
rx433LineDown=micros(); // line went LOW after being HIGH
HighVal=rx433LineDown - rx433LineUp; // calculate the HIGH pulse time
if (HighVal>31999) HighVal=31999; // we will store this as unsigned int
hibuf[pbwrite]=HighVal; // store the HIGH pulse length
}
}
! boolean counting;
byte i,counter;
int startBitDurationL,startBitDurationH,shortBitDuration,longBitDuration;
! void showBuffer()
// this function will show the results on the serial monitor
// output will be shown if more bits than MINPULSECOUNT have been collected
{
long sum;
int avg;
sum=0;
if (counter>=MINPULSECOUNT)
{ // only show buffer contents if it has enough bits in it
Serial.println();
Serial.print("Start Bit L: "); Serial.print((startBitDurationL-MINSTARTPULSE)10L);
Serial.print(" H: ");Serial.println(startBitDurationH);
Serial.print("Data Bits: ");Serial.println(counter);
Serial.print("L: ");
for (i=0;i<counter;i++) {/serial.print(validpulsbuf[i]);serial.print("/");/sum+="validpulsbuf[i];" }/serial.println();/serial.print("h:/for/(i="0;i<counter;i++)" serial.print(validhibuf[i]);serial.print("/avg="sum/counter;" calculate/the/average/pulse/length/then/assume/that/0-bits/are/shorter/than/avg,/1-bits/longer/if/(validpulsbuf[i]<avg)/serial.print('0');/else/serial.print('1');/counting="false;" counter="0;" void/loop()/long/lowtime,/hitime;/(pbread!="pbwrite)" check/data/in/ring/buffer/lowtime="pulsbuf[pbread];" read/from/hitime="hibuf[pbread];" cli();/interrupts/off/while/changing/pointer/ringbuffer/pbread++;/(pbread="">=PBSIZE) pbread=0;
sei(); // Interrupts on again
if (lowtime>MINSTARTPULSE) // we found a valid startbit!
{
if (counting) showBuffer(); // new buffer starts while old is still counting, show it first
startBitDurationL=lowtime;
startBitDurationH=hitime;
counting=true; // then start collecting bits
counter=0; // no data bits yet
}
else if (counting && (counter==0)) // we now see the first data bit
{ // this may be a 0-bit or a 1-bit, so make some assumption about max/min lengths of data bits that will follow
shortBitDuration=lowtime/2;
if (shortBitDuration<minbitpulse+pulsevariance) shortbitduration="MINBITPULSE;" else/shortbitduration-="PULSEVARIANCE;" longbitduration="lowtime2+PULSEVARIANCE;" validpulsbuf[counter]="lowtime;" validhibuf[counter]="hitime;" counter++;/}/if/(counting&&(lowtime="">shortBitDuration)&&(lowtime<longbitduration)) {/validpulsbuf[counter]="lowtime;" validhibuf[counter]="hitime;" counter++;/if/((counter="=MAXPULSECOUNT)" ||/(hitime<minhitime))/showbuffer();/}/else/low/pulse/is/too/short/(counting)/counting="false;" counter="0;" }<e=""></longbitduration))></minbitpulse+pulsevariance)></counter;i++)>`
Ist das der richtige, den ich auf den Arduino Mega mit rflink aufspiele?
! Habe den Sketch aufgespielt am PC mit Hilfe der Arduino Software. Klappt auch soweit.
! Dann rufe ich den seriellen Monitor auf... da steht nur "Start!"
! Beim Drücken der Fernbedienung passiert nichts.
! Wahrscheinlich habe ich es total falsch verstanden wie man da vorzugehen hat.
1146_unbenannt.jpg [/i][/i][/i][/i] -
Du kannst deinen Arduino mit der v.45 oder v44 vom Maxtox an den Windows Rechner anschliessen und in der Software vom Arduino auf die serielle Schnittstelle umstellen. Unter Werkzeuge ist ein serieller Monitor. Die Baudrahte ist 57200 Baut glaube ich. Dort sieht man einiges was dort passiert.
-
Du kannst deinen Arduino mit der v.45 oder v44 vom Maxtox an den Windows Rechner anschliessen und in der Software vom Arduino auf die serielle Schnittstelle umstellen. Unter Werkzeuge ist ein serieller Monitor. Die Baudrahte ist 57200 Baut glaube ich. Dort sieht man einiges was dort passiert. `
Ja, so habe ich gemacht. Mit dem Unterschied, dass ich Baud = 115200 ausgewählt (steht auch so im sketch). Nehme ich ich 57600 Baud, dann steht nicht "Start!" sondern "ŒŸîœþ" im seriellen Monitor.Ich denke ich muss den sketch anpassen… zB. steht dort:
` > // connect data pin of rx433 module to a pin that can handle hardware interrupts// with an Arduino UNO this is digital I/O pin 2 or 3 only
#define RX433DATAPIN 2 `
Muss dann wohl auf den richtigen pin vom Mega angepasst werden!?