実装手順
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 件のコメント:
コメントを投稿