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通讯软体