入门指南

Ameba MicroPython: Getting Started with AMB23

工作环境

AmebaD AMB23 开发板目前支持Windows OS 32位元和64位元(WIN7/8/10)、Linux OS(Ubuntu 18 LTS/20 LTS/最新版本)和macOS作业系统。请使用最新的作业系统版本以获得最佳体验。在本文档中,请使用最新版本的 Arduino IDE(至少版本 1.8.12)。

AmebaD[AMB23] 介绍

Ameba是一个易于编程的微控制器平台,可用于开发各种物联网应用程序。AmebaD有各种外围接口,包括 WiFi, GPIO INT, I2C, UART, SPI, PWM, ADC。通过这些接口,AmebaD可以连接LED、开关、压力计、湿度计、PM2.5粉尘传感器等电子元件。

Ameba所收集的数据可以通过WiFi无线上传,并被智能设备上的应用程序使用,实现物联网的应用。

image1


PIN name

GPIO

ADC

PWM

UART

SPI

I2C

D0

GPIOB_0

D1

GPIOB_1

A4

Serial2_TX

I2C0 SDA

D2

GPIOB_2

A5

Serial2_RX

D3

GPIOB_3

A6

D4

GPIOB_4

A0

D5

GPIOB_5

A1

I2C0 SCL*

D6

GPIOB_6

A2

I2C0 SDA*

D6

GPIOB_6

A3

D7

GPIOB_7

D8

GPIOA_2

D9

GPIOA_12

Serial2_TX*

SPI1_MOSI

D10

GPIOA_13

Serial2_RX*

SPI1_MISO

D11

GPIOA_14

SPI1_CLK

D12

GPIOA_15

SPI1_CS

D13

GPIOA_16

D14

GPIOA_28

D15

GPIOA_18

Serial1_TX*

D16

GPIOA_19

Serial1_RX*

D17

GPIOA_30

D18

GPIOB_21

Serial1_TX

D19

GPIOB_22

Serial1_RX

D20

GPIOB_23

D21

GPIOB_24

D22

GPIOA_31

I2C0 SCL

备注

* : Those functions are not available on MicroPython

AMB23 的尺寸比Arduino Uno小,如上图所示。

image2

AMB23使用Micro USB来供电,这在许多智能设备中很常见。
AMB23的引脚图和功能请参考下图和表格。

image3

image4

备注

上图/表中显示的并非所有外围设备都可以在MicroPython上使用, 请参阅 Examples and API 部分以获取更多资讯。

AMB23 MicroPython 端口介绍

基本介绍

根据定义,MicroPython是专门为微控制器设计的精简高效的Python3编译器。

MicroPython 透过内建功能-REPL与Microcontroller进行即时交互的方法,将其与其他基于编译的平台(Arduino等)区分开来。

REPL代表Read-Evaluation-Print-Loop,它是一个交互式提示,可用于存取和控制微控制器。

REPL具有其他强大的特色,例如tab处理,行编辑,自动缩排,输入历史记录等。它的基本功能类似于标准的Python IDE,但是运行在微控制器上。

要使用REPL,只需在PC上打开任何串行终端软件(最常用的工具是teraterm,putty等),然后连接到微控制器的串行端口,然后将baudrate设置为115200,然后手动重置开发板,即可看到>>> MicroPython提示符出现在终端画面上。您就可以在REPL上输入任何Python脚本。

建议多尝试使用 help() 函数以获得更多资讯。例如,微控制器上电并显示REPL后,只需键入help(modules),

>>> help()

您将看到一个帮助页面,为您提供有关的更多详细信息。如果您输入

>>> help(modules)

它将列出所有可用的内建模块供您使用。

此外,如果您想了解有关模块的更多资讯,例如可用的API和CONSTANT,只需键入以下代码help(您感兴趣的模块)来获取该模块的详细信息。

>>> help(the module of your interest)

让我们以Pin模块(GPIO)为例:

image5

REPL Hotkeys

  • Ctrl + d :

MicroPython将执行软件重启,这在您的微控制器表现异常时非常有用。并且将再次执行 “boot.py” 中的脚本。请注意,这只会重置MicroPython 直译器而不重置硬件,所有先前配置的硬件将保持原样,直到您手动重置开发板为止。

  • Ctrl + e:

Paste mode 可以一次将一大部分的代码粘贴到REPL中,而无需一行一行地执行代码。适合当您找到MicroPython库并希望通过复制和贴上立即对其进行测试时。

  • Ctrl + b :

此热键会将REPL设置回Normal mode。当你卡在某些模式下,可以利用这个解决。

  • Ctrl + c :

此热键可帮助您快速取消任何输入并另起一行。

设置开发环境

步骤1: 安装驱动程序

首先,通过Micro USB将AmebaD连接到电脑:

image6

如果这是您第一次将AmebaD连接到您的电脑,那么AmebaD的USB驱动程序将自动安装。
你可以在你的电脑的装置 管理员 中检查 COM 端口号:

image7

步骤2: 安装相关工具

Windows环境

对于Windows用户,请安装串行终端软件。最常见的串行终端是 Tera TermPutty,在这里我们建议使用Tera Term,可以从网路下载。

对于希望从头开始编译MicroPython的用户,请确保安装 Cygwin,这是在Windows系统上运行的类似Linux的环境。选择Cygwin安装程序时,我们建议使用Cygwin 32位元版本。在Cygwin安装期间,安装程序将提示用户是否安装其他软件,请确保从 Devel 类别中选择 make 的GNU版本(请参见下图),然后选择最新版本。

image8

另外,在固件编译过程中需要Python3,因此请确保从其官方网站下载最新的Python3,并在安装过程中要求时将其添加为环境变量。

Linux环境:

对于Linux用户,请使用apt-get install命令安装您选择的串行终端软件。在这里,我们建议使用picocom。

对于有兴趣在C语言中开发MicroPython模块的用户,请确保安装了至少3.82或更高版本的GNU make软件以及Python3。

将固件上传到Ameba

步骤1: 找到“Release”文件夹

从Github下载MicroPython repository 后,会在根目录中看到一个“Release”文件夹,并且在该路径下找到一个名为“Double-Click-Me-to-Upload”的工具。

步骤2: 进入UART下载模式

请先按住UART_DOWNLOAD按钮,然后按RESET按钮。

image9

步骤3: 运行 “Double-Click-Me-to-Upload”

顾名思义,双击该文件以运行它,然后按照屏幕上显示的说明更新ameba的串行COM端口,这样上传就可以成功进行。上传成功后,您将在屏幕上看到一行日志–“All images are sent successfully”。

尝试第一个范例

步骤1: 打开 REPL

image10

REPL代表 读取评估打印循环 ,它是MicroPython的终端,供用户控制微控制器。 REPL在LOG UART上运行,因此我们需要打开串行终端软件,在本例中为Tera Term,用以查看REPL。

打开Tera Term后,如上图所示选择 “Serial”,然后使用下拉列表选择ameba的串行端口,然后单击“OK”。如果您的串行终端未配置为 115200 baudrate,建议将 115200 设定为默认设置。

现在已经连接了串行端口,在ameba上按一下RESET按钮,如下所示会看到MicroPython的欢迎页面。

image11

过程为Ameba首先检查其校准数据,然后启动MicroPython的固件,接着再运行 boot.py python脚本和导入的内建python库。

现在试着输入

>>> help()

查看更多信息,然后输入

>>> help(modules)

检查所有现成可用的python库。

步骤2: 执行WiFi扫描范例

由于大多数外围设备的范例都需要额外的硬件才能显示该范例是否正常运行,因此我们将仅以WiFi扫描范例为例,来了解使用MicroPython控制WiFi是十分容易的。

接着输入

>>> help()

应该可以看到下图:

image12

然后只需复制红色框中显示的代码并黏贴到 REPL 然后按Enter,则能够看到返回的结果显示周围所有发现的无线网络。

image13

这样我们可以确定 MicroPython 固件被正确编译和安装。

(End)


备注

如果您遇到任何问题,请参考 常见问题故障排除 的页面。