Quote
Dann muss ich wohl mal nen Kartenleser kaufen gehen. Muss ich nicht erstmal erfolgreich gebootet haben ums ssh zu nutzen?
denk schon das du erstmal booten solltest bevor ssh funktioniert
Quote
Dann muss ich wohl mal nen Kartenleser kaufen gehen. Muss ich nicht erstmal erfolgreich gebootet haben ums ssh zu nutzen?
denk schon das du erstmal booten solltest bevor ssh funktioniert
Hi
ganz locker bleiben ![]()
probier doch mal nen anderes Betreibssystem aus ob du ihn überhaupt gestartet bekommst
nen Kolleg von mir hatte mal das selbe Problem das der Bildschirm einfach nicht erkannt wurde.Er hat mir erzählt das er über den Putty sprich über ssh dan auf seinen Raspberry ist und er dann erstmal nen Treiber aktualisieren oder Installieren musste damit es er den Bildschrim erkennt sudo apt-get-update / sudo apt-get-upgrade oder halt sudo apt-get install und dan den Bildschirmtreiber
vllt lieget s eben an dem momentanen Betreibssysten oder update das problem ist mir nämlich auch bekannt allerdings hab ich slebst nochnicht alzuviel erfahrung mit dem pi
Hi
ganz locker bleiben ![]()
probier doch mal nen anderes Betreibssystem aus ob du ihn überhaupt gestartet bekommst
nen Kolleg von mir hatte mal das selbe Problem das der Bildschirm einfach nicht erkannt wurde.Er hat mir erzählt das er über den Putty sprich über ssh dan auf seinen Raspberry ist und er dann erstmal nen Treiber aktualisieren oder Installieren musste damit es er den Bildschrim erkennt sudo apt-get-update / sudo apt-get-upgrade oder halt sudo apt-get install und dan den Bildschirmtreiber
vllt lieget s eben an dem momentanen Betreibssysten oder update das problem ist mir nämlich auch bekannt allerdings hab ich slebst nochnicht alzuviel erfahrung mit dem pi
hallo zusammen ich baue auch grade an einem Gps-empfänger
ich hab ihn nach diesem plan von Adafruit aufgebaut allerdings über Usb
https://learn.adafruit.com/adafruit-ultim…g-everything-up
jetzt hab ich nurnoch folgendes problem wenn ich mein script direkt auf dem raspberry starte funktioniert es nicht ....
wenn ich es jedoch über das adafruit-webIDE starte läuft es einwandfrei
kann mir jemand sagen wieso?
hier mal mein script hab den db-conektor rausgenommen (passwörter usw)
#! /usr/bin/python
# -*- encoding: utf-8 -*-
import os
from time import sleep
import math
import os
from gps import *
from time import *
import time
import threading
import MySQLdb
Versuche = 40000
***********
cursor = db.cursor()
cursor.execute("UPDATE `GPStest` SET `zustand`='Startet' WHERE 1 ")
db.commit()
cursor.close()
while Versuche >= 0 :
Versuche = 40000
print"Pruefe Laufende GPS-Programme"
os.system('sudo killall gpsd')
time.sleep(8.) #set to whatever
os.system('sudo gpsd /dev/ttyUSB0 -F /var/run/gpsd.sock')
time.sleep(8.) #set to whatever
gpsd = None #seting the global variable
os.system('clear') #clear the terminal (optional)
class GpsPoller(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
global gpsd #bring it in scope
gpsd = gps(mode=WATCH_ENABLE) #starting the stream of info
self.current_value = None
self.running = True #setting the thread running to true
def run(self):
global gpsd
while gpsp.running:
gpsd.next() #this will continue to loop and grab EACH set of gpsd info to clear the buffer
if __name__ == '__main__':
gpsp = GpsPoller() # create the thread
try:
gpsp.start() # start it up
while True:
#It may take a second or two to get good data
#print gpsd.fix.latitude,', ',gpsd.fix.longitude,' Time: ',gpsd.utc
os.system('clear')
latitude = gpsd.fix.latitude
while math.isnan(latitude) and Versuche >= 0: # Abfrage ob die Daten ausgelesen werden konten
latitude = gpsd.fix.latitude#Wenn nicht forgang wiederholen
time.sleep(.01)
Versuche=Versuche-1
longitude = gpsd.fix.longitude
while math.isnan(longitude)and Versuche >= 0:
longitude = gpsd.fix.longitude
time.sleep(.01)
Versuche=Versuche-1
speed = gpsd.fix.speed
while math.isnan(speed)and Versuche >= 0:
speed = gpsd.fix.speed
time.sleep(.01)
Versuche=Versuche-1
altitude=gpsd.fix.altitude# Hoehe
while math.isnan(altitude)and Versuche >= 0:
altitude=gpsd.fix.altitude
time.sleep(.01)
Versuche=Versuche-1
eps=gpsd.fix.eps
while math.isnan(eps)and Versuche >= 0:
eps=gpsd.fix.eps
time.sleep(.01)
Versuche=Versuche-1
epx=gpsd.fix.epx
while math.isnan(epx)and Versuche >= 0:
epx=gpsd.fix.epx
time.sleep(.01)
Versuche=Versuche-1
epv=gpsd.fix.epv
while math.isnan(epv)and Versuche >= 0:
epv=gpsd.fix.epv
time.sleep(.01)
Versuche=Versuche-1
ept=gpsd.fix.ept
while math.isnan(ept)and Versuche >= 0:
ept=gpsd.fix.ept
time.sleep(.01)
Versuche=Versuche-1
climb=gpsd.fix.climb#Steigung
while math.isnan(climb)and Versuche >= 0:
climb=gpsd.fix.climb
time.sleep(.01)
Versuche=Versuche-1
track=gpsd.fix.track
while math.isnan(track)and Versuche >= 0:
track=gpsd.fix.track
time.sleep(.01)
Versuche=Versuche-1
mode=gpsd.fix.mode
while math.isnan(mode)and Versuche >= 0:
mode=gpsd.fix.mode
time.sleep(.01)
Versuche=Versuche-1
print ' GPS reading'
print '----------------------------------------'
print 'latitude ' , latitude
print 'longitude ' , longitude
print 'time utc ' , gpsd.utc,' + ', gpsd.fix.time
print 'altitude (m)' , altitude
print 'eps ' , eps
print 'epx ' , epx
print 'epv ' , epv
print 'ept ' , ept
print 'speed (m/s) ' , speed
print 'climb ' , climb
print 'track ' , track
print 'mode ' , mode
print
print 'sats ' , gpsd.satellites
time.sleep(.2) #set to whatever
if Versuche >=0:
**************
cursor = db.cursor()
# cursor.execute("DROP TABLE IF EXISTS Writers")
# cursor.execute("CREATE TABLE IF NOT EXISTS GPStest(id int, latitude double, longitude double,speed double,altitude double,eps double,epx double,epv double,ept double,climb double,track double,mode double)")
cursor.execute("UPDATE `GPStest` SET `longitude`=%s,`latitude`=%s,`speed`=%s, `altitude`=%s, `eps`=%s, `epx`=%s, `epv`=%s, `ept`=%s,`climb`=%s, `track`=%s, `mode`=%s,`zustand`='Online' WHERE 1 "%(longitude,latitude,speed,altitude,eps,epx,epv,ept,climb,track,mode,))
db.commit()
cursor.close()
else:
***************
cursor = db.cursor()
cursor.execute("UPDATE `GPStest` SET `zustand`='Fehler' WHERE 1 ")
db.commit()
cursor.close()
except (KeyboardInterrupt, SystemExit): #when you press ctrl+c
print "\nKilling Thread..."
gpsp.running = False
gpsp.join() # wait for the thread to finish what it's doing
print "Done.\nExiting."
#DIE KOMMENDE ZEILE FUNKTIONIERT AUCH NICHT IMMER SO WIE SIE SOLL
Display More
************
cursor = db.cursor()
cursor.execute("UPDATE `GPStest` SET `zustand`='Offline' WHERE 1 ")
db.commit()
cursor.close()
so ich hoff ich hab nichts falsches aus dem Script gelöscht
ich hoffe auch der Script ist auch ohne Kommentare gut verständlich
im Prinzip prüfe ich immer ob ich die werte aus dem Gps-shild bekomme wenn nicht dan startet er das Gps neu
falls doch dan darf er die Daten auf die Datenbank schrieben
Ich hoffe das hilft euch weiter und ich hoffe auch das ihr mir weiterhelfen könnt
hast gut in der Kristallkugel gelesen ...... ja ich hab ihn mal neu aufgesetzt das hat allerdings nichts an dem Problem geändert das er mal ging und mal nicht (ich hab ihn halt auch immer wieder gleich geupdatet) teilweise hat das aus und wieder einstecken des Stromkabels geholfen aber auch nicht immer
wie auch immer ich hab nen weng daran rumgebastelt jetzt läuft er wieder fragt mich aber nicht wieso
nen Kolleg von mir meinte das es am update liegt. ich werde jetzt die nächste Zeit auf Updates verzichten und mal schauen ob der Fehler wieder auftritt oder nicht
trotzdem danke an alle![]()
Guten tag zusammen
ich hab zurzeit einige Probleme mit meinem Raspberry und frage mich woran das liegen könnte.
Das problem liegt darain das er ab und zu einfach mal nicht startet oder sich neu starten lässt kurz er macht ab und zu garnichts
Es kommt vor das zwar alle Leds leuchten ich allerdings nicht einmal mittels Putty auf den Raspberry komme es kamm auch schon vor das ich ihn neustarten wollte und er mir folgende ausgabe gab
pi@raspberrypi ~ $ sudo apt-get update
-bash: /usr/bin/sudo: No such file or directory
pi@raspberrypi ~ $ sudo apt-get install mysql-server mysql-client
-bash: /usr/bin/sudo: No such file or directory
pi@raspberrypi ~ $ sudo reboot
-bash: /usr/bin/sudo: No such file or directory
hat einer ne Idee woran der Fehler liegen könnte ich hab bereits das Netzteil ausgetauscht alles abgehängt die karte neu formatiert und neu aufgezogen....
...jemand ne Idee?
Hallo zusammen
Ich verwende jetzt schon ein paar Wochen WenIDE für meinen Raspberry und wollte mal wissen was es da für nützliche Sachen gibt
z.b hab ich im moment einen Script mit 170 Zeilen und wollte um diesen einen try/except befehl legen
meine frage ist daher gibt es eine Tastenkombination mit welcher ich alles um eine Einrückung versetzen kann
so wie beim Auskommentieren mit Strg+#
ich freu mich auch auf alle weiteren tips
Ich hoffe das ich das ganze hier im richtigen Ort gepostet hab![]()
ich selbst schrieb nur Python im WebIDE
Du wählst einmal deine SD-karte aus und drückst dan auf Read der Rest erklärt sich von selbst
Zum schreiben legst die andere SD-Karte ein und wählst das vorher gemachte Abbild aus und drückst dan auf write
Probier aber erst ob der Grössenunterschied von 4 auf 16 gb nichts ausmacht
Ich hab das selbst so noch nie probiert mit 2 verschieden grossen Karten
Hallo zusammen
Danke an alle die mir geantwortet haben wie gesagt hatt ich weniger das Problem mit der schleife
sondern das der befehl
einfach nicht ausgeführt wurde. Ich dachte es liegt vielleicht daran das er in einer schleife ist
den jeder andere Befehl in dieser Schleife wurde ausgeführt Ich hab jetzt den Script unverändert gestartet und er lief![]()
![]()
Ich starte da ja ein Programm immer wieder und schalte es immer wieder ab vielleicht hat das den Fehler verursacht
hmmm von hand und etwa in der gleichen Geschwindigkeit gab das nie ein Problem
Da alle hier so hilfsbereit sind Schreib ich nochmal genau was ich vorhabe
ich lese einen wert aus einem Gerät aus (Sensor/GPS/Kamera)
wenn ich diesen wert nicht bekomme und ihn mit dem befehl Print anzeige steht NaN da was zu einem Fehler später im Script führt
Daher will ich solange warten bis das Gerät ausgelesen werden konnte und mir keinen speziellen wert ausgibt in meinem Fall irgendeinen double wert
demnach müsste der Script in folgenden schritten aufgebaut sein
1 Gerät starten Werte auslesen
2 Abfragen ob alle werte ausgelesen werden konnten
2.1 wenn nicht dann warte und gehe zu Schritt 2
2.2 Wenn ja dan springe zu schritt 3
3 Mach weiter
Ich hab ja jetzt einige Lösungstips bekommen und werd heut nachmittag mal schauen ob ich das hinbekomm ![]()
hab ne Lösung gefunden
#! /usr/bin/python
import os
from time import sleep
import math
x=float('nan')
while math.isnan(x):
sleep(.5)
print "ee"
x=2
print "ende"
Display More
Muss das ganze natürlich noch umbauen damits in meinen Script passt
ich hätt noch eine Frage damit ich so Sachen wie oben nicht hier fragen müsste
Kennt jemand nen gutes Buch oder ne Internetseite bei welcher ich solche Komandos nachlesen kann hab bis jetzt nämlich noch keine gefunden ![]()
Hallo zusammen
ich suche eine möglichkeit mit python einen befehl im terminal zu starten
in etwa so
wenn (ausgelesenerwert==nan)
dan führe einen reboot aus oder einen anderen befehl
z.b sudo killall gpsd
sudo gpsd /dev/ttyUSB0 -F /var/run/gpsd.sock
import os
#! /usr/bin/python
while ausgelesenerwert == nan:
time.sleep(5)
os.system(sudo killall gpsd)
Mein Problem hier liegt jetzt in dem ausführen des sudo befehls ich verwende dazu das WebIDE von Adafruit falls das einen untershcied machen sollte
Ich hatte das Problem das ich kein Passwort mehr eingeben konnte
und hab es mit der Lösung hier probiert
Quote
um wieder über den remote desktop zugreifen zu können musst du
sudo apt-get install xrdp eingeben
wie in diesem video beschrieben
So ich hab den code mal umgeschrieben von
zu
und erhalte folgende fehlermeldung
File "GPStest1.py", line 59, in <module>
cursor.execute("UPDATE INTO GPStest VALUES (%s,%s,%s)",(x,longitude,latitude))
File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 174, in execute
self.errorhandler(self, exc, value)
File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL ser
ver version for the right syntax to use near 'INTO GPStest VALUES (11,0,0)' at line 1")
vielleicht wisst ihr ja auch grad wie ich das beheb
Hmmm darauf hätt ich au selbst kommen können ...........
hab nur im netz geschaut nach nem weg das zutun und keinen gefunden
was diese ' ' angeht hab da normalerweise ne variable drin stehen die so nen wert liefert
Hallo zusammen ich hab folgenden script
db = MySQLdb.connect(db="",user="",host="", passwd="")
cursor = db.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS GPStest(uid int, Standort double)")
cursor.execute("INSERT INTO GPStest values(0, '47.324234435345345')")
cursor.execute("INSERT INTO GPStest values(1, '7.32432432451')")
cursor.close()
db.commit()
kennt jemand eine Methode oder einen Weg wie ich die Datenbank Tabelle nicht vergrössere sondern überschrieb
und das zweite wäre unter was kann ich in meiner datenbank werte wie 47.3132423443543534 speichern probiert hab ich es als double und float ging leider beides nicht
Ich bastel selber grad mit meiner Datenbank herrum und hier mal nen script mit dem du eine neue tabelle in der Datenbank anlegst und diese beschreibst
#Hier logst du dich ein
db = MySQLdb.connect(db="",user="",host="", passwd="")
cursor = db.cursor()
#Hier erstellst du die tabelle
cursor.execute("CREATE TABLE IF NOT EXISTS GPStest(uid int, Standort)")
#Hier kanst die werte reinschrieben
cursor.execute("INSERT INTO GPStest values(0, '200')")
cursor.execute("INSERT INTO GPStest values(1, '200')")
cursor.close()
db.commit()
Ich hoffe das hilft dir weiter ich bastle selbst noch am dem script herrum
hier hab ich ihn mal eingebunden
http://http//www.forum-ras…-while-schleife
Also danke an alle das ganze funktioniert jetzt muss noch raus finden wie ich die Tabellen in der Datenbank aktualisier und nicht nur erweiter
für alle die das noch probieren auf jeden fall darauf achten das es die Datenbank noch nicht gibt bzw sie falsche angaben enthält double int usw für die tabbeleninformation
Hab hier nicht ganz alles durchgelesen aber was 1 und 1 angeht weis ich das sie den zugriff auf ihre datenbanken begrenzt haben laut einem kollegen der das problem auch hatte kanst du einfach bei 1und 1 anrufen und ihnen sagen sie sollen die begrenzung aufheben
An das mit den lehrzeillen hab ich garnichtmehr gedacht
Ist auch schonwieder nen paar Jahre her das ich das letztemal Python programiert hab und da wars auch nur ganz wenig sprich ich musste von vorne anfangen
Ich mach übrigens grad ne Weiterbildung im Oberstufenzentrum zum Elektrotechniker da programier ich meist Java
ich werd das ganze mal ausprobieren und dan meld ich mich nochmal obs geht oder nich
ich bedankmich schonmal für die hilfe![]()
Danke an dbv hast recht ich hab in dem Code den ich reingesetzt hab garnicht die gps Daten in der Schleife
aber das ist nicht das eigentliche Problem hier mal den gesamten Code jetzt sind auch die gps Daten in der Schleife
#! /usr/bin/python
# -*- encoding: utf-8 -*-
import MySQLdb
import os
from gps import *
from time import *
import time
import threading
gpsd = None #seting the global variable
os.system('clear') #clear the terminal (optional)
class GpsPoller(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
global gpsd #bring it in scope
gpsd = gps(mode=WATCH_ENABLE) #starting the stream of info
self.current_value = None
self.running = True #setting the thread running to true
def run(self):
global gpsd
while gpsp.running:
gpsd.next() #this will continue to loop and grab EACH set of gpsd info to clear the buffer
if __name__ == '__main__':
gpsp = GpsPoller() # create the thread
try:
gpsp.start() # start it up
# while True:
#It may take a second or two to get good data
#print gpsd.fix.latitude,', ',gpsd.fix.longitude,' Time: ',gpsd.utc
os.system('clear')
print
print ' GPS reading'
print '----------------------------------------'
print 'latitude ' , gpsd.fix.latitude
print 'longitude ' , gpsd.fix.longitude
latitude = gpsd.fix.latitude
longitude = gpsd.fix.longitude
######### hier hängt das Problem alleine funktionieren beide scripte für sich
db = MySQLdb.connect(db="",user="",host="", passwd="") #diese Zeile versteht er nicht
cursor = db.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS GPStest(uid int, Standort)")
cursor.execute("INSERT INTO GPStest values(0, latitude)")
cursor.execute("INSERT INTO GPStest values(0, longitude)")
cursor.close()
db.commit()
time.sleep(1) #set to whatever
except (KeyboardInterrupt, SystemExit): #when you press ctrl+c
print "\nKilling Thread..."
gpsp.running = False
gpsp.join() # wait for the thread to finish what it's doing
print "Done.\nExiting."
Display More
ich bekomme folgende fehlermeldung
webide@raspberrypi /usr/share/adafruit/webide/repositories/my-pi-projects/GPS1Test $ sudo python GPStest1.py
File "GPStest1.py", line 43
os.system('clear')
^
IndentationError: unexpected indent
ich hab das eigentliche problem hier mal in nem anderen script reduziert
print "Content-type: text/html\n\n"
x = 0
while x < 5:
print x
db = MySQLdb.connect(db="",user="",host="", passwd="")
cursor = db.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS GPStest(uid int, Standort)")
cursor.execute("INSERT INTO GPStest values(0, '200')")
cursor.execute("INSERT INTO GPStest values(1, '200')")
cursor.close()
db.commit()
x = x + 1
else:
print "Fertig!"
Display More
Ich bastele seit einiger zeit an einem GPSempfänger mit dem Raspberry die daten auszulesen usw ist ja nicht schwer doch häng ich momentan fest.
und zwar hab ich folgendes Problem ich versuche die GPs daten auf einen server zu laden und dies in einer while schleife dazu verwende ich folgenden script
das script soll solange das gps läuft daten auf die datenbank schrieben
gpsp.start() # start it up
while True:
os.system('clear')
db = MySQLdb.connect(db="",user="",host="", passwd="")
cursor = db.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS GpsStandort(uid int, daten)")
cursor.execute("INSERT INTO GpsStandort values(0, 'GPSDaten')")
cursor.close()
db.commit()
time.sleep(10) #set to whatever
hat jemand ne Idee wie ich es hinbekomme das das ganze auch in der schleife läuft [/php]