Selbstbau HM_WDS10_TH_O mit Luftdruckmessung

Begonnen von trilu, 23 Februar 2014, 12:23:22

Vorheriges Thema - Nächstes Thema

Kai-Alfonso

Zitat von: Tom Major am 03 Januar 2019, 12:03:19
Hast du 57600 Baud versucht? Und hast du RC-Osz. oder Quarz als Haupttaktgeber?
Wenn serieller Debug gehen würde würdest du direkt die Meldung "TSL2561 found" bzw. "Error: TSL2561 not found" sehen.

Außerdem ist bei mir
#define TSL2561_ADDR TSL2561_ADDR_FLOAT


definiert, auf welchem Pegel liegt der Adress-Eingang des TSL2561 bei dir?

Hi Tom,


Wenn ich das richtig sehe, dann ich der Adress Pin mit GND verbunden - laut Datasheet müsste das dann Adresse 0101001 sein, sofern ich das richtig verstanden habe, wie die Adressen im Sensor selektiert werden.

define TSL2561_ADDR TSL2561_ADDR_FLOAT ist bei mir im Sketch nicht drin, füge ich dann per Hand ein. Kommt dann als TSL2561_ADDR_FLOAT dann die richtige Adresse, also 0101001?

ZitatHast du 57600 Baud versucht? Und hast du RC-Osz. oder Quarz als Haupttaktgeber?
Wenn serieller Debug gehen würde würdest du direkt die Meldung "TSL2561 found" bzw. "Error: TSL2561 not found" sehen.

57600 Baud ist immer das erste, was ich versuche. Ich nutzen keinen externen Quarz, nur den internen


Ausgabe Serielle Konsole
⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮
Raspi2|nanoCul433|nanoCul868|CCU2
Energie-USBZähler|homebrew HM Devices
DBLog|DBRep|Homematic|Baumarktsteckdosen
Hue|Webcams mit DS-Station (Synology)|Bewegungsmelder|Rollladen|Schalter (IT|HM)

vbs

Zitat von: Tom Major am 03 Januar 2019, 11:58:36
Was du noch versuchen könntest bevor du weiter ablötest oder trennst:
Mit einem Multimeter alle Pegel der 32 AVR pins beim 20uA device und beim 1600 uA device vergleichen. Dann bei Auffälligkeiten die pins näher untersuchen die Abweichungen zeigen.
Werde ich gerne mal probieren, danke für den Tipp!

Du meinst im Betrieb die Spannung an den Pins zu vergleichen richtig?

Ich hatte vor ein paar Tagen etwas ähnliches gesehen:
https://www.youtube.com/watch?v=pRpyHF2dfq0

Da wird jedoch der Dioden-Modus des Multimeter benutzt mit negativer Polarität. Offenbar aber im stromlosen Zustand.
Klingt so als sei das zumindest im iPhone-Business eine verbreitete Debugging-Methode. Wäre das hier auch sinnvoll bzw. was ist davon zu halten?


Zitat von: Tom Major am 03 Januar 2019, 11:58:36
Macht nur Sinn wenn du 100% sicher bist die gleiche SW auf beiden Geräten zu haben.
Hatte neulich ja die 0.15 frisch per OTA auf den Problem-Sensor geflasht. Werde gerne das gleiche auch nochmal bei dem guten Sensor machen, um wirklich sicher zu gehen.

Nochmal eine Frage, die mich einfach interessiert aus der Ecke:
Ich hab neulich im Atmel-Studio per ISP (Dragon) den kompletten Atmel "gebackupt", in dem ich unter "Device Programming" sowohl den Flash als auch das EEPROM ausgelesen und als Datei gespeichert habe. Nachdem ich dann später im gleichen Fenster das Backup zurück gespielt habe, hat der Atmel aber nicht mehr gebootet. Der OTA-Bootloader hat dann einen CRC-Checksummen-Fehler angemeckert.
Warum klappt das nicht? Ich dachte, man kann dort Flash + EEPROM mit Haut und Haaren auslesen und später zurück schreiben.

Kai-Alfonso

Hi,

bei mir geht der TSL2561 jetzt - hab es selber gefunden. Der Addr Pin war an GND angeschlossen. Also musste ich in der Datei Sens_TSL2561.h die Zeile

#define TSL2561_ADDR TSL2561_ADDR_FLOAT

in

#define TSL2561_ADDR TSL2561_ADDR_LOW

ändern.

Neu geflashed und schon geht es  ;D ;D

Für mich ist vieles Neuland und manches halt auch Try and Error. Sorry, falls ich manchmal einen Schubs brauche  8)
Raspi2|nanoCul433|nanoCul868|CCU2
Energie-USBZähler|homebrew HM Devices
DBLog|DBRep|Homematic|Baumarktsteckdosen
Hue|Webcams mit DS-Station (Synology)|Bewegungsmelder|Rollladen|Schalter (IT|HM)

Tom Major

Zitat von: Kai-Alfonso am 03 Januar 2019, 15:57:42
Hi,

bei mir geht der TSL2561 jetzt - hab es selber gefunden. Der Addr Pin war an GND angeschlossen. Also musste ich in der Datei Sens_TSL2561.h die Zeile

#define TSL2561_ADDR TSL2561_ADDR_FLOAT

in

#define TSL2561_ADDR TSL2561_ADDR_LOW

ändern.

Neu geflashed und schon geht es  ;D ;D

Für mich ist vieles Neuland und manches halt auch Try and Error. Sorry, falls ich manchmal einen Schubs brauche  8)

Hallo Kai-Alfonso,

genau diese Addr Def. meinte ich in meiner letzten Nachricht, sorry für die Kürze, hatte nicht so viel Zeit.
Du hast schon Recht, vieles ist nicht gleich offensichtlich und oft muss man bei Problemen tiefer einsteigen.
Ich werde auf jeden Fall die Addr Def. des TSL2561 mit in den sketch selbst verlagern und einen Kommentar dort machen so dass dies in Zukunft vielleicht etwas besser selbsterklärend ist.  ;)
Früher: FHEM 5.x
Jetzt: RaspberryMatic / ioBroker

Tom Major

Zitat von: vbs am 03 Januar 2019, 13:12:56
Werde ich gerne mal probieren, danke für den Tipp!

Du meinst im Betrieb die Spannung an den Pins zu vergleichen richtig?

Ich hatte vor ein paar Tagen etwas ähnliches gesehen:
https://www.youtube.com/watch?v=pRpyHF2dfq0

Da wird jedoch der Dioden-Modus des Multimeter benutzt mit negativer Polarität. Offenbar aber im stromlosen Zustand.
Klingt so als sei das zumindest im iPhone-Business eine verbreitete Debugging-Methode. Wäre das hier auch sinnvoll bzw. was ist davon zu halten?

Hatte neulich ja die 0.15 frisch per OTA auf den Problem-Sensor geflasht. Werde gerne das gleiche auch nochmal bei dem guten Sensor machen, um wirklich sicher zu gehen.

Nochmal eine Frage, die mich einfach interessiert aus der Ecke:
Ich hab neulich im Atmel-Studio per ISP (Dragon) den kompletten Atmel "gebackupt", in dem ich unter "Device Programming" sowohl den Flash als auch das EEPROM ausgelesen und als Datei gespeichert habe. Nachdem ich dann später im gleichen Fenster das Backup zurück gespielt habe, hat der Atmel aber nicht mehr gebootet. Der OTA-Bootloader hat dann einen CRC-Checksummen-Fehler angemeckert.
Warum klappt das nicht? Ich dachte, man kann dort Flash + EEPROM mit Haut und Haaren auslesen und später zurück schreiben.

Ich meine die Spannung im Betrieb zu vergleichen um Stromabflüsse, offene inputs ohne pull-up usw. eventuell so finden zu können bzw. sich die pins genauer ansehen die Abweichungen zeigen. Das Ganze natürlich wenn beide Devices im sleep sind. Also wenn sie gerade senden macht das keinen Sinn  ;)
Zu der iPhone Methode kann ich nichts sagen.

AVR Backup: Ich bin der Meinung, wenn man Flash, EEPROM und Fuses backuped und auf einem gleichem Modelltyp wieder aufspielt sollte sich dieser auch gleich verhalten. Außer diesen 3 gibt es nichts was sich unterscheidet, zumindest fällt mir gerade nichts ein, eine unique serial z.B. hat der AVR meines Wissens nicht (zumindest die man auf Application SW Ebene auslesen könnte).
Früher: FHEM 5.x
Jetzt: RaspberryMatic / ioBroker

Kai-Alfonso

Zitat von: Tom Major am 03 Januar 2019, 23:20:20
Hallo Kai-Alfonso,

genau diese Addr Def. meinte ich in meiner letzten Nachricht, sorry für die Kürze, hatte nicht so viel Zeit.

Das ist überhaupt kein Problem - du investierst ja so schon genug Zeit in diverse Projekte, da kann man schon rein logistisch nicht auf jede N00b Frage  8) 8) so ausführlich antworten und ich bin ja selber drauf gekommen aufgrund Deiner Antwort

Zitat von: Tom Major am 03 Januar 2019, 23:20:20
Du hast schon Recht, vieles ist nicht gleich offensichtlich und oft muss man bei Problemen tiefer einsteigen.
Ich werde auf jeden Fall die Addr Def. des TSL2561 mit in den sketch selbst verlagern und einen Kommentar dort machen so dass dies in Zukunft vielleicht etwas besser selbsterklärend ist.  ;)

Ich hatte tatsächlich erst im Sketch geschaut und nix gefunden und dann blieb einfach nur noch die Sens_TSL2561.h Datei. Irgendwo musste ja auch die ganze Logic versteckt sein.


Ich habe aber noch eine andere Frage, die ich nicht verstehe bzw. die mir immer noch nicht ganz klar ist als Laie. Aber die kann bestimmt auch ein anderer beantworten:

Thema StepUp - als Laie war es mir nicht genau klar, was das ist und ob ich das überhaut brauche. So wie ich das verstehe, brauchen die Sensoren, der Atmega etc alle 3.3 Volt - wenn ich jetzt das Teil nur mit einer Batterie betreiben will (die ja bekanntlich nur 1.5V liefert) brauch ich einen StepUp, der die Spannung dann von 1.5 auf 3.3 Volt erhöht. Sehe ich das richtig. Welchen Vorteile und Nachteile habe ich denn, wenn ich nur eine AA Batterie  nutzen will? Oder geht es um die Nutzung von Akkus, die ja nur 1.2 Volt liefern (Wieso können die eigentlich keine 1.5?) Wie ihr seht, so richtig verstehe ich das nicht ;-) Ich vermute einfach, das ich bei ein paar Sensoren den Stepup unnütz eingebaut habe.
Raspi2|nanoCul433|nanoCul868|CCU2
Energie-USBZähler|homebrew HM Devices
DBLog|DBRep|Homematic|Baumarktsteckdosen
Hue|Webcams mit DS-Station (Synology)|Bewegungsmelder|Rollladen|Schalter (IT|HM)

Kai-Alfonso

Nachdem das so toll mit der 1.2 FW und dem TSL2561 geklappt habe, wollte ich mal den MAX440009 probieren an dem Sensor:

Also, neue FW mit folgenden Optionen geflashed:

//#define SENSOR_DS18X20
//#define SENSOR_BME280
#define SENSOR_BMP180
//#define SENSOR_TSL2561
#define SENSOR_MAX44009
#define SENSOR_SHT10
//#define SENSOR_DIGINPUT


Angeschlossen habe ich den MAX440009 an den I2C Port (J3 laut Schema) - GND und 3,3V  habe ich mir von J2 geholt.

Leider bekomme ich keine Sensor Daten.

Shared Access sollte ja gehen, wenn ich

#if defined SENSOR_BME280 || defined SENSOR_BMP180 || defined SENSOR_TSL2561 || defined SENSOR_MAX44009
        sht10.i2cEnableSharedAccess();    // falls I2C Sensoren vorhanden dies dem SHT10 mitteilen
#

richtig verstehe.

Warum geht es trotzdem nicht?
Raspi2|nanoCul433|nanoCul868|CCU2
Energie-USBZähler|homebrew HM Devices
DBLog|DBRep|Homematic|Baumarktsteckdosen
Hue|Webcams mit DS-Station (Synology)|Bewegungsmelder|Rollladen|Schalter (IT|HM)

PSI69

Hallo zusammen!

Nachdem etwas Zeit mit anderen Projekten vergangen und der USBasp auch irgendwann eingetroffen ist, will ich mich nun endlich an das Programmieren der beiden Sensoren wagen - mit etwas Bauchschmerzen, denn schließlich ist das mein erster Versuch damit ;D

Ich habe mir die libusb Treiber und avrdude 6.3 besorgt; Installation selbiger und Anschluß des Programmers an die zu flashende Platine ist mir klar.

Hier wollte ich dann noch einmal vorsichtshalber nachfragen:

Mit makeota.html (https://github.com/pa-pa/AskSinPP/blob/master/bootloader/avr/makeota.html) erstelle ich als ersteres das Firmwarefile incl. Bootloader?
Dabei gebe ich beim Außensensor F102 an, die FW liegt hier (https://github.com/kc-GitHub/Wettersensor/tree/master/Firmware-Release)? Welches File gebe ich dann bei makeota an? Wahrscheinlich 'HB-UW-Sen-THPL_update_V0_15_000_150303.hex', denn makeota filtert nach *.hex...

Einer der beiden Sensoren soll ein Ultraschallsensor (gloob) werden; die FW liegt hier (https://github.com/kc-GitHub/Wettersensor/tree/master/Firmware-Release). Wenn ich hier auch makeota.html verwende - welchen Modeltyp gebe ich an? Weiß das jemand von Euch? Geht das überhaupt (makeota dafür verwenden)? In der 'HB-GEN-SENS-US-BATT.ino' steht unter Device Properties '{0xf2, 0x05}'. Von der 'HB-GEN-SENS-US-BATT.ino' muss ich mit der Arduino IDE erst noch ein Binary (hex) für makeota.html erstellen? Oder wie?

Zum Schluß wird jeweils mit avrdude geschrieben / Fuses gesetzt? Das hier habe ich als Kommando gefunden:
avrdude -p m328p -P usb -c usbasp -U lfuse:w:0xE2:m -U hfuse:w:0xD0:m -U efuse:w:0x06:m -U lock:w:0x2F:m -e -Uflash:w:Firmware.hex:i
Passt das?

Danke für's drüberlesen!
Peter
FHEM auf RPi 5 unter Bookworm mit inzwischen einem ganzen Zoo von Geräten...

PSI69

Zitat von: PSI69 am 04 Januar 2019, 12:32:35
Von der 'HB-GEN-SENS-US-BATT.ino' muss ich mit der Arduino IDE erst noch ein Binary (hex) für makeota.html erstellen? Oder wie?
Ich habe das mal versucht. Als Board habe ich mangels besserem Wissen 'Arduino/Genuino Uno' belassen. Die 'AskSinPP-master' und 'Enableinterrupt-master' habe ich nach den ersten Fehlermeldungen unter libraries eingebunden.
Jetzt komme ich bis hierhin:
Arduino: 1.8.8 (Windows 10), Board: "Arduino/Genuino Uno"

In file included from C:\Users\PSI\Documents\Arduino\libraries\AskSinPP-master/AskSinPP.h:38:0,

                 from \\xxxxx\c$\Workfolder\_Temp\HB-GEN-SENS-US-BATT\HB-GEN-SENS-US-BATT.ino:23:

C:\Users\PSI\Documents\Arduino\libraries\AskSinPP-master/Activity.h:14:22: fatal error: LowPower.h: No such file or directory

compilation terminated.

exit status 1
Fehler beim Kompilieren für das Board Arduino/Genuino Uno.

... was fehlt nun noch für die AskSinPP?

Danke Peter
FHEM auf RPi 5 unter Bookworm mit inzwischen einem ganzen Zoo von Geräten...

Kai-Alfonso

Zitat von: PSI69 am 04 Januar 2019, 12:59:47
Ich habe das mal versucht. Als Board habe ich mangels besserem Wissen 'Arduino/Genuino Uno' belassen. Die 'AskSinPP-master' und 'Enableinterrupt-master' habe ich nach den ersten Fehlermeldungen unter libraries eingebunden.
Jetzt komme ich bis hierhin:
Arduino: 1.8.8 (Windows 10), Board: "Arduino/Genuino Uno"

In file included from C:\Users\PSI\Documents\Arduino\libraries\AskSinPP-master/AskSinPP.h:38:0,

                 from \\xxxxx\c$\Workfolder\_Temp\HB-GEN-SENS-US-BATT\HB-GEN-SENS-US-BATT.ino:23:

[b]C:\Users\PSI\Documents\Arduino\libraries\AskSinPP-master/Activity.h:14:22: fatal error: LowPower.h: No such file or directory[/b]

compilation terminated.

exit status 1
Fehler beim Kompilieren für das Board Arduino/Genuino Uno.

... was fehlt nun noch für die AskSinPP?

Danke Peter

Du musst noch die LowPower Lib installieren -> https://github.com/rocketscream/Low-Power
Raspi2|nanoCul433|nanoCul868|CCU2
Energie-USBZähler|homebrew HM Devices
DBLog|DBRep|Homematic|Baumarktsteckdosen
Hue|Webcams mit DS-Station (Synology)|Bewegungsmelder|Rollladen|Schalter (IT|HM)

vbs

Die Firmware für TomMajor's Sensor ist die hier, oder?
https://github.com/TomMajor/AskSinPP_Examples/tree/master/HB-UNI-Sensor1

Ist die eigentlich auch kompatibel mit Dirk's Originalsensor? Und falls ja, wäre das zu empfehlen (einfach um eine neuere Software zu nutzen)?

Kai-Alfonso

Zitat von: vbs am 04 Januar 2019, 13:11:42
Die Firmware für TomMajor's Sensor ist die hier, oder?
https://github.com/TomMajor/AskSinPP_Examples/tree/master/HB-UNI-Sensor1

Ist die eigentlich auch kompatibel mit Dirk's Originalsensor? Und falls ja, wäre das zu empfehlen (einfach um eine neuere Software zu nutzen)?

ich sag mal vorsichtig ja - ich nutze jetzt auf meinen "alten Sensoren" auch jetzt Dirks neuere FW (Vers. 1.2 wird in Fhem angezeigt) - ist grade auch mit der Anbindung verschiedener Sensoren flexibler wie ich finde - nur den MAX440009 bekomme ich noch nicht am laufen, aber mit TSL2561 geht es.

Raspi2|nanoCul433|nanoCul868|CCU2
Energie-USBZähler|homebrew HM Devices
DBLog|DBRep|Homematic|Baumarktsteckdosen
Hue|Webcams mit DS-Station (Synology)|Bewegungsmelder|Rollladen|Schalter (IT|HM)

PSI69

Zitat von: Kai-Alfonso am 04 Januar 2019, 13:03:18
Du musst noch die LowPower Lib installieren -> https://github.com/rocketscream/Low-Power
Danke, die hatte ich inzwischen auch über die Bibliotheksverwaltung der IDE gefunden und damit läuft der Compiler durch und ich habe die FW eben exportieren können!
Peter
FHEM auf RPi 5 unter Bookworm mit inzwischen einem ganzen Zoo von Geräten...

vbs

Zitat von: Kai-Alfonso am 04 Januar 2019, 13:14:32
ich sag mal vorsichtig ja - ich nutze jetzt auf meinen "alten Sensoren" auch jetzt Dirks neuere FW (Vers. 1.2 wird in Fhem angezeigt)
Interessant, hast du mal einen Link? Ich kenne nur das hier (0.15): https://github.com/kc-GitHub/Wettersensor

PSI69

Zitat von: Kai-Alfonso am 04 Januar 2019, 13:14:32
ich sag mal vorsichtig ja - ich nutze jetzt auf meinen "alten Sensoren" auch jetzt Dirks neuere FW (Vers. 1.2 wird in Fhem angezeigt) - ist grade auch mit der Anbindung verschiedener Sensoren flexibler wie ich finde - nur den MAX440009 bekomme ich noch nicht am laufen, aber mit TSL2561 geht es.

Jetzt bin ich total verwirrt mit den vielen Varianten. Welche FW ist nun zu empfehlen für den Außensensor?
https://github.com/kc-GitHub/Wettersensor/tree/master/Firmware-Release
https://github.com/TomMajor/AskSinPP_Examples/tree/master/HB-UNI-Sensor1
Version 1.2??? Wo?

Danke Peter
FHEM auf RPi 5 unter Bookworm mit inzwischen einem ganzen Zoo von Geräten...