AliOS Things和TI Simplelink的完美结合让物联网设计更加便捷
Loading the player...
将在30s后自动为您播放下一课程
今天很高兴参加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的一个源代码 去做一些更详细的了解 好 谢谢大家 我今天的介绍就到这里
今天很高兴参加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的一个源代码 去做一些更详细的了解 好 谢谢大家 我今天的介绍就到这里
今天很高兴参加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的一个源代码
去做一些更详细的了解
好 谢谢大家
我今天的介绍就到这里
今天很高兴参加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的一个源代码 去做一些更详细的了解 好 谢谢大家 我今天的介绍就到这里
今天很高兴参加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的一个源代码
去做一些更详细的了解
好 谢谢大家
我今天的介绍就到这里
视频报错
手机看
扫码用手机观看
收藏本课程
视频简介
AliOS Things和TI Simplelink的完美结合让物联网设计更加便捷
所属课程:2018 TI SimpleLink™ MCU 平台研讨会 – 回看
发布时间:2018.06.29
视频集数:7
本节视频时长:00:29:01
为满足不断变化的市场需求,利用在多种无线连接协议间扩展的平台进行设计并快速适应基础产品变得至关重要。TI SimpleLink™ MCU 平台帮您解决了设计难题,提供广泛的有线和无线 MCU 产品,具有对物联网应用而言至关重要的行业领先特性,包括:超低功耗、协议栈稳定性、高级安全加密模块和模拟集成,同时支持广泛的差异化有线和无线协议。该器件可分为三种类型:MSP432™ 主微控制器,无线微控制器和无线网络处理器。
本次会议TI 强大的技术团队将为您深入解析 5 款新产品的特性与优势,现场更有低功耗蓝牙 CC2642 动手实验环节,技术大咖将手把手教您在 30 分钟内完成蓝牙 5.0 设计。
//=$v1;?>
//=$v['id']?>//=$v['down_category']?>//=$v['link']?>//=$v['is_dl']?>//=$v['link']?>//=$v['name']?>//=$v['name']?>
//=$v['id']?>//=$v['down_category']?>//=$v['path']?>//=$v['is_dl']?>//=$v['path']?>//=$v['name']?>//=$v['name']?>
////=count($lesson['bbsinfo'])?>
//=$elink?>//=$elink?>//=$tags[0]?>//=$tags[0]?>//=$elink?>//= $elink?>//=$tags[1]?>//=$tags[1]?>
//=$lesson['bbs'];?>
//=count($lesson['bbsinfo'])?>