概要(2017年11月29日時点の手順)
Grove Piとは、Raspberry Pi向けの拡張ボード。
これを使うことで、はんだ付けをしなくても簡単に電子工作が楽しめる。
開発者向けに、Grove Piの開発元であるDexter Industriesはライブラリを提供している。
github.com/DexterInd/GrovePi
今回はRaspberry Pi 3 Model BにGrove Piの光量センサーを挿して、上記ライブラリのlight_sensor.pyを実行し光量を取得しようとした。
すると、このようなエラーが発生した。
sensor_value = grovepi.analogRead(light_sensor)
File “/home/pi/Documents/roedi/Python/grovepi.py”, line 227, in analogRead
return number[1] * 256 + number[2]
TypeError: ‘int’ object is not subscriptable
解決策
以下の手順でGrovePiのファームウェアをアップデートしたら、エラーが解消され光量の取得に成功した。
-
cd /home/pi/Desktop/GrovePi/Firmware
-
sudo chmod +x firmware_update.sh
-
sudo ./firmware_update.sh
参考文献
Updating the Firmware - Dexter Industriesによるファームウェアアップデートの手順解説
追記
PINTOさんが、2018.04.25時点では本記事での手順が通用しないことを報告してくださった。
残念ながらこちらにまとめてくださっている手順は現時点では成功しなかった。
a-r-iさんの記事
Grove Piで光量の取得エラー。ファームウェアのアップデートで解決
同氏がまとめてくださった2018.04.25時点のファームウェアアップデート手順は、こちら
GrovePi+ のファームウェアアップデート手順