2020年9月阿里云云栖大会上发布的haas100开发板非常棒,其设计的初衷是简化开发步骤,做”积木式“的软硬件。但是在跑第一个程序的过程中,还是遇到了很多问题。本文就从零开始,一步步向大家讲解如何搭建环境,如何编译并烧录。最重要的是将过程中遇到的问题和解决方法分享给大家。

目  录

一、Haas简介

二、从零开始跑helloworld

(一)准备电脑

(二)安装python

(三)安装aos-cube

(四)下载haas开发板代码

(五)编译代码

(六)连接开发板

(七)烧录

(八)使用串口助理进行观察

三、结论


一、Haas简介

9月18日,在2020云栖大会上,阿里云发布了一款物联网开发板HaaS,就是下图这款。

硬件方面HaaS 100的主控MCU芯片HaaS 1000搭载的是双核Cortex-M33,主频是300MHz,带有16MB的片内RAM和16MB的片内flash(HaaS100和HaaS1000有点让人迷惑,HaaS 1000是MCU型号,根据开箱视频介绍,这个MCU是阿里云定制的,HaaS 100是开发板模组型号)。

HaaS(Hardware as a service)硬件即服务。通过向用户提供物联网场景中的的标准硬件以及嵌入到硬件中的软件驱动及功能模块,为用户提供物联网设备高效开发服务,该产品旨在帮助AIoT中小开发者聚焦业务,低门槛快速组装软硬件积木,实现设备安全上云。这种设计思路让我想起来arduino。

我也写过使用arduino wifi模块连接阿里云的文章,参考连接。

https://blog.csdn.net/youngwah292/article/details/104128967

二、从零开始跑helloworld

拿到开发板之后,一般我们都需要先跑一跑helloworld,这个板子也采用这个方式来入门。

(一)准备电脑

我的电脑是win7 x64,i5,4g。

(二)安装python

建议按照阿里云的介绍进行安装。版本选择2.7.14。安装时,选择 pip 和 add python.exe to Path 两个选项。

为什么安装pip?因为它很重要,很多python组件都是靠它来安装的,命令行操作,非常方便。

https://help.aliyun.com/document_detail/161038.html?spm=a2c4g.11186623.6.545.163937e2yOyiPZ

(三)安装aos-cube

aos的意思是阿里云操作系统,cube是立方体,魔方是Rubik's cube,可能代表了有很多种可能,有很多种变化,支持很多种设备。安装命令是pip install aos-cube,运行在命令行下面。

命令行可以通过“运行”--cmd方式打开。

如果python没有安装pip,那么这个指令是运行不了的。一步步的都不能缺失。

如果能够运行,那么就会出现下面的过程画面

还有可能在下载快结束的时候,提示你没有下载成功。比如下图的这种错误,意思是pip的版本太低了。

按照说明,进行更新。

更新成功

再次下载aos-cube

下载成功,可以看到这个aos-cube安装的同时也安装了许多支持组件,每个组件的作用请自行了解,不管它们也不影响使用。

(四)下载haas开发板代码

国内用户从这里下载速度会快,因为github限速。

git clone https://gitee.com/alios-things/AliOS-Things.git -b dev_3.1.0_haas

这个代码下载到哪里了呢?下载到“用户”目录下了。我的是Administrator目录。

(五)编译代码

首先在命令行模式下,进行编译。阿里云文档是这样介绍的:

“进入代码的顶层目录如AliOS-Things进行编译。可以直接编译application/example/目录下的demo app,或者自己开发的app。下面以编译helloworld_demo为例。”

aos make helloworld_demo@haas100 -c config
aos make

第一次运行的时候,需要同意一些规则

如果按照文档的说明,进入顶层目录下进行编译,那就会出问题

在例程目录下就没问题了

或者是在alios-things目录下进行也可以

(六)连接开发板

按照下图方式连接。

电脑上虚拟了一个串口,这一点跟许多其他的开发板都类似,用来下载程序和显示调试信息。串口号可以通过设备管理器查看。

(七)烧录

阿里云文档中是这么说的:

“第一次编译后从代码顶层目录拷贝platform/mcu/haas1000/release/write_flash_gui目录下的所有文件到windows环境。”

刚开始没看懂是什么意思,主要有以下几点:

什么叫做代码顶层目录?其实就是从alios-things目录下找到platform/mcu/haas1000/release/write_flash_gui里面的haas1000_write_flash_main,至于windows环境,就不用管了,我们已经下载下来了。也不用管“拷贝”二字的意思。双击这个程序就能运行。

打开之后的界面是这样的

注意,这个烧录工具可能是初步作品,并不能设置需要烧写的目录。

阿里云的帮助文档是这么写的

“第一次编译后从代码顶层目录拷贝platform/mcu/haas1000/release/write_flash_gui目录下的所有文件到windows环境。后续再编译可以只替换write_flash_gui/ota_bin/ota_rtos.bin即可。”

经过实验,可以理解为“首先你要编译成功,编译成功之后,就会出现ota_bin文件夹,每次编译完毕,就会出最新的ota_rtos.bin。这个bin二进制文件就是编译成的代码。它在这个目录下存放。

然后设置串口,按照下图方式列出有效的串口,然后打开。

然后选择开始下载。如果一切顺利,将会出现idle标识

此时拔掉电源(注意不要拔掉USB线),然后重新插上。开始烧录(burnning)。

烧录成功

(八)使用串口助理进行观察

我使用的是putty,这个软件还可以用在LInux下,也非常方便。按下图设置,我新建了一个配置,起名叫做haas,以后可以直接双击haas打开运行窗口。波特率选择1500000,接近1500k,这个速度是一些其他软件不支持的。

打开之后观察,开发板不间断发送hello world!,还对发送次数计数。

三、结论

阿里云haas的设计初衷是好的,想做成arduino那样方便的软硬件积木,但是帮助文档写的有门槛,需要一定基础才行,目前还做不到arduino那样极简的界面和操作。

本文就简单介绍了一下初学者怎么一步步跑通helloworld,以及我在拿到板子后遇到的问题,希望能够帮助遇到类似问题的朋友,别走我这样的弯路。

以阿里云强大的技术能力,相信这些问题都能够解决。帮助文档也可以做的越来越好。

技术交流

初学者入门阿里云Haas100开发板基本步骤相关推荐

  1. 探究阿里云物联网开发板1-Haas 100

    探究阿里云物联网开发板1-Haas 前言 环境准备 VS Code VS Code下载安装配置 VS Code下载安装配置 开发板 烧录代码 Haas Studio新建项目 编译烧录查看日志 总结 前 ...

  2. 初学者入门阿里云haas510开板式DTU(2.0版本)--510-AS

    摘要:相比于haas600,haas团队推出的haas510价格更加便宜,做到了百元以内.2.0版本比1.0版本布局更加合理,USB.用户串口和调试串口采用了不同的硬件接头,不会再发生误插的危险.阿里 ...

  3. 阿里云HaaS100物联网开发板学习笔记(六)做个智能灯---一个完整的开发例子

    摘要:本篇文章将前期几个专题综合起来,基于阿里云HaaS100的新固件设计制作一个智能灯.这个智能灯由云平台.手机APP端和设备端组成,基本上涵盖了一个物联网小项目所需的主要步骤. 目录 1.在阿里云 ...

  4. 阿里云HaaS100物联网开发板学习笔记(二)硬件控制初步--让小灯闪烁起来

    摘要:无论是哪种开发板,要想开发特定的功能,必先从GPIO开始,HaaS100开发也是一样.如果仅仅利用HaaS100的联网功能,那简直是太浪费了.HaaS100拥有其他开发板所具备的所有的功能,比如 ...

  5. 阿里云HaaS100物联网开发板学习笔记(一)硬件资源介绍

    摘要:本文基于阿里云官方帮助文档编写,目的是为了让大家深入了解HaaS开发板硬件资源. 目录 1.硬件简介 2.需要特别说明的几个硬件资源 2.1按键 2.2 TF卡插槽 2.3 指示灯 2.4 以太 ...

  6. 阿里云HaaS100物联网开发板学习笔记(三)轻应用初步--用js让小灯闪烁起来

    摘要:能让JavaScript应用运行在haas100开发板上,这实在是太酷了,这种方式被阿里云称之为"轻应用".本文带各位从零开始,先了解啥是轻应用,然后搭建环境,再一步步将一个 ...

  7. 阿里云HaaS100物联网开发板学习笔记(四)轻应用初步--用javascript连接阿里云物联网平台

    摘要:本篇文章讲解如何使用JavaScript"轻应用"连接阿里云物联网平台并上报一个数据.仍然延续前几篇文章的结构,从安装软件环境开始讲,以使零基础的同学看了本篇文章之后,也能够 ...

  8. 学生成长计划领取资格考试 - 云计算及云服务器入门阿里云

    学生成长计划领取资格考试 - 云计算及云服务器入门|阿里云 1.计算机诞生于( D)年代 A. 2000年代 B. 1980年代 C. 1990年代 D. 1960年代 2.阿里云云服务器ECS的英文 ...

  9. 入门阿里云物联网平台,使用阿里主推的ALink协议让自己的硬件上云

    先声明,我是通过借鉴几位大神的博客实现的: MQTT报文计算器:http://www.norra.cn:9091/ 关于阿里的一些事:https://yq.aliyun.com/teams/250/t ...

最新文章

  1. Android媒体相关开发应用程序接口
  2. JS-undefined与null的区别
  3. 若依前后端分离版手把手教你本地搭建环境并运行项目
  4. 互联网1分钟 | 1011
  5. TP5的请求响应参数
  6. http请求curl
  7. python图片重命名 工具_python - 请问django如何给上传的图片重命名
  8. Centos7 安装Go环境
  9. Missing artifact XXXXX:jar:1.9.1 解决错误问题
  10. 利用JS+Ajax实现下拉列表无刷联动,及其相关
  11. Win2008 R2 VDI动手实验系列之三:远程桌面会话主机配置
  12. 分别使用多线程\多进程\协程+paramiko在华为交换机批量快速进行配置(eNSP模拟器)
  13. [原创]数据库视图介绍和使用
  14. 如何让 Linux 下非 root 用户程序使用小于 1024 端口
  15. 单片微型计算机原理及应用第三版课后答案,单片微型计算机原理及应用 - 课后习题答案 - 山东理工...
  16. 孙玄:“玄姐”,特立独行的架构师
  17. 用Python写了一个带界面的聊天室
  18. 百度坐标转换中文地址(百度地图JavaScript API逆地址解析 )
  19. svchost.exe 上传下载占用大量资源
  20. 华硕笔记本提示android,华硕主板电脑和华硕笔记本开启VT进BIOS设置方法教程

热门文章

  1. 【华为OD机试真题 python】最大股票收益【2022 Q4 | 100分】
  2. 如何获取机器人方向新信息资讯-2023
  3. 天干地支计算公式_天干地支主怎样计算?
  4. Unity Fog 原理 源码分析 案例
  5. VS Code 常用的插件,让你的 VS Code 好用到飞起,开发必备
  6. 用js制作一个新年倒计时
  7. Win10回收站清空了怎么恢复?3个简单高效的方法
  8. 【MATLAB】布朗运动动画仿真
  9. uniapp在安卓端实现hanziWriter
  10. 服务器default文件夹可以删除吗,C盘用户文件夹里的Default是什么文件夹,有什么用,能删除么?...