前言
已经很久没写博客了,昨天接触了下阿里云的物联网开发板haas 100。之前玩过树莓派,但是说实话我之前玩的树莓派和嵌入式还是有区别,我是直接远程连接上树莓派,在树莓派的操作系统上进行操作,而昨天接触的Haas 100更多的是嵌入式编程即在我的Win10系统上完成代码编写再烧录进开发板中。虽然阿里云上有官方文档,但我还是遇到了一些问题,所以想记录下,记录的内容比较浅,大佬勿喷。 另附阿里云上的官方文档Haas 100快速开始需要说明的是阿里云官方文档Haas 100快速开始上的github和gitee连接已经失效。(这两个连接是不一样的)但是下面那个连接也有学习的参考价值。
环境准备
VS Code
VS Code下载安装配置
VS Code的下载地址如下Vs Code下载,下载很简单但是需要配置。我下载了如下插件:  我的是Win10系统,要使用VS Code编译C/C++代码还需要安装gcc,首先安装MinGW-W64 GCC-8.1.0,下载路径如下MinGW-W64 GCC-8.1.0下载,我下载是最新版。  下载解压后,打开文件夹(为了后面加环境变量方便,将此文件夹名更名为mingw)可以看到一个叫mingw64的文件夹,打开这个文件夹可以看到以下文件:  接下来加入环境变量,以我的Win10系统为例,控制面板-》系统与安全-》系统(点击查看该计算机的名称)。  然后点击高级系统设置。
 点击后点击环境变量。  在系统变量Path中加入mingw64\bin的地址。  确定。接下来确定是否成功,在cmd中输入gcc -v如果有回显则说明安装成功。  接下来我们来测试程序:  以上是用gcc跑的结果,唯一的问题是头文件那里下面有红色波浪线但是并不影响运行就是看着碍眼。
VS Code下载安装配置
下载Haas studio。在Extention中下载Haas studio以及aos(alios) tool。  在下载好Haas Studio后会自动弹出让我们安装aos-tool,无脑点击就是。
开发板
开发板具体的硬件信息见阿里云官网(以下图来自官网)。  实物图如下:  我们可以将USB线连入我们的电脑,在设备管理器中应该会多一个外部设备,如果没有可以换一根USB线或者安装一个驱动,但最好都建议安装一个驱动,我之前试的时候发现代码烧录不进去就是因为驱动问题。  驱动下载路径如下驱动安装,我装的是第一个。  安装后文件如下:  鉴于有些读者没接触过嵌入式,讲一下如何更新驱动。 在设备管理器中找到新增的端口,点击右键更新驱动程序,点击下面的浏览我的电脑以查找驱动程序。  找到我们刚刚下载的文件点击下一步即可。后面会提示安装成功,这里我已经安装了。  一切准备妥当可以进行正式操作了。
烧录代码
Haas Studio新建项目
点击左边的H图标,再里面的AIiOS Things开发,试试helloworld简单示例。  会下一段时间,等待其下载。下载完成后可以看到项目目录如下:  我们来修改下Solutions目录下helloworld.c文件的代码,加入可以开灯功能,开发板中有6个灯,有一个灯也就是右边那排第一个灯会一直亮,那是电源指示灯,编号是0。编号和位置如下(请叫我灵魂画师)  我想让2和4亮,加入的代码如下:
#include "aos/init.h"
#include "board.h"
#include "led.h"
#include <aos/errno.h>
#include <aos/kernel.h>
#include <k_api.h>
#include <stdio.h>
#include <stdlib.h>
int application_start(int argc, char *argv[])
{
printf("Try the function of lighting!\n");
int count = 0;
aos_msleep(3000);
printf("nano entry here!\r\n");
led_switch(2,LED_ON);
led_switch(4,LED_ON);
aos_msleep(5000);
while (1) {
printf("hello world! count %d \r\n", count++);
aos_msleep(10000);
};
}
关于Alios的API可见文档API文档
编译烧录查看日志
编写好代码后,先点击编译器下面的编译。  如果成功终端会显示。  生成一堆.a文件(静态链接库文件) 后面将开发板电源插上,插上后灯会亮,USB也要连上电脑。再点击烧录。  这里输入1即可。烧录成功终端也会提示burn:XXXX。最后点击下面串口,波特率选择1500000,可以看到日志。日志信息如下:  再来看我们的开发板:  大功告成。
总结
阿里云教程还是可以解决大量问题的,但还有些细节问题还需要解决,需要本文可以对你带来帮助,这是我摸索的开始,接下来会继续摸索这个开发板的其他有趣应用。让我们共同学习,也希望大佬们多提意见。下期再见。
|