Arduino Asksin library

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

Vorheriges Thema - Nächstes Thema

Dirk

Hab ich gestern in DevAES gemerged.

papa

Ok - dann gehe ich auch erst mal auf den DevAES
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

kadettilac89

Zitat von: Linef am 02 Mai 2016, 20:55:56
Was meinst Du mit Wandsender? Einen Sensor?

Einen Schalter müßtest Du ja mit cmSwitch realisieren können.

Einen Sensor mit der NewAskSin zu bauen - geht, ist aber noch ein Stück Arbeit, da manche Funktionen hierfür noch unfertig sind.
Ich habe mir selber einen TH-Sensor gebaut (mit der NewAskSin) - der läuft jetzt stabil gepeert mit einem RT-DN (nach einigen Anfangsproblemen). Jetzt kommen noch ein paar Einstellmöglichkeiten hinzu...

Martin

Hallo Linef,

TH = Temperature Humidity sensor? Welchen Sensor verwendest du, DHT11/22 oder SHT10? Hast du einen Sketch den du teilen könntest?

Danke dir!

Linef

Zitat von: kadettilac89 am 05 Mai 2016, 21:03:08
TH = Temperature Humidity sensor? Welchen Sensor verwendest du, DHT11/22 oder SHT10? Hast du einen Sketch den du teilen könntest?

Hallo kadettilac89,

Als Sensor verwende ich den DHT22 (AM2302) und einen DS18B20 (habe nur aus Interesse beide drauf gebaut - um zu sehen, wie verschieden sie messen). Alternativ kann aber auch ein SHT10 drauf gebaut werden - war mir aber zu teuer (und scheint auch schwer zu beschaffen).

Als SW verwende ich derzeit die NewAskSin, die ich hierzu teilweise noch anpassen musste (und auch noch dran bin).
Das Auslesen der Sensoren erfolgt asynchron - die Messung ist damit unabhängig vom "Senden".

Die Quellen stehen unter https://github.com/LineF/NewAskSin.git im Branch dev zur Verfügung. Das Hauptmodul des Sensors (mit Schaltplan - ist aber ziemlich identisch zum Universalsensor) liegt unter https://github.com/LineF/HM-Sensor.git, ebenfalls im Branch dev.
Ein Sketch ist es nicht, da ich mit dem Atmel Studio entwickle, aber sollte in der Arduino IDE (nach Rename von main.cpp) auch übersetzbar sein.

Viele Grüße,
Martin
fhem auf cubietruck, HM-USB-CFG-2, CUL-V3, 6x HM-CC-RT-DN, 5x HM-SEC-SD, 2x HM-SEC-SCo, 5x HM Eigenbausensoren, AVR-Heizungsgateway

Dirk

@kadettilac89,

du kannst dir den Quellcode vom Universalsensor anschauen. Da hättest du dann einen lauffähigen Sketch. Allerdings noch mit der alten AskSin-Lib. Die Portierung auf die neu Lib steht noch aus.
https://github.com/kc-GitHub/Wettersensor

Als Sensor kommt dort aktuell ein SHT1x zum Einsatz.

Gruß
Dirk

kadettilac89

Zitat von: Linef am 06 Mai 2016, 01:13:26
Als Sensor verwende ich den DHT22 (AM2302) und einen DS18B20 (habe nur aus Interesse beide drauf gebaut - um zu sehen, wie verschieden sie messen).

Hört sich gut an, ich habe DHT22 rumliegen. Liefern die beiden Sensoren unterschiedliche Temperaturen?

Zitat von: Linef am 06 Mai 2016, 01:13:26
Die Quellen stehen unter https://github.com/LineF/NewAskSin.git im Branch dev zur Verfügung. Das Hauptmodul des Sensors (mit Schaltplan - ist aber ziemlich identisch zum Universalsensor) liegt unter https://github.com/LineF/HM-Sensor.git, ebenfalls im Branch dev.

Wenn ich das richtig sehe muss der DHT22 nur an Pin10 (je nach config) angeschlossen werden. Spannung mal außen vor. Was bedeutet das Symbol im Schaltplan SJ1 das an VCC vom DHT an 3v und D9 verzweigt? Ist der Pullup-Widerstand zwischen VCC und Data nicht mehr nötig?

Zitat von: Linef am 06 Mai 2016, 01:13:26
Ein Sketch ist es nicht, da ich mit dem Atmel Studio entwickle, aber sollte in der Arduino IDE (nach Rename von main.cpp) auch übersetzbar sein.

Nachdem ich noch hmkey.h aus einem anderen exaple kopiert habe wird schon mal kein fehlendes include angemeckert. Aber das hab ich nicht mehr näher angeschaut. Ggf. kann ich mich auch mal mit Atmel Studio beschäftigen.

Du hast deine Schaltung anscheinend als Platine umgesetzt. Sollte der Code auf jedem Arduino laufen, oder kennst du Einschränkungen? Nur 16 mhz? Nur 5v Version? Nur atmega328?

Danke für die DAteien. Werde mich näher damit befassen wenn mein CC1101 da ist. Wenn das alles funktioniert könnte man für unter 10 Euro einen HM-HT sensor bauen.

Zitat von: Dirk am 06 Mai 2016, 10:21:32
du kannst dir den Quellcode vom Universalsensor anschauen. Da hättest du dann einen lauffähigen Sketch. Allerdings noch mit der alten AskSin-Lib. Die Portierung auf die neu Lib steht noch aus.
https://github.com/kc-GitHub/Wettersensor
DAnke, über die Source bin ich schon gestolpert.

Ich hab mir das schon mal angesehen, aber ich bekomme Asksin1 nicht kompiliert ... wenn ich den Universalsensor prüfe bekomme ich folgende Fehler ... s. u. . Weißt du zufällig welche Version der IDE verwendet werden kann? 1.6.5, 1.6.8 funktioniert nicht. Oder liegt es am eingestellten Board. Habe Nano und Pro versucht. Wenn ich es richtig lese fehlen Defines für z. B. SERIAL_DBG_PHEX_MODE_LF. Ich denke es fehlt ein include. Aber per Textsuche in Files habe ich keine Datei gefunden die "SERIAL_DBG_PHEX_MODE_LF" enthält.


--- Zeile 48, este Meldung: Serial << F("Device type from Bootloader: "); pHex(&devParam[1],  2, SERIAL_DBG_PHEX_MODE_LF);

Arduino: 1.6.5 (Windows 8.1), Platine: "Arduino Pro or Pro Mini, ATmega328 (3.3V, 8 MHz)"

Build-Optionen wurden verändert, alles wird neu gebaut

WetterSensor.ino: In function 'void setup()':
WetterSensor:48: error: 'SERIAL_DBG_PHEX_MODE_LF' was not declared in this scope
WetterSensor.ino: In function 'void cmdReset(uint8_t*, uint8_t)':
WetterSensor:115: error: 'SERIAL_DBG_PHEX_MODE_LF' was not declared in this scope
WetterSensor.ino: In function 'void cmdConfigChanged(uint8_t*, uint8_t)':
WetterSensor:133: error: 'class HM' has no member named 'setLedMode'
WetterSensor:133: error: 'LED_MODE_EVERYTIME' was not declared in this scope
WetterSensor:133: error: 'LED_MODE_CONFIG' was not declared in this scope
WetterSensor:137: error: 'POWER_MODE_BURST' was not declared in this scope
WetterSensor:137: error: 'POWER_MODE_SLEEP_WDT' was not declared in this scope
WetterSensor:150: error: 'class Sensors_SHT10_BMP085_TSL2561' has no member named 'setAltitude'
WetterSensor:153: error: 'SERIAL_DBG_PHEX_MODE_LEN' was not declared in this scope
WetterSensor:153: error: 'SERIAL_DBG_PHEX_MODE_LF' was not declared in this scope
WetterSensor.ino: In function 'void cmdStatusRequest(uint8_t*, uint8_t)':
WetterSensor:163: error: 'SERIAL_DBG_PHEX_MODE_LF' was not declared in this scope
WetterSensor.ino: In function 'void HM_Remote_Event(uint8_t*, uint8_t)':
WetterSensor:168: error: 'SERIAL_DBG_PHEX_MODE_LF' was not declared in this scope
'SERIAL_DBG_PHEX_MODE_LF' was not declared in this scope



Linef

#1041
Zitat von: kadettilac89 am 06 Mai 2016, 11:32:09
Hört sich gut an, ich habe DHT22 rumliegen. Liefern die beiden Sensoren unterschiedliche Temperaturen?
Leicht unterschiedlich. Differenz zwischen 0.1°C und 0.4°C - wobei der DHT immer höher liegt (auch bereits mit anderen Sensoren getestet - auch da war der DHT höher als der DS18B20).

Zitat von: kadettilac89
Wenn ich das richtig sehe muss der DHT22 nur an Pin10 (je nach config) angeschlossen werden. Spannung mal außen vor. Was bedeutet das Symbol im Schaltplan SJ1 das an VCC vom DHT an 3v und D9 verzweigt? Ist der Pullup-Widerstand zwischen VCC und Data nicht mehr nötig?
Laut Datenblatt ist kein Pull-up nötig. Könnte aber mit internem Pull-up vom Atmel realisiert werden.
SJ1 ist ein Lötjumper. Damit kann man die Sensoren optional über einen Atmel-Pin mit Spannung versorgen.
Da der DHT erst ab 3,3V spezifiziert ist, die Schaltung mit 3,3V läuft, aber durch den Atmel noch ein bestimmter Spannungsverlust für die geschaltete Spannungsversorgung hinzu kommt, drum hatte ich die Versorgung wählbar gemacht. Funktioniert aber mit Spannung über Atmel geschaltet. Damit brauchen die Sensoren nur bei der Messung Strom.

Zitat von: kadettilac89
Du hast deine Schaltung anscheinend als Platine umgesetzt. Sollte der Code auf jedem Arduino laufen, oder kennst du Einschränkungen? Nur 16 mhz? Nur 5v Version? Nur atmega328?
Die AS-Lib hat Unterscheidungen bzgl. verschiedener Prozessortypen drin.
Auch HAL.h, HAL.cpp und HAL_extern.h haben prozessorspezifische Register drin. Ich bin mir ziemlich sicher, daß der Code nur auf ein paar Prozessortypen läuft.

Viele Grüße,
Martin
fhem auf cubietruck, HM-USB-CFG-2, CUL-V3, 6x HM-CC-RT-DN, 5x HM-SEC-SD, 2x HM-SEC-SCo, 5x HM Eigenbausensoren, AVR-Heizungsgateway

kadettilac89

Danke Martin, hast du Langzeiterfahrung mit dem Sensor bezüglich Batteriekonsum? Lässt du mit 2 AA-Batterien laufen?

Linef

Nein, keine Langzeiterfahrung. Der Sensor kommt jetzt erst allmählich zum Laufen.
Ich hatte lange Zeit Probleme mit der Synchronisation beim Peering mit einem RT-DN.

Läuft immer mal wieder ein paar Tage mit zwei alten AA-Akkus. Einen von denen hatte er schon mal bis auf 0V leergesaugt. Da waren nur noch die 1.2V des anderen Akkus da - und die Schaltung lief noch. Aber der Akku dann endgültig hinüber  ::)
fhem auf cubietruck, HM-USB-CFG-2, CUL-V3, 6x HM-CC-RT-DN, 5x HM-SEC-SD, 2x HM-SEC-SCo, 5x HM Eigenbausensoren, AVR-Heizungsgateway

Dirk

Zitat von: kadettilac89 am 06 Mai 2016, 11:32:09
Ich hab mir das schon mal angesehen, aber ich bekomme Asksin1 nicht kompiliert ... wenn ich den Universalsensor prüfe bekomme ich folgende Fehler ... s. u. . Weißt du zufällig welche Version der IDE verwendet werden kann?
Ich habe hier Eclipse mit der Ardunio-Erweiterung am Start. Hab hier noch eine "alte" Arduino-IDE liegen 1.6. Damit kompilierte es.


ZitatWenn ich es richtig lese fehlen Defines für z. B. SERIAL_DBG_PHEX_MODE_LF. Ich denke es fehlt ein include. Aber per Textsuche in Files habe ich keine Datei gefunden die "SERIAL_DBG_PHEX_MODE_LF" enthält.
SERIAL_DBG_PHEX_MODE_LF wird in "AskSin/utility/Serial.h". Das wiederum wird unter anderem von AskSinMain.h eingebunden.
Schau mal ob in "AskSinMain.h"
#define AS_DBG
einkommentiert ist

Zitat von: kadettilac89 am 07 Mai 2016, 16:32:04
hast du Langzeiterfahrung mit dem Sensor bezüglich Batteriekonsum? Lässt du mit 2 AA-Batterien laufen?
Ich kann hier nur für den "Universalsensor" und die dazugehörige Sensorbestückung sprechen.
Mit 2 AAA-Zellen lag die Laufzeit bei bisher > 8 Monaten. Da die Kapazität von AA-Zellen mindestens doppelt so groß ist, gehe ich hier von einer mindestens doppelt so langen Laufzeit aus. Alle Sensoren mit AA-Zellen laufen bei mir aber noch.

Gruß
Dirk

kadettilac89

Zitat von: Dirk am 09 Mai 2016, 10:04:34
Ich habe hier Eclipse mit der Ardunio-Erweiterung am Start. Hab hier noch eine "alte" Arduino-IDE liegen 1.6. Damit kompilierte es.

SERIAL_DBG_PHEX_MODE_LF wird in "AskSin/utility/Serial.h". Das wiederum wird unter anderem von AskSinMain.h eingebunden.
Schau mal ob in "AskSinMain.h"
#define AS_DBG
einkommentiert ist
Ich kann hier nur für den "Universalsensor" und die dazugehörige Sensorbestückung sprechen.
Mit 2 AAA-Zellen lag die Laufzeit bei bisher > 8 Monaten. Da die Kapazität von AA-Zellen mindestens doppelt so groß ist, gehe ich hier von einer mindestens doppelt so langen Laufzeit aus. Alle Sensoren mit AA-Zellen laufen bei mir aber noch.

Gruß
Dirk

Danke

8 Monate hört sich gut an.

Ich habe es mit einer 1.6.5 und 1.6.8 IDE versucht ... Asksin von Github master, AS_DBG war aktiv. Werde mich damit näher befassen wenn die Teile da sind. Vielleicht liegt es daran, dass ich die IDE nur als Zip verwende. Scheinbar vergisst die sporadisch wo die Libs zu suchen sind.

kadettilac89

Zitat von: Dirk am 09 Mai 2016, 10:04:34
SERIAL_DBG_PHEX_MODE_LF wird in "AskSin/utility/Serial.h". Das wiederum wird unter anderem von AskSinMain.h eingebunden.
Schau mal ob in "AskSinMain.h"
#define AS_DBG
einkommentiert ist

Ich hab gefunden warum es zu den Fehlern kam. Auf Github gibt es die Source für den Wettersensor den du gepostet hast. Da beim downloaden der Askin-Ordner leer war, habe ich mir Asksin von trilu2000 runtergeladen. Hier gibt es die von mir geposteten defines aber nicht (z.B. SERIAL_DBG_PHEX_MODE_LF). Im Wettersensor-Github gibt es aber einen Link auf einen Asksin-fork von kc. Hier sind die nötigen definces enthalten. Kaum sind die richtigen (neueren) Dateien enthalten kann ich die Firmware baun. Jetzt muss ich nur noch den SHT11 gegen den DHT22 austauschen und es sollte laufen.

Dirk

Zitat von: kadettilac89 am 09 Mai 2016, 13:04:12
8 Monate hört sich gut an.
Aber wie gesagt mit AAA-Zellen. Mit AA, also R6 dann deutlich länger.

Zitat von: kadettilac89 am 09 Mai 2016, 20:42:52
Da beim downloaden der Askin-Ordner leer war, habe ich mir Asksin von trilu2000 runtergeladen. Hier gibt es die von mir geposteten defines aber nicht (z.B. SERIAL_DBG_PHEX_MODE_LF). Im Wettersensor-Github gibt es aber einen Link auf einen Asksin-fork von kc.
Ja, stimmt, das ist ein Subrepo auf einen Fork der alte AskSin-Lib. Diese musst du auch unbedingt verwenden. Da hatte ich noch einiges gefixt und optimiert.

Gruß
Dirk

papa

#1048
Hallo,

ich habe ein Problem mit dem devAES Branch. Der Switch schaltet nicht mehr ordentlich an. Es sieht so aus, als würde irgendwas mit der Kommunikation schief gehen. Das Relais geht zwar an, aber der Status wird nicht korrekt zurück gemeldet.


m> 0E 1D A0 11 63 90 87 0A 03 01 02 01 C8 00 00 (67754)
<- 0E 1D 80 02 0A 03 01 63 90 87 01 01 00 00 52 (67760)
switchRly: 1, 200
m> 0E 1E A0 11 63 90 87 0A 03 01 02 01 C8 00 00 (68055)
<- 0E 1E 80 02 0A 03 01 63 90 87 01 01 00 00 52 (68061)
<- 0E 1E 80 02 0A 03 01 63 90 87 01 01 C8 00 52 (68070)
m> 0E 1E A0 11 63 90 87 0A 03 01 02 01 C8 00 00 (68255)
<- 0E 1E 80 02 0A 03 01 63 90 87 01 01 00 00 51 (68260)
<- 0E 1E 80 02 0A 03 01 63 90 87 01 01 C8 00 51 (68270)
m> 0E 1E A0 11 63 90 87 0A 03 01 02 01 C8 00 00 (68454)
<- 0E 1E 80 02 0A 03 01 63 90 87 01 01 00 00 51 (68460)
<- 0E 1E 80 02 0A 03 01 63 90 87 01 01 C8 00 51 (68470)
m> 0E 1E A0 11 63 90 87 0A 03 01 02 01 C8 00 00 (72101)
<- 0E 1E 80 02 0A 03 01 63 90 87 01 01 00 00 52 (72107)
<- 0E 1E 80 02 0A 03 01 63 90 87 01 01 C8 00 52 (72116)
m> 0E 1E A0 11 63 90 87 0A 03 01 02 01 C8 00 00 (72301)
<- 0E 1E 80 02 0A 03 01 63 90 87 01 01 00 00 51 (72306)
<- 0E 1E 80 02 0A 03 01 63 90 87 01 01 C8 00 51 (72316)
m> 0E 1E A0 11 63 90 87 0A 03 01 02 01 C8 00 00 (72500)
<- 0E 1E 80 02 0A 03 01 63 90 87 01 01 00 00 51 (72506)
<- 0E 1E 80 02 0A 03 01 63 90 87 01 01 C8 00 51 (72516)
m> 0E 1E A0 11 63 90 87 0A 03 01 02 01 C8 00 00 (76319)
<- 0E 1E 80 02 0A 03 01 63 90 87 01 01 00 00 51 (76324)
<- 0E 1E 80 02 0A 03 01 63 90 87 01 01 C8 00 51 (76334)
m> 0E 1E A0 11 63 90 87 0A 03 01 02 01 C8 00 00 (76518)
<- 0E 1E 80 02 0A 03 01 63 90 87 01 01 00 00 51 (76524)
<- 0E 1E 80 02 0A 03 01 63 90 87 01 01 C8 00 51 (76534)
m> 0E 1E A0 11 63 90 87 0A 03 01 02 01 C8 00 00 (76718)
<- 0E 1E 80 02 0A 03 01 63 90 87 01 01 00 00 51 (76724)
<- 0E 1E 80 02 0A 03 01 63 90 87 01 01 C8 00 51 (76734)
m> 0E 1E A0 11 63 90 87 0A 03 01 02 01 C8 00 00 (82134)
<- 0E 1E 80 02 0A 03 01 63 90 87 01 01 00 00 52 (82140)
<- 0E 1E 80 02 0A 03 01 63 90 87 01 01 C8 00 52 (82150)
m> 0E 1E A0 11 63 90 87 0A 03 01 02 01 C8 00 00 (82334)
<- 0E 1E 80 02 0A 03 01 63 90 87 01 01 00 00 51 (82340)
<- 0E 1E 80 02 0A 03 01 63 90 87 01 01 C8 00 51 (82349)
m> 0E 1E A0 11 63 90 87 0A 03 01 02 01 C8 00 00 (82533)
<- 0E 1E 80 02 0A 03 01 63 90 87 01 01 00 00 52 (82539)
<- 0E 1E 80 02 0A 03 01 63 90 87 01 01 C8 00 52 (82549)


Ausschalten geht komischerweise.


m> 0E 20 A0 11 63 90 87 0A 03 01 02 01 00 00 00 (197297)
<- 0E 20 80 02 0A 03 01 63 90 87 01 01 00 00 4F (197303)
switchRly: 1, 0


Beim peeren (dual) mit einem Taster wird der Aus-Schalter auch nicht richtig angelegt. Es werden hier auch die Settings für "An" in die Liste gespeichert.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Dirk

Hallo papa,

eigentlich sieht das Log ok aus.

m> 0E 1D A0 11 63 90 87 0A 03 01 02 01 C8 00 00 (67754)
Das ist SET


und das
<- 0E 1D 80 02 0A 03 01 63 90 87 01 01 00 00 52 (67760)
ACK_STATUS

Bekommt der Master das Ack denn mit?

Ich schau mir den Codem mal nach dem Wochenende an.

Viele Grüße
Dirk