行動技術與應用

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

編號產生器: https://www.uuidgenerator.net/

唯一編號

唯一編號

藍牙範例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)

手機連線範例藍牙

Client(用戶端)

BLE中心

Server(伺服端)

BLE週邊

廣播

掃描

手機連線範例MT7697端

服務UUID請上uuid generator網站取得新的id

手機連線範例手機

  1. 前往App Inventor 2線上版開新專案http://ai2.appinventor.mit.edu
  2. 下載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

BlocklyDuino範例MCS

控制通道

顯示通道

BlocklyDuino範例MCS

溫濕度感測器

土壤濕度感測器

  • 接在A0接口
  • 回傳值0~950
  • 乾土: 0~300
  • 潮濕土壤: 300~700
  • 水中: 700~950