2021年4月24日土曜日

Raspberry Pi ZeroとGrove Base HAT for Raspberry Piと光センサーで取得した明るさのデータを返すREST APIを作成する

Raspberry Pi ZeroとGrove Base HAT for Raspberry Piと光センサーで取得した明るさのデータを返すREST APIを作成するには以下の手順を実行します。

実装手順

1. pipenvの導入
pipenvをインストールしていない場合は、以下のコマンドを実行します。
sudo apt-get update

sudo apt-get -y install python3-pip python3-distutils python3-dev

sudo pip3 install --upgrade pip

sudo pip3 install --upgrade setuptools

sudo pip3 install pipenv

echo "export PIPENV_VENV_IN_PROJECT=true" >> ~/.bashrc

source ~/.bashrc

2. Seeed-grove.pyとpsycopg2モジュールがインストールされた仮想環境を作成する
pipenvを使用する場合は以下のコマンドで、Seeed-grove.py用の仮想環境を作成します。
mkdir -p ~/grovepi_flask

cd ~/grovepi_flask

pipenv --python 3

pipenv install Seeed-grove.py==0.3 flask

pipenv shell

3. Flask REST APIアプリケーションの作成
/grove_light_sensorにアクセスされたとき、明るさの情報を取得してJSONで返すコードを実装します。

app.py
from flask import Flask, jsonify, request
from grove.grove_light_sensor_v1_2 import GroveLightSensor
import time

app = Flask(__name__)

@app.route('/grove_light_sensor')
def get_grove_light_sensor():
  PIN_A0 = 0
  sensor = GroveLightSensor(PIN_A0)
  return {"lightness":sensor.light}

4. 実行
Flaskを実行するには、以下のコマンドを実行します。
export FLASK_APP=app.py

flask run -h 0.0.0.0

次に、ブラウザから以下のアドレスにアクセスして、明るさの情報をjsonで返すことを確認します。
http://<Raspberry Piのホスト名またはIPアドレス>:5000/grove_light_sensor

関連情報

Raspberry Pi ZeroとCDSとMCP3425で、明るさを返すREST APIを作成する

Raspberry Pi ZeroとBME680センサーで、温度・気圧・湿度・ガスの情報を返すREST APIを作成する

Raspberry Pi ZeroとDHT11センサーモジュールで、温度・湿度の情報を返すREST APIを作成する

Raspberry Pi Zeroと照度センサーモジュールで、照度を返すREST APIを作成する

Groveデバイスまとめ

0 件のコメント:

コメントを投稿