Koordinaten über schnittstelle rs232 in python importieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
laknichof
User
Beiträge: 1
Registriert: Montag 16. Februar 2015, 13:46

hallo ihr lieben, ich hoffe , ihr könnt mir bei meiner Fragenstellung helfen, und zwar ich muss Koordinaten(x,y,z), die ich von meinem Messarm für die Positionsbestimmung eines Objektes bekomme, in Python zu importieren. Die Koordinaten sind über einer Seriellen Schnittstelle rs232 mit dem µc(stm32p103 von Olimex) verbunden, meine Aufgabe ist, dass ich diese Koordinaten zu Python importiere, damit ich diese Koordinaten danach in Rhinoceros 5.0 über Python als Punkte zeichnen kann. Ich habe schon was programmiert aber ich bekomme immer den Fehler, dass der Zugriff auf "COM3" verweigert wurde, anbei schreibe ich auch das Programm, das ich geschrieben habe, vielleicht erkennt Jemand ein Fehler oder so was. Ich werde mich sehr darauf wenn ihr mir helfen könnt.
Das Programm:

Code: Alles auswählen

import rhinoscriptsyntax as rs
import Rhino
from decimal import Decimal

test = [1,2,3,4,5,6]
x=10
y=20
s='10.0'
while s!= 'e':
	x = raw_input('Geben Sie X Korordinate ein: ')
	X=float(x)
	y= raw_input('Geben Sie Y Korordinate ein: ')
	Y=float(y)
	z = raw_input('Geben Sie Z Korordinate ein: ')
	Z=float(z)
	
	
	#Rhino.Geometry.Point3d(z,100,200)
	rs.AddPoint(X,Y,Z)
	s = raw_input('Beenden mit e oder ende: ')
	if s == 'ende':
		break
	print 'Die Laenge des Strings ist', len(s)
print 'Fertig.'

s = 'test'

print(s,z)
for k in range(1, 15):
	print k
	rs.AddPoint(k*30,30,0)
	
import serial
#def scan():
#    """scan for available ports. return a list of tuples (num, name)"""#
#    available = []
#    for i in range(6):
#        try:
#            s = serial.Serial(i)
#            available.append( (i, s.portstr))
#            s.close()   # explicit close 'cause of delayed GC in java
#        except serial.SerialException:
#            pass
#    return available

if __name__=='__main__':
    print "Found ports:"
#    for n,s in scan():
#        print "(%d) %s" % (n,s)

ser = serial.Serial("COM3") #open first serial port
ser.write(b'das ist ein Test') #write a string
ser.close() #close port
schöne Grüsse
Zuletzt geändert von Hyperion am Montag 16. Februar 2015, 14:41, insgesamt 1-mal geändert.
Grund: Code in Python Code Tags gesetzt.
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Hallo und willkommen im Forum!

Dein Programm hat wahrscheinlich nicht die benötigten Rechte, um auf die Schnittstelle zugreifen zu dürfen. Wie du das änderst, das hängt von deinem Betriebssystem ab. Bitte poste in Zukunft immer die gesamte Fehlermeldung inklusive Traceback und nicht nur eine gekürzte Version des Fehlers. Da steckt häufig viel nützliche Information drin, welche zur Hilfe benötigt wird. Die meisten Benutzer hier haben nur defekte Glaskugeln, irgendwas scheint da in der Produktion nicht zu funktionieren ;-)

Das Forum hat übrigens Code-Tags, dafür befindet sich ein Button über dem Textfeld. Darin solltest du deinen Code einbetten, dann ist er auch korrekt zu lesen. Python-Code ohne Einrückung ist problematisch.
Das Leben ist wie ein Tennisball.
Antworten