センサー サンプルプログラム

センサー値を受信してみる

1. センサーの動作モードを「定期的に送信」に設定します
センサーユーティリティSendToSensorを使用して、以下を選択、設定ボタンを押します。
ここでは近接センサーを使用します。
  • コマンド:$M Set Mode
  • 動作モード:I 定期的に送信
センサーユーティリティ 動作モードを定期的に送信に設定
動作モードが「I 定期的に送信」の場合、近接センサーからの受信データは以下のフォーマットで定義されています。 今回は「センサー値」部分をプログラムで取得、標準出力に表示するサンプルをご紹介します。
センサーユーティリティ 近接センサーからの受信データ内容の説明
2. 使用する言語環境を整えます
ここでは、以下の環境を使用します。
  • CentOS Linux 7.7
  • Python 3.6.8
CentOS Linux 上で以下のコマンドを実行、Pythonのシリアル通信モジュールpyserialをインストールします。

pip3 install pyserial

3. シリアル通信プログラムを準備します
定期的にセンサー値を受信、センサー値を標準出力に表示するサンプルプログラム(sample.py)です。

import serial
import os

#近接センサーを接続したUSBデバイスのポート
devSensor = '/dev/ttyUSB0'

if (os.path.exists(devSensor)):
    #シリアル接続
    serSensor = serial.Serial(devSensor,38400,timeout=None)

    while True:
        #受信データ 読み込み
        line = serSensor.read(10)
        #センサー値 切り出し
        sensorVal = int(line[7:10])
        #近接センサー値は0~255の値を返します
        #物体がセンサーに近づくほど255に近い値になります
        print(sensorVal)

    #シリアルクローズ
    serSensor.close()

else:
    print("no devfile")

4. プログラムを実行します
CentOS Linux 上で以下のコマンドを実行します。1秒間隔でセンサー値が表示されます。

python3 sample.py

センサーからの受信データを標準出力