[ Linkit smart 7688 ] LinkIt Smart 7688 / 7688 Duo 基礎教學

在這一年中玩過許多開發板後,很榮幸於 10 月初有機會可以參與 LinkIt Smart 7688 上市前試用,拿到開發板、看了規格文件後,馬上讓我興奮了起來,這一款開發板分為兩個系列,LinkIt Smart 7688 與 7688 Duo,差別在於後者多了一顆 ATmega32U4 MCU (Arduino 系列常用的晶片), 兩者皆採用 580MHz MIPS 架構的 MT7688AN SoC 的單片開發板。

亮點在於有著超越 Arduino Yún 的硬體規格,內建 Wifi 與豐富的 I/O, 並且支援 Native C、Node.js 、 Python 且 7688 Duo 相容 Arduino ,很適合用於物聯網應用、 WoT(Web Of Thing) 開發。目前售價為 13 及 16 美金,相當的親民。

本篇文章主要會和大家分享如何從 0 開始快速上手 Linkit smart 7688 系列使用方法。首先就先從硬體規格開始做個介紹

Linkit smart 7688 / 7688 Duo 硬體規格

LinkIt Smart 7688 與 7688 Duo 這款開發板有內置 Wifi, 兩個 MICRO USB,一個 Micro 插槽,Pin-out 包含 GPIO, I2C, I2S, SPI, UART, PWM。差別在於 7688 Duo,多了一顆 ATmega32U4 MCU,相關規格細節如下所述

MCU 規格 (7688 Duo 才有)
  • Microcontroller : ATmega 32U4,用於處理基本 I/O 功能
  • Operating Voltage : 3.3V
  • Digital I/O Pins : 23
  • PWM Channels : 8
  • Flash memory : 32 KB
MT7688AN MPU 規格

這顆 MCU 有 128MB 的 DDR2 RAM, 用來當作 Web server 或是處理 Camera 影像串流可說是相當足夠

  • Microcontroller : * MT7688AN * 可以運行一個基於 Linux based OpenWRT 操作系統,7688 上的 32mb flash 已經包含了這個 linux 作業系統, 且可以支援 Node.js、Python 並且透過 Package manager 來自由安裝其他套件
  • Architecture : MIPS @580MHz
  • WiFi : IEEE 802.11b/g/n
  • USB Type-A : 2.0 Host
  • Card Reader : Micro-SD only
  • RAM : 128MB DDR2
  • Flash Memory : 32 MB
開發板外觀

以下兩張圖是 LinkIt Smart 7688 與 7688 Duo 的硬體外觀圖, 基本上大小只相差一點 Imgur Imgur

Linkit smart 7688 / 7688 Duo pinout

7688 的硬件接口可以很方便的連接各種各樣的 Shield 和 Grove 模塊。有多個 GPIO (General Purpose Input/Output) 腳位能夠和 Sensor 進行溝通、控制,也就是透過 I/O pin 來執行訊號的輸入或輸出。

7688 的 Pinout 圖如下所示:
Imgur

7688 Pinout Photo by MediaTek

7688 Duo 的 Pinout 圖如下所示:
Imgur

7688 Duo Pinout Photo by MediaTek

如何開始

由於前置環境設定,7688 / 7688 Duo 皆相同,我們就先以手邊現有的 7688 Duo 拿來當操作範例

Step 1:設定 7688 連結你指定的 Wifi 網路

依照以下步驟匯入範例:

  1. 先將 7688 Micro USB 與 PC 接上,此時 7688 預設處於 AP 模式,可以提供電腦去連接Imgur
  2. 7688 接上電源後,如果第一次使用此時 WiFi 處於 AP 模式,所以可從電腦連接,其分享出來的 SSID 會類似 Linkit_Smart_7688 Imgur
  3. 開啟瀏覽器輸入網址http://mylinkit.local,即可看到登入畫面,第ㄧ次進入會先設定登入密碼 Imgur
  4. 將 7688 更改為 Station mode ,連結到你指定的 WiFi 網路,並重新啟動Imgur
Step 2:設定 7688 開發板環境

透過 ssh 連線登入到 Linkit Smart 7688 中:

1.將你的電腦連接與 7688 相同的 WiFi 網路,並開啟 ssh 連線程式,如果是 MAC 用戶直接打開終端機應用程式即可,如果是 Windows 用戶可以透過此連結下載 Putty 連線程式,接著透過 ssh 連線至 7688,指令如下:

sudo ssh [email protected]  

登入成功後會出現此畫面 Imgur

程式撰寫

在程式撰寫的部分,7688 單純只有聯發科自家的晶片(Linux核心)可以支援 Native C、Node.js 及 Python;7688 Duo 多一個 Arduino 系列常用的 ATmega 晶片,可以相容 Arduino,一樣也支援 Native C、Node.js、Python Imgur 本章節範例先介紹利用 python 撰寫基本的 LED 燈號控制,後續會繼續加上網路模組以及如何在 7688 上跑一個小型的 HTTPD Web service ,並透過 REST API 去控制 Sensor。

Python 程式
Step 1:Create new program

依照以下步驟匯入範例:

1.使用 vim 編譯器

vim blink.py  

2.範例程式說明

import mraa  
import time  
# Refer to the pinout digram for the GPIO number to silk print mapping # in this example the number 44 maps to Wi-Fi LED.
pin = mraa.Gpio(44)  
pin.dir(mraa.DIR_OUT)  
while True:  
   pin.write(1)
   time.sleep(1)  
   pin.write(0)
   time.sleep(1)

3.執行該程式

python ./blink.py  

成果顯示

成功結果會看到 7688 開發板上的 LED 燈會閃爍著

程式撰寫 (Arduino)

如果說你想要使用 Arduino IDE 來做開發,需要使用 7688 Duo 才可支援,使用方法幾乎跟一般的 Arduino 以及 LinkIt ONE 是一模一樣的

Step 1:設定 7688 Duo 開發板環境

採用的開發工具皆為官方所提供的 Arduino Software (IDE),操作步驟如下所示:

1.下載開發工具Imgur
2.安裝後使用micro-USB與電腦連線,利用我的電腦確認目前連線serial port
Imgur 3.開啟 Arduino IDE,安裝 LinkitSmart 套件,先點選Preferences,加入 Additional Boards Manager URLs 如下連結: http://download.labs.mediatek.com/package_mtk_linkit_smart_7688_test_index.json
Imgur Imgur Imgur

Step 2:Import or Create new program

依照以下步驟匯入範例:

1.開啟 Arduino IDE
2.開啟測試程式 (LED blink example sketch: File > Examples >01.Basics > Blink)Imgur
3.範例程式說明

// L13對應腳位初始化參數設定
// the setup function runs once when you press reset or power the board
void setup() {  
Serial.begin(115200); // open serial connection to USB Serial port (connected to your computer)  
Serial1.begin(57600); // open internal serial connection to MT7688  
pinMode(13, OUTPUT); }  
// in MT7688, this maps to device
void loop() {  
   int c = Serial1.read();
   if (c != -1) {
         switch(c) {
      case '0':
digitalWrite(13, 0); break;  
case '1': digitalWrite(13, 1);  
break;  
} }
}
// read from MT7688
// turn off D13 when receiving "0" // turn off D13 when receiving "1"

4.將程式透過 Micro usb 寫入開發板,上傳之前要先確認目前板子與serial port是否正確Imgur

成果顯示

成功結果會看到 7688 Duo 開發板上的 LED 燈會閃爍著

如對 Makee.io 工作坊有興趣的朋友可以到makee.io平台上參觀逛逛

Ben Shiue

Having being a full stack engineer. His interests in Node.js, ARM mbed, IoT solutions. Contact us : [email protected]

ALL RIGHTS RESERVED. COPYRIGHT © 2016. Designed and Coded by Makee.io