开发者学堂课程【AliOS Things 物联网开发教程:AliOSThings 物联网开发入门】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/835/detail/13989
AliOS Things 物联网开发入门
内容介绍
一、商业案例
二、答疑
一、商业案例
本部分以众所周知的天猫精灵来讲解 AliOS Things 的落地。
天猫精灵目前运行的就是 AliOS Things 操作系统。该应用时众多的终端通过天猫精灵自身的硬件能力,再加上操作系统所提供的软件的能力,以及跟云端的互联互通来实现万物互联的效果。
比如用户想去控制灯,就可以通过语音的方式将目的告诉天猫精灵,天猫精灵就可以将信息上传到云端,或者通过本地的通信方式来控制灯,亦或通过云端来控制其他设备。
在家居环境中应用效果很好。另外用户还可以通过手机来跟终端的天猫精灵进行互动,包括配网、音视频的播放等都可以通过手机来进行交互,这些功能都是借助于云端服务的能力。目前云端服务主要是采用阿里云所提供的云服务来进行开发的,以上就是天猫精灵的商业方案。
二、答疑
1、关于天猫精灵
今天所介绍的这款天猫精灵主要是语音能力比较强大的终端设备,它是借助于阿里云达摩院提供的语音识别的能力来给用户带来更好的体验。比如,用户想通过语音去获取更多的信息,如播放音乐、播放新闻等,都是借助于云端服务来完成的。
它将这些服务的信息如音乐的信息下发到AliOS Things操作系统,在接收到信息之后,将相应的原数据获取到在相应的终端上进行播放。这就是天猫精灵的逻辑和实现概念。这里并不单指天猫精灵,除了天猫精灵系列之外的,还有其他很多的终端,比如门禁门铃些系统中都有用到。
2、关于通用 MCU 支持清单
关于通用的 MCU 的支持清单,可以去 Gitee 上的仓库去查看目前支持的架构。目前开源的是支持 Haas200 的 cotus17 系列,还 Haas200 用到的 armv8 的架构。 3、关于开发工具 VS
Code 开发工具是 VS Code,海报上为什么是 IDE 呢?
IDE 是集成开发环境的缩写,提升开发环境其实相当于是基于 VS Code 来开发的插件,相当于它是借助于 VS Code 的基础上的框架。实际上插件的开发与 ECLIS 类似,因为 Ali Sward 等使用 ECLIS 来做 IDE,只不过它是在 ECLIS 上做插件,而我们是在 VS Code 上做插。最终集成了插件的 VS Code 相当于是 Haas Studio。
4、关于天猫精灵的设计思路
App 下命令,命令上传到云,云在通知设备。比如用户想通过天猫精灵在手机上播放一段音乐,首先,App 跟云端进行交互,云端的物联网平台找到对应的设备(天猫精灵),设备拿到云端下发的信息之后,与设备进行相应的操作,这是整个控制和数据流。
5、关于硬件的系统开发教程
每次的微发布及基础的介绍的时,都是开发教程,如 Haas EDU、Haas100 和Haas200 的使用快速上手方法,相关开发教程在视频中都有,如果想了解详细链接可以加入钉钉群艾特机器人就可以获得相应的课程的介绍。
6、关于开发环境
AliOS Things 的开发环境是基于 VS code 的,不支持 GDK。
7、关于钉钉群
关于课程网络播放格式、视频播放的链接、实际开发操作的教程(具体板子如何操作)、Haas EDU 怎么批量购买等信息可以通过加入钉钉群进行了解。
8、工业应用方面的实时性
AliOS Things 是基于 RTOS 的,调度策略也支持优先级抢占和时间片轮转,且后者的基础还是优先级抢占的,它的实时性可以保证的。现在 Haas100 和 Haas200 测得的实时性都是在微秒级别的,关于实时性这一点可以放心。
9、OTA 的支持情况
OTA 不仅支持轻应用,且支持全片。轻应用其实是支持应用级升级,对于整个的全片固件同样支持,且支持多并的固件,如果只想升级文件系统,就只升级文件系统,如果想升级操作系统的固件,也可以单独升级操作系统固件。
10、其他
天猫精灵的功能是用4亿元开发的吗?是的。
关于 Haas 系列的板子的图纸可以在说明文档中查找,从文档中心进入阿里云文档中心,其中专门有介绍开发版的。
AliOS Things 的适用人群?嵌入式的人群适合 AliOS Things,那目前 AliOS Things采用了轻应用的框架,习惯于写 JS 和 Python 的同学也可以加入到 AliOS Things 开发。
MQTT 客户端支持多连接吗?
哪些公司会招 AliOS Things 的开发者?无论哪种操作系统,只要掌握了其中的一种操作系统,去任何需要的场合都可以,因为这些操作系统基本上都是互通的,虽然不同的操作系统有一些个性或特异化的东西,但如果掌握了一种操作系统,其他操作系统也很好掌握的,要学会融会贯通。
开发版的传感器是否有要求。不绝对,还要依传感器与主控之间的通讯的接口而定,如果是 I2C、SPI 等,对传感器没有要求,主要看接口的方式。
通用 MCU 移植的文档目前没有提供,因为通用的 MCU 移植有一定门槛,后续会提供文档。
如果当前没有文档,可以参考其他 MCU 开源的源码,重点关注中断处理和任务的上下文的保存和切换两种方式,可以根据自己的CPU架构的情况进行相应的改写。
现在 MCU 相关的代码在源码仓库 Hardbell 下方,下面分几个层次,相关的代码的话都是里面。
Hass 有没有直接进入 JS 写界面的?目前马上会有 Haas UI 要开源,开源之后可以支撑该支撑需求,同样可以加入钉钉群提交问题。 且现在的 Hass Studio 也推出了拖拽式的开发,更方便用户,功能会慢慢丰富。