Page 1 of 1

Python vandamál

Posted: 10. Nov 2011 23:59
by bjarkith
Sælir, þar sem ég veit að einhverjir ykkar eru að fikta við arduino og ýmis tölvumál, þá ákvað ég að fleygja þessu inn.

Ég er að hjálpa kærustunni við verkefni í einhverjum verkfræðiáfanganum hennar þar sem við erum með arduino sem að sendir upplýsingar í tölvu og þar er ég með python forrit sem tekur á móti þeim, upplýsingarnar eru bara 0 og 1 semsagt er samband eða ekki og á forritið að loopa endalaust meðan arduinoinn sendir 0 en keyra skipun þegar hann les 1, vandamálið er bara að ég er ekki forritari og er ég að vinna með 8 ára gamala php4 kunnáttu mína og takmarkaða bash þekkingu og mér tekst ekki að láta while loopu virka fyrir þetta.
#/usr/bin/python
import serial
import time
import os

try:
print 'MSG: Tengist arduino'
arduino = serial.Serial('/dev/ttyACM0', 9600)

except:
print 'ERR: Nae ekki ad tengjast arduino'

try:
print 'MSG: Reyni ad lesa arduino'

# les eitt baet ur arduino
print arduino.read(1)
except:
print 'ERR: Nae ekki ad lesa gogn'

skipun = arduino.read(1)

if skipun > 0:
os.system('streamer -t 10 -r 1 -o /home/bjarki/orogm/myndir/oryggi00.jpeg')
Þetta er semsagt kóðinn sem ég var kominn með og virkar fínt fyrir utan að mér hefur ekki tekist að loopa hann, einhver hérna sem getur hjálpað mér að láta forritið endurtaka sig unns hann les 1 úr arduinoinum?

Re: Python vandamál

Posted: 11. Nov 2011 00:34
by Idle
Ég er ekki Python forritari, svo eflaust er þetta ekki 100% rétt, en...

Code: Select all

try:
print 'MSG: Reyni ad lesa arduino'

# les eitt baet ur arduino
print arduino.read(1)
except:
print 'ERR: Nae ekki ad lesa gogn'

skipun = arduino.read(1)
while skipun > 0:
  os.system('streamer -t 10 -r 1 -o /home/bjarki/orogm/myndir/oryggi00.jpeg')

Uppfært: Hér gæti verið eitthvað nytsamlegt fyrir þig: http://www.arduino.cc/playground/Interfacing/Python" onclick="window.open(this.href);return false;

Re: Python vandamál

Posted: 11. Nov 2011 01:37
by bjarkith
Takk fyrir þetta, prófa þetta þegar ég fer fram úr á morgun.

Re: Python vandamál

Posted: 11. Nov 2011 09:55
by hrafnkell
Dugar þetta ekki bara?

Code: Select all

#/usr/bin/python
import serial
import time
import os

try:
	print 'MSG: Tengist arduino'
	arduino = serial.Serial('/dev/ttyACM0', 9600)
except:
	print 'ERR: Nae ekki ad tengjast arduino'

try:
	print 'MSG: Reyni ad lesa arduino'

	while 1:
		foo = arduino.read()
		if foo > 0:
			os.system('streamer -t 10 -r 1 -o /home/bjarki/orogm/myndir/oryggi00.jpeg')
except:
	print "Klúður!"
Ég sleppi svo exception best practices fyrirlestrinum osfrv :)

Re: Python vandamál

Posted: 13. Nov 2011 12:20
by bjarkith
Sælir, báðar lausnirnar hjálpuðu en það er samt eitt sem mér hefur enn ekki tekist og það er að þegar arduinoinn skilar "1" þá keyrir það ekki " os.system('streamer -t 10 -r 1 -o /home/bjarki/orogm/myndir/oryggi00.jpeg')
" skipunina, annars virðist þetta vera að mestu leyti komið.

Re: Python vandamál

Posted: 13. Nov 2011 22:23
by hrafnkell
Prófa að nota full path á streamer?

Re: Python vandamál

Posted: 14. Nov 2011 09:56
by bjarkith
Það ætti ekki að skipta máli þar sem ég hef látið annað python script keyra hann upp með þessari skipun án vandræða.

Re: Python vandamál

Posted: 14. Nov 2011 10:32
by hrafnkell
Þarft líklega að casta foo í integer.