WFduino

http://wfduino.com

WFduino 最早是在 2016年4月左右,為了解決宜蘭縣使用 Chromebook 時,無法利用 Scratch 學習開放式硬體 Arduino 等問題。經由 嘉義東石高中 林東成老師的引薦及 宜蘭竹林國小 陳金助老師的教學經驗所設計。因此,WFduino 第一版本是依附在 Google Chrome 的應用商店,也是目前所稱的線上版。

在 2016年10月因應 Google Chrome 應用商店的改版,及教學的便利性規劃了離線版本的 WFduino 讓 WFduino 的發展可不受限在 Google Chrome,便可以開發出更多方便的功能。

架構

WFduino APP 依功能區分以下模組:

WebServer

用來接收和回傳資料到 Scratch。

Socket Client

WiFi 通訊,在連接 ESP8266時使用 WebSocket 協定。


IO

電腦端資源的使用:

  • 檔案讀寫
  • USB
  • 網路
  • 視訊
  • 語音


Cloud

各式雲端平台整合:

  • IFTTT Maker Channel
  • ThingSpeak
  • OpenData
  • JSON
  • LASS
  • Google Voice

Database

網路資料庫:

  • Firebase

WiFi 使用限制

現在生活到處充滿了使用 2.4G 的網路訊號,因此WiFi 一定不會比 USB 或藍芽來的穩定。教學建議還是以 USB 為主,如果使用 SCRATCH 透過 WebSocket 進行無限傳輸時,請依所在環境品質考量適時的在積木間加上 Delay,以確保連線穩定。

WFduino 韌體燒寫

WFduino 離線版內含了以下韌體,可直接透過 USB 燒寫到開發板。除了 WFduino 支援 Arduino 以外,其它都是給 ESP8266 平台使用。

WFduino 功能

  • Arduino UNO, NANO, Leonardo
  • ESP12, ESP12E, ESP12F, ESP12S

ESP8266 網卡模式

  • ESP01及所有 ESP系列

WF8266R

如果使用的是 WF8266R.js 版本,可透過此區更新回 WF8266R.js 服務。使用 HTML5 及物聯雲 APP 來學習更多物聯網應用。

MicroPython

精簡後的 Python 開發環境,你可以使用 Python 語言來操作

NodeMCU

使用 LUA 語言

Scratch 2.0 範本

我們已將含有 WFduino 積木的範本分享到 MIT 官網,你可以直接透過以下連結開啟範本就可以使用了。

https://scratch.mit.edu/projects/138530606/#editor

元件

下表列出一些較為常用的,除了協定式需要特別設計積木外,類比和數位這兩種都可以直接由 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 流明度