WFduino
WFduino
WFduino 最早是在 2016年4月左右,為了解決宜蘭縣使用 Chromebook 時,無法利用 Scratch 學習開放式硬體 Arduino 等問題。經由 嘉義東石高中 林東成老師的引薦及 宜蘭竹林國小 陳金助老師的教學經驗所設計。因此,WFduino 第一版本是依附在 Google Chrome 的應用商店,也是目前所稱的線上版。
在 2016年10月因應 Google Chrome 應用商店的改版,及教學的便利性規劃了離線版本的 WFduino 讓 WFduino 的發展可不受限在 Google Chrome,便可以開發出更多方便的功能。
架構
架構
WFduino APP 依功能區分以下模組:
WebServer
WebServer
用來接收和回傳資料到 Scratch。
Socket Client
Socket Client
WiFi 通訊,在連接 ESP8266時使用 WebSocket 協定。
IO
IO
電腦端資源的使用:
- 檔案讀寫
- USB
- 網路
- 視訊
- 語音
Cloud
Cloud
各式雲端平台整合:
- IFTTT Maker Channel
- ThingSpeak
- OpenData
- JSON
- LASS
- Google Voice
Database
Database
網路資料庫:
- Firebase
WiFi 使用限制
WiFi 使用限制
現在生活到處充滿了使用 2.4G 的網路訊號,因此WiFi 一定不會比 USB 或藍芽來的穩定。教學建議還是以 USB 為主,如果使用 SCRATCH 透過 WebSocket 進行無限傳輸時,請依所在環境品質考量適時的在積木間加上 Delay,以確保連線穩定。
WFduino 韌體燒寫
WFduino 韌體燒寫
WFduino 離線版內含了以下韌體,可直接透過 USB 燒寫到開發板。除了 WFduino 支援 Arduino 以外,其它都是給 ESP8266 平台使用。
WFduino 功能
WFduino 功能
- Arduino UNO, NANO, Leonardo
ESP12, ESP12E, ESP12F, ESP12S
ESP8266 網卡模式
ESP8266 網卡模式
- ESP01及所有 ESP系列
WF8266R
WF8266R
如果使用的是 WF8266R.js 版本,可透過此區更新回 WF8266R.js 服務。使用 HTML5 及物聯雲 APP 來學習更多物聯網應用。
MicroPython
MicroPython
精簡後的 Python 開發環境,你可以使用 Python 語言來操作
NodeMCU
NodeMCU
使用 LUA 語言
Scratch 2.0 範本
Scratch 2.0 範本
我們已將含有 WFduino 積木的範本分享到 MIT 官網,你可以直接透過以下連結開啟範本就可以使用了。
元件
元件
下表列出一些較為常用的,除了協定式需要特別設計積木外,類比和數位這兩種都可以直接由 SCRATCH 數位 和 類比 積木操作使用。
類比式
類比式
直接由類比輸入,讀取後再校正計算
- CDS 光敏電阻
- 旋轉電阻
- LM35溫度計
- UV 紫外線
- PH 酸鹼值
- ACS712 電流感測
數位式
數位式
透過數位輸入判讀1或0
- SR-04 超音波測距
- 紅外線開關
- RGB LED
- PIR 人體紅外線開關
- 繼電器
- 按鍵
- BUZZER 蜂鳴器
協定式
協定式
SPI, I2C, One Wire, UART, ...
- DHT11, DHT22
- IR 紅外線接收/發射
- LCD
- SERVO 伺服馬達
- BH1750 流明度