AskSin++ Library

Begonnen von papa, 08 September 2016, 11:11:25

Vorheriges Thema - Nächstes Thema

papa

BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Gruenebe

ok, das deckt sich dann ja mit meiner Zuordnung, nur dass A2 noch der Sabotagepin ist.

An der Beschaltung kann es also nicht liegen.

papa

Wie sieht denn die Hardware aus ?
Welche Entwicklungsumgebung benutzt Du ?
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Gruenebe

Ich benutze einen Arduino Pro Mini V2   der mit 8Mhz und 3,3V läuft.

Als IDE arbeite ich mit der Arduino IDE V1.85

Wie im ersten Post ja schon geschrieben, werden die Pineingaben an A0, A1 und A2 auch erkannt.
Habe mir dazu mal zum Debuggen in Threestate.h in den beiden readPin-Funktionen den Value ausgeben lassen
und sehe dort, dass die Pinänderung ankommt.

papa

Kannst Du bitte nochmal mehrere Messages aufzeichnen. Also A0 drücken - Message - loslassen - Message - A1 drücken - Message - loslassen - Message.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Gruenebe

A0 gedrückt
<- 0C 11 A2 41 095634 45FB6E 01 08 00  - 52487
-> 11 11 A0 02 45FB6E 095634 04 CA 38 00 00 38 0E 02  - 52620
waitAck: 01

A0 losgelassen
<- 0C 12 A2 41 095634 45FB6E 01 09 C8  - 53147
-> 11 12 A0 02 45FB6E 095634 04 A3 0B 00 00 0B 02 02  - 53281
waitAck: 01

A1 gedrückt
<- 0C 13 A2 41 095634 45FB6E 01 0A 64  - 53809
-> 11 13 A0 02 45FB6E 095634 04 13 1A 00 00 1A 06 02  - 53942
waitAck: 01

A1 losgelassen
<- 0C 14 A2 41 095634 45FB6E 01 0B C8  - 54470
-> 11 14 A0 02 45FB6E 095634 04 1B 6C 00 00 6C 1B 02  - 54603
waitAck: 01

A2 gedrückt
<- 0E 15 A2 10 095634 45FB6E 06 01 C8 0E 51  - 55133
-> 11 15 A0 02 45FB6E 095634 04 88 42 00 00 42 10 02  - 55267
waitAck: 01

A2 losgelassen
<- 0E 16 A2 10 095634 45FB6E 06 01 C8 00 51  - 55797
-> 11 16 A0 02 45FB6E 095634 04 5E 0B 00 00 0B 02 02  - 55931
waitAck: 01

ignore 0C F6 84 70 3C6DD3 000000 00 EC 3B  - 56179

A0 gedrückt
<- 0C 17 A2 41 095634 45FB6E 01 0C 00  - 56458
-> 11 17 A0 02 45FB6E 095634 04 E1 6F 00 00 6F 1B 02  - 56592
waitAck: 01

A0 losgelassen
<- 0C 18 A2 41 095634 45FB6E 01 0D C8  - 57120
-> 11 18 A0 02 45FB6E 095634 04 F9 48 00 00 48 12 02  - 57254
waitAck: 01

ignore 0C 0D A0 11 45FB6E 40CC07 02 01 C8  - 57542
ignore 0E 0D 80 02 40CC07 45FB6E 01 01 C8 00 33  - 57669

A1 gedrückt
<- 0C 19 A2 41 095634 45FB6E 01 0E 64  - 57783
-> 11 19 A0 02 45FB6E 095634 04 9B 34 00 00 34 0D 02  - 57917
waitAck: 01

A1 losgelassen
<- 0C 1A A2 41 095634 45FB6E 01 0F C8  - 58447
-> 11 1A A0 02 45FB6E 095634 04 D4 79 00 00 79 1E 02  - 58582
waitAck: 01

A2 gedrückt
<- 0E 1B A2 10 095634 45FB6E 06 01 C8 0E 52  - 59110
-> 11 1B A0 02 45FB6E 095634 04 32 41 00 00 41 10 02  - 59244
waitAck: 01

ignore 14 16 84 5E 44B144 000000 8B 4B 70 00 00 00 00 00 09 25 FE  - 59528
ignore 0C 9E 86 5A 3C9586 000000 28 EF 2F  - 59641

A2 losgelassen
<- 0E 1C A2 10 095634 45FB6E 06 01 C8 00 57  - 59771
-> 0C 1D 84 70 3C93DB 000000 00 EE 33  - 59854
-> 11 1C A0 02 45FB6E 095634 04 B0 5E 00 00 5E 17 02  - 59908
waitAck: 01

A0 gedrückt
<- 0C 1D A2 41 095634 45FB6E 01 10 00  - 60431
-> 0C E1 86 5A 3C93C1 000000 88 FB 2F  - 60504
-> 11 1D A0 02 45FB6E 095634 04 21 2D 00 00 2D 0B 02  - 60567
waitAck: 01

A0 losgelassen
<- 0C 1E A2 41 095634 45FB6E 01 11 C8  - 61092
-> 11 1E A0 02 45FB6E 095634 04 17 07 00 00 07 01 02  - 61227
waitAck: 01

A1 gedrückt
<- 0C 1F A2 41 095634 45FB6E 01 12 64  - 61753
-> 11 1F A0 02 45FB6E 095634 04 72 0E 00 00 0E 03 02  - 61887
waitAck: 01

A1 losgelassen
<- 0C 20 A2 41 095634 45FB6E 01 13 C8  - 62415
-> 11 20 A0 02 45FB6E 095634 04 88 6F 00 00 6F 1B 02  - 62550
waitAck: 01

A2 gedrückt
<- 0E 21 A2 10 095634 45FB6E 06 01 C8 0E 52  - 63078
-> 11 21 A0 02 45FB6E 095634 04 D6 76 00 00 76 1D 02  - 63211
waitAck: 01

ignore 0C 19 A0 11 45FB6E 3E0B49 02 01 C8  - 63428
ignore 0E 19 80 02 3E0B49 45FB6E 01 01 C8 00 49  - 63555

A2 losgelassen
<- 0E 22 A2 10 095634 45FB6E 06 01 C8 00 54  - 63739
-> 11 22 A0 02 45FB6E 095634 04 55 4C 00 00 4C 13 02  - 63874
waitAck: 01

Bei A2 wird als Sabotagemessage in der CCU erkannt. A0 & A1 keine Änderung.

papa

Also die Nachrichten sehen alles bestens aus:

A0 gedrückt
<- 0C 11 A2 41 095634 45FB6E 01 08 00  - 52487
-> 11 11 A0 02 45FB6E 095634 04 CA 38 00 00 38 0E 02  - 52620
waitAck: 01
Im Event wird 00 gesendet -> das Fenster ist geschlossen

A0 losgelassen
<- 0C 12 A2 41 095634 45FB6E 01 09 C8  - 53147
-> 11 12 A0 02 45FB6E 095634 04 A3 0B 00 00 0B 02 02  - 53281
waitAck: 01
Im Event wird 200 gesendet -> das Fenster ist offen

A1 gedrückt
<- 0C 13 A2 41 095634 45FB6E 01 0A 64  - 53809
-> 11 13 A0 02 45FB6E 095634 04 13 1A 00 00 1A 06 02  - 53942
waitAck: 01
Im Event wird 100 gesendet -> das Fenster ist angekippt

A1 losgelassen
<- 0C 14 A2 41 095634 45FB6E 01 0B C8  - 54470
-> 11 14 A0 02 45FB6E 095634 04 1B 6C 00 00 6C 1B 02  - 54603
waitAck: 01
Im Event wird 200 gesendet -> das Fenster ist wieder offen

Von der CCU kommt auch immer schon die Bestätigung - UPS NÖ - ich sehe gerade, es kommt eine AES-Challange - Du hast ohne AES übersetzt. Dann musst Du bei der CCU die sichere Verbindung deaktivieren oder mit AES übersetzen. Bitte im Readme nach sehen, wie das geht.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Gruenebe

Ok. Danke.

Habe jetzt das AES im Sketch definiert und nun funktioniert es.


Noch eine generelle Frage.

Die Pinabfrage in Threestate.h erfolgt doch über die readPin Funktionen per Polling.

Warum werden die Pins nicht per Interrupt ausgelöst? EnableInterrupt ist im Sketch ja included.

Wird dann das Timing der CC1101 Kommunikation, welche nehme ich an interruptbasiert arbeitet, gestört, wenn noch weitere ISRs loslaufen?


papa

Das Polling wird genutzt, um die Batterie zu schonen. Für Interrupts müssten die Pins dauerhaft auf INPUT_PULLUP gesetzt werden. Das benötigt zu viel Energy. Im Fensterkontakt-Thread gab es eine tiefere Analyse dazu.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

neumann

Hey Leute!
Ich bräuchte einen simplen Sensor, der 32 Bit Worte senden und empfangen kann.
Könnt ihr mir da helfen?

Lg
Modulentwickler
- Spotify #72490
- Nello #75127

papa

Zitat von: neumann am 29 September 2018, 14:23:34
Hey Leute!
Ich bräuchte einen simplen Sensor, der 32 Bit Worte senden und empfangen kann.
Könnt ihr mir da helfen?
Na klar - https://forum.fhem.de/index.php/topic,57486.msg804110.html#msg804110
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

neumann

Zitat von: papa am 29 September 2018, 20:26:26
Na klar - https://forum.fhem.de/index.php/topic,57486.msg804110.html#msg804110

Vielen Dank!
Das Senden vom Sensor an FHEM klappt, nur weiß ich noch nicht, wie das in die andere Richtung funktioniert, also einen 32 Bit Wert an den Sensor zu schicken.
Modulentwickler
- Spotify #72490
- Nello #75127

papa

Was willst Du denn genau machen ? Das könnte etwas komplizierter werden.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

neumann

Ich will ein Gateway für meine Gegensprechanlage betreiben, das 32 Bit Worte vom Bus lesen und schreiben kann. Das will ich via FHEM mit einem CUL ansteuern.
Das Lesen klappt so bereits.
Modulentwickler
- Spotify #72490
- Nello #75127

neumann

Vielleicht gibt es ja einen Hacky Weg mit schreiben in ein Register oder verwenden eines Device Typs der das kann o.ä.
Modulentwickler
- Spotify #72490
- Nello #75127