バージョン情報
NOOBS 1.13.11 , raspberry pi A+ , Linux raspberrypi 3.12.35+ , Python 2.7.3, Arduino IDE 1.0.6 , windows 8.1,
前回つくったArduino温湿度計をraspberry Piにつないで、コンソールに温度湿度を表示してみた。
raspberry Piでシリアル通信をする為の準備
初期設定画面からシリアル通信を有効にする。
sudo raspi-config
8.Advanced option –> A7 Serial –> No
設定が完了すると /boot/cmdline.txt が以下のように変更される。
変更前
dwc_otg.lpm_enable=0 console=tty1 console=ttyAMA0,115200 root=/dev/mmcblk0p6 rootfstype=ext4 elevator=deadline rootwait
変更後
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p6 rootfstype=ext4 elevator=deadline rootwait
※注意:以前/boot/cmdline.txtを直接編集し、間違えて編集しraspberry piが起動しなくなったので直接編集する場合は要注意。
次にpythonでシリアル通信するためのライブラリをインストールする。
sudo apt-get install python-serial
準備が整ったらraspberry piを再起動。
材料
HDC1000使用 温湿度センサーモジュール (秋月電子 @¥680)
Arduino
8ビット双方向ロジックレベル変換モジュール(秋月電子@¥250)
raspberry Pi A+
回路
ArduinoとraspberryPiのシリアル通信用のピンを接続する。但しArduinoは5V 、raspberryPiは3.3Vなので、間にレベル変換モジュールを使用した。

ソースコード
Arduinoのソースは前回つくったものをそのまま利用。
raspberryPi側はpythonで1秒毎に時刻と温度と湿度を表示するプログラムにしてみた。
import serial
import time
if __name__ == '__main__':
gpio_seri = serial.Serial('/dev/ttyAMA0', 38400, timeout=10)
print(gpio_seri.portstr)
time.sleep(3)
while 1:
gpio_seri.write('get')
time.sleep(1)
data = gpio_seri.readline()
print(time.ctime() + ',' + data)







「raspberry Pi A+ と Arduinoでシリアル通信」への1件のフィードバック