WDS-10-TH-x und Si7021 (I2C) hängt bei sdev.init(hal);

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

Antworten
hjgode
Beiträge: 6
Registriert: 09.02.2021, 11:28
System: in Planung
Hat sich bedankt: 1 Mal

WDS-10-TH-x und Si7021 (I2C) hängt bei sdev.init(hal);

Beitrag von hjgode » 18.02.2021, 13:28

Hallo

bin neu hier und habe mit Freude entdeckt, daß man Homematic Sensoren nachbauen kann: https://technikkram.net/blog/2018/05/30 ... -eigenbau/.

Gesagt getan, erst mal testen. Also einen Nano und CC1101 plus Si7021. Und schon geht es los, die globale lib Si7021.h fehlt in den AskSinPP repos. Habe verschiedene AskSin releases getest, die sensors/Si7021.h auf Adafruit_Si7021 angepasst, Egal was ich mache, sobald der Si7021 Sensor (A4, A5) eingebunden wird hängt der Nano (oder auch MiniPro oder auch ein mySensors board). Dies gilt auch für andere Beispiel, wie HB-GEN-SENS. Der SHT10 ist auch ein I2C Sensor -- und damit laufen die Sketche.

Was mache ich falsch? Wieso geht das I2C Zeugs nicht und lässt AskSin blockieren? Macht übrigens keinen Unterschied, ob der I2C Sensor angesteckt ist oder nicht. Ach ja, ich teste in Arduino 1.8.13...

Bei jedweden Tipps bitte die exakten Library Versionen und Quellen nennen. Ich hab schon erfolglos bis AskSin Commit b76d8bdbc4cd106d56d20968f69fb020e50894e9 'down-gegraded'. AskSin v4 und v5 versucht...

Grüße und danke an alle die AskSin betreuen

Josef

jp112sdl
Beiträge: 12108
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2148 Mal
Kontaktdaten:

Re: WDS-10-TH-x und Si7021 (I2C) hängt bei sdev.init(hal);

Beitrag von jp112sdl » 18.02.2021, 14:03

hjgode hat geschrieben:
18.02.2021, 13:28
Also einen Nano
Doch nicht etwa einen 5V / 16MHz Nano?

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

hjgode
Beiträge: 6
Registriert: 09.02.2021, 11:28
System: in Planung
Hat sich bedankt: 1 Mal

Re: WDS-10-TH-x und Si7021 (I2C) hängt bei sdev.init(hal);

Beitrag von hjgode » 18.02.2021, 15:07

Unteranderem auch ein Nano mit 16MHz und 5V (und 3V3)... . Der läuft übrigens mit irgendeiner Versions Kombi... munter vor sich hin und reported die Temperatur neben meinem Elektronik Arbeitsplatz.

Nun zum MiniPro, da wa ne Brücke zwischen SDC und SDA, wenn ich das Ding nicht gehimmelt habe (hab noch ein paar zum Testen, später).

Fehlt mir immer noch die 'richtige' Si7021.h, welche in sensors/si7021.h referenziert wird. Also eine mit I2C, init(), measure(), temperature() und humidity() Funktionen.

Gruß

Josef

Martin62
Beiträge: 681
Registriert: 09.12.2019, 21:24
Hat sich bedankt: 151 Mal
Danksagung erhalten: 61 Mal

Re: WDS-10-TH-x und Si7021 (I2C) hängt bei sdev.init(hal);

Beitrag von Martin62 » 18.02.2021, 16:13

Steht doch im Sketch.
#include <Sensirion.h> // https://github.com/spease/Sensirion.git
Gruß Martin

hjgode
Beiträge: 6
Registriert: 09.02.2021, 11:28
System: in Planung
Hat sich bedankt: 1 Mal

Re: WDS-10-TH-x und Si7021 (I2C) hängt bei sdev.init(hal);

Beitrag von hjgode » 18.02.2021, 16:37

Sensirion ist nicht für Si7021 (SHT21, HUT21)

Aktueller Stand:
Die Brücke zwischen SCL und SDA war schuld. Nach Korrektur, lief der Sketch auch weiter, zeigt aber unsinnige T/H Werte. Den MiniPro habe ich wohl A4/A5 geschossen, jedenfalls läuft der Sketch (aktuell HM-WDS40-TH-I) jetzt auf einem anderen MiniPro. Einziges problem ist jetzt noch, daß der Button an Arduino 8 nicht funktioniert. Es kommen auch keine Debug-Meldungen von wegen pressed/released und so...

Grüße

Josef

hjgode
Beiträge: 6
Registriert: 09.02.2021, 11:28
System: in Planung
Hat sich bedankt: 1 Mal

Re: WDS-10-TH-x und Si7021 (I2C) hängt bei sdev.init(hal);

Beitrag von hjgode » 18.02.2021, 17:00

OK, werde langsam zu alt für das Zeug. Hatte den Button an 6 statt an 8 angelötet. Dummer Fehler.

also dann: die HM-WS... Sketche funktionieren mit AskSin v4.1 auf nem MiniPro. Es fehlt aber weiterhin die in sensors/si7021.h verwendete Original Library. Ich verwende aktuell eine modifizierte Adafruit_Si7021 Library.

Vielen Dank an alle Leser, manchmal hilft es ja schon, wenn man mal drüber spricht(schreibt).

Viele Grüße

und bleibt gesund

Josef

jp112sdl
Beiträge: 12108
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2148 Mal
Kontaktdaten:

Re: WDS-10-TH-x und Si7021 (I2C) hängt bei sdev.init(hal);

Beitrag von jp112sdl » 18.02.2021, 19:05

hjgode hat geschrieben:
18.02.2021, 17:00
Es fehlt aber weiterhin die in sensors/si7021.h verwendete Original Library.
Steht in sensors/si7021.h drin...
https://github.com/pa-pa/AskSinPP/blob/ ... 7021.h#L15

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

hjgode
Beiträge: 6
Registriert: 09.02.2021, 11:28
System: in Planung
Hat sich bedankt: 1 Mal

Re: WDS-10-TH-x und Si7021 (I2C) hängt bei sdev.init(hal);

Beitrag von hjgode » 18.02.2021, 20:02

Hallo Meister

Ja, da steht:

...

Code: Alles auswählen

...
#include <Sensors.h>
#include <Wire.h>
#include <Si7021.h>
namespace as {
...
Nur, das es keine Si7021.h gibt, die alle verwendeten Funktionen liefert (zB getDeviceID). Die 'normalerweise' für Si7021 verwendete Adafruit lib hat folgende Funktionen:

Code: Alles auswählen

...
class Adafruit_Si7021 {
public:
  Adafruit_Si7021(TwoWire *theWire = &Wire);
  bool begin();

  float readTemperature();
  void reset();
  void readSerialNumber();
  float readHumidity();
...
Die <sensors/Si7021.h> verwendet aber:

Code: Alles auswählen

getDeviceID()
readTemp()
readHumidity
Versuch mal einen Sketch unter Verwendung der <sensors/Si7021.h> zu kompilieren. Wenn Du das schaffst, hätte ich gerne eine Kopie der verwendeten <Si7021.h> (und evtl. dazugehörenden Si7021.cpp).

Na klar kann man das anpassen, aber es hat ja wohl auch mal so funktioniert. Ich verwende derzeit eine angepasste Adafruit_Si7021 library.

VG

Josef

jp112sdl
Beiträge: 12108
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2148 Mal
Kontaktdaten:

Re: WDS-10-TH-x und Si7021 (I2C) hängt bei sdev.init(hal);

Beitrag von jp112sdl » 18.02.2021, 20:09

hjgode hat geschrieben:
18.02.2021, 20:02
die alle verwendeten Funktionen liefert (zB getDeviceID).
macht sie doch alles...
https://github.com/jayjayuk/Si7021-Humi ... 7021.h#L29
https://github.com/jayjayuk/Si7021-Humi ... .h#L12-L13
hjgode hat geschrieben:
18.02.2021, 20:02
Versuch mal einen Sketch unter Verwendung der <sensors/Si7021.h> zu kompilieren
Brauch ich nicht. Macht die GH Actions CI mindestens 1x täglich
https://github.com/pa-pa/AskSinPP/runs/ ... focus=true

Wie gesagt... diese Lib https://github.com/jayjayuk/Si7021-Humi ... r-Library/ verwenden.
Vielleicht kommt bei dir irgendwas durcheinander wenn mehrere Si7021 Libs rumliegen

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

hjgode
Beiträge: 6
Registriert: 09.02.2021, 11:28
System: in Planung
Hat sich bedankt: 1 Mal

Re: WDS-10-TH-x und Si7021 (I2C) hängt bei sdev.init(hal);

Beitrag von hjgode » 18.02.2021, 22:14

Hallo

und Danke. Das:
https://github.com/jayjayuk/Si7021-Humi ... 7021.h#L29

war der entscheidende Hinweis. Wenn man die 'richtige' Lib nimmt, dann klappt es auch.

Habe vielleicht den Hinweis auf die lib übersehen.

Schönen Abend noch

Josef

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“