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供电,而右边是可拆卸的模块,让使用者在开发完成后,可以使用更小的空间来布线与组装。
底下是将模块拆卸后的模样,可以看见它的模块型号是RTL-00。一样可以使用Micro USB供电,所使用的接脚也都与开发板上有所对应。
而原本的开发底板可以继续使用在别的RTL-00模块上
Setting up Development Environment
Step 1.安装MBED驱动程式
如果你之前已经安装过RTL8195A,那么你可以跳过这个章节至 “安装Arduino IDE开发环境”
首先将Mirco USB 接上 RTL8710,另一端接上电脑
第一次接上Ameba需要安装USB驱动程式,Ameba使用标准的Arm MBED CMSIS DAP driver,你可以在这个地方找到安装档及相关说明:
在 “Download latest driver” 下载 “mbedWinSerial_16466.exe” 并安装之后,会在装置管理员看到mbed serial port:
Step 2. 安装Arduino IDE开发环境
Arduino IDE在1.6.5版之后,支援第三方的硬体,因此我们可以在Arduino IDE上开发Ameba,并共享Arduino上面的范例程式。在Arduino官方网站上可以找到下载程式:
安装完之后,打开Arduino IDE,为了让Arduino IDE找到Ameba的设定档,先到 “File” -> “Preferences”
然後在 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版后语系的问题已解决。
我们将Arduino IDE关掉之后重开让设定生效。
接着准备选板子,到 “Tools” -> “Board” -> “Boards Manager”
在 “Boards Manager” 里,它需要约十几秒钟整理所有硬体档案,如果网路状况不好可能会等上数分钟。每当有新的硬体设定,我们需要重开 “Boards Manager”,所以我们等一会儿之后,关掉 “Boards Manager”,然后再打开它。
将卷轴往下拉找到 “Realtek Ameba Boards”,在2.0.0版本之后支援Ameba RTL8710,然后点右边的Install,这时候Arduino IDE就根据Ameba的设定档开始下载Ameba所需要的档案:
接着将板子选成Ameba,选取 “tools” -> “Board” -> “Ameba RTL8710”:
这样开发环境就设定完成了。
Try the First Example
Step 1. 编译并上传
Arduino IDE提供许多内建的范例,这些范例只要打开经过编译上传之后就可以在板子上执行。我们先尝试 Blink 范例。
打開 “File” -> “Examples” -> “01.Basics” -> “Blink”
选了 Blink 之后,Arduino IDE会打开另一个视窗,里面已经有写好的程式码。
通常范例程式的上方都会有一些简易的说明。以Blink这个范例为例,它说如果你使用的是 UNO, MEGA, ZERO, 那么就将接脚接至13这个pin。在这个范例里Ameba使用和UNO一样的配置。
我们直接编译这份程式码,点选 “Sketch” -> “Verify/Compile”
接着会看到 Arduino IDE 下方的讯息列出现一些讯息,代表它正在编译。编译完成之后,会看到类似底下的讯息。
接着我们就可以上传编译好的程式码到Ameba上面。先确定Ameba跟电脑之间的线有接上,然后点选 “Sketch” -> “Upload”
接着讯息栏又开始印出一些讯息,这个步骤要等比较久一点,主要是花在上传程式至Ameba上,大约要等数十秒到一分钟,完成之后在讯息栏会看到“upload finish”的讯息就代表上传完成。
Step 2. 测试 Blink 范例
在Blink的范例里,主要是让一个LED灯泡闪烁,它使用的GPIO接脚是13,
我们参考RTL8710的pinout:
于是我们将电阻以及LED灯泡连接如下图:
(NOTE:LED里,长脚的是正极,接到D13的地方,短脚的是负极,接到GND的地方)
然后按一下Reset按钮,就可以看到灯炮在闪烁,这个实验就完成了。
如果以上过程遇到问题,请参考 Trouble-shooting 看是否能解决。
Step 3. 单独使用RTL-00 模块
RTL-00模块可以独立于开发底板,所占用的空间也较小。我们接着将右方的RTL-00模块取下,参考RTL-00模块的pinout:
然后接线如下
然后从下方的Micro USB供电,结果应该与接上开发底板的结果一样。