Esp32 connect to web service
# Esp32WebSerivce
所有的網址 沒意外的話是在外網永遠存在 webservices 也可以使用 下為網址 (opens new window)
開源程式碼github (opens new window)
# webservice building
這裡主要為建置webservice的環節 以便之後到學校與esp32作為接口對接
# 使用heroku建置新伺服器
使用免費方案即可
# api基礎架構
接著使用flask建置api的基礎架構 flask加heroku的組合我個人挺喜歡的 此方法也可以拿來架設網站在外網 如此網站為我接下來個人部落格的施工預定地 https://test-pants-blog.herokuapp.com
因為在初步建置環節 所以現在只有實作GET method 使用RESTful api作為整體架構 以下為程式碼
import flask
app=flask.Flask(__name__)
@app.route("/api/esp32-webservice")
def GET():
return "testing"
if __name__ == "__main__":
app.run()
# heroku 必要設定
接著加入heroku server的必要文件
# requirements.txt
為伺服器所需安裝的檔案清單 如未寫入此清單不可使用
如下
Flask
gunicorn
# runtime.txt
為伺服器所需使用的語言架構
如下
python-3.8.5
# Procfile
為heroku的參數檔 用來決定此伺服器的用途
如下
web gunicorn 主程式名稱:app變數名稱
# 運行至heroku
接著在本地端使用git工具以及heroku CLI將架構上傳
git工具以及heroku CLI我皆已安裝 在這裡不再演示
直接在git工具裡面使用git bash 可以直接使用linux command很方便 還可以直接用vim寫README.md之類的普通文檔 雖然我都亂寫
初次上傳使用下列指令
git init
#初始化git
heroku login
#登入heroku
heroku git:remote -a esp32-webservice
#初始化git路徑
git add .
git commit -m "upload"
git push heroku master
#上傳至heroku伺服器
如之後須更新使用下列指令
git add .
git commit -m "upload"
git push heroku master
#上傳至heroku伺服器
# api基礎架構最終結果
# 雲端sql server建置
因我的主機無法當作資料庫的server
所以在這裡使用heroku的addons
叫做postgresql
也是sql server的一種
可以用一般的sql語法來進行CRUD
但如果用免費版的只能夠儲存大約1000筆資料
所以這次的資料庫正規化我並不想做到3級
避免資料庫肥大
首先在終端機裡輸入指令 來加入heroku的postgresql addons 並創建資料庫
heroku addons:create heroku-postgresql:app名稱
之後在終端機裡輸入指令來查詢資料庫的連線字串
heroku config:get DATABASE_URL -a app名稱
雲端伺服器無法使用圖形介面建置資料庫 所以這裡使用T-SQL直接在資料庫裡CREATE_TABLE 這裡我用google colab來當作資料庫的調適工具
待續,我好懶
# esp32 connect to webservice
待開學後與webservice對接
# phone app
我懶了 交給下禮拜的我