Xbee通信におけるPythonの変数定義(write()関数)について
Xbeeを用いてRaspberry pi-PC間の通信を試みています。
また、Raspberry pi側にはUSBタイプのXbeeポートを使用しています。
現在Raspberry piから文字を送信して受信するというところまではできており、今後はRaspberry piで気圧、加速度センサーの値を取得してRaspberry piからPCに送信することを目指しています。
PCに送信されたデータはTeratermにて表示しております。
発生している問題・エラー
現在「x」「y」「z」を変数として定義し、list()関数を用いてシリアル通信ができないかと試みています。
x,y,zの変数には、センサの値をインポートするつもりですが、今は一旦「x=1」のように簡単な変数で試しています。
以下は今回作成して試したコードです。
(文字の間にカンマがある理由としては、Teratermに表示した文字列を保存し、csvファイルとして出力するためです。)
import serial
import time
# Enable USB Communication
ser = serial.Serial("/dev/ttyUSB0", 9600,timeout=.5)
while True:
x=1
y=2
z=3
lines=['x,','y,','z\n']
ser.writelines(lines.encode("utf_8"))
# write a Data
time.sleep(0.5)
しかし、以下のようなエラーが出てしまい、対応に困っております。
改行はおろか配列定義ができていないため文字列を表示できない状態です。
他のサイト等で調べてみましたが、依然として解決につながっておりません。。
該当するソースコード(エラー部分)↓
![python12.jpg](https://camo.qiitausercontent.com/64d2f411d4dff9cb239b66da641b37f25928df41/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f323436383236302f65613066653061392d616232342d633530302d613934612d6565373266633538303663302e6a706567)
該当するソースコード(エラー部分)
Traceback (most recent call last):
File "/home/pi/xbee_sensordatatest1.py", line 12, in <module>
ser.writelines(lines.encode("utf_8"))
AttributeError: 'list' object has no attribute 'encode'
このコードの間違っている点、エラーの処理方法、改善点など、ご指摘、ご教示いただきたく存じます。
初歩の初歩の質問で申し訳ございませんが、何卒よろしくお願いいたします。