Arduinoからデータを取得しようとしていますが、そのデータをデコードできません。私はいくつかの情報を探していると私は、例えばこれらの答えが見つかりました:データの取得とデコードにはまれな文字があります
Unicode string to String in python
Arduinoのは、8ビットのコード化(UTF-8)内の数字(データ)を送信しています。 私は別のコードの多くを試してみましたが、私が持っている最高のデコードがこれです:
私は私のコードを書くことSublimeText 2を使用していて、これは私がprint
を使用するときに、コンソールが私を示したものです。データをデコードする必要があるので、後でmatplotlibを描画するために使用することができます。私が書いた
この最後のコードは私に上記のような出力が得られた:
class readData(QWidget):
def __init__(self):
super(readData, self).__init__()
self.resize(300, 100)
self.btn = QPushButton("Close", self)
self.btn.setGeometry(150, 50, 100, 30)
self.btn_2 = QPushButton("Search Data", self)
self.btn_2.setGeometry(50, 50, 100, 30)
self.btn.clicked.connect(self.close)
self.btn_2.clicked.connect(self.searchData)
def searchData(self):
arduinoData = serial.Serial('com7', 9600) #We open port com7
while True:
print "Searching for data"
while(arduinoData.inWaiting() == 0): #We wait for the data
print "There is no data"
print "Reading and converting data"
arduinoString = str(arduinoData.readline())
ardString = unicode(arduinoString, errors = "ignore")
print "This is the data: "
print type(arduinoString)
print ""
print arduinoString
print type(ardString)
def close(self):
#WE CLOSE THE WINDOW AND THE PORT
を私は2つのボタンを表示するために、単純なQWidget
を開く:1のデータの検索を開始し、それを表示し、別のウィンドウを閉じるにしますとポート。
どのように私は私が必要な番号を表示する(私は本当に今知っ `tの、またはエンコード)をデコードする必要があります。これは、単純なウィンドウですか?私は間違って何をしていますか?あなたが私を助けることを願っています。
:-)役立ちました願っています。ありがとうございました。私はもう別の問題を抱えています。 Idkなぜ今は何も読まない。 'print 'の後に動作が停止して失敗するようです。データの読み込みと変換" –
'arduinoData.readline()'がハングしているようです。しかし、なぜそれを言うのは難しいです。 arduinoがデータを送信しない可能性がありますか? –
すみません、パブロ、これでお手伝いしたいと思います。しかし、私はArduinoのPythonへのシリアルリンクではまだ自分自身を動かしていません。 PICマイクロコントローラとのTCP/UDP通信の経験があります(そして、PythonプログラムでPC上のデータを読む) –