2021年6月16日水曜日

Raspberry Pi Zeroとゼロワン リレー回路 拡張基板で100V電源オンオフを制御するREST APIを作成する

Raspberry Pi Zeroとゼロワン リレー回路 拡張基板で100V電源オンオフを制御するREST APIを作成するには以下の手順を実行します。
100V電源でショートなどすると危険なので細心の注意を払いましょう。

〇Raspberry Pi Zeroとゼロワン リレー回路 拡張基板を接続した写真

実装手順

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

pip3 install flask

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

app.py
from flask import Flask, jsonify, request
import RPi.GPIO as GPIO
import time

app = Flask(__name__)

pin = 4
GPIO.setmode(GPIO.BCM)
GPIO.setup(pin, GPIO.OUT)

@app.route('/relay')
def control_relay():
  state = request.args.get('state', '')
  if state == 'on' or state == '1':
    GPIO.output(pin, GPIO.HIGH)
  if state == 'off' or state == '0':
    GPIO.output(pin, GPIO.LOW)
  return {"result":"ok"}

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

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

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

・リレーオフ
http://<Raspberry Piのホスト名またはIPアドレス>:5000/relay?state=off

関連項目

Raspberry Pi Zeroとゼロワン リレー回路 拡張基板で100V電源をオンオフする

OpenSCADとUltimaker Curaを使用してRaspberry Pi Zero WHとゼロワン リレー回路 拡張基板のケースを作成する

Groveデバイスまとめ

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

0 件のコメント:

コメントを投稿