まずは自動化における通信元のサーバーを構築していきたいと思います。
要件的に低スペックのマシンで問題ないので、ノートパソコンに構築していきます。
使用するノートパソコン
Dell Inspiron 11 3180
構成 | 内容 |
---|---|
CPU | 第7世代 AMD A6-9220e プロセッサー |
メモリ | 4GB, DDR4, 2400MHz |
ストレージ | 64GB eMMC |
OS | Windows 10 Home (Sモード) 64ビット |
※メモリは4Gから8Gに変更しています。
※OSはSモードを解除しています。
Restful APIの構築
自動給餌機からはREST通信にて状況を取得する予定ですので、Restful APIを構築していきます。
今回はPythonのFlaskフレームワークを使用していきます。
・Anaconda (2019.10) Ptyhon3.7 Version
Anacondaのインストール
下記のURLからダウンロード、インストールします。
インストールが完了したら「Anaconda Navigater」を起動します。
Anaconda Navigater
Pythonのコードを編集するために「Home」内にある「VSCode」をインストールします。
「VSCode」の「Launch」ボタンをクリックして「VSCode」を起動します。
FlaskにてRestful APIを実装
VSCodeが起動したら以下のコードを作成して実行します。
※作成するフォルダなどはどこでも問題ありません。
from flask import Flask, jsonify, request from datetime import datetime import math api = Flask(__name__) @api.route('/get', methods=['GET']) def post_request(): chipid = request.args.get('chipid') output = { "chip_id": chipid, "unix_time": math.floor(datetime.now().timestamp()) } return jsonify(output) if __name__ == "__main__": api.run()
ブラウザで以下のURLにアクセスします。
入力したchipidが表示されれば通信はOKです。
http://localhost:5000/get?chipid=XXX000
{"chip_id":"XXX000","unix_time":1575729516}
次回はApachもしくはNginxにてWebサーバーを構築しようかと思います。
動画
目次
参考文献
https://qiita.com/sai-san/items/1d1f02dc4dcaa7902392
https://note.nkmk.me/python-unix-time-datetime/
https://techacademy.jp/magazine/18811