行動技術與應用
LinkIt 7697開發板簡介#2
大綱
- MT7697平台
- 範例:LED
- 範例:藍牙
- 範例:WiFi與MCS
- 範例:AppInventor
MT7697平台開發板
UART/RS-232
RST按鈕(重新啟動)
USR按鈕(數入按鈕)
接收時閃爍
上傳時閃爍
連接電腦USB
接腳: p0~p5
接腳: p6~p17
MT7697平台擴充板
接腳: p0~p5
接腳: p6~p17
腳位
MT7697平台擴充板
http://www.famosastudio.com/image/cache/data/category/05acc/Grove%20-%204%20Pin%20Shrounded_01-500x500.jpg
BlocklyDuino範例內建LED閃爍
boolean led;
void setup()
{
led = true;
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(9600);
}
void loop()
{
if (led) {
digitalWrite(LED_BUILTIN, HIGH);
led = false;
Serial.print("LED亮");
} else {
digitalWrite(LED_BUILTIN, LOW);
led = true;
Serial.print("LED暗");
}
delay(1000);
}
arduino 草稿碼
BlocklyDuino範例內建LED閃爍
pinMode(LED_BUILTIN, OUTPUT);
// pinMode(腳位, 輸出入模式)
pinMode(): 設定輸出入
LED_BUILTIN: 腳位13
OUTPUT: 輸出模式
digitalWrite(LED_BUILTIN, HIGH);
// digitalWrite(腳位, 高態/低態電壓)
digitalWrite(): 設定電壓
LED_BUILTIN: 腳位13
HIGH: 高態電壓
Serial.print("LED暗");
// 控制台輸出
delay(1000);
// 延遲1秒(1000毫秒)
藍牙範例裝置角色
藍牙中心
藍牙週邊
廣播
掃描
配對(1-to-1)
藍牙範例uuid
唯一編號
唯一編號
藍牙範例GATT:服務、屬性
「中心」存取「週邊」之GATT services
Client(用戶端)
Server(服務端)
❸ 找到上一頁的服務代碼
按下Write
❹ 輸入01,觀察7697上LED燈變化
❺ 改輸入00,觀察7697上LED燈變化
BlocklyDuino範例藍牙
GATT 服務
階層式
- Service
- Characteristic
- Property / Value
權限
- 讀取
- 寫入
BlocklyDuino範例藍牙
BlocklyDuino範例藍牙
#include <LBLE.h>
#include <LBLEPeriphral.h>
int data;
LBLEService __periphralService("7ae9f53d-fd71-4a41-b665-4e16b9d8f8bc");
LBLECharacteristicInt __7ae9f53d_fd71_4a41_b665_4e16b9d8f8bc("7ae9f53d-fd71-4a41-b665-4e16b9d8f8bc", LBLE_READ | LBLE_WRITE);
void setup()
{
Serial.begin(9600);
LBLE.begin();
while (!LBLE.ready()) { delay(100); }
__periphralService.addAttribute(__7ae9f53d_fd71_4a41_b665_4e16b9d8f8bc);
Serial.println("藍牙裝置建立成功");
LBLEPeripheral.addService(__periphralService);
LBLEPeripheral.setName("LinkIt 7697");
LBLEPeripheral.begin();
LBLEAdvertisementData __advertisement;
__advertisement.configAsConnectableDevice("LinkIt 7697");
LBLEPeripheral.advertise(__advertisement);
Serial.println("藍牙範例開始");
}
void loop()
{
if (__7ae9f53d_fd71_4a41_b665_4e16b9d8f8bc.isWritten()) {
Serial.println("開始建立藍牙裝置");
data = __7ae9f53d_fd71_4a41_b665_4e16b9d8f8bc.getValue();
Serial.println(data);
}
__7ae9f53d_fd71_4a41_b665_4e16b9d8f8bc.setValue(1234567890);
}
arduino 草稿碼
BlocklyDuino範例藍牙
測試:安裝LightBlue Explorer( iOS, Android)
參考範例:手機透過 BLE 讀寫裝置資料
手機連線範例藍牙
Client(用戶端)
BLE中心
Server(伺服端)
BLE週邊
廣播
掃描
手機連線範例MT7697端
服務UUID請上uuid generator網站取得新的id
手機連線範例手機端
- 前往App Inventor 2線上版開新專案http://ai2.appinventor.mit.edu
- 下載BluetoothLE extension edu.mit.appinventor.ble.aix
3. 安裝
4
5
手機連線範例手機端
Text
手機連線範例手機端
1/2
手機連線範例手機端
2/2
傳送資料範例手機端
傳送資料範例7697端
BlocklyDuino範例WiFi
無線AP需可直接登入
提供(ssid, 密碼)即可登入
連線後需從網頁登入者
無法從MT7697連線
BlocklyDuino範例WiFi
BlocklyDuino範例WiFi
#include <LWiFi.h>
char _lwifi_ssid[] = "AP的SSID";
char _lwifi_pass[] = "你的密碼";
void setup()
{
Serial.begin(9600);
Serial.print("WiFi開始連線");
while (WiFi.begin(_lwifi_ssid, _lwifi_pass) != WL_CONNECTED) { delay(1000); }
Serial.print("WiFi開始成功");
}
void loop()
{
}
arduino 草稿碼
BlocklyDuino範例MCS
參考範例:MCS 雲端控制 LED 開關
BlocklyDuino範例MCS
參考範例:MCS 雲端控制 LED 開關
控制通道
顯示通道
BlocklyDuino範例MCS
溫濕度感測器
土壤濕度感測器
- 接在A0接口
- 回傳值0~950
- 乾土: 0~300
- 潮濕土壤: 300~700
- 水中: 700~950
行動技術與應用
By Leuo-Hong Wang
行動技術與應用
Lesson 6: LinkIt 7697範例
- 1,371