Ameba ARDUINO: Getting Started with AMB01 (RTL8195)


Required Environment

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

Introduction to Ameba

Ameba是一張開發板,適合開發各式的感測器或物聯網應用。它上面的介面有Wifi, GPIO, NFC, I2C, UART, SPI, PWM, ADC,這些介面可以接一些電子元件像是LED燈、開關、壓力計、溫濕度感測器、PM2.5粉塵感測器等等。
這些資料可以經由內建的Wifi上傳到雲端,搭配手機的App實現物聯網的實作。get-start-1

Ameba與Arduino Uno的大小差不多,圖中上方是Ameba,下方則是Arduino Uno,Ameba的針腳與Arduino Uno相容,Ameba右邊多了NFC天線,如果沒用到NFC天線可以將右邊的板子裁掉。

Ameba使用Micro USB供電,一般的手機充電線就可以用在Ameba上。

Setting up Development Environment

Step 1. 安裝Driver

首先將Micro USB接上Ameba,另一端接上電腦:

get-start-2
第一次接上Ameba需要安裝USB驅動程式,Ameba使用標準的Arm MBED CMSIS DAP driver,你可以在這個地方找到安裝檔及相關說明:
https://developer.mbed.org/handbook/Windows-serial-configuration

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

get-start-3
Step 2. 安裝Arduino IDE開發環境

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

https://www.arduino.cc/en/Main/Software

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

get-start-4

然後在 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-5
填完之後按OK,然後因為改編輯器語言的關係,我們將Arduino IDE關掉之後重開。

接著準備選板子,到 “Tools” -> “Board” -> “Boards Manager”
get-start-6
在 “Boards Manager” 裡,它需要約十幾秒鐘整理所有硬體檔案,如果網路狀況不好可能會等上數分鐘。每當有新的硬體設定,我們需要重開 “Boards Manager”,所以我們等一會兒之後,關掉 “Boards Manager”,然後再打開它,將捲軸往下拉找到 “Realtek Ameba Boards”,點右邊的Install,這時候Arduino IDE就根據Ameba的設定檔開始下載Ameba所需要的檔案:
get-start-7

如果您遇到 GitHub 下載問題,請參考以下“下載/軟體開發套件”中的鏈接。有3個部分。

1. “Ameba1_Arduino_patch1_SDK”,請至少選擇 1 個 SDK。目前有 5 個最新發布的 SDK 選項。
2. “Ameba1_Arduino_patch2_Tools”,請根據您的作業系統進行選擇。有 Windows、Linux 和 MacOS。
3. “Ameba1_Arduino_Source_Code”,此部分為可選下載,用來參考最新原始碼。

https://www.amebaiot.com.cn/zh/ameba-arduino-summary/

下載選擇的文件,然後解壓(patch1 和patch2 是必須的)。有“Install_中文.doc”/“Install_中文.pdf”供您參考安裝步驟。根據您的系統,請運行“Offline_SDK_installation_tool”文件夾中的安裝工具。

安裝工具運行成功後,您可以打開Arduino IDE並選擇 “tools” -> “Board“ -> “Boards Manager…”。
嘗試在列表中找到“Realtek Ameba Boards”,點擊“Install”,Arduino IDE開始下載Ameba所需的文件。

接著將板子選成Ameba,選取 “tools” -> “Board” -> “Arduino Ameba”:
get-start-8

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

Try the First Example

Step 1. 編譯並上傳

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

get-start-9
選了 Blink 之後,Arduino IDE會打開另一個視窗,裡面已經有寫好的程式碼。
get-start-10
我們直接編譯這份程式碼,點選 “Sketch” -> “Verify/Compile”
get-start-11
接著會看到 Arduino IDE 下方的訊息列出現一些訊息,代表它正在編譯。編譯完成之後,會看到類似底下的訊息。(沒有紅色訊息就代表沒問題)
get-start-12
接著我們就可以上傳編譯好的程式碼到Ameba上面。先確定Ameba跟電腦之間的線有接上,然後點選 “Sketch” -> “Upload”
get-start-13
接著訊息欄又開始印出一些訊息,這個步驟要等比較久一點,大約要等數十秒到一分鐘,完成之後在訊息欄會看到 “upload finish” 的訊息就代表上傳完成。
<get-start-14

Step 2. 測試 Blink 範例

Arduino 不只提供許多範例,也提供每個範例的說明文件,包括如何接線,程式碼的說明,技術內容等等……。這些範例不只是可以在Arduino的板子上使用,也可以在Ameba上面使用。
所以我們可以在Arduino 網站上找到 Blink 的相關說明:

https://www.arduino.cc/en/Tutorial/Blink
簡單來說,Blink 這個讓 LED 燈泡閃爍,它使用的GPIO接腳是13
Ameba的Pin一樣在D13的位置,根據Ameba的接腳位置圖:
get-start-15
於是我們將電阻以及LED燈泡連接如下圖:
(NOTE:LED裡,長腳的是正極,接到D13的地方,短腳的是負極,接到GND的地方)
get-start-16
然後按一下Reset按鈕,就可以看到燈炮在閃爍,這個實驗就完成了。
如果以上過程遇到問題,請參考 Trouble-shooting 看是否能解決。

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