“0”基础物联网IOT开发实践(下)——阿里云 MVP程磊

简介: 随着5G技术进入商用,万物互联的时代已经到来。杭州橡木桶科技合伙人、开源硬件社区极客工坊创始人程磊以树莓派4为基础开发平台,辅以Arduino等硬件,在直播中向大家展示了物联网硬件端开发的基本套路。

【MVP时间】线上峰会,一键收藏

《“0”基础物联网IOT开发实践》精彩直播

查看上篇文章,点击这里。

三、基于阿里云的远程点灯实验

上面我们用树莓派4控制了硬件(Arduino),接下来我们用阿里云来控制我们的设备。主要分为三个步骤:

(一)阿里云IOT注册与产品创建

在将设备连接到阿里云之前,我们需要登录阿里云IOT的网站首页创建一个账号,然后开通并启用物联网平台,然后进入如下操作:

1.创建产品

产品是物联网产品的基本单元,每个产品下面会有一个或多个一模一样的设备,所以产品是我们描述一个设备功能的一个模板。点击设备管理中的产品进入产品页面创建产品,简单起见选择自定义品类,直连设备 ,连网方式根据实际情况选择,数据格式选择Alink JSON , 认证方式选择设备密钥,点击保存即可完成创建。

2.添加功能

在产品页面中,我们定义一个物模型,然后添加一个自定义功能,本例中就是开关,数据类型是bool型,通过0和1来实现灯的关和开,如下图所示。通过发布,我们就在阿里云IOT上有了一个带开关属性的产品。
image.png

3.添加设备

完成产品后,我们就需要从平台申请设备了,只有申请了设备,才能获得平台的登录资格,也才能将我们的真实物理设备与平台的云端虚拟设备对应绑定起来。点击菜单设备管理 ,设备,在下拉菜单里选择我们之前新建的产品,然后点击添加设备,即可创建一个设备。创建完成之后,设备详情页中我们已经可以看到设备连接云端的密钥了,一共三个,一个产品ID 一个设备ID,和密钥,密钥是隐藏的,点击查看即可显示,此参数注意保密不要泄露。密钥我们会在设备上用到,需要先保存下来。

(二)设备连接阿里云

1.安装依赖库

阿里云使用的是mqtt协议,因此在连接阿里云之前我们可以通过如下代码安装mqtt库:
python3 -m pip install paho-mqtt

2.修改程序

首先到https://www.yuque.com/miniqiang/swxcv8/xwgp5w#b5676800下载程序源码压缩包,其中所包含的程序和介绍如下图所示:

  • aliLink.py :阿里云登录相关协议支持
  • mqttd.py :mqtt服务
  • rpi.py :获取系统数据与控制led函数
  • run.py :主函数

按照如下图所示修改其中的三元素和topic并保存,这样我们的设备就能够有权限登录阿里云IOT了。
image.png

3.运行程序

我们需要使用shell来启动程序,所以我们需要在shell下将工作目录移动到code目录下,然后运行主程序。随后,设备就会与阿里云正常通讯,每隔10秒上报一次自己的数据,并且会自动响应云端控制指令

4.云端调试

我们前往IOT后台,在控制台页面选择产品服务 , 搜索关键字IOT,点击物联网平台链接确认我们的设备已经在线了,并且可以看到最后在线时间。点击查看连接进入详情页,运行状态下就可以看到上报的数据了。打开实时刷新功能,就看到我们的设备上报数据了,各种系统数据一目了然,并且会自动刷新,我们亦可通过在线调试选项卡向设备下发指令进行控制调试。

(三)IOT Studio WEB可视化

通过注册阿里云和设备连接阿里云两个步骤,我们可以通过阿里云给树莓派4发送消息,在树莓派接收到消息后再通过USB给Arduino发送指令,控制Led灯的开关,就实现了基于阿里云的远程点灯试验。但是,毕竟不是可视化的应用,用起来还是有些麻烦,因此我们可以使用阿里云的IOT Studio WEB可视化开发来开发一个可视化的工具。

首先我们选择IoT Studio的开发服务,选择新建项目,创建好项目后,快速关联上之前的产品和设备,让IoT Studio 能够访问到我们的设备数据源;然后,选择WEB可视化开发菜单,进入web可视化开发页面,创建一个web可视化应用,点击组件,选择开关,选择开关组件对应的设备以及对应设备的属性即可。通过以上,我们便得到了一个如下图所示的非常简单的web应用,可以通过该应用来控制我们Arduino设备上Led灯的开关。
image.png

四、由简单到复杂,走进物联网开发

上文我们基于物联网开发的点灯实验,由浅到深的介绍了物联网开发的基本套路。基于上文的实验,如果我们在树莓派4上连接继电器,通过继电器连接其他更加复杂的设备(需要注意的是一般需要外接电源,单独接树莓派4的话会供电不足,造成设备无法使用),就可以逐步实现功能更加复杂的物联网应用。通过阿里云控制远程物联网设备的命令执行顺序大致如下:
(1)我们通过阿里云发布指令;
(2)阿里云下传指令到树莓派4;
(3)树莓派4通过USB线传输指令到继电器;
(4)通过继电器上电路的开关来控制继电器上连接的设备。
image.png

在以上实验的基础上,我们可以进行更复杂的案例,比如基于IOT的自助汽车充气吸尘装站、全自动自助洗车房、无人售货柜等等,也许大家会觉得很复杂,但是要只要深刻理解了“点灯实验”的原理,那么无论再复杂的应用,都可以被分解为无数个点灯实验!行动起来吧!

关键词:树莓派4、物联网开发、IOT开发、Arduino、阿里云

《“0”基础物联网IOT开发实践》精彩直播

查看上篇文章,点击这里。

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
相关文章
|
18天前
|
存储 安全 物联网
C语言物联网开发之设备安全与代码可靠性隐患
物联网设备的C语言代码安全与可靠性至关重要。一是防范代码安全漏洞,包括缓冲区溢出和代码注入风险,通过使用安全函数和严格输入验证来预防。二是提高代码跨平台兼容性,利用`stdint.h`定义统一的数据类型,并通过硬件接口抽象与适配减少平台间的差异,确保程序稳定运行。
|
12天前
|
传感器 存储 物联网
在物联网(IoT)快速发展的今天,C语言作为物联网开发中的关键工具,以其高效、灵活、可移植的特点
在物联网(IoT)快速发展的今天,C语言作为物联网开发中的关键工具,以其高效、灵活、可移植的特点,广泛应用于嵌入式系统开发、通信协议实现及后端服务构建等领域,成为推动物联网技术进步的重要力量。
21 1
|
20天前
|
存储 安全 物联网
C# 在物联网 (IoT) 应用中的应用
本文介绍了C#在物联网(IoT)应用中的应用,涵盖基础概念、优势、常见问题及其解决方法。重点讨论了网络通信、数据处理和安全问题,并提供了相应的代码示例,旨在帮助开发者更好地利用C#进行IoT开发。
37 3
|
1月前
|
安全 物联网 网络安全
智能设备的安全隐患:物联网(IoT)安全指南
智能设备的安全隐患:物联网(IoT)安全指南
74 12
|
28天前
|
传感器 监控 安全
物联网(IoT):定义、影响与未来
物联网(IoT):定义、影响与未来
63 3
|
1月前
|
存储 JSON 运维
智能物联网平台:Azure IoT Hub在设备管理中的实践
【10月更文挑战第26天】随着物联网技术的发展,Azure IoT Hub成为企业管理和连接数百万台设备的强大平台。本文介绍Azure IoT Hub的设备管理功能,包括设备注册、设备孪生、直接方法和监控诊断,并通过示例代码展示其应用。
49 4
|
15天前
|
安全 物联网 物联网安全
揭秘区块链技术在物联网(IoT)安全中的革新应用
揭秘区块链技术在物联网(IoT)安全中的革新应用
|
1月前
|
SQL 监控 物联网
ClickHouse在物联网(IoT)中的应用:实时监控与分析
【10月更文挑战第27天】随着物联网(IoT)技术的快速发展,越来越多的设备被连接到互联网上,产生了海量的数据。这些数据不仅包含了设备的状态信息,还包括用户的使用习惯、环境参数等。如何高效地处理和分析这些数据,成为了一个重要的挑战。作为一位数据工程师,我在一个物联网项目中深入使用了ClickHouse,以下是我的经验和思考。
76 0
|
2月前
|
人工智能 安全 物联网
|
24天前
|
存储 安全 物联网
政府在推动物联网技术标准和规范的统一方面可以发挥哪些作用?
政府在推动物联网技术标准和规范的统一方面可以发挥哪些作用?
92 50

热门文章

最新文章

相关产品

  • 物联网平台