AliOS Things + 关注 AliOS Things

uDevice Center - IoT在线开发板/设备平台

  1. 云栖社区>
  2. AliOS Things>
  3. 博客>
  4. 正文

uDevice Center - IoT在线开发板/设备平台

潜易 2018-01-25 21:54:24 浏览9083 评论1

摘要: IoT开发的一大痛点在于:硬件获取与setup路径太长;开发工具难以支持多设备联合开发。我们用uDevice Center把开发板/设备都搬到了线上,让用户可以不用买硬件接线,在线就能做IoT开发调试了。同时,uDevice Center也支持信息丰富的多设备联合开发。

背景

IoT的学习与开发是还是比较困难的。对于初学者来说,上手之路就很长:从某宝选购开发板-->等快递-->收到板子-->搞清楚怎么连线-->找个hub把一堆东西接到电脑-->安装开发软件熟悉开发环境。做完这么多事,才能写上第一行代码。选板子接线都是需要一定的硬件专业知识的,这会让很多没有基础的同学直接就放弃了。

background.png

同时,对于嵌入式老鸟来说,IoT的开发也引入了新的困难:以前做设备开发一台电脑一个板子就搞定了;现在做IoT智能应用开发,需要要多台设备联网通信,就不太容易开发了。比如一套智能家居的房子几十个设备,放地上贴墙上挂天花板上都有,怎么开发呢?现有开发工具大多都不支持多设备同时开发。用一台电脑开发的话,电脑接成八爪鱼都不够,还需要开十几个界面切来切去,开发效率低下。 多用几台电脑开发的话,coding的时间都用来跑来跑去了,不能专注于解决问题。

IoT开发的痛点在:硬件获取与setup路径太长;开发工具不支持多设备同时开发,也不支持方便可视化的网络应用开发。我们每天都在suffer着这样的问题,遂而开发了uDevice Center - 弹性在线的多设备开发平台 - 来让IoT开发更简单

uDevcie Center介绍

uDevice Center主要采用如下的方式解决了上述问题:

  1. 将IoT设备搬到线上,做成IoT的ECS:用户不必要买板子接线,装个软件就能做IoT的开发了;
  2. 提供信息丰富的多设备开发能力:多设备复杂网络开发,made easy!

线上的IoT开发平台 - IoT的ECS

uDevice Center把标准的IoT开发板/设备都搬到了线上,让用户可以像使用ECS服务器一样使用IoT开发板。用户只用装好软件,就可以用在线的开发板/设备开始编程调试了,再也不用买板子连线了。开发路径的简化,可以让程序员们把时间精力都集中在业务逻辑的开发调试上,加速IoT学习与开发的历程。弹性在线平台的优点包括:

  • 无需购买连接硬件,上手快
  • 无时间地域限制,哪都能做开发
  • 丰富可选的开发板型号,用哪种都有
  • 弹性增减的开发板数量,用几个都行

此外,对于特定应用场景(如智能家具)的开发,弹性在线的平台可以帮助开发者利用公共资源(如全屋智能实验室)很快速地开始应用的开发验证,降低开发门槛,节省成本。

architecture.png

uDevice Center的系统架构如上图所示,主要由:IoT硬件设备、uDevice Center Infrastructure和用户端AliOS Studio软件三部分构成。系统中的IoT硬件设备是由阿里及其合作伙伴提供的模组/开发板/智能设备/实验室等。uDevice Center Infrastructure平台用标准化的方式屏蔽了不同硬件在固件烧录/调试/传感/控制等方面的接口差异,以统一的方式将这些IoT硬件资源虚拟化,再通过网络提供给广大的开发者使用。用户端AliOS Studio软件为用户提供了友好地使用uDevice Center Infrastructure服务的界面。

此外,uDevice Center是一个开放的平台,可以为想要接入的厂商提供配套软件,帮助厂商将设备(芯片/模组等)快速接入到平台,并推广给开发者使用。

多设备联合开发

uDevice Center与AliOS Studio IDE深度结合,为IoT开发者提供信息丰富的多设备联合开发能力。uDevice Center的使用界面如下图所示:中间窗口显示了连接在线的设备,其中每一个圆点就是一个实际的IoT设备;点'07d'c'上的悬浮窗实时显示了这个设备的状态信息;点与点之间的连线展示了mesh网络连接的情况;右边的窗口是设备‘1d1c'的Shell交互界面。
image.png
uDevice Center为用户提供的多设备联合开发功能包括:

  • 多设备的代码开发/编译/固件烧录
  • 多设备shell命令行交互调试与设备控制
  • 实时显示设备的各种状态信息
  • 图形化显示设备的(uMesh)连接组网情况

这种信息丰富的多设备联合开发调试,可以加快物联网智能应用的开发与调试。

软件安装步骤

接下来我们将讲解使用uDevice Center进行开发需要安装的软件:

  1. 下载Visual Studio Code并安装
  2. 安装alios-studio插件:启动Visual Studio Code,并参考下图步骤安装
    image.png
  3. 下载安装AliOS Things代码及依赖工具Linux OSX Windows (Optional)

uDevice Center使用

uDevice Center平台上的设备有两种分配使用模式:

  1. 随机分配:适合于初学者上手开发与尝试,平台随机分配用户指定型号的一块空闲开发板给用户试用;
  2. 固定分配:适合于需要多台设备进行密集开发的用户,平台使用Access Key将某些开发板/设备固定分配给用户使用。需要固定分配开发板的用户,请邮件联系AliOS Things团队 (Email: aliosthings@service.aliyun.com ) 获取Access Key 。邮件请包含如下信息:

    • 个人信息:姓名 联系方式 公司名(optional)
    • 板子资源需求:型号、数量、使用时长等,并简要陈诉用途

目前支持的开发板型号包括:

    乐鑫-esp32-devkitc (Wifi+Bluetooth)
    乐鑫-esp8266(wifi)
    庆科-MK3060 (Wifi)
    庆科-EML3047 (LoRA)
    STM-stm32l432kc-nucleo

随机分配设备使用

uDevice Center可以随机分配平台上空闲的开发板给用户使用。这种使用方式适合如初学者快速上手开发,也能方便开发者选型尝试不同的开发板(做芯片模组选型)。随机分配使用方式有一定限制,包括:

  • 一台机器同一时间只能使用(任意型号的)一台设备
  • 每次分配的开发板不固定,不一定适用于持续密集开发的场景

随机分配设备进行开发的典型流程为:

使用alios studio编辑代码编译产生.bin --> 连接uDevice Center并随机分配设备-->用uDevice Center开发调试

下面以庆科MK3060开发板为例,一步一步介绍从uDevice Center平台随机分配一块开发板,进行AliOS Things的helloworld应用开发调试过程:

Step 1. 使用alios studio打开AliOS-Things目录,编辑helloworld代码,并编译产生固件

adhoc-open-alios

adhoc-select-app

adhoc-select-board

adhoc-edit-build

Step 2. 启动uDevice Center,随机分配一块mk3060开发板

adhoc-open-udc

adhoc-accesskey

adhoc-specify-model

adhoc-udc-intro

Step3. 烧录固件

adhoc-start-program

adhoc-program-progress

Step4. Shell交互调试

adhoc-shell-interaction

固定分配设备使用

随机分配设备方式能让开发者快速上手尝试AliOS Things的开发,但是由于使用随机分配的公共资源,也会有一定限制。对于需要规模密集开发者开发者,我们还提供了使用AccessKey固定分配设备进行开发的方式。固定设备开发方式具有设备固定,可以同时使用多个设备进行信息丰富的网络交互开发的特点。下面我们基于mk3060和esp32开发板,介绍固定设备开发的alink应用的流程:

Step 1.使用alios studio打开AliOS-Things目录,编辑alinkapp代码,并编译产生固件

image.png
fixed-select-app

fixed-select-board

fixed-edit-build

Step 2. 启动uDevice Center,熟悉uDevice Center

image.png

input-acceeskey.png

image.png

Step 3. 烧录固件
鼠标右键点击某个空闲MXCHIP3060开发板,选择“Program Last Build”将刚才编译固件烧录到开发板。Note:请注意核对板子型号,固件烧录到型号不对的板子将无法启动
image.png

Step 4. Shell交互调试

鼠标右键点击step 4烧录的MXCHIP3060开发板,选择“Shell”与开发板进行命令行交互

image.png

待完善功能点

  1. 支持GDB代码级调试
  2. 支持更丰富的设备状态显示
  3. 丰富硬件的控制功能

总结

uDevice Center是在线的IoT多设备开发调试平台,能方便开发者快速高效地进行IoT云端一体应用的开发、调试和测试等。通过硬件在线与虚拟化,既能让更多的开发新手快速上手学习IoT开发,又能帮助资深开发者快速高效地开发调试IoT应用。

钉钉群

使用交流uDevice Center可加入以下钉钉群
image.png

【云栖快讯】阿里巴巴小程序繁星计划,20亿补贴第一弹云应用免费申请,限量从速!  详情请点击

网友评论