質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

Q&A

解決済

1回答

915閲覧

RaspberryPiに接続したセンサーの値を取得したいが、schedule でエラーメッセージが出てしまう

ToshiakiHIRAI

総合スコア0

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

0グッド

0クリップ

投稿2021/11/08 03:35

編集2021/11/08 05:57

前提・実現したいこと

Raspberry Pi 3b+ にmuRata製センサを接続して、測定値を読み取りたいです。
センサーとRPiの間にUSBコンバータFTDI-C232HD-DDHSP-0を使って接続しています。

発生している問題・エラーメッセージ

下記のようなエラーメッセージが出てしまいます。
原因がわかりません。

pi@raspberrypi:/Raspberry-Pi-sample-code $ sudo python murata.py
sh: 1: echo: echo: I/O error
('port No.', '/dev/ttyUSB0')
Traceback (most recent call last):
File "murata.py", line 143, in <module>
schedule.run_pending()
File "/usr/local/lib/python2.7/dist-packages/schedule/init.py", line 563, in run_pending
default_scheduler.run_pending()
File "/usr/local/lib/python2.7/dist-packages/schedule/init.py", line 94, in run_pending
self._run_job(job)
File "/usr/local/lib/python2.7/dist-packages/schedule/init.py", line 147, in _run_job
ret = job.run()
File "/usr/local/lib/python2.7/dist-packages/schedule/init.py", line 466, in run
ret = self.job_func()
File "murata.py", line 39, in job
sstr1=str(binascii.b2a_hex(sendData1), 'utf-8')
TypeError: str() takes at most 1 argument (2 given)
pi@raspberrypi:
/Raspberry-Pi-sample-code $

ソースコード

39行目と143行目

import serial
import time
import binascii
import csv
import datetime
import subprocess
import schedule



sstr1=str(binascii.b2a_hex(sendData1), 'utf-8') #line 39



schedule.every(5).seconds.do(job)
while True:
schedule.run_pending() #line 143
time.sleep(2)

試したこと

・pip install schedule ではなく、
sudo pip install schedule

・ポート接続確認
pi@raspberrypi:~ $ dmesg | grep ttyUSB0
[ 4.528128] usb 1-1.2: FTDI USB Serial Device converter now attached to ttyUSB0

補足情報(FW/ツールのバージョンなど)

python 2.7.16

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2021/11/08 04:20

コードを提示しよう
episteme

2021/11/08 05:03

> sstr1=str(binascii.b2a_hex(sendData1), 'utf-8') > TypeError: str() takes at most 1 argument (2 given) murata.py は Python2.7 で動作するんですかね?
ToshiakiHIRAI

2021/11/08 06:28

python3.7にupgrade sudo pip3 install schedule 再起動 してみましたが、同じエラーが出ます。
episteme

2021/11/08 06:51

> 同じエラーが出ます。 依然として File "/usr/local/lib/python2.7... のまま? だったら upgrade できてないことになる。
ToshiakiHIRAI

2021/11/08 08:06

ありがとうございました。Python3.7.3にアップグレードして、読取できるようになりました。Pythonアップグレードの方法、ネット上に記事がいくつもありましたが、その通りにやっても思い通りにアップグレードされなかったりで混乱しました。episteme様のご助言通りでした。深謝いたします。
guest

回答1

0

自己解決

Python2.7.16 から 3.7.3 にupgrade

投稿2021/11/08 08:20

ToshiakiHIRAI

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問