Alios-Thins教程连载 ①如何搭建阿里开源系统Alios-Things环境,烧录到乐鑫esp8266,打印 HelloWorld 。(附带镜像)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://xuhong.blog.csdn.net/article/details/82562505


关于Alios-Things开源系统

     AliOS Things发布于2017年杭州云栖大会, 是 AliOS 家族旗下的、面向IoT领域的、高可伸缩的物联网操作系统,于2017年10月20号宣布在github上开源。

     AliOS Things 支持多种CPU架构,包括:ARM,C-Sky,MIPS,rl78,rx600,xtensa等。同时AliOS Things也支持相当多的开发板。

     以下简称 alios , 其支持接入阿里的飞燕平台,拥有从设备功能定义、开发调试、设备加密、云端开发、APP开发、运营管理、数据统计等,覆盖从前期开发到后期运营的全生命周期。最重要的是,支持接入多种物联网平台,包括阿里智能天猫精灵、亚马逊云、Google Home音箱控制;


一、 前言。

为什么要学习Alios-Things系统

  • 前面已经提到了,其支持的阿里飞燕平台,提供了从设备功能定义、开发调试、设备加密、云端开发、APP开发、运营管理、数据统计等,覆盖从前期开发到后期运营的全生命周期。平台具有高稳定、高并发、高安全、强生态的特点。

    综上所述,对于一些中小企业公司来说,可以免去搭建硬服务器这块硬伤,因为做好一个服务器,考虑到均衡负载、高并发的稳定性,考虑到大数据统计,以及全球部署,维护起来都是很大的一笔费用。

    因此,接入阿里的飞燕平台是个不错的选择。其由我们的阿里云服务器支持,有我们的淘宝、支付宝等支持,对于国内确实是个不错的选择第三方平台。既然阿里飞燕平台这么强大,那么阿里也是提供了嵌入式开发系统Alios-Things,目前一直在增加支持更多的芯片,包括大家熟悉的 stm32、庆科的 3080,当然啦,还有乐鑫的 esp8266和esp32,都一直在适配中。后续我会教大家怎么移植底层外设的教程。

  • AliOS官网:http://www.alios.cn

  • alios:https://github.com/alibaba/AliOS-Things


二 、搭建编译环境。


一、准备软件。

  1. 下载并且安装好VirtualBox虚拟机!
  2. 下载文章下方提供已集成alios系统环境镜像!

####二、步骤。

  1. 虚拟机导入镜像。
  2. 检查镜像是否成功集成了alios环境。
  3. 设置共享文件夹。
  4. 重启编译工程。
第一步:下载并且安装好VirtualBox虚拟机!

先从官网安装VirtualBox虚拟机,目前是5.2.18,记得安装后要以管理员身份运行,否则会报安装失败异常!安装之后,导入虚拟电脑,选择我 给大家集成好的镜像,注意是 .ova格式的。安装成功之后,会出现一个名字为 Ubuntu、 64 位的虚拟机! 注意此镜像的账号户名是 aliyun , 密码 123 ;每次开机或睡眠唤醒需要此密码哦!

这里写图片描述

第二步:上一步完成之后,我们来验证是否已经继承了 alios-Things的开发环境?!

首先我们打开文件,看到里面是有一个 alios的仓库的,我们可以打开命令符进去到这个文件夹(注意是 《Alios-Things》文件夹),之后我们敲写 aos 这个命令,发现出现一些信息了。如下图所示,恭喜,搭建环境成功!!

这里写图片描述

第三步:开始编译程序。
  • 以我们现在的 Linux 系统为例,我们编译一个 helloworld 工程为例,输入:
aos make helloworld@linuxhost
./out/helloworld@linuxhost/binary/helloworld@linuxhost.elf
  • 输入编译指令等待数秒后,打印以下信息:

这里写图片描述

 然后,输入运行工程指令,等待数秒后,时隔五秒打印打印以下信息,恭喜,运行成功:

这里写图片描述

  • 同样地,我们要编译为 esp8266 芯片的工程,我们只需要这样命令:
aos make helloworld@esp8266
  • 但是,我们发现编译过程有点慢哦!为什么?串口打印发现,原来他要去下载 esp8266的编译工具链 gcc , 这取决于网速,一般不需要多久的! 大家耐心等待下哈!

这里写图片描述


三、alios-Things编译后的固件在哪里?


    alios-Things每次编译后都会生成固件,在其主目录下的 out 文件夹下面,比如我们刚刚编译的是 esp8266 ,就会多出了一个文件夹《helloworld@esp8266》哦!然后我们再往里面找,发现里面有个 .bin文件 ,如下:

    奇怪,那么我们平常还有烧录的三个文件在哪呢?这其实容易找到,在 8266的SDK包里面,在主目录下面 --> platform --> mcu --> esp8266 -->bsp, 截图如下:

这里写图片描述


四、设置共享目录烧录固件。


  为什么要设置共享目录,直接从 Ubuntu 虚拟机连接下载不就行了吗? 其实,这个做法是可以的。但是为了避免烧录报错,我选择的是在 Windows下烧录,而且我们的工程也是在 Windows下的话,可以用 vsCode 随意修改代码!

  1. 首先,点击 Ubuntu 上面的 设备 --> 安装增强功能… ,之后控制台出现如下,随意按键退出:
    这里写图片描述

  2. 然后,设置共享文件夹,选择您喜欢的、任意一个非中文路径的文件夹 , 注意文件夹要设置为自动挂载,固定分配;

这里写图片描述
3. 之后,在 Ubuntu 设置共享文件夹,首先获取管理员身份,之后在 mnt 创建一个文件夹放我们共享文件夹的 《aliosThingsShare》;
4. 最后,在 Ubuntu 设置共享文件夹《aliosThingsShare》 和我们的 Windows下设置的文件夹进行挂载关联,命令(注意下面的VM是我在Windows设置文件夹,而《aliosThingsShare》是 Ubuntu的);注意一定要获取管理员身份操作!

 mount -t vboxsf VM /mnt/aliosThingsShare

这里写图片描述


四、 在共享文件夹编译。


  •     我们不在 Ubuntu下安装编译器了,我们在 Windows下编辑就好了,因此我们先在 Windows 下克隆最新的 alios代码,命令符(截止2018.9.20已到了2.0版本,下面的拉取的前提必须要把我提供的镜像的aos-cube升级到最新的版本,怎么升级请见第五点!为了兼容旧版本的老朋友,我就不更新镜像了!):
git clone https://github.com/alibaba/AliOS-Things.git
  • 编译(编译时候退出管理员身份):
 aos make helloworld@esp8266
  • 好了,终于可以下载固件了:

这里写图片描述

  • 哎呀,设置波特率 921600 发现没有打印 helloworld 啊???

这里写图片描述

  • 莫急莫急,我们去找下 helloworld 工程源代码, 把 LOG() 修改为 printf() , 再编译一下,烧录下看看??

这里写图片描述

  • 看看?? 果然可以了啊哈!!原来当前的还没兼容起来而已,以后可能会适配好的!特此记下!
    这里写图片描述

  • esp8266源代码学习汇总:https://github.com/xuhongv/StudyInEsp8266
  • esp32源代码学习汇总:https://github.com/xuhongv/StudyInEsp32
  • 关注微信公众号,回复镜像获取,即可获取下载链接!

五、关于v2.0分支的代码工程更新。

  • 由于阿里在今年的9-19要举行2018杭州云栖大会,代码工程也更新到了2.0版本(主分支就是2.0),因为我的个人公众号提供的镜像是1.3版本分支的,是不适合开发2.0的;要想开发2.0工程(并不意外着1.3版本要放弃维护),主要要升级aos-cube,我提供的镜像的版本是0.2.57,您只需要升级下aos-cube再编译2.0工程即可,升级命令符敲写如下:

    $ pip install --upgrade setuptools
    $ pip install --upgrade wheel
    $ pip install --upgrade aos-cube

在这里插入图片描述

  • 如果上面报错,试下下面一条指令更新 aos 版本

    aos upgrade


这里写图片描述

展开阅读全文

没有更多推荐了,返回首页