PascalIO GPIO Sensor auslesen (DT22)
-
- Beiträge: 4
- Registriert: Sa 4. Dez 2021, 17:17
PascalIO GPIO Sensor auslesen (DT22)
Abend zusammen,
kurz zu mir, ich heiße Tim bin fast 30 und komme aus der nähe von Ulm.
Delphi und Lazaruserfahrung habe ich seit paar Jahren, da ich für unseren Betrieb eine kleine SQL basierte ERP Software gebaut habe (zu überwachung der Arbeiten etc mittels NFC).
Jetzt habe ich allerdings ein neues Projekt.
Ich möchte für einen Camperaufbau ein kleine Panel bauen wo ich diverse Sensoren auslesen kann und Relais schalten.
Lang hab ich überlegt auf welcher Basis ich es mache ( arduino / raspi).
Final bin ich dann zum raspi mit einem 7" Touchscreen gekommen, da ich mit Lazarus einfach schnell ansprechende GUI´s Programmieren kann.
Jetzt aber zu meinem Problem.
In den ganzen Beispielen von PascalIO geht es fast immer nur um LED´s an und aus zu machen, also einfach den Pin aug High oder Low zu setzten.
Wie lese ich aber Sensorwerte aus, wie z.B. von einem DT22 (Temp und Luftfeuchtigkeit)
Gibts da irgendwo ein Beispiel ?
Gruß Tim
kurz zu mir, ich heiße Tim bin fast 30 und komme aus der nähe von Ulm.
Delphi und Lazaruserfahrung habe ich seit paar Jahren, da ich für unseren Betrieb eine kleine SQL basierte ERP Software gebaut habe (zu überwachung der Arbeiten etc mittels NFC).
Jetzt habe ich allerdings ein neues Projekt.
Ich möchte für einen Camperaufbau ein kleine Panel bauen wo ich diverse Sensoren auslesen kann und Relais schalten.
Lang hab ich überlegt auf welcher Basis ich es mache ( arduino / raspi).
Final bin ich dann zum raspi mit einem 7" Touchscreen gekommen, da ich mit Lazarus einfach schnell ansprechende GUI´s Programmieren kann.
Jetzt aber zu meinem Problem.
In den ganzen Beispielen von PascalIO geht es fast immer nur um LED´s an und aus zu machen, also einfach den Pin aug High oder Low zu setzten.
Wie lese ich aber Sensorwerte aus, wie z.B. von einem DT22 (Temp und Luftfeuchtigkeit)
Gibts da irgendwo ein Beispiel ?
Gruß Tim
- kralle
- Lazarusforum e. V.
- Beiträge: 994
- Registriert: Mi 17. Mär 2010, 14:50
- OS, Lazarus, FPC: Linux Mint 20 , FPC 3.3.1 , Lazarus 2.1.0 -Win10 & XE7Pro
- CPU-Target: 64Bit
- Wohnort: Bremerhaven
- Kontaktdaten:
Re: PascalIO GPIO Sensor auslesen (DT22)
OS: Manjaro Linux, Debian und Windows 10
FPC-Version: 3.2.2 , Lazarus 3.0
+ Delphi XE7SP1
FPC-Version: 3.2.2 , Lazarus 3.0
+ Delphi XE7SP1
- af0815
- Lazarusforum e. V.
- Beiträge: 6217
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: PascalIO GPIO Sensor auslesen (DT22)
Es gibt auch noch den Weg, das man den Sensor über TProzess quasi üder die Kommandozeile ausliest. Ist manchmal einfacher.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 4
- Registriert: Sa 4. Dez 2021, 17:17
Re: PascalIO GPIO Sensor auslesen (DT22)
Moin
Ok aber über PascalIO keine Chance ?
Ok aber über PascalIO keine Chance ?
- af0815
- Lazarusforum e. V.
- Beiträge: 6217
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: PascalIO GPIO Sensor auslesen (DT22)
Wir haben es aktuell bei ein paar Temperatursensoren am RasPi recht einfach gemacht. In Python gab es fertige Befehle und Bibliotheken, die man auch auf der Kommandozeile ausführen kann. Deswegen haben wir den direkten und kürzeren Weg genommen.
IMHO hat der DT22 ein einfaches serielles Protokoll (40 Bit seriell), das allerdings etwas vom Timing her empfindlich ist. Nachdem ein kompiliertes Pascalprogramm im Userspace läuft, ist das Timing nicht garantiert. Noch dazu darf man den Sensor nicht zu viel anpollen, ansonsten blockiert der.
Siehe auch https://www.mikrocontroller-elektronik. ... tursensor/
Da findet man auch einen Link auf die Datenblätter zum Timing.
----
Es gibt viele Wege um diesen Sensor auszulesen, das hier ist ein einfacher und wenn man einen anderen Sensor benutzt, ist das auch ganz schnell umprogrammiert ohne sich zu sehr in die Details des Sensors zu begeben.
IMHO hat der DT22 ein einfaches serielles Protokoll (40 Bit seriell), das allerdings etwas vom Timing her empfindlich ist. Nachdem ein kompiliertes Pascalprogramm im Userspace läuft, ist das Timing nicht garantiert. Noch dazu darf man den Sensor nicht zu viel anpollen, ansonsten blockiert der.
Siehe auch https://www.mikrocontroller-elektronik. ... tursensor/
Da findet man auch einen Link auf die Datenblätter zum Timing.
----
Es gibt viele Wege um diesen Sensor auszulesen, das hier ist ein einfacher und wenn man einen anderen Sensor benutzt, ist das auch ganz schnell umprogrammiert ohne sich zu sehr in die Details des Sensors zu begeben.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Lazarusforum e. V.
- Beiträge: 3158
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: PascalIO GPIO Sensor auslesen (DT22)
Wie af0815 bereits schrieb, ist das Timing hier recht schwierig einzuhalten. Mit PascalIO lassen sich andere Sensoren, die I2C oder SPI verwenden einfacher anbinden, da hier der zeitkritische Teil der Kommunikation im Linux-Kernel stattfindet.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
- af0815
- Lazarusforum e. V.
- Beiträge: 6217
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: PascalIO GPIO Sensor auslesen (DT22)
Camperaufbau habe ich überlesen. Dort einmal mit Arduino, da man das wesentlich enegiesparender hinbekommt. Vor allen dann, wenn man autarkt stehen will, so ist ein dauernd laufender RasPi doch eine gewisse Last. Vorverarbeiten mit dem Arduino (ev. zwischenspeichern) und dann per seriell auf den RasPi.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 4
- Registriert: Sa 4. Dez 2021, 17:17
Re: PascalIO GPIO Sensor auslesen (DT22)
Das war meine Idee das ganze über UART und arduino zu machen.af0815 hat geschrieben: ↑So 5. Dez 2021, 16:40Camperaufbau habe ich überlesen. Dort einmal mit Arduino, da man das wesentlich enegiesparender hinbekommt. Vor allen dann, wenn man autarkt stehen will, so ist ein dauernd laufender RasPi doch eine gewisse Last. Vorverarbeiten mit dem Arduino (ev. zwischenspeichern) und dann per seriell auf den RasPi.
Mir ging’s primär darum
Das mit Lazarus zu machen wegen der GUI die sich einfach gestalten lässt
- af0815
- Lazarusforum e. V.
- Beiträge: 6217
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: PascalIO GPIO Sensor auslesen (DT22)
Ich gebe dir recht wegen der GUI. Aber wie lange läuft die ? Nur dann wenn du vom Display Daten abfragst. Ich würde einen RasPi nicht die ganze Zeit laufen lassen.
Siehe hier https://www.energie.web.de/ratgeber/ver ... -rasperry/ dort wird der Stromverbrauch mit 1,22 Watt angegeben. Und im Jahr mit 26 kWh. Ich habe das einmal so übernommen.
Wenn du jetzt ein Display dabei hast, so ist der Verbrauch doch um einiges höher. Da würd ich überlegen den Raspi für die Anzeige nur ' on demand' zu aktivieren.
Siehe hier https://www.energie.web.de/ratgeber/ver ... -rasperry/ dort wird der Stromverbrauch mit 1,22 Watt angegeben. Und im Jahr mit 26 kWh. Ich habe das einmal so übernommen.
Wenn du jetzt ein Display dabei hast, so ist der Verbrauch doch um einiges höher. Da würd ich überlegen den Raspi für die Anzeige nur ' on demand' zu aktivieren.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 4
- Registriert: Sa 4. Dez 2021, 17:17
Re: PascalIO GPIO Sensor auslesen (DT22)
Das mit dem Stromverbrauch seh ich aktuell als kein Problem an.
Da wir auf dem Campingplatz eh immer Strom haben, bzw wir 2x 120Ah AGM Batterien verbaut haben.
Werde mich mal Richtung SerialCom befassen.
Wobei das schon wieder overkill ist für ein paar Sensorwerte und Relais
Da wir auf dem Campingplatz eh immer Strom haben, bzw wir 2x 120Ah AGM Batterien verbaut haben.
Werde mich mal Richtung SerialCom befassen.
Wobei das schon wieder overkill ist für ein paar Sensorwerte und Relais