GrovePi+を使用したシリアル通信の返却値について
こんにちは。
ここ最近RaspberryPiを触り始めたものです。
現在、下記構成でCo2濃度取得を行おうと奮闘しております。
RaspberryPi B+
GrovePi+
Co2センサー(http://www.seeedstudio.com/wiki/Grove_-_CO2_Sensor)
Co2センサーはGrovePi+のRPISERに接続しております。
ソースは下記を参考に製造しております。
https://github.com/DexterInd/GrovePi/bl ... _sensor.py
修正点としては、56行目をコメントアウトして59行目を復帰させています。
そこでソースを実行すると、なぜかあまりにもありえない数値が取得出来ましたので、
ソースに手を加え、リードのタイミングで返却値の配列を出力するようにしました。
結果が以下です。
[11, 32, 0, 8, 112, 0, 21, 0, 0]
[8, 66, 40, 4, 1, 32, 164, 164, 192]
[16, 195, 139, 9, 0, 17, 14, 224, 118]
[3, 68, 48, 4, 2, 33, 134, 44, 128]
[193, 128, 62, 0, 84, 5, 33, 9, 67]
[6, 133, 32, 18, 24, 32, 0, 39, 36]
[72, 71, 102, 40, 56, 0, 65, 19, 63]
[136, 184, 30, 66, 164, 17, 2, 37, 90]
[2, 35, 0, 9, 1, 16, 213, 144, 48]
仕様書(http://www.seeedstudio.com/wiki/images/ ... eet_EN.pdf)では
[255, 134, XXX, XXX, XXX, 0, 0, 0 XXX]
のような型で返却されることになっておりましので、おかしいと思い、77行目のリードを
CO2.inp = ser.read(9) → CO2.inp = ser.readline()
のように変更し、直後に
print "ListLength:", len(CO2.inp)
を追加して配列数を出力しましたところ、
ListLength: 194
ListLength: 54
ListLength: 12
ListLength: 201
ListLength: 96
ListLength: 36
ListLength: 33
ListLength: 306
という結果になりました。
上記のように配列数が9個で返却される予定のものが考えられない数で返却されておりました。
この場合原因に考えられることはなにかありますでしょうか?
ソフトウェア畑の人間の為、ハードの知識に乏しく解決の糸口がつかめません。
また、初めてフォーラムに投稿することもあり拙い内容で申し訳ございませんが、
ご協力のほどよろしくお願い致します。