# 創客產品 ## 相關資料 所有資料都可以參考[旗標創客的 hackmd](https://hackmd.io/@flagmaker),大多數產品都有以書號為標籤的服務專區筆記,因為筆記數量較多,從服務專區看比較不會亂。其餘有些筆記可能沒有歸到個別產品,就自行篩選查看,有任何問題都可以隨時找我。 ## 使用的技術 - 主要的開發程式語言以 MicroPython 撰寫 Python 程式為主,Arduino C++ 次之,FlagsBlock 基本上已經棄用 - 如果開發板需要跨外網與電腦、手機傳遞資料,會使用 mqtt,由於是以 mqtt broker 為中介,可以突破需要傳遞資料的兩端位於內網無法直接互相連線的問題。mqtt 主要以 Adafruit IO 為平台,選用 Adafruit IO 主要是註冊簡易,使用上除了 mqtt 外,也提供 HTTP API,在不同平台上都可以使用。 ``` +--------+ | | | mqtt | +---------> | broker |<---------+ | | | | | +--------+ | | | V V +------------+ +------------+ | | | | | ESP32/8266 | | 其他裝置 | | | | | +------------+ +------------+ 雙向傳輸 ``` - 如果是單純區網內開發板與電腦、手機傳輸資料,就可以採用 ESPWebServer 模組在開發板這端建置 HTTP 伺服器。這是我們自己撰寫的模組,功能單純,但不提供 HTTPS,所以某些情境下無法使用,像是要在電腦、手機上瀏覽器的網頁內使用裝置的麥克風或是攝影機,都需要 HTTPS 才行。 ``` +--------------+ +------------+ | | | | | ESP32/8266 |<-----------------| 其他裝置 | | ESPWebServer | | | +--------------+ +------------+ 單向請求 ``` 不過因為是 web server,因此只能由其他裝置向開發板發出請求,如果開發板想要傳送資料給其他裝置,就要等待裝置發出請求索取資料,會比較不即時。 - 如果需要能在公開網域運作的 web server,也可以使用 Google 的 App Scripts: ``` +---------+ | | | App | +---------> | Scripts |<---------+ | | | | | +---------+ | | | | | +------------+ +------------+ | | | | | ESP32/8266 | | 其他裝置 | | | | | +------------+ +------------+ ``` - 如果需要串接其他服務的 API,若 API 本身只需要單純的 HTTPS 加上金鑰或權杖,可以考慮直接在 MicroPython 內進行: ``` +------------+ +------------+ | | | | | ESP32/8266 |----------------->| HTTP API | | | | | +------------+ +------------+ ``` - 如果是 make.com 本身已經有串接的 API 服務,也可以透過它的 webhook 讓開發板觸發: ``` +----------+ | | | make.com | +---------> | webhook |----------+ | | | | | +----------+ | | | | V +------------+ +------------+ | | | | | ESP32/8266 | | HTTP API | | | | | +------------+ +------------+ ``` 原本這項功能使用 IFTTT 的 webhook,但該功能已經改成要付費,所以棄用。 - 如果 make.com 沒有現成串接要使用的 API,或是 API 使用上比較複雜,不適合利用 make.com 或是直接在開發板手工串接,也可以使用剛剛提到的 App Scripts 當中介包裝其他服務的 API,提供比較簡單的介面給開發板使用: ``` +---------+ | | | App | +---------> | Scripts |----------+ | | | | | +---------+ | | | | V +------------+ +------------+ | | | | | ESP32/8266 | | HTTP API | | | | | +------------+ +------------+ ``` ## 注意事項 - 我們目前使用的 ESP32/ESP8266 開發板都只能連接 2.4GHz 的無線網路,如果是手機分享熱點,要開最大相容型,或有些手機要開啟 2.4GHz 頻段。 - 我們的開發板使用的 USB 通訊晶片主要是 ch340,這在 mac 上不需驅動程式,Windows 11 理論上也會自動安裝,唯一要注意的是很久以前有一批 ESP8266 上的晶片使用新版的驅動程式無法正常運作,一定要降版。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up