2016-03-26 4 views
0

Ich erstellte Modul, das erste verbindet mit Arduino mit seriellem Modul wie diese name=clockK('/dev/ttyACM0','9600') und senden Sie Daten an Arduino mit Befehl name.send('4').Python erinnern serielle Verbindung von einem anderen def

Aber wenn ich Daten an Arduino sende, verwendet es nicht früher erstellten "Name". Hier ist mein Code von clockK.py:

import datetime 
import time 
import serial 
import os,sys,string 
class clockK: 
    def __init__(self, device, baund): 
     try: 
      self.device = device 
      self.baund = baund 
      self.naame=serial.Serial(device,baund).write('0') 
     except: 
      raise SerialNotResponding("Serial " + self.device + " is not responding!") 
    def send(self, what): 
     try: 
      self.naame.write(what) 
      return "Sent!: " + what 
     except: 
      raise ErrorSend("Can't send!") 
    def who(self): 
     return "You are communicating with: " + self.device + " at " + self.baund 

class SerialNotResponding(Exception): 
    pass 
class ErrorSend(Exception): 
    pass 

Also meine Frage ist, wie zu "erinnern" serial von init definieren in def schicken?

Ein Beispielprogramm mit diesem Modul:

from clockK import * 

a=clockK('device','speed') 
a.send('1') 

Antwort

0

In init offen Port ähnlichen

self.ser = serial.Serial() 
self.ser.baundrate = baund 
self.ser.open() 

Und

self.ser.write(what) 
wie diese Daten senden
Verwandte Themen