PascalIO GPIO Sensor auslesen (DT22)

Antworten
ironman139
Beiträge: 4
Registriert: Sa 4. Dez 2021, 17:17

PascalIO GPIO Sensor auslesen (DT22)

Beitrag von ironman139 »

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

Benutzeravatar
kralle
Lazarusforum e. V.
Beiträge: 990
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)

Beitrag von kralle »

OS: Manjaro Linux, Debian und Windows 10
FPC-Version: 3.2.2 , Lazarus 3.0
+ Delphi XE7SP1

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6200
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)

Beitrag von af0815 »

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).

ironman139
Beiträge: 4
Registriert: Sa 4. Dez 2021, 17:17

Re: PascalIO GPIO Sensor auslesen (DT22)

Beitrag von ironman139 »

Moin

Ok aber über PascalIO keine Chance ?

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6200
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)

Beitrag von af0815 »

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.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Socke
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)

Beitrag von Socke »

ironman139 hat geschrieben:
So 5. Dez 2021, 09:46
Ok aber über PascalIO keine Chance ?
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

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6200
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)

Beitrag von af0815 »

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).

ironman139
Beiträge: 4
Registriert: Sa 4. Dez 2021, 17:17

Re: PascalIO GPIO Sensor auslesen (DT22)

Beitrag von ironman139 »

af0815 hat geschrieben:
So 5. Dez 2021, 16:40
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.
Das war meine Idee das ganze über UART und arduino zu machen.

Mir ging’s primär darum
Das mit Lazarus zu machen wegen der GUI die sich einfach gestalten lässt

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6200
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)

Beitrag von af0815 »

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.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

ironman139
Beiträge: 4
Registriert: Sa 4. Dez 2021, 17:17

Re: PascalIO GPIO Sensor auslesen (DT22)

Beitrag von ironman139 »

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 :lol:

Antworten