2021年5月8日土曜日

Raspberry Pi ZeroとGrove Base HAT for Raspberry PiとGrove LEDモジュールでLED点灯・消灯を制御するREST APIを作成する

Raspberry Pi ZeroとGrove Base HAT for Raspberry PiとGrove LEDモジュールでLED点灯・消灯を制御するREST APIを作成するには以下の手順を実行します。

実装手順

1. grove.pyとflaskモジュールをインストール
以下のコマンドでgrove.pyとflaskモジュールをインストールします。
curl -sL https://github.com/Seeed-Studio/grove.py/raw/master/install.sh | sudo bash -s -

pip3 install flask

3. Flask REST APIアプリケーションの作成
/ledにアクセスされたとき、指定したstateパラメータによってLEDの点灯・消灯を制御できるREST APIをflaskで作成します。

app.py
from flask import Flask, jsonify, request
from grove.grove_led import GroveLed
import time

app = Flask(__name__)

PIN_D5 = 5
led = GroveLed(PIN_D5)

@app.route('/led')
def control_led():
  state = request.args.get('state', '')
  if state == 'on' or state == '1':
    led.on()
  if state == 'off' or state == '0':
    led.off()
  return {"result":"ok"}

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

~/.local/bin/flask run -h 0.0.0.0

次に、ブラウザから以下のアドレスにアクセスして、LEDを制御できることを確認します。
・LED点灯
http://<Raspberry Piのホスト名またはIPアドレス>:5000/led?state=on

・LED消灯
http://<Raspberry Piのホスト名またはIPアドレス>:5000/led?state=off

関連情報

Groveデバイスまとめ

Raspberry Pi Zeroと小型ターンテーブルをREST APIで制御する

0 件のコメント:

コメントを投稿