AliOS Things 和 TI Simplelink 的完美结合让物联网设计更加便捷

+荐课 提问/讨论 评论 收藏
  • 课程目录
  • 相关资源
  • 课程笔记

今天很高兴参加TI的SimpleLink MCU的研讨会 今天的讲座主要会分为3个方面 一个是我们团队开发的 面对市场的AliOS Things的 回顾和主要特性的一个介绍 其次呢 AliOS Things不仅仅是 不仅仅是一个实时的操作系统 还包括一些网络特性 会简单介绍它包含了哪些网络特性 提供了哪些连接服务 最后与TI在无线方面一直有一个不错的积累 我会介绍ALIOS THINGS与TI的合作 谢谢大家 首先 对ALIOS THINGS做一个简单回顾 我们是2015年做的开发启动 然后经过两年的开发 终于在2017年10月在杭州举行的云栖大会 上发布 ALIOS THINGS 然后大部分开源 目前发布了六个版本以上 最新的版本是1.3.0 Github上已经有超过1100个关注 跟400个focus 大家感兴趣可以在Github上搜索 就可以搜到了 这里介绍了ALIOS THINGS的主要特性 左边是框架形式呈现出来 比如从下往上 都有哪些组件和模块 右边 ALIOS THINGS不仅仅是一个cornel部分 上面的一些器件 云端的SDK 还有自主研发的一些 代码仓库和组件 我们先看看左边的框图 最下面是它支持的一些 硬件 比如英特尔的IA32 64A 和ARM Cortex系列的A核 R核和M核 Xtense就是对主流的一些EXP32 和XP266的一些支持 Csky的话是对 阿里刚刚收购的一家公司 叫中天微自主研发的芯片的支持 以及对AI和一些安全芯片的支持 我们可以在上面 自定义上面的可执行环境 比如类似于RM的之列的 然后是我们可以对接不同的AOS 比如Rhino部分 Rhino是阿里自主研发的操作内核 可以对接各种嵌入的embedded Linux 到system 比如[听不清]等等之类 然后再往上 因为底下可以对接各种OS的抽象 所以可以做统一的封装 对上面做一个透明的抽象层 那这里就封装成APS的 一个API来做一些上层的性能服务 当然AliOS Things也提供了各种中间段服务 比如有一些远程系统的升级 比如firment update photo ATA 以及自主研发的私有的自主组织的一个网络协议 比如Umesh 它是基于WiFi或蓝牙 的file或麦克 可以提供自己的一些连接以及LV等等 此外 它还提供了一个通用的传感器框架 U data 是基于以前的sensor hub的模型 是一个框架 做一个上层的开发应用 它也提供了一个交换的引擎 比如Bone engine 这样我们可以用java script可以写一些简单的应用 对底层的硬件做一些简单的控制 比如你可以用java script写一个 [听不清] 就可以对接底层 做一个硬件的控制 除了这些外 我们端上的接点无非是为了上云 那AliOS THINGS也提供了一个上云的中间键 和云端连接和应用一体的服务 这样方便广大的第三方开发者 来更方面无缝的和阿里云做开发和应用 右边是它提供了一些额外的测试 还有生态运营的一些工具 这些工具的话 都是可以提供给第三方开发者方便使用 比如它有一个集成开发环境IDE 比如习惯Kell或IAR开发的一些同学 会用IED直接上手 它是一个可视化的界面 在上面可以做代码的调试 可以上传 可以去program 去upload 都是很方便 当然它也支持第三方对IDE的支持 比如Kell或者IAR 可以自动创建Krill和IAR的目录和项目 不需要我们手动添加所有的源文件 省去了麻烦的手动配置 此外提供了一个远程测试的环境 叫Udevice center 我们把各种各样的开发板做一个test bed 把test bed的能力对外输出 比如某个同学感兴趣 但手头没有很多开发板来做物联网的开发应用 就可以远程申请这个test bed 可以使用自出开发的集成环境 就可以控制编写一些应用程序 并且下载到您的 test bed里面的一些接点 最终形成物联网的一些应用 包括可以上云 跟云端进行通讯 等等 这一页就是大概总结一下 AliOS Things的一些主要特性 它不管是一体系还是整个代码的 模块化 还是IDE 它都是一个组件化的实现 比如你可以在自己的编译体系中选择你想编译的模块 比如我只能用到WiFi和BLE的一些连接功能 然后我们就可以只在的编译体系MAC file或者SCons里面 把你的跟WiFi或BLE匹配的模块 这样的目的是裁剪不需要的模块 让你的代码和image frame达到最小 另外就是我们可以无缝接入阿里巴巴的各项云服务 真正实现你的云端 你的边缘计算 你的机电端的一体化 另外一个重要的特性是可以提供各种丰富的组件 不仅仅是一个实时操作系统 比如刚才提到的 阿里云上传的umatch的连接 以及一个传感器的框架 这样都可以通过不同配置来满足不同的业务需求 包括一些商业的SDK的提供 这里是主要罗列了一些 ALIOS Things跟市场的一些操作系统 对比 就是从图中 我们可以看到 ALIOS THINGS支持的功能是比较多的 当然不仅是有一些传统的kernel的部分 还有一些 传统的协议栈 包括WiFi的配网 跟BLE的配网 所谓配网就是你的节点在 起来之后如何跟你的IP通信 从而知道这个IP可以这个节点通过云来连接 上云的服务 当然它也支持一些核心的协议 比如MQTT或者CoAP MQTT是基于TCP的 COAP是基于UDP的 然后都需要TCP IP协议栈的支持 此外 uMesh的自助式网络呢 不仅是 不仅支持RB refrom还支持Rbb6 对物联网来说 地址是一个很有局限性的东西 比如RT thread已经不够用了 所以以后肯定是随着 RPB6基础设施的越来越完善 那肯定是 那个节点都会用到IP V6 也是6lowpan协议产生的一些应用 ALIOS THINGS也是支持一些语音交互能力 比如有一个服务叫做Link voice 就是我们可以直接调用link voice的IP R 然后就可以对你输入的语音做一些编解码 然后把编解码之后的语音传给云端 云端分析处理 然后回馈给节点端的能力 以及云连接的SDK 等等 有传感器的一个框架 此外 ALIOS THINGS对安全部分也有一个 就是特别的重视 这里看到它支持传统的TLS 以及可信执行环境的支持 以及ID2 它是阿里巴巴自主研发的一个轻量化的 认证系统 它的工作原理和传统的3A 其实差不多 但传统的3A是基于 证书 ID2是基于 24byte的一个字符串 是单向的 然后通过一系列的认证处理的话 是可以对节点做一个深度的身份处理 这里是主要介绍ALIOS THINGS的kernel部分 Rhino是一个实时的操作系统 这里是考虑到MCU对一些受限的 环境里面对资源有一些要求 比如说 ROM和RAM 在一个 单任务的环境或场景下 比如我们有一个简单的Y或E的空转 我们的ROM可以达到8个key byte 然后RAM只需要用到4个 key byte 它的终端延时也是可以达到1.5个微秒级别的 以及任务的延时可以达到2.5个微秒的级别 这是在业内比较领先的性能 这里是是介绍ALIOS THINGS提供的 传感器框架 我们把它叫做Udata 我们可以看到 它在最下面提供了丰富的传感器驱动 比如可以提供光感 引擎啊 加速器等等 这个传感器的驱动库里面 会有一些驱动器 比如你做一些操作 在上面我们封装出来一个sensor hail层 一个传感器的抽样层 这个是为了对接不同厂家提供的传感器类型 驱动 让我们提供一个统一的抽象接口 来为上层提供服务 抽象数据管理层主要是做了两个事情 一个是校准 因为你传感器上传上的数据 有可能是不太准确的 所以我们要提供一个较真 跟补偿算法 对输入的数据做一些处理 那它是通过一个VFS 一个虚拟文件系统 相当于我把每个传感器虚拟抽象成一个 文件 从而对文件做一些处理 这样是很方便用户对它做一些管理和处理的 那再往上 应用服务管理 就是我们会直接读取 抽象数据管理上报的一些数据 这些数据就是比较标准和统一的数据模型 这里等应用服务我们可以做一些上层的数据应用服务 比如我们可以做一些计步和定位的服务 比如我们可以用加速计和陀螺仪 上传的数据来计算你今天走了多少步 是计步的一个服务 再往上是对外的一些接口 比如有些客户可以定制化你自己对传感器的一些要求 或者对传感器做一些配置 Udata接下来的工作就是要 逐步增加工业领域的传感器的应用 以及工业领域对传感器基于IS485 或者2332上面的一些协议的一些传输层的更加丰富 另外ALIOS THINGS比较重要的就是 考虑到你的系统的远程升级部门 FOTA format over the air 这里在远程升级里面 用到了一个叉分算法 就是类似于现在的apple 或者手机的图像的升级方式 我不用把整个系统的图像传输到你的节点端 这样会比较浪费你的带宽 我需要对比新图和旧图的一个不同 我们把这个不同叫做一个delta 我只需要把这个delta发给你的节点端 然后直接来处理你的旧图 来做一些更新 另外在FOTA中 我们把一个图拆分成多个 比如把一个图划分成三个部分 一个是application部分 另外是你的kernel部分 另外是你的framework部分 但是在我们大部分的场景下呢 我们的kernel部分和framework部分 不会经常用到升级 我们的application部分经常需要升级 这里我们把一张图划分成多个部分 初衷是 在一些低带宽和低速率的情况下 尤其是用电池供电的一些场景 因为做一次完整的图像升级是非常耗费电量 功耗以及带宽的 所以现在我们可以选择只升级一个application部分 或者我这次只升级一个framework部分 那尤其是对于BLE或LoRa 这样低速的网络做这样的一个升级处理 可能比你把整个图发过去 然后升级 会节省带宽 会更有效率一点 它不同的binary里面 它会在你的 都是在你的flash里面 但你的地址一定要 存在你的LD script里面 标记好说 我的这部分是从这里启动的 告诉你 这些不同的binary 下部分从哪个地方启动 从而把不同的图像储存成一个完整的图像 这页是对刚才那个 那个框图的最上面部分 就是云连接跟云端一体套件的 一个详细的阐述 比如说 link Kits我们可以把它简单理解为 对物联网领域的开发人员推出的快速上手的一个SDK 底层封装了MQTE的协议 不需要关心你的SDK是如何 publish或subscript的一些流程 我们只需要调用简单的IPI就可以把你需要的格式 发给阿里云上端 然后做一些解析 比如我们可以很简单的评价一个灯的应用 那灯的应用可能有两个属性 一个是[听不清] 这些都是你可以定义一个标准的结构体 然后这层把数据传过去 就可以很容易实现对阿里云的一个 灯的管理和控制 link voice就是我们刚才提到的 可以对物联网场景做一个智能语音服务 比如我们可以在节点调link voice提供的library 跟你的图文件 然后就可以去 把你想说的一些话做一些编解码 提供给阿里云 提供一些云控制 或者是语音点歌 语音信息查询的服务 Link WAN 主要是针对LORA网络 它是一个低功耗 远距离传输的一个 这样的一个协议 LINK WAN呢也是 把这样的一个服务提供给第三方的开发者 让他自由搭配跟LORA产品的终端产品和应用 形成一个快速和完整的解决方案 Link Edge是我们希望把一些 边缘计算 这样我们可以把一些 off load到一些边缘节点上 就是我不需要每一个大的运算都上传到云端 再做一些处理 将安全存储以及人工智能 优势拓展到边缘的话呢 可以更容易把一些边缘计算的能力 部署到边缘的资源比较多的一些 网关上或者计算能力比较好的一些 比如现在我们已经支持了在linux或者window上面 以及raspberry pi上面的一些计算的能力 其实我感觉我们把边缘计算 下放到计算能力比较强的地方的话呢 我们可以省去对云端的一个依赖 比如举例一个场景是我们的门锁 你可能跟你的边缘网关 这时候可能掉电 网络没有很好 没有到云端的一个连接的时候 同样用边缘网关对你的信号做一个处理 即使在网络不太好的情况下 你的门锁也不会打不开 这里就是介绍了我们的uDevice center就是我们的test bed 那我们每次开发提交的一个[听不清] 我们都会在这上面走一遍你所有的 PV测试 同时它也可以支持第三方的开发者 来申请你的access key 申请你想申请的一些开发板 跟数量 这样你通过使用 IDE 就可以很方便的控制你申请到的一些节点 做一些开发 看一些你最后的结果 这里是ALIOS THINGS提供的 一个开发环境 是基于VS code的 整个页面非常方便和简洁 可视化的 可以支持你的开发编译 以及调试 同时在界面上可以看到你申请的节点 那边会有主网的情形 比如在申请的节点间组成一个自助式网络 然后我们可以在这个IDE上看到拓扑的 结构 每个节点的地址 同时我们可以在IDE上做一些的操作来验证 你的节点和节点之间的流通性 这一部分是ALIOS THINGS提供的一个网络特性 我们可以看到在最左边的话呢 最上层是link 是我们刚才提到的上云的服务 中间是各种协议 比如我们支持WiFi NBLT BLE ZigBee RORA 最下面是基于一些芯片 比如TI的CCA26 系列 以及其他各种各样的开发板 这是介绍ALIOS THINGS的一个uMESH自助式网络 架构 其实是一个私有的mesh网络协议 它应该是类似于thread的那种协议 支持WiFi BLE 802.15.4以及 它会基于ID2来完成设备认证跟秘钥的分发 让整个设备认证和秘钥分发都是和云端 连接的 不是在本地完成的 可以更加保护你的秘钥的分发过程 上面是提供了mesh API 来基于Lwave LWIP的一个轻量级的RPV4V 的一个协议栈 再往上封装出各种socket的API 我们就可以做各种socket programing 比如发一个TCP的连接APP的连接等等 这张的话呢 是介绍socket adapter layer SAL的话 我们设计这个模组 的初衷是应用于两个 SOC的情况 比如一个SOC跑ALISO THINGS 的部分 另外一个ALISO THINGS外接的一个模组 比如说是WiFi 或NB IOT GPRS或者 这两个 SOC是通过两个URAT连接 可以在这个URAT上面跑一些AT cloud 然后用一个主传感器对这个 外接的模组进行一些控制 以及让它收发你想要的 流过的一些数据 目前我们已经支持WiFi 模组 还有NB lot和GPRS模组等等 最后一部分想简单介绍一下 ALIOS THINGS跟TI合作的一些进展 我们已经在CC3220上 完全接入ALIOS THINGS 也可以利用其他上云的服务来 接入阿里云link生活平台 BLE的芯片的话 我们正在移植CC2640 现在我们正在移植BLE 5.0的一些功能 如果移植完成之后的话呢 应该是能够无缝接入阿里云Link的生活平台 另外 所有支持ALIOS THINGS的TI的芯片 加入到Udevice center里面做一个完整的test bed 每个[听不清]都会走一遍TB测试 在TI的芯片上面 以及如何第三方的开发者 如果对TI的芯片感兴趣 也可以在Udevice center上申请 TI的芯片来做一些物联网开发的应用 后面应该有更多的连接芯片 来支持整个ALIOS THINGS 来做阿里云的对接 来打造阿里云的生态系统和TI的生态系统 完整的一个结合 最后 我想做一个简单的总结 就是我们做了那个ALIOS THINGS我们不仅仅想把它 做成一个简单的实时操作系统 我们希望它有更多的一些在物联网领域 更多的特性比如说你的 连接特性 你的 上云特性 这样的话 我们希望 能够把阿里云的一些资源 赋能给更广大的物联网的开发者 包括和一些MCU的厂商 比如TI 来共建这个生态 来繁荣物联网的一些生态 如果各位对ALIOS THINGS感兴趣的话呢 可以通过这个网站去访问更多的一些资源 也可以去github上watch或者 follow ALIOS THINGS的一个源代码 去做一些更详细的了解 好 谢谢大家 我今天的介绍就到这里
课程介绍 共计1课时,29分1秒

AliOS Things 和 TI Simplelink 的完美结合让物联网设计更加便捷

TI SimpleLink AliOS Things

推荐帖子

请教下面的ADC12单通道单次转换的程序
void main (void) {   WDTCTL = WDTPW + WDTHOLD;       // 关闭看门狗;     P6SEL = 0x01;               &...
koenlee93 微控制器 MCU
搭建的MSP430F149电路不工作
投了块板子回来,结果不工作,不知道是不是画的原理图出错了,149在开发板上能工作,但放到我焊的板子上就不工作。元器件的焊接应该没问题,149使用的是XT2起振,附149原理图部分,现在怀疑是149外围电路搭建有问题。VCC3.3供电在3.2V左右,maybe you can help me,thanks. [ 本帖最后由 wzw134 于 2012-9-23 09:19 编辑 ]...
wzw134 微控制器 MCU
LM3S811DDLLXXRR笔记之九:IIC实现
LM3S811用IIC的API十分方便,但一定注意顺序搞不好是搞不定的   对于IIC的读写一定要注意:   主机往IIC从模块里写或从IIC模块读出时一定要调下设地址函数,   I2CMasterSlaveAddveset()   另外,尽量用中断,若不用中断注意延下时。   我的这个程序是写8字节到24c02,然后读出,若一...
ddllxxrr 微控制器 MCU
DSP2812 非法中断问题
自己做的DSP2812板子,出现如下问题:用合众达510PLUS仿真器链接上DSP,LOAD完.out文件,然后go main,到此系统都正常,这时如果点击全速运行(F5)程序立即跳到非法中断里面,每次重新加载都是如此。但是如果在main()中的while(1)之前的初始化部分加个断点,go main后点击全速运行,程序正常停在断点处,这是再继续点击全速运行,程序就可以正常运行了。每次加载后调试都...
cools1860 微控制器 MCU

06010601

学习学习AliOS Things 和 TI Simplelink 的完美结合让物联网设计更加便捷

2020年02月12日 10:49:24

shakencity

学习学习AliOS Things 和 TI Simplelink 的完美结合让物联网设计更加便捷

2019年12月05日 08:50:24

zly1986ZLY

Simplelink MCU的研讨会,学习了,老师真棒!

2019年09月24日 20:24:22

zx1988ZX

学习了,内容不错!哈哈

2019年09月23日 18:43:43

大明58

AliOS Things 和 TI Simplelink 的完美结合让物联网设计更加便捷

2019年09月19日 08:48:34

YangTwo

好好学习天天向上。。。

2019年08月06日 14:39:06

zwei9

学习

2019年05月06日 09:45:43

hellokt43

好好学习天天向上。。。

2019年04月16日 15:52:51

凤凰息梧桐

学习一下

2019年02月07日 15:03:36

weixiu123

学习一下

2018年12月31日 11:25:26

分享到X
微博
QQ
QQ空间
微信

EEWorld订阅号

EEWorld服务号

汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新文章 手机版

站点相关: EEWORLD首页 EE大学堂 论坛 下载中心 Datasheet 活动专区 博客

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2023 EEWORLD.com.cn, Inc. All rights reserved