今回の内容
WindowsにSQLiteをインストールしDataBaseを構築する
SQLite
DB Browser for SQLiteをインストール
コマンドから実行してもよいのですが、「DB Browser for SQLite」というツールを使用してSQLiteを操作・管理したいと思います。
以下のURLからWindows版64ビット用をダウンロード、インストール
https://sqlitebrowser.org/dl/
起動画面
起動画面の「New Database」をクリックしてDBファイルを作成
自動的にテーブル作成画面が表示されるので下記のように適当に作成
作成したテーブルが表示されます。
作成したデータベースは一旦「Close Database」をクリックして閉じておきます。
※その時に「Save」ボタンをクリックして保存しておいてください。
Pythonプログラムの修正
SQLiteに保存できるようにPythonプログラムを修正します。
from flask import Flask, jsonify, request from datetime import datetime import math import sqlite3 api = Flask(__name__) @api.route('/get', methods=['GET']) def get_request(): chipid = request.args.get('chipid') updateChipInfo(chipid) output = { "chip_id": chipid, "unix_time": math.floor(datetime.now().timestamp()) } return jsonify(output) def updateChipInfo(chipid): dbpath = 'database.sqlite' connection = sqlite3.connect(dbpath) cursor = connection.cursor() try: cursor.execute("SELECT ID FROM CHIP_INFO WHERE CHIP_ID=?", (chipid,)) record = cursor.fetchall() if len(record)==0: cursor.execute("INSERT INTO CHIP_INFO VALUES (?, ?, ?)", (1, chipid, 'HogeCreate')) else: cursor.execute("UPDATE CHIP_INFO SET NAME=? WHERE CHIP_ID=?", ('HogeUpdate', chipid)) except sqlite3.Error as e: print('sqlite3.Error occurred:', e.args[0]) connection.commit() connection.close() if __name__ == "__main__": api.run()
既にPythonプログラムが起動している場合はVisual Studio CodeのTERMINALにて「Ctrl + C」で停止して、再度起動し直してください。
動作確認
ブラウザにて以下のURLにアクセスしてください
http://localhost/get?chipid=XXX000
前回と同じような結果が表示されます。
{"chip_id":"XXX000","unix_time":1575778996}
DB Browserで確認すると新しいレコードが作成されていると思います。
※再度ブラウザにて同じURLにアクセスすると更新されることが確認できます。
次回
サーバー構築は一通り完了しましたので、自動給餌機を作成していきたいと思います。