Web DevKit 包含了 Web APIs, Web Components, Web Socket 等等多種 Web 操作模式, 將 IoT(Internet of Things) 提升到 WoT(Web of Things)。依據實際需求和情節選擇適合的通訊方式和 WF8266R 溝通. 當然在你的網路環境中必需要連的到
WF8266R, 也就是說如果 WF8266R 取到的 IP 不是真實的, 那就無法在戶外或不同網域中連線到 WF8266R, 此時需要透過 MQTT 協定進行
操作.
使用網址 Query string 的方式下達命令, 回傳 JSON 格式. 跨平台能力強, 如有要定時快速長時間要求資料時, 建議使用 Web Socket 穩定度較高
/config
Ver. 2018.08.19 增加
Write 通用組態
參數
autoReboot : MQTT超過300秒未連上時,自動重開機(預設0)
http://wf8266r.local/config?autoReboot=1
回傳
1
/timer
Ver. 2018.02.13 增加
Write 內部計時器(無連網可用)
參數
id : 計時器編號 0-3 共四組(預設0)
pin : 資料腳位(預設 [0]:5, [1]:4, [2]:12, [3]:13)
sec : 秒數, 0:取消計時
type : 輸出電位模式0-4(預設2)
例如 : 使用第 1 組計時器, 5分鐘後將腳位12變換狀態
http://wf8266r.local/timer?id=0&pin=12&sec=300&type=2
回傳
{"eventTime":121528,"systemTime":116528,"pin":12,"type":2}
/rc/send
Ver. 2017.08.06 增加
Write 發送 RC 315/433MHz 按鍵碼
參數
pin : 資料腳位(預設 14)
code : 按鍵碼
例如 : 由 14 腳送出按鍵碼 54631308
http://wf8266r.local/rc/send?code=54631308&pin=14
回傳
{"code":"54631308","pin":14}
/rc/code
Ver. 2017.07.16 增加
Read RC 插座 315/433MHz 按鍵碼
參數
pin : 資料腳位(預設 14)
支援協定 SC5262 / SC5272 / HX2262 / HX2272 / PT2262 / PT2272 / EV1527 / RT1527 / FP1527 / HS1527 / HT6P20X
讀取 RC 315/433MHz 插座遙控器按鍵值
http://wf8266r.local/rc/code?pin=14
回傳
{"code":"5583296","pin":14}
/key
Ver. 2017.06.11 增加
Read WFCloud Key
參數
token : 設備通行碼
註冊 WFCloud 使用權, 才能授權呼叫 文字命令
http://wf8266r.local/key?token=xxxx
查看已指定的 KEY
http://wf8266r.local/key
/chtiot/key
Ver. 2018.09.30 增加
Read 中華電信 IoT 大平台
參數
token : 大平台專案KEY
註冊 中華電信 IoT 大平台 使用權, 才能授權上傳感測器資料
http://wf8266r.local/chtiot/key?token=xxxx
查看已指定的 KEY
http://wf8266r.local/chtiot/key
/ktype
Ver. 2017.03.16 增加
Read 讀取熱電偶溫度(MAX6675 K)
參數
clk : 12, cs : 13, so : 14
例如:讀取目前溫度
http://wf8266r.local/ktype
{"C":24.50,"F":76.10}
/socket
Ver. 2017.01.26 增加
Read TCP/IP Socket 連線
連線成功主動送出 產品別,SN
例如:連線到 Socket Server 192.168.31.59, Port 9999
http://wf8266r.local/socket?ip=192.168.31.59&port=9999
{"State":1}
/socket/send
Ver. 2017.01.26 增加
Read 透過 TCP/IP Socket 傳送資料
參數 : text
例如: 傳送 ABC 到 SERVER
http://wf8266r.local/socket/send?text=ABC
{"ip":"192.168.31.59","text":"ABC"}
/socket/stop
Ver. 2017.01.26 增加
Read 中止 TCP/IP Socket 連線
http://wf8266r.local/socket/stop
{"State":0}
/renewip
Ver. 2017.01.26 增加
Read 套用自訂網路組態
例如:讀取自訂組態
http://wf8266r.local/renewip
{"IP":"192.168.31.106","CIP":"0.0.0.0","MASK":"255.255.255.0","GATEWAY":"192.168.31.1","DNS":"168.95.1.1"}
/ipconfig
Ver. 2017.01.26 增加
Read 讀取或設定網路組態
參數
CIP : 自訂 IP
GW : Gateway, Default 192.168.1.1
MASK : 子網路, Default 255.255.255.0
DNS : DNS, Default 168.95.1.1
例如:讀取自訂組態
http://wf8266r.local/ipconfig
{"IP":"192.168.31.106","CIP":"0.0.0.0","MASK":"255.255.255.0","GATEWAY":"192.168.31.1","DNS":"168.95.1.1"}
例如:設定自訂 IP 192.168.31.101, Gateway 192.168.31.1, Mask 255.255.255.0, DNS 168.95.1.1
http://wf8266r.local/ipconfig?CIP=192.168.31.101&GW=192.168.31.1&MASK=255.255.255.0&DNS=168.95.1.1
{"IP":"192.168.31.106","CIP":"192.168.31.101","MASK":"255.255.255.0","GATEWAY":"192.168.31.1","DNS":"168.95.1.1"}
/wfs
Ver. 2017.01.21 增加
Read 讀取 WF8266R.js Sensor 回傳資料
參數
type : 感測器名稱
http://wf8266r.local/wfs?type=RFID
/pixel/init
Ver. 2016.11.03 增加
Write 初始化 WS2812(NeoPixel)
參數
num : LED 數量, 預設 8
預設 I2S 腳位 3(Rx)
例如 : 連接4顆 LED
http://wf8266r.local/pixel/init?num=4
/pixel/set
Ver. 2016.11.03 增加
Write 寫入顯示色碼
參數
index : 0 ~ n, 位址從 1 開始算, 0 控制全部燈
r : 紅色 0~255
g : 綠色 0~255
b : 藍色 0~255
例如 : 控制第 1 顆顯示 最亮紅色
http://wf8266r.local/pixel/set?index=1&r=255
例如 : 控制全部顯示 最亮藍色
http://wf8266r.local/pixel/set?index=0&b=255
/pixel/clear
Ver. 2016.11.03 增加
Write 全部關閉 WS2812(NeoPixel)
http://wf8266r.local/pixel/clear
/time/show
Ver. 2016.10.23 增加
KD, WF8266T Write 時間顯示
打開 KD 和 WF8266T 時間顯示
http://wf8266r.local/time/show
/time/off
Ver. 2016.10.23 增加
KD, WF8266T Write 關閉時間顯示
關閉 KD 和 WF8266T 時間顯示
http://wf8266r.local/time/off
/encoder/init
Ver. 2016.08.31 增加
Read 初始 旋轉編碼器 Rotary Encoder
參數
a : 相位 A 腳位(預設12)
b : 相位 B 腳位(預設13)
ppr : 編碼器脈衝數(預設600)
circle : 輪子周長 cm (預設30公分)
http://wf8266r.local/encoder/init
回傳 JSON
{"a":12,"b":13,"ppr":600,"circle":30}
/encoder/reset
Ver. 2016.08.31 增加
Read 重置 旋轉編碼器 Rotary Encoder
http://wf8266r.local/encoder/reset
回傳 JSON
{"countA":0,"countB":0,"cmA":0,"cmB":0,"cm":0,"yd":0,"ft":0}
/encoder/value
Ver. 2016.08.31 增加
Read 取得旋轉編碼器資料
http://wf8266r.local/encoder/value
回傳 JSON
countA/B : 順/逆 時脈衝數
cmA/B : 順/逆 時累計公分
cm : 累計 公分
yd : 累計 碼
ft : 累計 呎
{"countA":31304,"countB":1,"cmA":1565.20,"cmB":0.05,"cm":1565.15,"yd":17.12,"ft":51.35}
/acs712
Ver. 2017.03.19 修改
Read 電流檢測
例如 : 開啟 ACS712-30A 電流計算
http://wf8266r.local/acs712
回傳 JSON
A : 安培數
AT : 最大安培數
W : 功率
LastHour : 前小時
LastDay : 昨日
AVG : 日平均
{"adc":620,"A":0.13,"AT":8.13,"W":13.75,"LastHour":0.00,"LastDay":0.00,"AVG":2.37}
/tone/play
Ver. 2016.08.05 增加
Write Buzzer 發出音調
參數 :
pin : 發聲腳位(預設13)
f : 頻率(預設 523)
t : 時長(預設 1000,單位毫秒)
例如 : 13 腳位發出 1 秒 Do(523) 的聲音
http://wf8266r.local/tone/play?pin=13&f=523&t=1000
回傳 JSON
{"pin":13,"f":523,"t":1000}
/tone/off
Ver. 2016.08.05 增加
Write 關閉 Buzzer 音調
/relaystate/on
Ver. 2016.03.27 增加
Write 啟用 繼電器 自動載入最後狀態
/relaystate/off
Ver. 2016.03.27 增加
Write 停用 繼電器 自動載入最後狀態
/ota/on
Ver. 2016.03.27 增加
Write 啟用 上線後自動更新 WF8266R.js
/ota/off
Ver. 2016.03.27 增加
Write 停用 上線後自動更新 WF8266R.js
/sleepmode/on
Ver. 2016.03.27 增加
Write 啟用 元件上傳雲端後自動休眠
支援事件系統 元件監聽 且 觸發 呼叫網址 服務, 定時 > 180 秒才會啟動自動上傳後休眠功能
/sleepmode/off
Ver. 2016.03.27 增加
Write 停用 元件上傳雲端後自動休眠
/ble/reset
Ver. 2016.03.21 增加
Write 重置 BLE Layer
參數 :
baud : 設定時的使用速率. 預設 115200
/ble/init
Ver. 2016.03.16 增加
Write 初始化 BLE Layer 注意:需在藍燈閃動時設定才有效
參數 :
name : 藍芽顯示名稱 長度<11. 預設 BLE-Layer
password : 配對密碼. 預設 888888 (長度6碼 000000~999999)
baud : 設定時的使用速率. 預設 9600
/kd/on
Ver. 2016.02.21 增加
Write 啟用 WF8266RKD 顯示 DS 溫度
/kd/off
Ver. 2016.02.21 增加
Write 關閉 WF8266RKD 顯示
/kd/display
Ver. 2017.05.21 增加
Write WF8266RKD 顯示模式
參數 : 長按 KD 上面 D 按鍵1秒可切換各種模式
mode : [0] 時間, [1] DS18B20/SHT溫度, [2] PM2.5
http://wf8266r.local/kd/display?mode=2
/kd/show
Ver. 2016.02.21 增加
Write 顯示 WF8266RKD 目前顯示訊息
參數 :
msg : 設定顯示的8位數字
_ : 不顯示
空格(%20) : 保留原值不異動
例如 : 8_8 8_8_
http://wf8266r.local/kd/show?msg=8_8%208_8_
讀取目前顯示
http://wf8266r.local/kd/show
回傳 JSON
{"msg":"23500000"}
/ir/rec
Ver. 2016.02.02 增加
Write 複製紅外線遙控器按鍵
參數 :
pin : 紅外線接收器 DATA 腳位
index : 存放位址 0 ~ 254
例如 : 由腳位 5 讀取紅外線碼, 並存放在資料位址 0
http://wf8266r.local/ir/rec?pin=5&index=0
回傳 JSON
{"pin":5,"index":0}
/ir/code
Ver. 2017.07.09 修改
Read 讀取目前收到的紅外線遙控器按鍵值
參數 :
pin : 紅外線接收器 DATA 腳位
mode : [0]16進位 [1]原始碼
type 為 UNKNOWN 時顯示 紅外線原始碼, 格式為 長度,資料1,資料2,資料n
例如 : 由腳位 14 讀取紅外線碼, 預設回傳 16 進位碼
http://wf8266r.local/ir/code?pin=14
回傳 JSON
{"type":"NEC","code":"AB00CCDD"}
/ir/read
Ver. 2016.02.02 增加
Read 讀取紅外線遙控器按鍵碼
參數 :
index : 存放位址 0 ~ 254
例如 :讀取放在資料位址 0 的按鍵碼
http://wf8266r.local/ir/read?index=0
回傳 JSON
{"code":[32,300,5000,250,600,400,4850,350,650,350,5800,400,4100,200,1500,300,4950,300,750,150,4200,200,650,350,5050,300,700,300,4850,350,1500,350],"index":0}
/ir/send
Ver. 2016.08.05 修改
Read 發送按鍵碼
參數 :
pin : 紅外線發射器腳位
index : 存放位址 0 ~ 254
f : 發送頻率(預設38)
mode : 1 發送時寫入存放位址
code : 直接發送紅外線碼(目前僅支援 NEC, 和長度限制內的原始碼, 長度太長請使用 POST)
例如 : 由腳位4發送放在資料位址 0 的按鍵碼
http://wf8266r.local/ir/send?pin=4&index=0
回傳 JSON
{"pin":4,"index":0,"size":32,"f":38}
例如 : 由腳位 15 發送 NEC 編碼的資料 906FA25D
http://wf8266r.local/ir/send?pin=15&code=906FA25D
例如 : 由腳位 15 發送 原始碼
17,8100,2700,5400,2700,2700,2700,2700,2700,2700,2700,2700,2700,2700,2700,2700,2700,5400
http://wf8266r.local/ir/send?pin=15&code=17,8100,2700,5400,2700,2700,2700,2700,2700,2700,2700,2700,2700,2700,2700,2700,2700,5400
例如 : 由腳位 15 發送 原始碼並寫入位址 0
17,8100,2700,5400,2700,2700,2700,2700,2700,2700,2700,2700,2700,2700,2700,2700,2700,5400
http://wf8266r.local/ir/send?index=0&mode=1&pin=15&code=17,8100,2700,5400,2700,2700,2700,2700,2700,2700,2700,2700,2700,2700,2700,2700,2700,5400
/reset
Ver. 2016.01.20 增加
Write 清空設定資料
刪除 WF8266R 設定資料, 回到出廠設置狀態
http://wf8266r.local/reset
/ds
Ver. 2015.11.12 增加
Read 感測器 Dallas DS18xxx
取得 Dallas 溫度感測器 : DS18S20 DS18B20 DS1822
參數 : pin 腳位, index 序列號(default:0) 不加或0時列出全部
例如 : GPIO 14 串接了 2 顆 DS18B20 例出全部資料明細
http://wf8266r.local/ds?pin=14
回傳 JSON 格式
{"Count":2,"Devices":[{"Addr":"28FF4857A2150389","Chip":"DS18B20","C":29.31,"F":84.76},{"Addr":"28FFDAEE5015037D","Chip":"DS18B20","C":29.00,"F":84.20}]}
例如 : GPIO 14 串接了 2 顆 DS18B20 例出 第2顆 資料
http://wf8266r.local/ds?pin=14&index=2
回傳 JSON 格式
{"C":28.50,"F":83.30}
/mac
Ver. 2015.11.06 增加
Read Mac Address
取得裝置 MAC 位址
http://wf8266r.local/mac
回傳 JSON 格式
{"mac":"00:11:23:45:aa:ee"}
/sleep
Ver. 2016.03.15 修改
Write 休眠
參數 : time 單位 秒
例如 : 休眠 5 秒後醒來
注意 : RST 和 GPIO16 要相接
如時間設太長無法喚醒請在上電前將 GPIO16 接 GND 可取消休眠
http://wf8266r.local/sleep?time=5
回傳 JSON 格式
{"msg":5}
/time
Ver. 2015.09.15 增加
Write 手動設置內部時間
參數 : UTC 請給定 Unix time
http://wf8266r.local/time?utc=1442290011
回傳 JSON 格式
{"msg":"OK","UTC":1442290011,"time":"2015/9/15 12:6:51"}
/rst
Ver. 2015.07.26 增加
Write 重啟 WF8266R
重新開機.
/firmware
Ver. 2015.07.10 增加
Write Firmware 更新介面
選擇由 Release 下載的 WF8266R.xxx.bin 並按下 Upload, 等待上傳完畢後看到提示訊息.
/servo
Ver. 2015.10.13 修改
Write Servo 伺服馬達
pin 腳位編號
degree 角度(180度) | 角度(360度) [0 正轉最快] [100 停止], [200 反轉最快]
p1 0 度時的頻率 Default : 570
p2 180 度時的頻率 Default : 2500
以 SG90 為例 接在腳位5, 並轉到 90 度
http://wf8266r.local/servo?pin=5°ree=90
回傳 JSON 格式
{"action":"servo","pin":4,"degree":0,"p1":570,"p2":2500}
以 DS04-NFC 360度為例 正轉最快
http://wf8266r.local/servo?pin=5°ree=0
使用 87 正轉最慢
http://wf8266r.local/servo?pin=5°ree=87
使用 104 反轉最慢
http://wf8266r.local/servo?pin=5°ree=104
使用 200 反轉最快
http://wf8266r.local/servo?pin=5°ree=200
/version
Ver. 2015.06.27 增加
Read 查看 WF8266R 目前版本號
http://wf8266r.local/version
回傳 JSON 格式
{"Version","2015.06.27"}
/user/get
Read 查看 WF8266R 整體運作參數資訊
http://wf8266r.local/user/get
/user/set
Write 連網設定
上網 AP 連線資訊- ssid : 上網 AP 的名稱.
- password : 上網 AP 的密碼
- 以上如有+號字元請換為 %2B
WF8266R Soft AP 連線資訊- ssidAP : WF8266R AP 顯示名稱
- passwordAP : WF8266R AP 的密碼 (長度需 > 10)
http://wf8266r.local/user/set?ssid=xxx&password=xxx&ssidAP=xxx&passwordAP=xxx
/sw
Ver. 2016.10.23 增加
Relay Write 繼電器控制 開(低電位輸出)
繼電器開關 R1 R2 R3 R4 如果同時開啟繼電器 1 和 關閉 2 可以下達
http://wf8266r.local/sw?1=0&2=1
/sw/on
Relay Write 繼電器控制 開(低電位輸出)
WF8266R(ESP12E) 繼電器腳位為 PIN5(1) PIN4(2) PIN12(3) PIN13(4), 如果同時開啟繼電器 1 和 2 可以下達
http://wf8266r.local/sw/on?1=&2=
4 路全開可以這樣使用
http://wf8266r.local/sw/on?1=&2=&3=&4=
/sw/off
Relay Write 繼電器控制 關(高電位輸出)
WF8266R(ESP12E) 繼電器腳位為 PIN5(1) PIN4(2) PIN12(3) PIN13(4), 如果同時關閉繼電器 1 和 2 可以下達
http://wf8266r.local/sw/off?1=&2=
4 路全關可以這樣使用
http://wf8266r.local/sw/off?1=&2=&3=&4=
/scan
Read 取得附近 AP 清單並設置連線
/ap/on
Write 打開 WF8266R Soft AP
/ap/off
Write 關閉 WF8266R Soft AP
/gpio
Write GPIO 腳位輸出 高 或 低 電位
參數 : n = 0 ~ 4 其中 n 可以指定 GPIO 0,1,2,3,4,5,12,13,14,15,16 相關 GPIO 只能使用這11個腳位
0 : 低電位
1 : 高電位
2 : 互換電位
3 : 按鍵式 0 -> 1 -> 0
4 : 按鍵式 1 -> 0 -> 1
想要讓 GPIO 0 1 2 輸出高電位, GPIO 3 4 5 輸出低電位 可以這樣使用
注意 如果該腳位已經使用 PWM 請先將 PWM 設為 0 才能回到 高 低 電位使用, 不然會無效
http://wf8266r.local/gpio?0=1&1=1&2=1&3=0&4=0&5=0
/gpio/pwmfreq
Ver. 2016.12.24 增加
SET Write PWM 頻率
修改 PWM 輸出頻率
參數 : freq = 1000 (預設1000 1KHz)
http://wf8266r.local/gpio/pwmfreq?freq=500
/gpio/pwm
Write GPIO 腳位輸出 0~1023 的電位值
參數 : n = m 其中 n 可以指定 GPIO 0,1,2,3,4,5,12,13,14,15,16 | m 可以指定 0 ~ 1023
想要讓 GPIO 5 4 12 13 輸出漸亮的亮度階層 可以這樣使用
http://wf8266r.local/gpio/pwm?5=100&4=300&12=600&13=1023
/gpio/read
Read 讀取 GPIO 腳位狀態 高 或 低 電位
參數 : pinmode = 0 或 1 | 0 : INPUT(default), 1 : OUTPUT
參數 : n = 其中 n 可以指定 GPIO 0,1,2,3,4,5,12,13,14,15,16 相關 GPIO 只能使用這11個腳位
想要讀取 GPIO 0 1 2 的目前狀態 可以這樣使用
http://wf8266r.local/gpio/read?0=&1=&2=
回傳 JSON 格式
{"0":"1","1":"0","2":"1"}
想要讀取 GPIO 5 的目前狀態 並且將 pinMode 指定為 OUTPUT
http://wf8266r.local/gpio/read?pinmode=1&5=
回傳 JSON 格式
{"5":"0"}
/gpio/adc
Read 讀取 ADC 類比 腳位狀態 0 ~ 1023
http://wf8266r.local/gpio/adc
回傳 文字 Text 格式
316
注意 WF8266R 的 ADC 電壓輸入範圍在 0V ~ 3.3V, ESP8266 原本的 ADC 是 0V ~ 1V, 請特別留意
/serial
Write Baud 傳輸率 預設 115200
參數 : baud = n 其中 n 可以指定 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 74880, 115200
http://wf8266r.local/serial?baud=115200
/serial/buffer
Write 修改 Serial 中暫存資料
參數 : text
http://wf8266r.local/serial/buffer?text=WF8266R.js
/serial/read
Read 讀取 WF8266R Serial buffer 裡的資料
Buffer 可保留 255 個字元
http://wf8266r.local/serial/read
回傳 JSON 格式
{"text":"your data"}
參數 : hex 讀取 16 進位
http://wf8266r.local/serial/read?hex=
回傳 JSON 格式
{"hex":"your HEX data"}
/serial/write
Write 將資料由 Tx 腳送到其他裝置
參數 : text = 內容
參數 : hex = 大寫 16 進位, 1個位元組(Byte) 為2個字元, 例如 255 : 0xFF, 0 : 0x00
http://wf8266r.local/serial/write?text=your data
http://wf8266r.local/serial/write?hex=F10001FA
/serial/writeln
Writeln 將資料由 Tx 腳送到其他裝置 結束加上換行, 當 WF8266R 開機完畢時會傳送 WF8266R.Ready
參數 : text = 文字內容
參數 : hex = 大寫 16 進位, 1個位元組(Byte) 為2個字元, 例如 255 : 0xFF, 0 : 0x00
http://wf8266r.local/serial/writeln?text=your data
/dht11
Read 感測器 溫濕度感測元件
參數 : n = 其中 n 可以指定 GPIO 0,1,2,3,4,5,12,13,14,15,16 接到 DHT11 的 DATA 腳位
假設將 DHT11 的 DATA 接在 GPIO 5 可以這樣使用
http://wf8266r.local/dht11?5=
回傳 JSON 格式
{"Humidity":"55","C":"32.00","F":"89.00"}
相關教學 : http://wf8266.com/wf8266r/tutorials/31_DHT
/dht
Read 感測器 溫濕度感測元件
參數 : pin = 可以指定 GPIO 0,1,2,3,4,5,12,13,14,15,16 接到 DHTxx 的 DATA 腳位
參數 : type = 可以指定 11(DHT11), 22(DHT22), 21(DHT21,AM2301)
假設將 DHT22 的 DATA 接在 GPIO 5 可以這樣使用
http://wf8266r.local/dht?pin=5&type=22
回傳 JSON 格式
{"Humidity":"55","C":"32.00","F":"89.00"}
/distance
Read 感測器 超音波測距元件
參數 : echo = n trig = n, 其中 n 可以指定 GPIO 0,1,2,3,4,5,12,13,14,15,16 接到 Echo Trig 腳位
假設將 超音波測距元件 的 Echo 接在 GPIO 5, Trig 接在 GPIO 4 可以這樣使用
http://wf8266r.local/distance?echo=5&trig=4
回傳 JSON 格式
{"distance":"30"}
相關教學 : http://wf8266.com/wf8266r/tutorials/32_Distance
/light
Read 感測器 I2C 流明度量元件
WF8266R 的 I2C 腳位定義在 PIN4 SDA 和 PIN5 SCL
http://wf8266r.local/light
回傳 JSON 格式
{"light":"100"}
相關教學 : http://wf8266.com/wf8266r/tutorials/33_Light
/pm25
Ver. 2016.03.29 修改
Read 感測器 PM2.5 感測器
型號 : GP2Y1010AU0F
http://wf8266r.local/pm25?pin=16
1(V-LED) 3.3V
2(LED-GND) GND
3(LED) WF8266R PIN
4(S-GND) GND
5(Vo) ADC
6(Vcc) 3.3V
回傳 JSON 格式
{"PM25":36,"Unit":"ug/m3"}
相關教學 : http://wf8266.com/wf8266r/Code?templateName=PM25.html
/pm25s
Ver. 2016.08.07 增加
Read 感測器 Dust 感測器
型號 : Shinyei Model PPD42NS
http://wf8266r.local/pm25s?pin=15
1(GND) GND
3(5V) WF8266R VCC
4(Data) WF8266R PIN
回傳 JSON 格式
{"Dust":267.15,"PM25":10}
相關教學 : http://wf8266.com/wf8266r/Code?templateName=PM25s.html
/pm25g
Ver. 2016.01.28 增加
Read 感測器 PM2.5 感測器
型號 : 攀藤 G1 G3 G5 感測器
http://wf8266r.local/pm25g
回傳 JSON 格式
{"PMCF10":52,"PMCF25":75,"PMCF100":83,"PMAT10":36,"PMAT25":53,"PMAT100":67,"PMCount03":7869,"PMCount05":2259,"PMCount10":382,"PMCount25":36,"PMCount50":3,"PMCount100":1}
/sht
Ver. 2016.08.05 增加
Read SHT3X 溫濕度感測器 I2C 流明度量元件
WF8266R 的 I2C 腳位定義在 PIN4 SDA 和 PIN5 SCL
例如 : 讀取 SHT 溫濕度
http://wf8266r.local/sht
回傳 JSON
{"Humidity":60.5,"C":32,"F":89}
事件的功能主要讓 WF8266R 能獨立判斷條件並觸發特定行為, 也就是不需要 WEB 也能自主運作. WF8266R 可存 6 組事件的定義, 你可以將要監聽的事件新增在 WF8266R, 當事件發生時執行. 例如:
- 當 GPIO5 低電位時將 GPIO4 設為高電位
- 當 GPIO5 低電位時呼叫 http://domain.com/sendmail 網址
- 當 GPIO5 低電位時呼叫 http://wf8266r.local/gpio?4=0 觸發別台 WF8266R Web API 達到電位切換
- 當 GPIO5 低電位時將自訂事件透過 WebSocket 傳回 GPIO.events 自行處理後續動作
/when/listen
Ver. 2015.10.10
Write 事件 > 150ms 成立
- (選填) eventType = n 監聽類型, 預設為 1 其中 n 如下所示:
- 1 : GPIO 本機腳位監聽 eventValue = n:,m
- 2 : TIME 時間監聽 eventValue = n:m:s,1234567
- 3 : 元件監聽 eventValue = id:parameter:value^op,pin1:pin2
@resetEventIndex 重啟計數行為的事件編號 [0]:全部 [1~6]:事件編號
- eventValue =
- n^,m 監聽條件, 其中 n 為腳位編號 m 為 | 0 低電位 | 1 高電位 | 2 電位異動. (其中 ^ 表示腳位為 INPUT, 未指定為 OUTPUT)
GPIO 腳位值 參數碼 {1}
- n:m:s,1234567 監聽條件, 其中 n 為 小時 m 為 分鐘 s 為秒. 小時可留空白 表示只依據分鐘和秒判斷. 1234567 表示星期 日一二三四五六
- id:parameter:value^op,pin1^:pin2 監聽條件(其中 pin1後的 ^ 表示腳位為 INPUT, 未指定為 OUTPUT)
op=0, "="
op=1, "<"
op=2, ">"
op=3, "介於"
op=9, "不設條件,以時間定時觸發"
http://wf8266r.local/when/listen?eventType=3&eventValue=4:1:30^2,14:1&trigerType=1&trigerValue=5,0&timer=1000
5 : PM2.5 G1 G3 G5 參數碼 PMCF10{1} PMCF25{2} PMCF100{3} PMAT10{4} PMAT25{5} PMAT100{6} PMCount03{7} PMCount05{8}
6 : KD 按鍵值{1}
7 : IR 按鍵值{1}
8 : SHT 參數碼 C{1} F{2} H{3}
9 : Dust 參數碼 Dust{1} PM25{2}
10 : ACS 參數碼 電流 A{1} 最大電流 AT{2} 時間 timespan{3} 日平均 AVG{4} 前小時 LastHour{5} 昨日 LastDay{6}
11 : Encoder 編碼器 參數碼 長度 cm{1}
12 : Thingspeak 雲參數 參數值 {1} (頻率1分鐘)
13 : WF8266R.js Sensor RFID, 卡片碼{1}
14 : 熱電偶 參數碼 C{1} F{2}
15 : 語音命令 參數碼 命令值{1}
16 : RC 按鍵值{1}
17 : UART 文字{1}
18 : 開機時間 millis{1} 單位秒
255 : 序列 參數碼 IoT+{1:value},{2:value}...,{8:value}
pin1:pin2 感測腳位
- pin1, GPIO腳位 ADC=20
- pin1:pin2, pin:type 其中 pin 為 DHT 資料腳位, type 為感測器型號 11(DHT11), 22(DHT22), 21(DHT21,AM2301)
- pin1:pin2, echo:trig 超音波測距腳位
- pin1:pin2, pin:index 其中 pin 為 DS 資料腳位, index 為串列中第幾顆感測器 1 ~ 4
trigerType = n 其中 n 如下所示:
- 1 : 本機腳位輸出
- 2 : Request URI 要求某網址, 不支援 localhost 本機服務, 如需使用請改用 Self Call
- 3 : WebSocket 事件訂閱
- 4 : Self Call
- 5 : Device Call
- 6 : Wolf Cloud 文字命令
trigerValue = 觸發動作 等於 以下情況, 需配合 trigerType
5,0
條件成立時 GPIO5 設為 低電位輸出
host:port,parameter 其中 host 為 IP 或 Domain name
192.168.0.12:80,gpio?5=0
條件成立時 呼叫 http://192.168.0.12:80/gpio?5=1
WF8266R 會透過 POST 協定傳送到您自行撰寫的服務, 請依 POST 協定實作.
n 其中 n 為 WebSocket 訂閱的事件名
PIN4_Click
當條件成立時回傳 PIN4_Click 到 GPIO.events
id,param1:param2:... 其中 id 為 WebAPI 服務編號, param1 ~ paramN 為 參數值
* 為條件成立時會一直發送, 未加 * 的只會發送一次(適用於 2017.02 之前版本, 之後採次數控制)
101 /rst 重新開機
102 /ap/on 開啟 AP
103 /ap/off 關閉 AP
104,text /serial/write 序列傳送
105,text /serial/writeln 序列傳送+換行
106,pin:degree /servo 伺服馬達
107,time /sleep 休眠 單位秒
*108,value /sw/on 繼電器整體控制 0:全開 1:全關 *2:互換
109 /config APP 設備清單自訂訊息
110,pin:index /ir/send 發送紅外線 pin:腳位 index:按鍵編號
*111,pin:value GPIO 數位腳位輸出 value:0~1023
0 : 低電位
1 : 高電位
2 : 互換電位
3 : 按鍵式 0 -> 1 -> 0
4 : 按鍵式 1 -> 0 -> 1
5~1023 : PWM
111 多腳位輸出使用 . 相隔, 例如: 5 輸出高電位, 4 輸出 低電位按鍵, 12 PWM輸出500, 13 輸出0, 14 反向
5.4.12.13.14:1.3.500.0.2
112,number /kd/show KD 顯示訊息
113,state /kd/on off clear KD 開關 state=1 開啟 state=0 關閉 state=2 清除顯示不停用
114,index:value 事件開關 index 事件編號 value=0 開啟 value=9 關閉
115,pin:code /ir/send 發送 NEC 紅外線碼 pin:腳位 code:按鍵編碼
116,pin:f.t /tone/play 發出音調 pin:腳位 f:頻率 t:時間
*117,pin1:pin2 數位腳位同步, 讓 pin1 = pin2, !:反向同步
*118 /encoder/reset 重置編碼器統計數值
119,pin:degree 雲參數轉控伺服馬達並顯示在KD, degree 0-180 區間對應角度 0-180
120,index 清除事件計數限制 index:事件編號 [0 全部]
121,pin:code /rc/send 發送 RC 按鍵碼 pin:腳位 code:按鍵碼
122,pin:code.t /rc/send 每隔200ms發送 RC 按鍵碼 pin:腳位 code:按鍵碼 t:次數
123,pin.sec:type.id /timer 內部計時器 pin:腳位 sec:秒數 id:計時器0-3 type:0-4 腳位狀態
124,timer1.timer2.timer3.timer4:value1.value2.value3.value4 繼電器計時器
依時間控制 5 4 12 13 腳位, 例如: 每隔5秒控制 5 4 12 13 腳位反向輸入時可輸入
0.5.10.15:2.2.2.2
201 /wf8266t/on 打開時間顯示
202 /wf8266t/off 關閉時間顯示
203 /wf8266t/dht/on 打開溫濕度顯示
204 /wf8266t/dht/off 關閉溫濕度顯示
205 /wf8266t/sound/on 打開聲音
206 /wf8266t/sound/off 關閉聲音
*207,id:number /wf8266t/display 顯示訊息 cid = id+100
208,level /wf8266t/light 調整 WF8266T/KD 亮度 亮度 0~7
209, /wf8266t/sec/on 秒數顯示
210, /wf8266t/sec/off 關閉秒數
*211,time:times /wf8266t/sound 警示音 time:單音時長 times:次數
*212,key:time /wf8266t/apps 物聯顯示 key: ThingHTTP API KEY time:顯示秒數
213,mode /wf8266t/hud/mod 投射模式 mode=1 開啟 mode=0 關閉
例如 : 每 1 秒監聽 ADC < 800 時開閉 AP
http://wf8266r.local/when/listen?eventType=3&eventValue=0:1:800^1,20&trigerType=4&trigerValue=103&timer=1000
Self Call id,param1:param2:deviceId
例如 : 每隔10秒將 WF8266R 感測到 PM2.5 數值傳送到 WF8266T 設備顯示, 使用 SelfCall 207 服務顯示
其中 {0} 會被自動以感測值代入
http://wf8266r.local/when/listen?eventType=3&eventValue=5:5:0^9,3&trigerType=5&trigerValue=207,4:{0}:xxxxxxxx&timer=10000
(選填) timer = n 延時觸發, 其中 n 單位為毫秒. 預設 timer=0
(選填) index = n 強制修改事件清單 n, 其中 n 為事件清單索引鍵.
(選填) times = n 執行次數, 其中 n 為 1~255, 預設 times=255 表示永久執行
範例 : 當 GPIO0(WF8266R 白色按鍵) 低電位時將 GPIO5 設為低電位
http://wf8266r.local/when/listen?eventValue=0,0&trigerType=1&trigerValue=5,0
範例 : 當 GPIO0 低電位時呼叫(Request) http://mydomain/[email protected]&title=Alert
http://wf8266r.local/when/listen?eventValue=0,0&trigerType=2&trigerValue=mydomain:80,[email protected]%26title=Alert
http://wf8266r.local/when/listen?eventValue=0,0&trigerType=2&trigerValue=code.unumobile.com:80,wf8266r/api/mail/[email protected]/TEST
範例 : 當 GPIO0 低電位時將 PIN4_Click 使用 WebSocket 通知所有監聽者, 再由監聽者進行後續動作
http://wf8266r.local/when/listen?eventValue=0,0&trigerType=3&trigerValue=PIN4_Click
範例 : 每天每個小時的 5 分開啟 GPIO5 高電位
http://wf8266r.local/when/listen?eventType=2&eventValue=:5,2345671&trigerType=1&trigerValue=5,1
範例 : 星期1到5的晚上 6 點開啟 GPIO5 高電位
http://wf8266r.local/when/listen?eventType=2&eventValue=18:0,23456&trigerType=1&trigerValue=5,1
以上統一回傳 JSON
eventCount : 事件編號 1~6
{"eventCount":1,"eventType":1,"eventValue":"4,0","trigerType":1,"trigerValue":"5,0"}
/when
Ver. 2015.07.06 增加
Read 查看事件清單
http://wf8266r.local/when
回傳 JSON
{"events":[
{"eventIndex":1,"eventType":1,eventValue":"0,0","trigerType":1,"trigerValue":"5,0","timer":0,"state":0},
{"eventIndex":2,"eventType":1,eventValue":"4,0","trigerType":1,"trigerValue":"5,0","timer":0,"state":0},
{"eventIndex":3,"eventType":1,eventValue":"4,0","trigerType":1,"trigerValue":"5,1","timer":5000,"state":0}
]}
/when?=
Ver. 2015.07.06 增加
Write 清空事件清單
http://wf8266r.local/when?=
/save
Ver. 2015.07.06 增加
Write 寫入 WF8266R
如果希望永久保存事件, 可以將事件寫入 WF8266R 的記憶體中, 不怕重開或斷電時要再重新設定事件組合
http://wf8266r.local/save
回傳 JSON
{"size":"1136"}
以 Socket 方式直接和 WF8266R 連線, 適合做大量資料傳輸時使用.
連結位址 ws://wf8266r.local:81/api
以下是使用 Web Socket 的基本架構
線上範例 : http://wf8266.com/wf8266r/Code?templateName=Socket.html
<html>
<head>
<script>
function init() {
var connection = new WebSocket('ws://wf8266r.local:81/api', ['wf8266r']);
connection.onopen = function (e) {
//連線成功送出命令
connection.send("gpio/adc");
};
connection.onclose = function (e) {
//連線關閉
};
connection.onmessage = function (e) {
//收到來自 WF8266R 的訊息
console.log(e.data);
};
connection.onerror = function (e) {
//不明的錯誤
};
}
</script>
</head>
<body onload="init()"></body>
</html>
gpio
Ver. 2015.06.27 增加
Write GPIO 腳位輸出 0 或 1 電位
參數 : n = 0 或 n = 1 其中 n 可以指定 GPIO 0,1,2,3,4,5,12,13,14,15,16 相關 GPIO 只能使用這11個腳位
例如 將 GPIO5 輸出為 低電位
connection.send("gpio,5=0");
回傳 JSON
{"Action":"gpio","5":"0"}
gpio/pwm
Ver. 2015.06.27 增加
Write GPIO 腳位輸出 0~1023 的電位值
參數 : n = m 其中 n 可以指定 GPIO 0,1,2,3,4,5,12,13,14,15,16 | m 可以指定 0 ~ 1023
例如 將 GPIO5 輸出為半亮
connection.send("gpio/pwm,5=500");
回傳 JSON
{"Action":"gpio/pwm","5":"500"}
gpio/read
Ver. 2015.06.27 增加
Read 讀取 GPIO 腳位狀態 高 或 低 電位
參數 : n = 其中 n 可以指定 GPIO 0,1,2,3,4,5,12,13,14,15,16 相關 GPIO 只能使用這11個腳位
例如 讀取 GPIO5 的狀態
connection.send("gpio/read,5=");
回傳 JSON
{"Action":"gpio/read","5":"1"}
gpio/readAll
Ver. 2015.07.26 增加
Read 一次讀取 GPIO 0,2,4,5,12,13,14,15,16,ADC 狀態
單次傳回 最後傳 空白
例如 讀取 所有腳位狀態
connection.send("gpio/readAll");
回傳 JSON
{"Action":"gpio/readAll","gpio":0,"value":1}
{"Action":"gpio/readAll","gpio":2,"value":1}
{"Action":"gpio/readAll","gpio":4,"value":1}
{"Action":"gpio/readAll","gpio":5,"value":1}
{"Action":"gpio/readAll","gpio":12,"value":1}
{"Action":"gpio/readAll","gpio":13,"value":1}
{"Action":"gpio/readAll","gpio":14,"value":1}
{"Action":"gpio/readAll","gpio":15,"value":1}
{"Action":"gpio/readAll","gpio":16,"value":1}
{"Action":"gpio/readAll","gpio":"ADC","value":1}
"" 空白
gpio/readAllBatch
Read 一次讀取 GPIO 0,2,4,5,12,13,14,15,16,ADC 狀態
整批傳回
例如 讀取 所有腳位狀態
connection.send("gpio/readAllBatch");
回傳 JSON
{"Action":"gpio/readAllBatch","value":"1,1,1,1,1,1,1,1,1,1"}
gpio/adc
Read 讀取 ADC 類比 腳位狀態 0 ~ 1023
connection.send("gpio/adc");
回傳 JSON
{"Action":"gpio/adc","ADC":"316"}
dht11
Ver. 2015.06.27 增加
Read 溫濕度感測元件
參數 : n = 其中 n 可以指定 GPIO 0,1,2,3,4,5,12,13,14,15,16 接到 DHT11 的 DATA 腳位
假設將 DHT11 的 DATA 接在 GPIO 5 可以這樣使用
connection.send("dht11,5=");
回傳 JSON
{"Action":"dht11","Humidity":"0","C":"0.00","F":"32.00"}
dht
Ver. 2015.10.08 增加
Read 溫濕度感測元件
參數 : pin = 其中 n 可以指定 GPIO 0,1,2,3,4,5,12,13,14,15,16 接到 DHT 的 DATA 腳位
參數 : type = 可以指定 11(DHT11), 22(DHT22), 21(DHT21,AM2301)
假設將 DHT22 的 DATA 接在 GPIO 5 可以這樣使用
connection.send("dht,pin=5&type=22");
回傳 JSON
{"Action":"dht","Humidity":"0","C":"0.00","F":"32.00"}
distance
Ver. 2015.06.27 增加
Read 超音波測距元件
參數 : echo = n trig = n, 其中 n 可以指定 GPIO 0,1,2,3,4,5,12,13,14,15,16 接到 Echo Trig 腳位
假設將 超音波測距元件 的 Echo 接在 GPIO 5, Trig 接在 GPIO 4 可以這樣使用
connection.send("distance,echo=5&trig=4");
回傳 JSON
{"Action":"distance","distance":"10"}
light
Ver. 2015.06.27 增加
Read 流明度量元件
WF8266R 的 I2C 腳位定義在 PIN4 SDA 和 PIN5 SCL
connection.send("light");
回傳 JSON
{"Action":"light","light":"0"}
ds
Ver. 2015.11.13 增加
Read 溫度感測器 DS18S20 DS18B20 DS1822
注意 : 每一顆需要 800 ms 等待時間, 串接多顆時請控制好時間間隔
參數 : n = 其中 n 可以指定 GPIO 0,1,2,3,4,5,12,13,14,15,16 接到 DS 的 DATA 腳位
假設將 DS 的 DATA 接在 GPIO 14 取回第1顆溫度時,可以這樣使用
connection.send("ds,pin=14&index=1");
回傳 JSON
{"Action":"ds1","C":28.81,"F":83.86}
pm25
Ver. 2016.03.24 增加
Read PM2.5 感測器 型號 : GP2Y1010AU0F
參數 : n = 其中 n 可以指定 GPIO 0,1,2,3,4,5,12,13,14,15,16 接到 GP2Y1010AU0F 的 腳位3
假設將 GP2Y1010AU0F 的 腳位3 接在 GPIO 14 可以這樣使用
connection.send("pm25,pin=14");
回傳 JSON
{"Action":"pm25","PM25":30}
pm25g
Ver. 2016.03.24 增加
Read PM2.5 感測器 型號 : A1 G1 G3 G5 等
參數 : 接 WF8266R 的 Rx 腳, 並指定 WF8266R baud = 9600
connection.send("pm25g");
回傳 JSON
{"Action":"pm25g","PMAT25":30}
pm25s
Ver. 2016.08.06 增加
Read PM2.5 感測器 型號 : Grove - Dust Sensor : Shinyei Model PPD42NS
參數 : pin = 15 可指定任何腳位
connection.send("pm25s,pin=15");
回傳 JSON
{"Action":"pm25g","PMAT25":30}
sht
Ver. 2016.08.06 增加
Read 溫濕度 感測器 型號 : SHT3X
參數 : I2C 腳位
connection.send("sht");
回傳 JSON
{"Action":"sht","Humidity":80,"C":28.81,"F":83.86}
ir/code
Ver. 2016.08.06 增加
Read 紅外線 感測器
參數 : pin = 14 可指定任何腳位
type 為 UNKNOWN 時顯示 紅外線原始碼, 格式為 長度,資料1,資料2,資料n
connection.send("ir/code,pin=14");
回傳 JSON
{"Action":"ir/code","type":"UNKNOWN","code":"F2A4B1EE"}
ir/send
Ver. 2016.08.06 增加
Read 紅外線 發射器
參數 : pin = 15 可指定任何腳位, index = 存碼編號
發送存在 WF2866R 中的紅外線碼
connection.send("ir/send,pin=15&index=0");
回傳 JSON
{"Action":"ir/send","index":"0"}
ir/sendCode
Ver. 2016.08.06 增加
Read 紅外線 發射器
參數 : pin = 15 可指定任何腳位, code = 按鍵碼
發送紅外線碼
connection.send("ir/sendCode,pin=15&code=906FA25D");
回傳 JSON
{"Action":"ir/sendCode","code":"906FA25D"}
uart/tx
Ver. 2016.08.06 增加
Write WebSocket to UART
參數 : type = text | hex 文字或16進位, data = 資料
透過 WebSocket 經 WF8266R Tx 送出
connection.send("uart/tx,type=text&data=Hello");
回傳 JSON
{"Action":"uart/tx","value":"Hello"}
servo
Ver. 2016.08.06 增加
Write 伺服馬達
參數 : pin = any, degree = 0~180
控制伺服馬達角度
connection.send("servo,pin=5°ree=0");
回傳 JSON
{"Action":"servo","pin":5,"degree":0}
selfcall
Ver. 2016.08.19 增加
Write 事件系統 SelfCall 支援
參數 : ID=VALUE 其中 ID = 服務號 VALUE = 資料內容
例如 : 呼叫 111 多腳位輸出服務, 將 5 4 12 13 腳位設為反向狀態輸出
connection.send("selfcall,111=5.4.12.13:2.2.2.2");
回傳 JSON
{"Action":"servo","pin":5,"degree":0}
encoder
Ver. 2016.09.01 增加
Write 編碼器
參數 : a b 相位腳位, rpm 編碼器脈衝數, circle : 輪子周長
例如 : 取得編碼器資料
connection.send("encoder,a=b&rpm=circle");
回傳 JSON
{"Action":"encoder","countA":1,"countB":0,"cm":0.05}
encoder/reset
Ver. 2016.09.01 增加
Write 重置編碼器
例如 : 重置編碼器資料
connection.send("encoder/reset,=");
回傳 JSON
{"Action":"encoder/reset","countA":0,"countB":0,"cm":0}
wfs
Ver. 2017.01.21 增加
Write 讀取 WF8266R.js Sensor 回傳資料
例如 : 讀取 RFID 資料
connection.send("wfs,RFID");
回傳 JSON
{"Action":"wfs","Type":"RFID","Value":"4028D76D"}
ktype
Ver. 2017.03.16 增加
Write 讀取 熱電偶 溫度
例如 : 讀取 熱電偶 資料, 預設腳位 clk : 12, cs : 13, so : 14
connection.send("ktype");
回傳 JSON
{"Action":"wfs","Type":"RFID","Value":"4028D76D"}
核心在 WF8266R.js 提供 Web Component 和 javascript 二種開發方式, 常用功能已包裝為 <wf8266r-button></wf8266r-button> TAG, 還有 透過 javascript 調用的 GPIO 物件.
使用方式 : 引入 jQuery.js wf8266r.js wf8266r.css
<script src="http://wf8266.com/wf8266r/webcomponent/jquery-2.1.4.min.js"></script>
<script src="http://wf8266.com/wf8266r/webcomponent/wf8266r/wf8266r.js"></script>
<link href="http://wf8266.com/wf8266r/webcomponent/wf8266r/wf8266r.css" rel="stylesheet" />
範本
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
<title>WF8266R</title>
<!-- Imports WF8266R -->
<script src="http://wf8266.com/wf8266r/webcomponent/jquery-2.1.4.min.js"></script>
<script src="http://wf8266.com/wf8266r/webcomponent/wf8266r/wf8266r.js"></script>
<link href="http://wf8266.com/wf8266r/webcomponent/wf8266r/wf8266r.css" rel="stylesheet" />
<script>
$(function () {
//載入 WF8266R 元件
GPIO.init();
});
</script>
</head>
<body>
<unu-wf8266r ip="wf8266r.local" websocket uuid="xxxx" device="xxxx"></unu-wf8266r>
</body>
</html>
<unu-wf8266r></unu-wf8266r>
Webcomponents WF8266R 參數管理元件
- ip : 目標 IP 位址, 可以是 IP 或 Domain name. wf8266r.local 只能在電腦上使用, 手機不支援 .local 的 mDNS 協定.
- websocket : 使用 Web Socket 協定. 沒有加使用 Web APIs.
- uuid : 唯一識別碼.
- device : 服務識別碼.
<unu-wf8266r ip="wf8266r.local" websocket uuid="xxxx" device="xxxx"></unu-wf8266r>
<wf8266r-button></wf8266r-button>
Webcomponents WF8266R 行為元件
- id : 控制項編號
- type : n 控制行為. 其中 n 可以是以下 :
- gpio
- pwm
- read
- adc
- relay : 透過 MQTT 控制 查看範列
- pin : 腳位編號
- value : 值 (read時 0:INPUT 1:OUTPUT)
- watch : 定時更新時間 單位:毫秒
- >顯示文字<
例如 : 顯示 SW ON 的按鍵, 按下後將 GPIO5 設為 0
<wf8266r-button type="gpio" pin="5" value="0">SW1 ON</wf8266r-button>
例如 : 顯示 LED PWM 的接桿, 移動後將 GPIO2 設為 拉動值
<wf8266r-button id="pwm" type="pwm" pin="2" value="0">LED PWM</wf8266r-button>
例如 : 每隔 2秒 顯示 GPIO5 的電位在畫面上的 PIN5 文字後
<wf8266r-button id="gpio5" type="read" pin="5" value="1" watch="2000">PIN5 </wf8266r-button>
例如 : 每隔 1秒 顯示 ADC 的電位值 0~1023 在畫面上的 ADC 文字後
<wf8266r-button id="adc" type="adc" value="0" watch="1000">ADC </wf8266r-button>
GPIO
JS GPIO 物件, 其中 pin 腳位編號, value 值, callback 用來接收傳回的 JSON 物件
針對沒有真實 IP 又想在不同網域控制 WF8266R GPIO 腳位時使用, 目前僅提供 GPIO 4,5,12,13 繼電器模組腳位, 以便在戶外可透過手機 及 IFTTT 控制開關.
http://wf8266.com/wf8266r/api/service
GET WF8266R 繼電器腳位控制
格式 :
http://wf8266.com/wf8266r/api/service/SN/relay/value
其中有 3 個參數, 分為是 :
- SN : 裝置編號, 可以在包裝袋中找到 SN. xxxx
- realy : 控制目標, 可置換為
- Relay : 全部, 表示 GPIO 5,4,12,13
- Relay1 : 表示 GPIO 5
- Relay2 : 表示 GPIO 4
- Relay3 : 表示 GPIO 12
- Relay4 : 表示 GPIO 13
- value : 輸出值, 可以是 [0:開啟] [1:關閉] [2:反向 Toggle] [3:按鍵 0->1] [4:按鍵 1->0]
例如 : 將繼電器1號打開(GPIO5=0)
http://wf8266.com/wf8266r/api/service/XXXX/Relay1/0
GET 要求 WF8266R 回傳繼電器腳位狀態資料
格式 :
http://wf8266.com/wf8266r/api/service/SN/RequestState/0
GET 顯示 WF8266R 回傳繼電器腳位狀態資料
格式 :
http://wf8266.com/wf8266r/api/service/SN/Info/0
回傳
[{"UUID":"1e38c4c2-349d-4a41-93de-95d5c782d2c","ChipId":"14431740","LocalIp":"192.168.0.15","GPIO5":1,"GPIO5_Name":null,"GPIO4":1,"GPIO4_Name":null,"GPIO12":1,"GPIO12_Name":null,"GPIO13":1,"GPIO13_Name":null,"UpdateTime":"2016-03-02T14:28:15.29"}]
由 Tx 傳送訊息
Ver. 2016.03.01 增加
POST 將資料由 Tx 腳位傳出
格式 :
POST http://wf8266.com/wf8266r/api/service
ChipID : XXXXXXXX 裝置序號 SN
Value : 要傳送的文字
GET 方式
http://wf8266.com/wf8266r/api/service/SN/Message/Demo
結尾加上換行符號 \r\n 改用 Messageln
http://wf8266.com/wf8266r/api/service/SN/Messageln/Demo
例如 : 由遠端傳送 Demo 文字到 WF8266R 再由 Tx 腳傳送到 Arduino 或其他 MCU Rx 腳
POST http://wf8266.com/wf8266r/api/service
ChipID : 14431234
Value : Demo
會收到以下訊息
Demo
由 Tx 傳送16進位資料
Ver. 2016.03.01 增加
POST 將資料由 Tx 腳位傳出
格式 :
POST http://wf8266.com/wf8266r/api/service
ChipID : SN 裝置序號
Action : HEX
Value : 要傳送的文字
GET 方式
http://wf8266.com/wf8266r/api/service/SN/HEX/FF00A1
例如 : 由遠端傳送 Demo 文字到 WF8266R 再由 Tx 腳傳送到 Arduino 或其他 MCU Rx 腳
POST http://wf8266.com/wf8266r/api/wf8266r
ChipID : 14431234
Action : HEX
Value : FF00A1
會收到以下訊息
FF 00 A1
讀取 WF8266R Serial 資料
Web 是沒有狀態的, 關於有回傳值的方法都需要先呼叫 Request 開頭的方法, 要求設備回報目前狀態. 因此,
回傳時間因網路傳輸不定可能會有1~10秒的差距才會看到新回傳的資料, 所以會藉由 UpdateTime 欄位判斷功能與否。
Ver. 2016.03.01 修改
GET
- RequestMessage : 要求設備回傳 Serial 的暫存資料
http://wf8266.com/wf8266r/api/service/SN/RequestMessage/0
ResponseMessage : 取得最近回傳的 Serial 資料
http://wf8266.com/wf8266r/api/service/SN/ResponseMessage/0
回傳資料在 Data 欄位, 透過 UpdateTime 欄位判別資料是否是最新回傳
[{"UUID":"xxx-xx-xx","ChipId":"xxxx","LocalIp":"192.168.0.16","Action":"ResponseMessage","Data":"Demo","UpdateTime":"2015-11-15T20:55:44.44"}]
傳送存放在 WF8266R 的紅外線碼
Ver. 2016.08.01 增加
GET 方式
http://wf8266.com/wf8266r/api/service/SN/IRSend/Pin,Index
例如 : 遠端呼叫 WF8266R 由 15 腳傳送放在位址0的紅外線碼
http://wf8266.com/wf8266r/api/service/SN/IRSend/15,0
REST MQTT 提供 RESTful 網址呼叫的方式轉接 MQTT 協定, 讓你可以在有網路的地方就能操作 WF8266R. 例如你在使用 IFTTT 服務時利用 WEB REQUEST 網址調用的方式便能幫助你轉接到 WF8266R 設備.
注意:使用此服務需先將設備註冊到 WFCloud https://cloud.wf8266.com
註冊教學
https://service.wf8266.com/api/mqtt/SN/CMD/KEY/DATA
SN : 設備序號前面不含0
CMD : 指令
KEY : 請將設備註冊到 https://cloud.wf8266.com, 可取得授權金鑰
DATA : 參數資料
GET WF8266R 繼電器腳位控制
格式 :
https://service.wf8266.com/api/mqtt/SN/relay/key/value
其中有 3 個參數, 分為是 :
- SN : 裝置編號, 可以在包裝袋中找到 SN. xxxx
- relay : 控制目標, 可置換為
- Relay : 全部, 表示 GPIO 5,4,12,13
- Relay1 : 表示 GPIO 5
- Relay2 : 表示 GPIO 4
- Relay3 : 表示 GPIO 12
- Relay4 : 表示 GPIO 13
- value : 輸出值, 可以是 [0:開啟] [1:關閉] [2:反向 Toggle] [3:按鍵 0->1->0] [4:按鍵 1->0->1]
例如 : 將繼電器1號打開(GPIO5=0)
https://service.wf8266.com/api/mqtt/SN/Relay1/key/0
回傳目前腳位狀態 : 依序為 5 4 12 13 2 1 3 14 15 16 0
{"data":["1","1","1","1","0","0","0","1","0","1","1"],"code":1}
GET 腳位控制
格式 :
https://service.wf8266.com/api/mqtt/SN/GPIO/key/pin,value
例如 : 將腳位 5 使用高電位的按鍵輪出 [3:按鍵 0->1]
https://service.wf8266.com/api/mqtt/SN/GPIO/key/5,3
GET 要求 WF8266R 回傳所有腳位狀態資料
格式 :
https://service.wf8266.com/api/mqtt/SN/RequestState/key
回傳
{"data":["1","1","1","1","0","0","0","1","0","1","1"],"code":1}
由 Tx 傳送訊息
Ver. 2016.03.01 增加
GET 方式
https://service.wf8266.com/api/mqtt/SN/Message/key/Demo
結尾加上換行符號 \r\n 改用 Messageln
https://service.wf8266.com/api/mqtt/SN/Messageln/key/Demo
例如 : 由遠端傳送 Demo 文字到 WF8266R 再由 Tx 腳傳送到 Arduino 或其他 MCU Rx 腳
會收到以下訊息
Demo
由 Tx 傳送16進位資料
Ver. 2016.03.01 增加
GET 方式
https://service.wf8266.com/api/mqtt/SN/HEX/key/FF00A1
例如 : 由遠端傳送 Demo 文字到 WF8266R 再由 Tx 腳傳送到 Arduino 或其他 MCU Rx 腳
會收到以下訊息
FF 00 A1
讀取 WF8266R Serial 資料
Ver. 2016.03.01 修改
GET
RequestMessage : 要求設備回傳 Serial 的暫存資料
https://service.wf8266.com/api/mqtt/SN/RequestMessage/key
回傳資料在 Data 欄位
{"data":["test1,"],"code":1}
傳送存放在 WF8266R 的紅外線碼
Ver. 2016.08.01 增加
GET 方式
https://service.wf8266.com/api/mqtt/SN/IRSend/key/Pin,Index
例如 : 遠端呼叫 WF8266R 由 15 腳傳送放在位址0的紅外線碼
https://service.wf8266.com/api/mqtt/SN/IRSend/key/15,0
傳送 RC 按鍵碼
Ver. 2016.08.10 增加
GET 方式
https://service.wf8266.com/api/mqtt/SN/RCSend/key/Pin,Code
例如 : 由 15 腳發送 54631308 碼
https://service.wf8266.com/api/mqtt/SN/RCSend/key/15,54631308
傳送一定次數 RC 按鍵碼
Ver. 2016.08.10 增加
GET 方式
https://service.wf8266.com/api/mqtt/SN/RCSendSW/key/Pin,Code.Times
例如 : 每 200ms 由 15 腳發送 54631308 碼共 4 次
https://service.wf8266.com/api/mqtt/SN/RCSendSW/key/15,54631308.4
其它操作指令
GET 方式
https://service.wf8266.com/api/mqtt/SN/CMD/KEY/DATA
CMD 說明如下, 請注意大小寫
系統
文字命令 : APP,CMD,SYS,{CMD} 其中 {CMD} 可置換為以下指令
RST : 重新啟動設備
UTC : 指定系統時間
REG : 上線後是否自動關閉 AP
SleepMode : 是否啟用休眠
AutoUpdate : 是否啟用上線自動更新
KeepRelayState : 是否啟用上電載入最後腳位電位
OTA : 推送更新(需配合WFCloud)
DC : 呼叫 SelfCall 服務
CONFIG : 讀取 SelfCall 109 所設定的感測數值
RequestHUDRT : 讀取 抬頭顯示器 行車資訊
Voice : 將文字轉成語音播放(需配合語音模組)
Message : 透過 UART 送出字元
Messageln : 透過 UART 送出字元+換行
資訊
文字命令 : APP,CMD,{CMD} 其中 {CMD} 可置換為以下指令
IRSend : 送出紅外線碼
IRSendCode : 送出 NEC 編碼. 例如由 15 腳送出 12340000 編碼. APP,CMD,IRSendCode,15,12340000
RCSend : 送出 RF 碼
RCSendSW : 送出多次 RF 碼. 何如由 16 腳每隔200ms送出16000001共5次. APP,CMD,RCSendSW,16,16000001.5
GPIO : 腳位控制
查詢類
TEMP : 溫濕度和 PM2.5 PM10
AIR : {0} 警示語, {1} PM2.5, {2} 溫度, {3} 濕度, {4} PM10, {5} 二氧化碳(CO2), {6} 揮發性TVOC, {7} 甲醛HCHO, {8} 電量
WF8266R Sensor 專用
OLEDFont : 顯示繁簡中英文字, DATA : x,y,font size,text
例如在 0,0 位置顯示 16 級大小的 物聯雲 文字
https://service.wf8266.com/api/mqtt/2718259/OLEDFont/KEY/0,0,16,物聯雲
OLEDString : 顯示英數文字, 字級 10 16 24, DATA : x,y,font size,text
OLEDClear : 清空畫面
溫控模組(WF8266R30, WF8266KD)
RequestDS : 讀取 目前溫度
RequestDSConfig : 讀取 溫控設定
WatchTemp : 是否啟用溫控, DATA : [0]禁用 [1]啟用
SetDSConfig : 溫控及倒數時間設定, DATA : [啟動溫度:停止溫度:倒數時間]
R30Alarm : 時間到數警報設置, DATA : [0]禁用 [1]啟用
KD : 是否啟用 KD 顯示
KDMsg : 將 8 位數字顯示在 KD 顯示器上
GetKDKey : 讀取目前 KD 按鍵值
GetLightLevel : 讀取目前亮度等級
SetLightLevel : 設置亮度等級
語音模組
Voice : 文字轉語音(支援繁簡中文) 需傳送 UTF8 格式
VoiceName : 喚醒命令(4個字中文)
VoiceTip : 喚醒語音,無法試表語音 001~046
VoicePlayTip : 內建語音試聽 001~046
VoiceMode : 喚醒模式 [0] 按鍵 [1] 無喚醒 [2] 關鍵詞
VoiceVol : 音量 0~9
VoiceCMD : 語句關鍵字, 格式 : 開門 001|關門 002|open-door 003|
VoiceEcho : 回應語句, 格式 : |001 馬上開門|002 門關好了
VoiceConfig : 靈敏度調整 識別距離(1-3),匹配度(1-5),識別等待時間(0-30000),錄音時間(0-6000)
識別距離 : [1] 20公分以內, [2] 20公分-3公尺, [3] 3公尺以上
匹配度 : [1] 最高(識別難) [5] 最低(誤判高), 建議 2-4 預設為 4
識別等待時間 : 喚醒後等待使用者說話時間 單位 ms, 預設為 06000 6秒, 固定5位數
錄音時間 : 喚醒後錄使用者說話的時間長度 單位 ms, 預設為 6000 6秒, 固定4位數
MP3Play : 放 TF 卡裡的音樂. 檔名需為 0001~9999
MP3Stop : 停止
腳位
PinMode : 設置腳位模式
Read : 數位讀取特定腳位值
ADC : 類比讀取 ADC 腳位值
事件
ReadEvent : 讀取事件清單
WFS
Sensor001 : 讀取 RFID 碼
呼叫 WFCloud 的文字命令
GET
執行 WFCloud 自訂好的文字命令
https://service.wf8266.com/api/cmd/key/文字命令名稱
回傳資料在 Data 欄位
{"data":{"cmd":"APP,CMD,GPIO,5,0","deviceId":"15760000","name":"電捲門"},"code":1}
例如 : 呼叫 芝麻開門 命令
https://service.wf8266.com/api/cmd/your key/芝麻開門
語音助理
POST
WFRobot 語音助理
文字命令輔助詞, 其中 XXX 為文字命令
XXX 如何
溫度調整 XXX
幫我 XXX
開 XXX
關閉 XXX
https://service.wf8266.com/api/voice
傳送 JSON 物件
{"text":"對談文字","deviceId":"your id","key":"your key"}
回傳資料在 Data 欄位
{"data":"助理回傳的資訊","code":1}
同步設備到 Google Home
GET
手動同步 WFCloud 上的設備到 Google Home
https://service.wf8266.com/api/googlehome/sync/key
天貓精靈智慧家居組態
GET 設定設備要在天貓精靈顯示的 設備名稱 型式 和 地點
https://service.wf8266.com/api/smarthome/tmall/config/key/SN/name/type/zone
SN : 設備序號, 如果是多腳位如 WF8266R/R2/R4 格式為 SN_PIN
例如:指定 WF8266R4 sn:12345678 第 5 號腳位為智能設備時, SN 應為 12345678_5
其中 設備名稱 請查閱: https://open.bot.tmall.com/oauth/api/aliaslist
其中 型式 可以是:
television, light, aircondition, airpurifier, outlet, switch, roboticvacuum, curtain, humidifier, fan, bottlewarmer, soymilkmaker, kettle, watercooler, cooker, waterheater, oven, waterpurifier, fridge, STB, sensor, washmachine, smartbed, aromamachine, window, kitchenventilator, fingerprintlock, telecontroller, dishwasher, dehumidifier
其中 地點 請查閱: https://open.bot.tmall.com/oauth/api/placelist
GET 查詢設備組態
https://service.wf8266.com/api/smarthome/tmall/config/key/SN
{"deviceName": "床頭燈", "deviceType": "light", "zone": ""}
DELETE 刪除
https://service.wf8266.com/api/smarthome/tmall/config/key/SN
物聯雲 APP 服務
/app/info
Read 取得裝置明細
/app/scan
Read 取得裝置附近的 WI-FI 基地台
/app/reg
Write 將設備標記為 己註冊。 已註冊的 WF8266R 在上線後會自動關閉 AP 模式。
WF8266T 是一款基於 ESP8266 晶片設計的物聯網開發實驗板, 也是一款LED點陣的開發板。韌體預燒了WF8266R服務核心,透過 WF8266R 所提供的各項服務讓你立即透過 App 控制家裡的設備或顯示一些資訊在屏幕上
/wf8266t/on
Write 打開時間顯示
/wf8266t/off
Write 關閉時間顯示
/wf8266t/sec/on
Write 秒數顯示
/wf8266t/sec/off
Write 關閉秒數顯示
/wf8266t/dht/on
Write 打開溫濕度顯示
/wf8266t/dht/off
Write 關閉溫濕度顯示
/wf8266t/sound/on
Write 打開聲音提示
/wf8266t/sound/off
Write 關閉聲音提示
/wf8266t/sound
Write 提示聲音
參數 : time = 0 ~ 65535 , 每個聲音的時間長
參數 : times = 0 ~ 255 , 重覆次數(default:3)
參數 : vol = 0 ~ 860 , 音量(default:250)
例如 : 提示 5 個 0.1 秒的聲音
http://wf8266t.local/wf8266t/sound?time=100×=5
回傳 JSON
{"msg":"OK","time":100,"times":5,"vol":250}
/wf8266t/display
Write 顯示 5 個數字和一個 icon
例如 : 顯示 % 圖示 + 3個空白 2個5, 顯示時間是5秒, 下圖所示
id = 0~9 系統圖示, timer = 顯示時間(default=5000), number = 數字顯示 空白為 _
cid = 0~255, 顯式 /wf8266t/icon 中的自訂圖示
支援符號
- 顯示 -
+ 顯示 不顯示
C 顯示 度數符號
_ 顯示 空格
: 顯示 :
. 顯示 .
http://wf8266t.local/wf8266t/display?id=1&timer=5000&number=___55
回傳 JSON
{"msg":"OK","id":1,"timer":5000,"number":"___55"}
如果只想顯示7位數字5秒時
http://wf8266t.local/wf8266t/display?number=1234567
/wf8266t/icon
Write 自訂 icon
例如 : 將自訂圖示寫入自訂圖示區
如下圖利用線上編輯自訂圖示, 按下計算產生代碼, 最後6碼即是圖示代碼.
將這個圖示代碼寫入到編號 0, 以供之後取用
id = 0~255 : 自訂 icon 編號
data : 圖示陣列 6 碼 0,240,129,193,97,31 請去除空白
http://wf8266t.local/wf8266t/icon?id=0&data=0,240,129,193,97,31
回傳 JSON
{"id":0,"data":"0,240,129,193,97,31"}
讀取 編號為 0 的圖示
http://wf8266t.local/wf8266t/icon?id=0
回傳 JSON
{"id":0,"data":"0,240,129,193,97,31"}
顯示自訂圖示在 WF8266T, 改用 cid 參數
http://wf8266t.local/wf8266t/display?cid=0&timer=5000
/wf8266t/light
Write 亮度
參數 : level = 0 ~ 7, 0是最暗 7是最亮(value=0時有效)
參數 : value = 0 ~ 1023, 自動亮度參考值, 預設為0. 如果設為500, 那麼亮度感測器 > 500 時會調為亮度 7 反之為亮度 2
http://wf8266t.local/wf8266t/light?level=7
回傳 JSON
{"msg":"OK","level":7,"value":0}
/wf8266t/apps
Write 提示聲音
參數 : key = ThingHTTP API Key
- 加權股價 TSE : 8W6G9ZKK1OZH6P0O
- 下週油價漲跌 : EM18B52PSHXZB4DD
參數 : time = 顯示秒數(default:5秒)
id : 系統圖示
cid : 自訂圖示
例如 : 顯示加權指數 10 秒
http://wf8266t.local/wf8266t/apps?key=8W6G9ZKK1OZH6P0O&time=10
回傳 JSON
{"msg":"8445.96"}
例如 : 顯示加權指數 10 秒 和使用系統圖示 6 (訊息圖示)
http://wf8266t.local/wf8266t/apps?key=8W6G9ZKK1OZH6P0O&time=10&id=6
例如 : 顯示加權指數 10 秒 和使用自訂圖示 0
http://wf8266t.local/wf8266t/apps?key=8W6G9ZKK1OZH6P0O&time=10&cid=0
提供外部設備(Arduino, 8051, ARM, PI 等 MCU)透過 UART 傳送 WT+ 開頭命令將資料傳送到指定服務.
WTGET+
Request 使用 GET 要求某個服務網址並經由 Rx 取回內容
假如要透過 Arduino UART 取得以下網址資料, 直接由 Arduino 發送 WTGET+ 命令並填上各參數值即可(注意參數名稱需為大寫字母,結尾需為\r\n換行).
http://www.wf8266.com/data/getinfo?a=1&b=2
WTGET+HOST:www.wf8266.com,PORT:80,URI:data/getinfo,DATA:a=1&b=2
參數(大寫) 最大長度 255
- HOST : 主機 IP 或 Domain name
- PORT : 連接埠
- URI : 服務網址
- DATA : 參數
- 命令結尾 : \r\n
WTPOST+
Update 使用 POST 方法上傳資料到指定服務網址並經由 Rx 取回回應結果
假如要透過 Arduino UART 上傳資料到以下網址服務, 直接由 Arduino 發送 WTPOST+ 命令並填上各參數值即可(注意參數名稱需為大寫字母,結尾需為\r\n換行).
http://www.wf8266.com/data/getinfo
DATA : a=1&b=2
WTPOST+HOST:www.wf8266.com,PORT:80,URI:data/getinfo,DATA:a=1&b=2
參數(大寫) 最大長度 255
- HOST : 主機 IP 或 Domain name
- PORT : 連接埠
- URI : 服務網址
- DATA : 參數
- 命令結尾 : \r\n
WTGPIO+
GPIO WF8266R 腳位控制
假如要透過 Arduino UART 控制開發板腳位, 直接由 Arduino 發送 WTGPIO+ 命令並填上各參數值即可(注意參數名稱需為大寫字母,結尾需為\r\n換行).
WTGPIO+TYPE:D,RW:W,PIN:5,VALUE:0
參數(大寫) 最大長度 255
- TYPE : D(Digital), A(Analog)
- RW : R(Read) 或 W(Write)
- PIN : 腳位編號, ADC = 20
- VALUE : 值
- 命令結尾 : \r\n
WTCONN+
Wi-Fi 設定透過哪一台基地台連接 Internet
.
WTCONN+SSID:SSID NAME,PASSWORD:12345678
參數(大寫) 最大長度 255
- SSID : 基地台名稱
- PASSWORD : 密碼
- 命令結尾 : \r\n
設定完自動重開並連結指定的 AP
WTUART+
UART 設定 UART 參數
WTUART+BAUD:9600
參數(大寫) 最大長度 255
- BAUD : 傳輸率
- 命令結尾 : \r\n
WTCMD+
2016.03.20 增加
AT AT指令
指令集
MAC : 回傳 MAC 位址
RESET : 重置 WF8266R 資料
RST : 重開機
VERSION : WF8266 版本
PRODUCT : WF8266 產品型號
HEAP : WF8266 RAM 剩下空間
SN : 產品序號
SCAN : 取得 AP 清單
AP : AP 開關, VALUE : [0:關閉] [1:開啟]
SLEEP : 休眠, VALUE : 休眠秒數
TIME : 設定時間, VALUE : UTC 格式(0 回傳目前時間)
2016.04.05 新增
IP : 目前位址
RSSI : 訊號強度
CHANNEL : 使用頻道
2017.01.25 新增
CIP : 固定 IP, DATA : IPV4
GW : Gateway, DATA : IPV4
MASK : Mask, DATA : IPV4
DNS : DNS, DATA : IPV4
RENEWIP : 套用自訂 IP 設定組態
SOCKET : TCP/IP, DATA : [email protected]
SEND : Socket 傳送資料, DATA : 資料內容
2018.05.16 新增
UART : UART 文字, DATA : 資料內容
2018.09.30 新增
SC : SelfCall, VALUE : 服務號, DATA : 資料內容(如有:字元時改為-替代)
參數(大寫) 最大長度 255
- AT : 命令集
- VALUE : 參數值
- 命令結尾 : \r\n
例如 : 呼叫 SelfCall 111 腳位服務, 控制 5 和 4 號腳反向
WTCMD+AT:SC,VALUE:111,DATA:5.4-2.2
例如 : 取回 MAC 網路位址
WTCMD+AT:MAC
例如 : 休眠 60 秒
WTCMD+AT:SLEEP,VALUE:60
WTSEN+
SERVO 指定伺服馬達角度
WTSEN+SERVO:PIN,VALUE:90
參數(大寫) 最大長度 255
- PIN : 腳位
- VALUE : 角度 0~180
- 命令結尾 : \r\n
IRSendCode 發送紅外線 NEC 編碼
WTSEN+IRSendCode:PIN,DATA:906FA25D
參數(注意大小寫) 最大長度 255
- PIN : 腳位
- DATA : 紅外線 NEC 編碼
- 命令結尾 : \r\n
TTS 發送文字給語音模組讀出
WTSEN+TTS:Voice,DATA:16進位文字
參數(注意大小寫) 最大長度 255
- Voice : 聲線 0-5
- DATA : 16進位文字編碼, 利用以下網址轉換
https://service.wf8266.com/api/voice/主人你好
D6F7C8CBC4E3BAC3
命令結尾 : \r\n
VCMD 語音模組操作指令集
WTSEN+VCMD:CMD,DATA:VALUE
參數(注意大小寫) 最大長度 255
- CMD : 指令名稱
- DATA : 參數
- 命令結尾 : \r\n
Volume : 音量, DATA: 0-9
PlayFlashText : 自訂語音命令回應語句, DATA: 001-999
PlayFLASH : 播放內置語音提示音, DATA: 0001-0046
PlayTF : 播放TF卡內的 MP3, DATA: 0001-9999
StopPlaying : 停止播放
WFS 接收 WF8266R.js Sensor 模組回傳感測資料
WTSEN+WFS:TYPE,DATA:906FA25D
參數(大寫) 最大長度 255
- TYPE : 感測器類型
- DATA : 資料
- 命令結尾 : \r\n
例如 : 取得 RFID 碼 4028D76D
WTSEN+WFS:RFID,DATA:4028D76D
Download Unity 3D : http://unity3d.com
提供 Unity 3D 開發物聯網及互動遊戲的通道.
gpio
回傳 腳位電位資料
gpio/pwm
回傳 腳位電位資料
gpio/read
回傳 腳位電位資料
gpio/adc
回傳 ADC 資料
WF8266R.js 提供了相當豐富的 API, 也因如此在硬體資源限制下無法納入太多的感測器, 為了解決這個問題, WF8266R.js 提出了 WFS 架構。WFS 是 WF8266R.js Sensor Service 縮寫, 提供讓 WF8266R 變身為感測中心, 透過 UART 將感測資料傳到 WF8266R.
使用說明 : https://sites.google.com/view/wfs
RFID
SPI 通訊, MFRC522
教學課程 : http://wf8266.com/wf8266r/tutorials/3D_RFID
rfid/init
初始化 RFID
rfid/read
請取卡片值
OLED
I2C 介面, SSD1306 驅動
oled/font
顯示 繁體 簡體 英數
參數
x : x座標, y : y座標, size : 字級(預設16), lang : 字型(TW:繁中, CN:繁簡中), data : 顯示文字
oled/string
顯示 英數
參數
x : x座標, y : y座標, size : 字級 10 16 24 (預設16), data : 顯示文字
oled/clear
清空畫面
oled/code
上傳 16 進位碼畫出點陣