Ameba ARDUINO: Getting Started with RTL8710

Required Environment

目前Ameba RTL8710AF 支援Windows XP/7/8 32位元/64位元,Linux ubuntu以及MAC OS作業系統。並且使用 Arduino IDE 1.8.12 之後的版本。

Introduction to Ameba RTL8710

Ameba RTL8710與Ameba RTL8195類似,都適合開發物聯網應用。它上面的介面有WiFi, GPIO, I2C, UART, SPI等等……,這些介面可以接Arduino常見的傳感器與模組,與Arduino不同的是這些資料可以直接經由內建的WiFi上傳至雲端,實現物聯網的應用。
RTL8710相較於RTL8195少了一些GPIO,也少了一些function像是SDIO、UVC、NFC、ADC、DAC……,這些反映在價格上,RTL8710在價格上比RTL8195更低廉,讓使用者可以根據需求選擇適合的開發板。
RTL8710擁有與Arduino UNO近似相容的開發板,這個開發板與RTL8195開發板的大小一樣,它一樣由左邊的micro usb供電,而右邊是可拆卸的模塊,讓使用者在開發完成後,可以使用更小的空間來佈線與組裝。

get-start-1

底下是將模塊拆卸後的模樣,可以看見它的模塊型號是RTL-00。一樣可以使用Micro USB供電,所使用的接腳也都與開發板上有所對應。

get-start-2

而原本的開發底板可以繼續使用在別的RTL-00模塊上

get-start-3

Setting up Development Environment

Step 1. 安裝MBED驅動程式

如果你之前已經安裝過RTL8195A,那麼你可以跳過這個章節至 “安裝Arduino IDE開發環境”
首先將Mirco USB 接上 RTL8710,另一端接上電腦

get-start-4

第一次接上Ameba需要安裝USB驅動程式,Ameba使用標準的Arm MBED CMSIS DAP driver,你可以在這個地方找到安裝檔及相關說明:


在 “Download latest driver” 下載 “mbedWinSerial_16466.exe” 並安裝之後,會在裝置管理員看到mbed serial port:

get-start-5

Step 2. 安裝Arduino IDE開發環境

Arduino IDE在1.6.5版之後,支援第三方的硬體,因此我們可以在Arduino IDE上開發Ameba,並共享Arduino上面的範例程式。在Arduino官方網站上可以找到下載程式:


安裝完之後,打開Arduino IDE,為了讓Arduino IDE找到Ameba的設定檔,先到 “File” -> “Preferences”

get-start-6

然後在 Additional Boards Manager URLs: 填入:
Arduino Ameba package v1.0.0 至 v2.0.5

https://github.com/Ameba8195/Arduino/raw/master/release/package_realtek.com_ameba_index.json

Arduino Ameba package v2.0.6 以上

https://github.com/ambiot/amb1_arduino/raw/master/Arduino_package/package_realtek.com_ameba1_index.json

Arduino IDE 1.6.7以前的版本在中文環境下會有問題,若您使用1.6.7前的版本請將 “編輯器語言” 從 “中文(台灣)” 改成 English。在Arduino IDE 1.6.7版後語系的問題已解決。

 
 
get-start-7

我們將Arduino IDE關掉之後重開讓設定生效。

接著準備選板子,到 “Tools” -> “Board” -> “Boards Manager”

get-start-8

在 “Boards Manager” 裡,它需要約十幾秒鐘整理所有硬體檔案,如果網路狀況不好可能會等上數分鐘。每當有新的硬體設定,我們需要重開 “Boards Manager”,所以我們等一會兒之後,關掉 “Boards Manager”,然後再打開它。

將捲軸往下拉找到 “Realtek Ameba Boards”,在2.0.0版本之後支援Ameba RTL8710,然後點右邊的Install,這時候Arduino IDE就根據Ameba的設定檔開始下載Ameba所需要的檔案:

get-start-9

接著將板子選成Ameba,選取 “tools” -> “Board” -> “Ameba RTL8710”:

get-start-10


這樣開發環境就設定完成了。

Try the First Example

Step 1. 編譯並上傳

Arduino IDE提供許多內建的範例,這些範例只要打開經過編譯上傳之後就可以在板子上執行。我們先嘗試 Blink 範例。
打開 “File” -> “Examples” -> “01.Basics” -> “Blink”

get-start-11

選了 Blink 之後,Arduino IDE會打開另一個視窗,裡面已經有寫好的程式碼。
通常範例程式的上方都會有一些簡易的說明。以Blink這個範例為例,它說如果你使用的是 UNO, MEGA, ZERO, 那麼就將接腳接至13這個pin。在這個範例裡Ameba使用和UNO一樣的配置。

get-start-12

我們直接編譯這份程式碼,點選 “Sketch” -> “Verify/Compile”

get-start-13

接著會看到 Arduino IDE 下方的訊息列出現一些訊息,代表它正在編譯。編譯完成之後,會看到類似底下的訊息。

get-start-14

接著我們就可以上傳編譯好的程式碼到Ameba上面。先確定Ameba跟電腦之間的線有接上,然後點選 “Sketch” -> “Upload”

get-start-15

接著訊息欄又開始印出一些訊息,這個步驟要等比較久一點,主要是花在上傳程式至Ameba上,大約要等數十秒到一分鐘,完成之後在訊息欄會看到 “upload finish” 的訊息就代表上傳完成。

get-start-16

Step 2. 測試 Blink 範例

在Blink的範例裡,主要是讓一個LED燈泡閃爍,它使用的GPIO接腳是13,

我們參考RTL8710的pinout:

get-start-17

於是我們將電阻以及LED燈泡連接如下圖:
(NOTE:LED裡,長腳的是正極,接到D13的地方,短腳的是負極,接到GND的地方)

get-start-18

然後按一下Reset按鈕,就可以看到燈炮在閃爍,這個實驗就完成了。
如果以上過程遇到問題,請參考 Trouble-shooting  看是否能解決。

Step 3. 單獨使用RTL-00 模塊

RTL-00模塊可以獨立於開發底板,所佔用的空間也較小。我們接著將右方的RTL-00模塊取下,參考RTL-00模塊的pinout:

get-start-19

然後接線如下

get-start-20

然後從下方的Micro USB供電,結果應該與接上開發底板的結果一樣。

請先確認已安裝QQ通訊軟體