So, wie du es machen willst (musst) ist der wesentlich kompliziertere Weg.
Gibt es denn einen anderen Weg wo der Pi nicht als Host fungiert?
So, wie du es machen willst (musst) ist der wesentlich kompliziertere Weg.
Gibt es denn einen anderen Weg wo der Pi nicht als Host fungiert?
Das ganze darf auch mit einer Verzögerung von 5 sec schalten. So schnell muss das also nicht laufen. Ein Freund von mir hat das mit sehr viel Code in js so gemacht das einfach sobald die Website sich ändert ein Paket an alle anderen Nutzer gesendet wird. So ähnlich hätte ich das gerne. Nur wollte ich halt Python am raspi laufen haben und nicht 10 Node-Scripts gleichzeitig . So etwas in der Art bräuchte ich also. Seins läuft zwar ohne Verzögerung aber die ist mir am Zero sowieso egal
(bei der Verbindung und der Rechengeschwindigkeit).
PS: Falls ihr wissen wollt weshalb am Pi Python mit Selenium laufen soll: Leichter, Weniger Code im Vergleich zu anderen Sprachen, schnell zu Vergrößern (ich möchte nachher noch Temperatur und andere Sensor ausgaben auf die Website schreiben), und relativ kleine Dateien.
ICh habe vorhin den Umstieg von Raspbian zu Raspberry Pi OS gewagt und jetzt will Selenium nicht mehr, kann mir da vlt. jemand helfen?
Der Error:
selenium-test.py:9: DeprecationWarning: use options instead of chrome_options
driver = webdriver.Chrome(executable_path = '/usr/local/bin/chromedriver', chrome_options=options)
Traceback (most recent call last):
File "selenium-test.py", line 9, in <module>
driver = webdriver.Chrome(executable_path = '/usr/local/bin/chromedriver', chrome_options=options)
File "/home/pi/.local/lib/python3.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 73, in __init__
self.service.start()
File "/home/pi/.local/lib/python3.7/site-packages/selenium/webdriver/common/service.py", line 76, in start
stdin=PIPE)
File "/usr/lib/python3.7/subprocess.py", line 775, in __init__
restore_signals, start_new_session)
File "/usr/lib/python3.7/subprocess.py", line 1522, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/usr/local/bin/chromedriver'
Ich nutze https://glitch.com/ dafür. Das ganze sollte so einfach wie's geht aufgebaut sein ;). PHP zu verwenden wäre schon komplizierter.
Das Problem liegt beim erstellen / ändern der Datei.
Genau. Ich möchte über das anklicken eines Buttons auf der Website einen p-tag umschreiben. In meiner jetzigen Version der Website wird der p-tag allerdings nur Client-Site umgeschrieben. Das soll aber Serverseitig so sein.
Display MoreHallo,
das ist ziemlich wirr... HTML kann per se keinen GPIOs oder sonst was schalten. Wenn die Webseite irgendwas auf einem Rechner "auslösen" soll, musst du minimal einen Request senden. Das geht z.B. über ein Formular, der "normalere" Weg in diesem Fall ist aber der Einsatz von JavaScript, z.B. in Kombination mit der fetch-API.
Also: die Webseite liegt irgendwo bei einem Hoster und soll auf einem Raspi, der woanders steht und nicht im gleichen Intranet ist wie der Host-Server, was schalten. Dann ist schon mal eine Voraussetzung, dass der Raspi über's Internet erreichbar ist. Ist er das?
Gruß, noisefloor
Die GPIO werden vom Python Programm geschaltet welches über Selenium aus einer Website auslesen soll ob z.B. die LED leuchten soll oder nicht.
Der Raspberry Pi soll ja gerade nicht über das Internet erreichbar sein. Sonst würde ich auf ihm einfach die Website direkt selber hosten. Allerdings erlauben meine Eltern das nicht.
Ich möchte eine txt-datei mit text überschreiben. Google konnte mir nicht viel helfen.
Die txt-Datei soll online über Glitch erreichbar sein und über eine HTML-Datei, auf dem Glitch-Server gehostet, bearbeitbar sein.
Statt der txt-Datei wäre eine kontinuierliche Veränderung der HTMl-Hauptdatei besser. Aber die txt reicht fürs erste
Hallo
Ich habe mit Python ein Programm geschrieben mit welchem ich eine Website, welche auf Glitch gehostet wird, auslese. Das Python Programm funktioniert einwandfrei und eine zum Test an die GPIOs angeschlossene LED leuchtet. Nun möchte ich allerdings, das ich nicht immer die HTML-Datei ändere damit der Raspberry Pi die LED an- bzw. ausschaltet. Die Website soll sich serverseitig umschreiben sodass ich nur einen Knopf zu drücken brauche um die LED an- bzw. auszuschalten. Eine auf dem Raspberry Pi gehostete Website kommt für mich leider nicht infrage. Ich bin in Website-Entwicklung eher in der Beginner-Abteilung verstehe aber grundlegene Sachen, dadurch ist meine jetzige Lösung: https://smarthome42.glitch.me/
Vielen im Voraus für jede Hilfe
Hi,
ich habe Linux Mint auf meinem Pi und möcht mit xdotool Die Command Taste drücken.
Was muss ich dafür eingeben?
Bei Control ist es ja ctrl.
Meine Tastatur hat cmd als Command-Taste allerdings funktioniert das nicht be xdotool.
Danke im Voraus
Vielen Dank
ich probiere das jetzt noch mal ueberarbeitet.
Hallo Leute,
ich habe bei einem Programm, das zu einer Art RFID-Musikbox werden soll, am Ende mit einer try-Schleife ein Problem.
Der Code:
import buzzer
import time
import random
import RPi.GPIO as gpio
import sys
from mfrc522 import SimpleMFRC522
gpio.setwarnings(False)
reader = SimpleMFRC522()
def ton(x, y):
buzzer.tone(x, y)
def login():
x = 1000
l=x-700
while x > l:
ton(x, 0.1)
x=x-100
time.sleep(0.05)
e = 2
while e > 0:
ton(500, 0.1)
time.sleep(0.2)
e= e-1
allowed = 0
print("Die Karte/Den Chip scannen lassen.")
try:
id, text = reader.read()
print("Deine ID: ", id)
f = open(".allowed.txt", "r")
f1 = f.readlines()
for e in f1:
with open (".allowed.txt", "r") as myfile:
data = myfile.read().splitlines()
for i in data:
if int(i) == id:
allowed = 1
if allowed == 1:
print("Authentifizierung erfolgreich")
login()
print("1 = Neue Karte hinzufuegen")
# print("2 = Alte Karte loeschen")
action = int(input("Was willst du tun? "))
# if action == 2:
# print("Zu loeschende Karte scannen.")
# try:
# id, text = reader.read()
# print("Zu loeschende ID: ", id)
if action == 1:
print("Zu hinzufuegende Karte scannen.")
try:
id, text = reader.read()
print("Zu hinzufuegende ID: ", id)
f = open(".allowed.txt", "a+")
f.write(id + "/n")
f.close()
print(id, " wurde erfolgreich hinzugefuegt.")
finally:
buzzer.end()
gpio.cleanup()
Display More
Als Error kommt mir:
File "rfid_musik.py", line 64
finally:
^
IndentationError: unexpected unindent\
Im Voraus schonmal Danke fuer Hilfe.
PS: Ich verwende eine Englische Tastatur, deshalb keine Umlaute.
So das ganze funktioniert jetzt. Wegen euch hab ich mich getraut was auszuprobieren und der Raspi ist nun auch frei und nicht mehr bei
Hallo,
der Adafruit Pitft hat neben den Steckern die man auf die GPIO steckt noch diese eine Steckreihe wo ich nicht weiß
wofür sie ist?
Kann man diese als GPIO verwenden wen ja wie?
Ich möchte nämlich ein SmartHome aus meinem Raspi3b bauen das dieses Touch Display verwendet.
Dass ganze mache ich mit meinem Freund der sich um den Webadmin kümmert.
Ich soll nun ein Python Skript schreiben das eine Helligkeit mit https://codingworld.io/project/analoge-werte-digital-messen ausliest und in eine txt-Datei
reinschreibt. Nur wegen dem Adafruit PiTFT kann ich die GPIO meines Wissens nicht verwenden.
Der Code ist bis jetzt:
import time
import RPi.GPIO as gpio
gpio.setmode(gpio.BCM)
while True:
#messen und die variable helligkeit auf % setzen
file = open helligkeit.txt
file.write(helligkeit)
file.close()
time.sleep(5.9)#muss so sein da sich der webadmin alle 10 sec reloaded
Display More
Danke im voraus für Hilfe
cool,
jetzt fährt mein roboter ohne Enter zu drücken
Meine Mutter hat in der Bücherei ein Raspi Buch ausgeliehen ohne dass ich was davon wusste, darin war ein Türschalterprogramm, bei dem die asctime geprintet wird ich schreibs noch ein wenig um und fertig.
Moin,
ich baue und programmiere zurzeit einen Carrera GO!!! Zeitmesser aus einem Rundenzähler, dieser soll dann in einem Fenster am Bildschirm die aktuelle Zeit ausgeben, die ich bis dahin gefahren bin. Testen tuhe ich zurzeit mit einem normalen Button am Steckbrett.
Mein Code ist zurzeit
import RPi.GPIO as gpio
import time
gpio.setmode(gpio.BCM)
gpio.setup(23, gpio.IN,pull_up_down=gpio.PUD_UP)
start = time.time()
ok = 0
while True:
los = gpio.input(23)
if los == 1:
stop = time.time()
vergzeit = stop-start
print(str ok"Runden", str vergzeit"Sec.")
ok+=1
if ok == 10:
print("Alles Logo. Rennen zu Ende.")
gpio.cleanup()
Display More
Wie kann ich machen dass, der Button als Eingabe des Starts und Stops erkannt wird, da dies nicht klappt, dass Programm wird sogesehen ja überflogen. Danach kommt mir folgende Fehlermeldung:
Traceback (most recent call last):
File "/home/pi/zeitgpio.py", line 10, in <module>
los = gpio.input(23)
RuntimeError: Please set pin numbering mode using GPIO.setmode(GPIO.BOARD) or GPIO.setmode(GPIO.BCM)
Als Editor nehme ich ThonnyPython.
Übrigens: Wie kann ich die Ergebnisse Runden?
Danke für Hilfe.
PS: Sorry falls ich nicht direkt Antworte (ist ja menschlich), weil ich jetzt wandern gehe.
Ich habe ein Eisteigerpaket bekommen.
Von Codingworld, dass hat am Anfang ziemlich geholfen. Die Projekte gibt es auch mit Erklärung im Netz.
In meinem Anleitungshäftchen sind noch Kurzlinks, z.b. cw42.de/17
Diese haben am Ende eine Seitenzahl, Die ganzen coolen Projekte sind auf 18 bis 76
Danke für die Hilfe. Ich spule gerade Raspbain neu auf. Und die gpio werde ich nur dann nutzen wenn es eine gute Anleitung gibt wie man es umsetzen nuss.
Mach doch etwas dass erschüterungen misst ( )
Cool willst du dir das nachbauen
Dann würde ich dir meine Art Raten weil die sehr einfach ist.
Grüße Enzo