Arduinoと pythonで serial 通信 csv保存のやり方

スポンサーリンク

はじめに

macだとシリアルデータを手軽に保存出来るソフトがあんまりないので
pythonで作って見ました

目次

環境

mac  
python 3.6.6
Arduino uno

pipのインストール

pythonパッケージマネージャーのpipが入ってなかったのでインストール https://pip.pypa.io/en/stable/installing/

まずはダウンロード

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

実行してpipをインストール

python get-pip.py

pipコマンドが使えるようにPATHを通す

export PATH="$HOME/Library/Python/2.7/bin:$PATH"

永続的にパスが使えるように設定

$ echo 'export PATH="$HOME/Library/Python/2.7/bin:$PATH"' >> ~/.bash_profile

PySerial

シリアル通信を行うライブラリをインストール

$ sudo pip install PySerial

バイスの名前を探す

macの場合です。linuxだとまた異なります。

$ ls /dev/cu.*

コード

import serial
ser = serial.Serial('/dev/cu.usbmodem141101',9600 )
 
while(1):
   print ser.readline()

作ったプログラムを実行

$python serial_read.py

f:id:shangtian:20190825175135g:plain

終了はCtrl + c

CSVファイルに保存

import serial
import csv

ser = serial.Serial('/dev/cu.usbmodem141101',9600)

smoothing = 10000

with open('ArduinoRead7.csv', 'w') as f:
  writer = csv.writer(f)
  a = [ser.read(smoothing)]
  writer.writerow(a)
  f.close()