Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Raspberry PI to Delphi (https://www.delphipraxis.net/202621-raspberry-pi-delphi.html)

Hobbycoder 22. Nov 2019 18:12

Raspberry PI to Delphi
 
Liste der Anhänge anzeigen (Anzahl: 5)
Ich arbeite viel mit dem Raspberry zur Steuerung und Zustandserfassung. Bisher immer mit Fremdtools direkt auf dem Raspberry. Datenaustausch habe ich meist über eine Datenbank gemacht.
Bis ich kürzlich mal auf die Schnelle ein paar Termeraturen erfassen wollte. Auf der Suche nach einer schnellen Lösung, die sich ohne großen Installationsaufwand realisieren lässt, und auch von Linux nicht so viel Ahnung haben, bin ich zu diesem Projekt gekommen.

Herausgekommen ist eine Delphi-Klasse und ein paar Python-Scripte, die per Shell-Script immerhalb von Sekunden als Service auf eine Raspi installiert sind.
Dieses Konzept möchte ich euch hier zur Verfügung stellen.

Im Wesentlichen besteht das Ganze seitens dem Raspberry aus 2 Python-Scripten.
Das 1. liest laufend alle installierten DS18x20-Temperatursensor und über mittelt laufend die aktuellen Temperaturen per UDP an einen Host.
Das 2. steuert die GPIO-Ports. Zum einen empfängt es ebenfalls über UDP Befehle um einen GPIO-Port auf high oder low zu setzen, und zum anderen könenn andere GPIO-Ports z.B. an einen Taster/Schalter angeschlossen werden, dessen Zustand dann per UDP an eine Host gesendet werden.

Seitens Delphi gibt es die Klasse TRaspiList bzw TRaspi, welche nehmen ein paar Parametern die Liste der GPIO-Ports und DS18x20-Temperaturfühler je Raspi darstellt. Weiterhin beinhaltet die Klasse TRaspi noch eine Thread für den Datenaustausch per UDP.
Das Ganze ist erstmal experimentell und auch relativ schnell von mir erstellt. Die Temperatursensoren funktionieren sehr gut. Auch das Schalten von GPIO-Ports funktionniert sehr gut. Beim Erfassen er GPIO-Eingänge gibt es noch Handlungsbedarf, da diese noch nicht sooo zuverlässig übertragen. Möglicherweise stelle ich das doch teilwiese um auf TCP.

Aber in meiner kleinen Demo kann man damit schon was anfangen.

Zur Zeit funktionieren folgende Peripherie:
  • DS18x20 - 1-Wire-Temperaturfühler
  • Zustandanzeige per LED an einem GPIO
  • Schalten von 220V mittel Relais an GPIO
  • Taster/Schalter an GPIO z.B: Öffnungskontakt Servertür, etc
  • PIR an GPIO - Bewegungsmelder
Hinzufügen möchte ich noch:
  • Raumklimaerfassung über BMP o.ä.
  • Abrufen von Kamerabildern
  • evtl. Abrufen von Linux-System-Informationen
  • Lesen von 433 MHz-Empängern
  • Senden von 433 MHz

Wer das also mal ausprobieren will, und/oder mit einem Raspberry rumspielen will, sei gerne dazu eingeladen. Wer gerade hinsichtlich der Linux-Python-Scripte etwas dazu beitragen will, sei ebenfalls herzlich eingeladen.
Auch die Delphi-Units sind erstmal fix zusammengeklöppelt und sind inhaltlich allenfalls im Alpha-Stadium. Also nicht zuviel erwarten.

Wer es testen möchte, hier noch der Hinweis: In den Python-Scripten müssen noch IP-Adresse und GPIO-Ports angepasst werden, damit das funktioniert. Gleichermaßen natürlich im der Demo.

Im angehänten Archiv befinden sich 3 Archive:
- Pi2Delphi_Units.rar (Beinhaltet 2 Units)
- RaspberryDemo.rar (Ganz einfaches Beispielprogramm, Pi2Delphi-Units sind enhalten)
- p2dinst.tar.gz (Das muss auf dem Raspberry z.B: im Verzeichnis /home/pi enpackt werden und mit "sudo sh instpi2delphi.sh" installiert werdnen)

TurboMagic 22. Nov 2019 22:51

AW: Raspberry PI to Delphi
 
Danke für's Teilen! Das könnte für den einen oder anderen hilfreich sein.
Schon mal daran gedacht, das auf Github als Repository zur Verfügung zu stellen?
Evtl. finden such dann weitere Mitstreiter?

DelTurbo 23. Nov 2019 10:42

AW: Raspberry PI to Delphi
 
Hi,
ich habe auch schon einige Programme für den Raspi und ODroid gemacht. Ich nehme immer CodeTyphon. Meistens sind nur ganz kleine anpassungen notwendig wenn überhaupt. Ich schreibe die sachen meistens in Delphi (weil mir die IDE besser gefällt) und Importierte die dann in CodeTyphon. Dann kann ich das Projekt auf arm oder sogar aarch64 laufen lassen. Das mache ich ebenfalls wenn ich genrell was für Linux entwickeln möchte.

Vielleicht hilft euch das weiter.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz