Hallo,
ich bin neu hier und suche nach einer Lösung meines Problemes und hoffe das mir hier geholfen werden kann.
Also mein vorhaben im allgemeinen ist es mit dem Raspberry Pi eine Bewässerungsanlage für den Garten meiner Eltern zu bauen. Die zeitliche Steuerung ist erstmal kein Problem. Nun ist nur die Sache das mein Vater die einzelnen bereiche zum Bewässern auch zwischendurch ansteuern will. Ich wollte nun ein Bildschirm an den Pi anschließen damit er dort auf einer Benutzeroberfläche die einzelnen Bereiche per Mausklick öffnen kann. Gibt es dafür eine Möglichkeit?
ich hoffe es ist verständlich und ihr könnt mir dabei weiterhelfen.
Visualisierung von Python auf dem Raspberry Pi
- __blackjack__
- User
- Beiträge: 13937
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@JOnybery: Ja, sogar mehrere. Wobei ich wahrscheinlich etwas allgemeiner denken würde und eine Webanwendung in Betracht ziehen würde. Die kann man dann von überall her bedienen wo man einen Browser hat (Desktop-Rechner, Smatphone, Tablet, …) und lokal auf einem Display kann man ja auch einen Browser anzeigen lassen.
“Java is a DSL to transform big Xml documents into long exception stack traces.”
— Scott Bellware
— Scott Bellware
Da heutzutage jeder ein Smartphone hat, würde ich die Steuerung als Webservice implementieren, der über das lokale WLAN erreichbar ist. Das spart die Hardware am PI und man kann auch vom Sofa aus den Garten bewässern.
- __blackjack__
- User
- Beiträge: 13937
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@JOnybery: Du könntest aus dem Raspi selbst einen WiFi access point machen. Aber wie gesagt, kann man auf dem lokal dann ja auch einen Browser laufen lassen.
“Java is a DSL to transform big Xml documents into long exception stack traces.”
— Scott Bellware
— Scott Bellware
Die Antwort kommt zwar spät, aber wie ich hoffe nicht zu spät.
Ich würde es mit pygame machen:
PS: Ich hoffe es funktioniert
PPS: Am besten du liest dir zusätzlich die Dokumentation von pygame https://www.pygame.org/docs/ durch.
Ich würde es mit pygame machen:
Code: Alles auswählen
import sys, pygame, time
from pygame.locals import *
b = Fensterbreite
h = Fensterhöhe
Font = pygame.font.SysFont('Arial', Schriftgröße)
Wasser = False
pygame.init()
GUI = pygame.display.set_mode((b, h), RESIZABLE, 32)
pygame.display.set_caption('Fenstertitel')
GUI.fill(R, G, B)#Rot-, Grün-, Blauanteil
pygame.draw.rect(GUI, ((R, G, B)), (x, y, breite, höhe))
text = Font.render('Wasser an', 1, ((R, G, B)))
GUI.blit(text, (x, y))
pygame.display.update()
while True:
event = pygame.event.wait()
if event.type == QUIT:
pygame.quit()
sys.exit()
if event.type == MOUSEBUTTONDOWN:
cursor = pygame.mouse.get_pos()
px = int(cursor[0])
py = int(cursor[1])
if px > x and px < (x + breite) and py > y and py < (y + höhe) and Wasser == False:
#Die Aktion zum Einschalten
pygame.draw.rect(GUI, ((R, G, B)), (x, y, breite, höhe))
text = Font.render('Wasser aus', 1, ((R, G, B)))
GUI.blit(text, (x, y))
Wasser == True
pygame.display.update()
if px > x and px < (x + breite) and py > y and py < (y + höhe) and Wasser == True:
#Die Aktion zum Abschalten
pygame.draw.rect(GUI, ((R, G, B)), (x, y, breite, höhe))
text = Font.render('Wasser an', 1, ((R, G, B)))
GUI.blit(text, (x, y))
Wasser == True
pygame.display.update()
PPS: Am besten du liest dir zusätzlich die Dokumentation von pygame https://www.pygame.org/docs/ durch.
- __blackjack__
- User
- Beiträge: 13937
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@Schlange: Der Code ist nicht lauffähig, den hast Du also nicht getestet, und sich mit Pygame eine GUI zu basteln ist relativ aufwändig. Schalter gibt es in den üblichen GUI-Rahmenwerken bereits fertig.
`time` wird importiert, aber nirgends verwendet. Es ist auch üblich nur ein Modul pro `import` anzugeben.
`time` wird importiert, aber nirgends verwendet. Es ist auch üblich nur ein Modul pro `import` anzugeben.
“Java is a DSL to transform big Xml documents into long exception stack traces.”
— Scott Bellware
— Scott Bellware