niszetの日記

細かい情報を載せていくブログ

serialも動かない…でもpyserialがある…!

windowsではダメなのか…。

昨日の続き。

niszet.hatenablog.com

serialの方も試してみましたが、ダメでした…

そもそも、これどうやってコネクションをopenにするの?というと、

serial:::open.serialConnection(con)

だと思うのです。

ここで、conは

con <- serial::serialConnection("COM4", "COM4", mode="9600,n,8,1", newline=1, buffersize = 64)

で作ってみましたが、これは単にS3クラスを返すだけ。実際は上記の、通常ではアクセスできないopenの関数を使うのだと思う(この時点でなんかおかしい)のですが、実際に動かしてみると、

# Error: [tcl] couldn't open serial "//./COM4": no such file or directory.

となってしまいました。よくわかりませんが、なぜか//./という文字が追加されてしまう。

ということで、pyserialに切り替えます。

pyserialがpython3でも使えるみたいです。

qiita.com

を参考に、入れてみました。 巷ではcondaは使わない方が良いとかなんだとか言われていますが、去年一昨年くらいはみんなオススメしていたじゃないですか…なぜなの…

まぁ、今更入れ替える気もないので、手順通りに入れて使ってみたところ、

niszet.hatenablog.com

で作ったプログラムがArduinoで動いたので、大丈夫そうです。あとはこれをpythonInRで呼べば良いですね(はじめからこれで良かったのだ…)

ラズパイ上で動かすときは、Rから直接IOを制御しますが、今はとりあえずPCからUSBでアクセスするところを頑張ってみましょう。

以上!

Enjoy!!