背景
IoT的学习与开发是还是比较困难的。对于初学者来说,上手之路就很长:从某宝选购开发板-->等快递-->收到板子-->搞清楚怎么连线-->找个hub把一堆东西接到电脑-->安装开发软件熟悉开发环境。做完这么多事,才能写上第一行代码。选板子接线都是需要一定的硬件专业知识的,这会让很多没有基础的同学直接就放弃了。
同时,对于嵌入式老鸟来说,IoT的开发也引入了新的困难:以前做设备开发一台电脑一个板子就搞定了;现在做IoT智能应用开发,需要要多台设备联网通信,就不太容易开发了。比如一套智能家居的房子几十个设备,放地上贴墙上挂天花板上都有,怎么开发呢?现有开发工具大多都不支持多设备同时开发。用一台电脑开发的话,电脑接成八爪鱼都不够,还需要开十几个界面切来切去,开发效率低下。 多用几台电脑开发的话,coding的时间都用来跑来跑去了,不能专注于解决问题。
IoT开发的痛点在:硬件获取与setup路径太长;开发工具不支持多设备同时开发,也不支持方便可视化的网络应用开发。我们每天都在suffer着这样的问题,遂而开发了uDevice Center - 弹性在线的多设备开发平台 - 来让IoT开发更简单
uDevcie Center介绍
uDevice Center主要采用如下的方式解决了上述问题:
- 将IoT设备搬到线上,做成IoT的ECS:用户不必要买板子接线,装个软件就能做IoT的开发了;
- 提供信息丰富的多设备开发能力:多设备复杂网络开发,made easy!
线上的IoT开发平台 - IoT的ECS
uDevice Center把标准的IoT开发板/设备都搬到了线上,让用户可以像使用ECS服务器一样使用IoT开发板。用户只用装好软件,就可以用在线的开发板/设备开始编程调试了,再也不用买板子连线了。开发路径的简化,可以让程序员们把时间精力都集中在业务逻辑的开发调试上,加速IoT学习与开发的历程。弹性在线平台的优点包括:
- 无需购买连接硬件,上手快
- 无时间地域限制,哪都能做开发
- 丰富可选的开发板型号,用哪种都有
- 弹性增减的开发板数量,用几个都行
此外,对于特定应用场景(如智能家具)的开发,弹性在线的平台可以帮助开发者利用公共资源(如全屋智能实验室)很快速地开始应用的开发验证,降低开发门槛,节省成本。
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交互界面。
uDevice Center为用户提供的多设备联合开发功能包括:
- 多设备的代码开发/编译/固件烧录
- 多设备shell命令行交互调试与设备控制
- 实时显示设备的各种状态信息
- 图形化显示设备的(uMesh)连接组网情况
这种信息丰富的多设备联合开发调试,可以加快物联网智能应用的开发与调试。
软件安装步骤
接下来我们将讲解使用uDevice Center进行开发需要安装的软件:
- 下载Visual Studio Code并安装
- 安装alios-studio插件:启动Visual Studio Code,并参考下图步骤安装
- 下载安装AliOS Things代码及依赖工具Linux OSX Windows (Optional)
uDevice Center使用
uDevice Center平台上的设备有两种分配使用模式:
- 随机分配:适合于初学者上手开发与尝试,平台随机分配用户指定型号的一块空闲开发板给用户试用;
-
固定分配:适合于需要多台设备进行密集开发的用户,平台使用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代码,并编译产生固件
Step 2. 启动uDevice Center,随机分配一块mk3060开发板
Step3. 烧录固件
Step4. Shell交互调试
固定分配设备使用
随机分配设备方式能让开发者快速上手尝试AliOS Things的开发,但是由于使用随机分配的公共资源,也会有一定限制。对于需要规模密集开发者开发者,我们还提供了使用AccessKey固定分配设备进行开发的方式。固定设备开发方式具有设备固定,可以同时使用多个设备进行信息丰富的网络交互开发的特点。下面我们基于mk3060和esp32开发板,介绍固定设备开发的alink应用的流程:
Step 1.使用alios studio打开AliOS-Things目录,编辑alinkapp代码,并编译产生固件
Step 2. 启动uDevice Center,熟悉uDevice Center
Step 3. 烧录固件
鼠标右键点击某个空闲MXCHIP3060开发板,选择“Program Last Build”将刚才编译固件烧录到开发板。Note:请注意核对板子型号,固件烧录到型号不对的板子将无法启动
Step 4. Shell交互调试
鼠标右键点击step 4烧录的MXCHIP3060开发板,选择“Shell”与开发板进行命令行交互
待完善功能点
- 支持GDB代码级调试
- 支持更丰富的设备状态显示
- 丰富硬件的控制功能
总结
uDevice Center是在线的IoT多设备开发调试平台,能方便开发者快速高效地进行IoT云端一体应用的开发、调试和测试等。通过硬件在线与虚拟化,既能让更多的开发新手快速上手学习IoT开发,又能帮助资深开发者快速高效地开发调试IoT应用。
钉钉群
使用交流uDevice Center可加入以下钉钉群