查看上篇文章,
点击这里。四、在线实验演示
(一)AliOS串口打印
我们登录LinkLab的
官网,主页有关于LinkLab的基本介绍以及课程列表,选择实验并点击对应的“开启”按钮,就会进入WebIDE界面,如下图所示(以AliOS串口打印为例),图中各个区域为不同的功能区,具体介绍如下。
- 红色框内为实验题列表(以“串口打印”实验为例)。
- 黄色框内为当前实验题题目描述信息。
- 蓝色框内为实验操作(包括“连接”、“提交”,其中“连接”按钮用来连接远程物联网设备,“提交”按钮用于当代码编写完成时提交运行)。
- 绿色框内是代码编辑器。
- 灰色框内是Shell,负责显示系统日志和用户程序输出信息(用户输出为绿色)。
然后我们在绿色的代码编辑器使用AliOS Things,编写C代码,就可以实现简单的数据读取和上传至物联网平台功能。完成上述实验之后系统会自动进行判题,并给出反馈。
(二)使用TinyLink读取光照数据并保存至SD卡
如果使用传统的物联网开发来进行本实验,流程是相当复杂的,因为实验过程涉及到了光照传感器和SD卡,而如果使用TinyLink就不需要考虑这么多因素,其提供了完整可用的API,用户只需要写相应的TinyLink代码即可。
基于TinyLink,整个实验的代码逻辑也会变得非常清晰,在用2行代码初始化设备之后,就可以创建文件,读取光照,而不需要去考虑具体的光照传感器是什么。使用TinyLink之后,用户上手物联网开发之时便只需要关心业务逻辑,而不需要考虑各种库文件的使用。实际教学中该教学案例学生不超过1小时便可以掌握,大大提升了教学效率。
(三)LinkLab物联网应用开发大作业
该实验是属于物联网嵌入式开发零基础入门与线上时间中的一个实验项目,其目的和要求有:
- 熟悉MQTT协议;
- 熟悉基于LinkLab开发物联网应用的流程;
- 熟悉阿里云物联网平台;
本实验的主要内容是使用TinyLink和LinkLab,基于Arduino Mega完成一个物联网应用,包含以下功能:
1.节点感知
- 每隔1秒(或者自定义间隔)采集一次节点周围的环境湿度,并存入SD卡中。
- 每次采集的环境湿度数据通过MQTT协议上传到阿里云物联网平台。
2.阿里云IoT Studio Web应用开发
- 在阿里云IoT Studio上构建Web应用,使用仪表盘控件实时显示节点感知部分上报的当前湿度信息。
- 该Web应用页面当中同时包含一个按钮,用户点击按钮可以获取之前采集的湿度数据的平均值,并在Web应用中以仪表盘的形式显示。
3.Led灯控制
- 在上述的Web应用页面中,还应包含一个Led灯的控制功能,页面内应该有一个Led灯开关和一个指示灯,用户在页面内点击开关,通过物模型控制远程的Led灯亮灭,并观察指示灯状态的变化。由于在远程实验中看不到Led灯的具体状态变化,所以当节点收到指令的时候向串口打印一个灯亮或者灯灭的消息。
可以看出,这个实验是相当复杂的,如果用传统的物联网开发环境,完成难度很高,但是如果用户使用LinkLab,那么便可以不需要依赖任何硬件,也不需要任何IDE环境, 完全在一个远程的环境下就可以完成该实验,大大降低了物联网应用的开发门槛。我们使用WebIDE和阿里云物联网平台完成该实验,其主要步骤为:
- 在阿里云物联网平台创建物模型;
- 在代码编辑器中编写AliOS-Things应用代码;
- 提交代码连接远程设备并进行湿度记录;
- 通过IoT Studio Web应用可视化开发平台开发Web应用并发布。
通过以上几个步骤我们可以很快开发出如下图所示的Web应用。
本实验中,阿里云物模型提供了设备和云服务统一的数据交互标准,简化了设备端应用于云服务的集成。此外,基于物模型,设备端开发与云服务开发可以完全分离,降低了任务协作的成本。基于物模型的开发流程如下图所示。设备端开发者和云服务开发者首先定义物模型,确定设备具有的功能,在此基础上,设备端开发者实现设备模型所定义的设备功能,云服务开发者基于设备模型定义的功能接口,实现云服务的开发。
在进行实验的过程中,学生会被要求在实验报告中记录关键节点的实现过程,如果用户是用教师帐号进行登录的话,将会看到学生完成的实验报告并进行打分,还可以自定义创建实验,设置实验内容以及开始结束时间。
未来,LinkLab会有更多的功能开放,为物联网在线教育提供一个便捷的平台,帮助更多的人走进万物互联的时代。
关键词:物联网、IOT开发、LinkLab、在线教育、在线物联网实验