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

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

新規登録して質問してみよう
ただいま回答率
85.48%
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Raspberry Pi

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

Q&A

解決済

2回答

2371閲覧

Raspberry PI catコマンドとchmodコマンドが適用されているのかわからない.

WK_ZAKK

総合スコア20

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Raspberry Pi

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

0グッド

0クリップ

投稿2019/03/19 07:06


ラズベリーパイを使ってセンサデータをCSVファイルで出力したい.

センサはDHT11を使っており湿度データおよび気温データの取得には成功しました.

Python3

1#simpletest.py 2import Adafruit_DHT 3 4sensor = Adafruit_DHT.DHT11 5 6pin = 23 7 8humidity, temperature = Adafruit_DHT.read_retry(sensor,pin) 9 10if humidity is not None and temperature is not None: 11 print('Temp={0:0.1f}*C Humidity={1:0.1f}%'.format(temperature, humidity)) 12else: 13 print('Failed to get reading. Try again')

Adafruit サンプルプログラムをラズベリーパイLXTerminalで実行したところ気温と湿度が取得できました.

terminal

1$ Python simpletest.py

Temp=25.0*C Humidity=36.0%
と結果が得られました.

次にこのデータをCSVファイルで出力するためにsensor_data.csvを作成し,センサから得られたデータを書き込みます.

Python3

1#sensor_csv.py 2 3#!/usr/bin/python 4 5import Adafruit_DHT 6import datetime 7 8sensor = Adafruit_DHT.DHT11 9 10pin = 23 11 12humidity, temperature = Adafruit_DHT.read_retry(sensor, pin) 13 14if humidity is not None and temperature is not None: 15 now = datetime.datetime.now() 16 str = '{0},{1:0.1f},{2:0.1f}'.format(now.strftime('%Y/%m/%d %H:%M:%S'),temperature, humidity) 17 print str 18 with open('/home/pi/sensor_data.csv', mode = 'a') as fh: 19 fh.write(str+'\n') 20else: 21 print 'Fail'

こちらを先ほどと同じように実行すると
2019/03/19 15:39:53,25.0,35.0
と結果が得られました.

sensor_csv.pyに実行権限?を与えるために,コマンド

terminal

1pi@raspberrypi: ~/Adafruit_Python_DHT/examples$ chmod 755 sensor_csv.py //↓実行 2pi@raspberrypi: ~/Adafruit_Python_DHT/examples$

を実行します.
参考にしているWebサイトでは

-rwxr-xr-x 1 pi pi 478 11月 12 10:11 sensor_csv.py

と表示されていますが, 私の場合はそれが表示されません.

csvファイルが空データであるためなのでは?と思いましたが先ほどデータを取得しsensor_data.csvに書き込みを行うプログラムを実行しているため,そうではないと仮定しました.

次にcatコマンドを使ってsensor_data.csvを読み込もうとしましたが,これもなにも読みだされなかったので,データが書き込めていないのか、読み込み方が間違っているのかがわかりません.

terminal

1pi@raspberrypi: ~/Adafruit_Python_DHT/examples$ cat sensor_data.csv //↓実行 2pi@raspberrypi: ~/Adafruit_Python_DHT/examples$

となります.
sensor_csv.pyのwith openのmodeをwにしてみましたが結果は変わりませんでした.

またOSはRaspbian stretch liteの最新versionを導入しています(19/03/19).

csvファイルの設定?をしなければいけないのか,プログラムに問題があるのか,ターミナルのコマンドの実行方法に問題があるのか,はたまたそれ以外なのか教えていただけると助かります.
ゆくゆくはセンサデータをグラフにしたりWebサイトで閲覧できるようにしたいのでよろしくお願いします.

参考にしているサイト
*このサイトを閲覧するには無料のアカウント登録が必要になります.

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

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

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

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

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

guest

回答2

0

パスを調べなおし,sensor_csv.pyの
with open内の
/home/pi/sensor.pyを
/home/pi/Adafruit_Python_DHT/examples/senosor_csv.pyに変換したところデータをcatにて読み取ることができました.
しかし,chmodについてはまだよくわかっていません.

投稿2019/03/19 07:13

WK_ZAKK

総合スコア20

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

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

y_waiwai

2019/03/19 07:41

コマンドの使い方は検索すれば出てくるから読んでみては
WK_ZAKK

2019/03/19 08:02

ありがとうございます.早速調べます!
guest

0

ベストアンサー

-rwxr-xr-x 1 pi pi 478 11月 12 10:11 sensor_csv.py

それを確認するには、

sh

1ls -l

としましょう。

投稿2019/03/19 07:11

papinianus

総合スコア12705

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

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

WK_ZAKK

2019/03/19 07:19

ありがとうございます! ls -l を実行したところ確認できました! ちなみにshについて教えていただけ無いでしょうか?
papinianus

2019/03/19 07:34

shのはなし。 言語のところの記載ですかね? raspbianがどのシェルか分からなかったのでshにしました。実際bashとかだと思います。 開いて使っているterminalで動かしているのが、shellです。
WK_ZAKK

2019/03/19 07:52

言語の部分に記載されているものです. ありがとうございます.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問