Arduino Asksin library

Begonnen von trilu, 06 August 2013, 10:02:17

Vorheriges Thema - Nächstes Thema

daschauher

#915
Naja, ich War wohl zu voreilig mit der Aussage das es nun prima läuft.
Der nano hängt nur nicht mehr.  Das ist alles. Im Prinzip bin ich auf dem gleichen stand wie viegener,
nur das bei mir nicht mal das Device in fhem auftaucht,  also das pairen nicht funktioniert.
Beim durchlesen der letzten 25 seien hier hatte ich eigentlich das Gefühl das es schon ziemlich gut läuft.

Kann es vielleicht sein das die 16 MHz mit der der nano läuft das problem sind?
Ich denke was von benötigten 8MHz gelesen zu haben.
Wenn ja stellt sich die Frage was man da tun kann, kann man das wo umstellen oder muss man die fuses im nano ändern was dann vermutlich nur mittels ISP geht.

Wäre super wenn mir das jemand bestätigen kann, bevor es eine sackgasse ist und ich zuviel zeit da rein stecke.

Viele Grüße
Markus

Jochen222

Zitat von: ckaytwo am 16 August 2015, 21:25:00
Guten abend.
Da die Fehlerquellen bei diesem Projekt schier unendlich sind und ich mir heute nach Anschluss des TRX868 aus einem 4fach aktor beinahe auch meinen neuen usb seriell adapter gegrillt habe, würde ich gerne wissen ob mein vorhaben auch erfolgversprechend ist.


Ich bin auch gerade dabei die "New Asksin" auszuprobieren. Vermutlich ist dir was ähnliches passiert wie mir:

Als ich das schmale TRX868 Modul aus dem HM 8 Kanal Sendemodul mit dem Arduino 328p, 3,3V verbunden habe ist mir aufgefallen, dass folgende Zeichnung nicht stimmen kann:

http://www.fhemwiki.de/wiki/Datei:2013-11-13_-_Fritzing-Screenshot_-_schmal_-CutUSM_800x601_85P.jpeg

Wenn man von oben auf die Metallabschirmung schaut (Antenne oben) ist PIN 1 (VCC) unten links und NICHT oben links.

Das konnte ich anhand der Bauanleitung für das 8-Kanal Sendemodul soweit entziffern.


Jochen222

Hallo,

vielleicht kann mir jemand auf die Sprünge helfen:

Ich möchte mir mit Hilfe der "New Askin" Library eigene Sensoren bauen (wie z.B.  2x DS18B20 an einem Arduino, bei gewisser Temp-Differenz/Zeiteinheit soll ein Schaltevent ausgelöst werden -> f. Zirkulationspumpensteuerung).

Ich verwende kein FHEM, sondern eine CCU2!

Aktuell habe ich mir zum Testen / Einarbeiten mal die folgende Hardware aufgebaut:

- TRX Modul aus dem Homematic 8-Kanal Sendemodul
- Arduino 328p 8Mhz 3,3V + Ext LDO
- LED an Pin 3 gegen GND
- LED an Pin 4 gegen GND
- Taster an PIn 8 gegen GND (ohne Pullup)

- Das Beispiel "HM_LC_SW1_BA_PCB" mittels Arduino 1.6.4 unverändert aufgespielt

-> Über die serielle Schnittstelle meldet sich der Arduino auch über die Konsole in der Arduino GUI

Nach meiner Vorstellung sollte ich doch nun druch Drücken des Tasters das Gerät in der CCU2 über die ubliche Vorgehensweise anmelden können...

---> Dies habe ich allerdings nicht hinbekommen!?

Läuft die Lib bzw. das o.g. Beispiel evtl. nur mit FHEM oder sollte das auch mit der CCU2 funktionieren?

Jochen








Telekatz

Zitat von: Jochen222 am 25 September 2015, 21:12:03
- TRX Modul aus dem Homematic 8-Kanal Sendemodul

Schau mal auf dem Sendemodul nach, ob es ein TRX868-TFK-TI oder ein TRX868-TFK-SL ist. Es funktioniert nur mit einem TRX868-TFK-TI.

Jochen222

Zitat von: Telekatz am 25 September 2015, 21:48:18
Schau mal auf dem Sendemodul nach, ob es ein TRX868-TFK-TI oder ein TRX868-TFK-SL ist. Es funktioniert nur mit einem TRX868-TFK-TI.

Hallo,

in der Tat, es ist das Modul "TRX868-TFK-SL"!  Wie unterscheiden sich die Module denn? Ich dachte es ist nur ein CC1101 Transceiver verbaut...

Jochen

Telekatz

Im TRX868-TFK-SL ist ein Si4431 von Silicon Labs verbaut. Der CC1101 ist im TRX868-TFK-TI verbaut.

Bennemannc

Hallo,

mal eine Frage an die Spezialisten. Ich habe auf einen Panstamp ein Beispiel aus den AskSin Sketches aufgespielt. Eigentlich nur so zum testen. Es funktioniert, aber .....
Wenn ich jetzt wieder einen Sketch aus der SWAP Reihe aufspiele, verhält sich der Panstamp nicht mehr richtig. Als Sender kommt an dem anderen Ende (Modem Sketch) nichts an, und mit dem Modem Sketch werden nicht alle Geräte eimpfangen.
Kann es sein, das in der AskSin Bibliothek etwas in den CC1101 Registern verstellt wird, was auch mit SWAP toFactoryDefaults() nicht zurück gesetzt wird ?

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

trilu

Uhi - hier hat sich ja richtig was getan. Irgendwie schaltet sich bei dem Board immer wieder die Benachrichtigung aus...

ZitatEigentlich nur so zum testen. Es funktioniert, aber .....
Wenn ich jetzt wieder einen Sketch aus der SWAP Reihe aufspiele, verhält sich der Panstamp nicht mehr richtig. Als Sender kommt an dem anderen Ende (Modem Sketch) nichts an, und mit dem Modem Sketch werden nicht alle Geräte eimpfangen.
Kann es sein, das in der AskSin Bibliothek etwas in den CC1101 Registern verstellt wird, was auch mit SWAP toFactoryDefaults() nicht zurück gesetzt wird ?
Ich kann mir nur vorstellen das es am EEprom Inhalt liegt. Die Register des CC1101 lassen sich nicht dauerhaft setzen. Die sind auf default, wenn die Stromzufuhr getrennt wurde.

ZitatLäuft die Lib bzw. das o.g. Beispiel evtl. nur mit FHEM oder sollte das auch mit der CCU2 funktionieren?
Bis auf die AES Kommunikation sollte sich die Lib wie das Original verhalten, folglich sollte sich der PCB Sketch auch an der CCU2 anlernen lassen.

ZitatKann es vielleicht sein das die 16 MHz mit der der nano läuft das problem sind?
Die Lib hat zwei Ableitungen von der CPU Frequenz - Timer und SPI. Die musst Du anpassen und dann sollte es auch mit 16 MHz klappen.

Zitat- sowohl CC_CS_PIN als auch CC_GDO0_PIN sind als PORTB2 definiert. Ich vermute es sollte wohl PORTD2 heistten, das ist zwar unkritisch, weil die Definition auf denselben Wert lautet, war aber verwirrend
- In den Beschriebungen finde ich keinen Pin für GD02, allerdings macht zumindest das CC1101-Modul Gebrauch von Daten dieses Pins?
Für die Lib reicht der GDO0 Pin, über GDO2 könnte man weitere Dinge vom CC1101 signalisieren lassen, brauch ich aber nicht :-)
Im Normalfall sollte auch kein User an der hardware.h schrauben müssen. Ziel der Lib ist es, sie einzubinden und sich ausschließlich auf die ino zu konzentrieren...

ZitatIch möchte 6 taster und ein display anschließen. Nach tastendruck soll von fhem ein text als string versendet werden der dann auf dem display erscheint.
Ist das grundsätzlich machbar oder ist das hier der falsche ansatz?
Soll das Display auch Sachen von der Zentrale empfangen? Das mit den Tastern ist machbar, ich muss mich endlich mal an das Key Modul setzen. Es wird ein Beispielsketch für Taster folgen...

ZitatDazu habe ich einen Taster an Pin 8, der default HIGH angeschlossen ist und bem Betätigen auf Low
==> Ist das so richtig, ich habe dazu irgendwie keine Infos gefunden?

An FHEM betreibe ich ein HMLAN.

Beim Pairen mit dem HMLAN wird ein Device angelegt (2 mal mehr als 3 sekunden auf die Taste), allerdings ist das beste was ich erreichen kann ein
State: RESPONSE TIMEOUT:RegisterRead

Sobald ich versuche ein getConfig oder unpair auszuführen geht fast sofort der HMlan in den overload (1%-Regel)

Ich kann zwar mit dem Taster schalten, aber ist der HM_LC_SW1_BA_PCB offensichtlich selebr nicht der Ansicht er sei gepaired und sendet alle Komandos (toggle) als broadcast.
Taster ist low aktiv. Den Port setze ich auf High und mit dem Taster wird er auf Masse gezogen. Poste doch mal ein Log des Pairing Versuch.

Bennemannc

Hallo Trilu,

mit dem Panstamp das ist irgendwie sehr komisch. Ich habe auch schon mit Daniel darüber geschrieben, aber auch der weiß keinen Rat.
Also Modem bekommt er nur Daten von einem Gerät, das andere wird nicht empfangen. Als Sender kommen keine Daten am Fhem Modem an, wenn ich aber den HM_LC_SW1_BA_PCB Sketch draufschreibe, sendet und empängt er. Sehr komisch - alles ausprobiert, auch toFactoryDefault ohne Erfolg. Der will anscheinend ein HM-Device werden.
Den Sketch mit dem Taster würde ich gerne flashen, aber leider wird der so wie er jetzt ist sehr komisch in Fhem angelegt. Am Device kann man nichts einstellen und irgendwie wird das als "global" angelegt, so das ich am Device alle möglichen reading anderer Geräte sehe. Dann scheint das Teil keine eigene HM ID zu haben. Von daher bin ich schon sehr auf einen neuen Taster-Sketch gespannt.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

daschauher

Hallo Trilu,

nun habe ich das mit einem pro mini mit 8mhz ausprobiert. leider funktioniert auch hier nichts.
ich habe einen rf1100se , wie auch beim wiki vom nano cul beschrieben wird.
aber nicht die 868er, sondern die 433er Version.
Ich dachte die register der 433er version werden umgeschrieben so dass auf 868 gesendet wird, nur mit weniger leistung/reichweite.
kannst du das bestätigen oder liegt hier das problem?

ich wäre schon mega glücklich wenn ich deine beispiele zum laufen bekommen könnte.

Gruß Markus

Dirk

Hi Marcus,

die 868er und 433er Version unterscheidet sich lediglich hardwareseitig in der Antennenanpassung.
Daher spielt das hier für die Registersettings keine Rolle.

Viele Grüße
Dirk

daschauher

Hallo Dirk,

vielen dank für diene Antwort. Das bedeutet es sollte eigentlich funktionieren.
Dann werde ich nochmal alles von neuem aufbauen, vielleicht hat sich irgendwo ein Fehler eingeschlichen...

Ich habe mich mit der Bauteilerstellung von Fritzing noch nicht beschäftigt. Aber falls zufällig jemand von dem RF1100SE ein Bauteil für mich hat, würde ich die Schaltung nach meinem Wissensstand zeichnen, mit euch abstimmen und der Allgemeinheit zur Verfügung stellen.

viele Grüsse
Markus


trilu

ich habe eben den pcb sketch noch einmal überarbeitet und getestet - das ding funktioniert...
hardwareseitig ist nicht viel nötig - wenn ihr einen panstamp nutzt, dann muss nur ein taster gegen ground an pin d8.
d1 ist der schaltausgang.
d4 und d6 gegen masse eine zwei farb led als statusanzeige.

wenn ihr keinen panstamp habt, dann braucht ihr ein cc1101 modul.
so ein cc1101 modul hat folgende anschlüsse

VCC  -> 3Volt
GND -> Ground
SI -> Slave in - muss also beim AVR an MOSI (master out slave in) PB3
SCLK -> Serial clock - muss beim AVR an PB5
SO -> Slave out - also beim AVR an MISO (master in slave out) PB4
GDO2 -> Digital output, wird bei NewAskSin nicht benötigt
GDO0 -> Digital output, zeigt dem AVR an, das Pakete empfangen wurden - AVR PD2 (int0)
CSN -> Chip select, zum adressieren am SPI Bus - AVR PB2

ich gehe davon aus, dass dieses RF1100SE genau die selben anschlüsse hat :-)

wenn die hardware soweit steht, dann kompiliert ihr den HM_LC_SW1_BA_PCB sketch aus dem ordner examples und ladet ihn auf euren AVR.
danach müsstet ihr in der seriellen console so etwas sehen:
Opening port
Port open
HM_LC_SW1_BA_PCB
AskSin-Lib V 0.2.2
PowerMode: 0
initRly: 1
SN.
RV.
HMID: 58 23 FF, MAID: 00 00 00


wenn das nicht in der console erscheint, ist vermutlich mit der hw was nicht ok, also fehlersuche...

wenn der oben gezeigte text erscheint, ist euer pcb-sketch fertig zum anlernen. ccu oder fhem in den anlernmodus schalten und lange (2 sekunden) auf den taster drücken.
dann erscheint so etwas:

<- 1A 03 A0 00 58 23 FF 63 19 63 10 00 6C 58 4D 53 31 32 33 34 35 36 37 00 41 01 00 (2502486)
m> 0A 03 80 02 63 19 63 58 23 FF 00 (2502630)


oder so ähnlich - meiner ist ja schon angelernt :-)
<- ist das zeichen das der string von eurer hw gesendet wurde
m> das eure zentrale geantwortet hat...

wenn etwas nicht funktioniert, ist es immer hilfreich hier ein kurzes protokoll der seriellen konsole mit rein zu stellen, dann kann man erkennen ob es an der hw liegt, oder an den einstellungen oder was auch immer

viele grüße
horst

daschauher

hallo horst,

danke für die erklärung der belegung.
ich war da wohl etwas daneben gelegen. aber so ganz funktioniert es immer noch nicht.
der ausgang lässt sich ein- und ausschalten, wenn ich das richtig interpretiere wird auch an die zentrale gefunkt, aber von dort gibt es keine antwort. im event monitor von fhem kommt auch nichts an. ich weiß nicht ob das immer schon war, aber der hmlan meldet ab und zu loadLvl: low wenn ich den pairing taster für 2 sekunden drücke. ich habe allerdiings auch einen cuno und verwende die vccu.

hier ist das was von der seriellen raus kam. vielleicht kannst du was etwas erkennen?
HM_LC_SW1_BA_PCB
AskSin-Lib V 0.2.2
PowerMode: 0
initRly: 1
SN.
RV.
HMID: 58 23 FF, MAID: 00 00 00

<- 0E 00 80 10 58 23 FF 00 00 00 06 01 00 00 00 (1939)
switchRly: 1, 200
<- 0E 01 80 10 58 23 FF 00 00 00 06 01 C8 00 00 (19269)
switchRly: 1, 0
<- 0E 02 80 10 58 23 FF 00 00 00 06 01 00 00 00 (23726)
<- 1A 03 80 00 58 23 FF 00 00 00 10 00 6C 58 4D 53 31 32 33 34 35 36 37 00 41 01 00 (43746)
switchRly: 1, 200
<- 0E 04 80 10 58 23 FF 00 00 00 06 01 C8 00 00 (62012)
<- 1A 05 80 00 58 23 FF 00 00 00 10 00 6C 58 4D 53 31 32 33 34 35 36 37 00 41 01 00 (65589)
<- 1A 06 80 00 58 23 FF 00 00 00 10 00 6C 58 4D 53 31 32 33 34 35 36 37 00 41 01 00 (104892)
switchRly: 1, 0
<- 0E 07 80 10 58 23 FF 00 00 00 06 01 00 00 00 (150258)
<- 1A 08 80 00 58 23 FF 00 00 00 10 00 6C 58 4D 53 31 32 33 34 35 36 37 00 41 01 00 (155457)
<- 1A 09 80 00 58 23 FF 00 00 00 10 00 6C 58 4D 53 31 32 33 34 35 36 37 00 41 01 00 (182732)
switchRly: 1, 200
<- 0E 0A 80 10 58 23 FF 00 00 00 06 01 C8 00 00 (194489)


viele grüsse
markus

trilu

ein und ausschalten funktioniert und es wird auch der status gesendet.
<- 0E 00 80 10 58 23 FF 00 00 00 06 01 00 00 00 (1939)
switchRly: 1, 200
<- 0E 01 80 10 58 23 FF 00 00 00 06 01 C8 00 00 (19269)
switchRly: 1, 0


zum starten des pairings ist dieser string
<- 1A 03 80 00 58 23 FF 00 00 00 10 00 6C 58 4D 53 31 32 33 34 35 36 37 00 41 01 00 (43746)

er wird aber nicht beantwortet...

das kann eigentlich nur zwei gründe haben, dein funkmodul sendet den string nicht oder deine zentrale beantwortet ihn nicht.
dein log ist etwa 3 minuten lang, mich wundert es ein wenig dass ich gar keine HM status meldungen darin sehe. das könnte daran liegen, dass du wenig geräte hast, oder das dein modul nicht empfängt...

such dir mal bitte die datei cc1101.cpp im lib verzeichnis und ändere entferne das auskommentieren bei m #define ganz oben
#define CC_DBG
#include "CC1101.h"

// private: //---------------------------------------------------------------------------------------------------------
CC::CC() {
}

void    CC::init(void) { // initialize CC1101

danach speichern, sketch neu kompilieren und auf die hw laden. das uploadfile müsste jetzt etwas größer geworden sein...
cc1101 dient der ansteuerung des funkmoduls, mit dem parameter #define CC_DBG werden zusätzliche ausgaben in der seriellen konsole gemacht.
poste diese mal bitte.

viele grüße
horst