“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
目录
相关文章
|
2月前
|
机器学习/深度学习 自然语言处理 物联网
深度学习入门:从理论到实践新技术趋势与应用:探讨新兴技术如区块链、物联网、虚拟现实等的发展趋势和应用场景
【8月更文挑战第30天】本文将介绍深度学习的基本原理和实践应用。我们将从深度学习的定义、历史和发展开始,然后深入探讨其工作原理和关键技术。接着,我们将通过一个简单的代码示例来展示如何实现深度学习模型。最后,我们将讨论深度学习在现实世界中的应用和挑战。无论你是初学者还是有经验的开发者,这篇文章都将为你提供深度学习的全面理解。
|
2月前
|
物联网 区块链 vr&ar
未来已来:探索区块链、物联网与虚拟现实技术的融合与应用安卓与iOS开发中的跨平台框架选择
【8月更文挑战第30天】在科技的巨轮下,新技术不断涌现,引领着社会进步。本文将聚焦于当前最前沿的技术——区块链、物联网和虚拟现实,探讨它们各自的发展趋势及其在未来可能的应用场景。我们将从这些技术的基本定义出发,逐步深入到它们的相互作用和集成应用,最后展望它们如何共同塑造一个全新的数字生态系统。
|
11天前
|
物联网 C# C语言
物联网开发中C、C++和C#哪个更好用
在物联网(IoT)开发中,C、C++和C#各有优缺点,适用场景不同。C语言性能高、资源占用低,适合内存和计算能力有限的嵌入式系统,但开发复杂度高,易出错。C++支持面向对象编程,性能优秀,适用于复杂应用,但学习曲线陡峭,编译时间长。C#易于学习,与.NET框架结合紧密,适合快速开发Windows应用,但性能略低,平台支持有限。选择语言需根据具体项目需求、复杂性和团队技术栈综合考虑。
|
24天前
|
存储 传感器 物联网
结合物联网开发探讨C语言的变量
在物联网(IoT)开发中,C语言的变量起着至关重要的作用。由于物联网设备资源有限,C语言的高效性和对硬件的直接控制使其成为开发嵌入式系统的首选。
|
29天前
|
存储 物联网 关系型数据库
PolarDB在物联网(IoT)数据存储中的应用探索
【9月更文挑战第6天】随着物联网技术的发展,海量设备数据对实时存储和处理提出了更高要求。传统数据库在扩展性、性能及实时性方面面临挑战。阿里云推出的PolarDB具备高性能、高可靠及高扩展性特点,能有效应对这些挑战。它采用分布式存储架构,支持多副本写入优化、并行查询等技术,确保数据实时写入与查询;多副本存储架构和数据持久化存储机制保证了数据安全;支持动态调整数据库规模,适应设备和数据增长。通过API或SDK接入IoT设备,实现数据实时写入、分布式存储与高效查询,展现出在IoT数据存储领域的巨大潜力。
49 1
|
11天前
|
传感器 监控 安全
物联网通信的基石:LoRa、Sigfox与NB-IoT详解
物联网通信的基石:LoRa、Sigfox与NB-IoT详解
74 0
|
2月前
|
消息中间件 存储 传感器
RabbitMQ 在物联网 (IoT) 项目中的应用案例
【8月更文第28天】随着物联网技术的发展,越来越多的设备被连接到互联网上以收集和传输数据。这些设备可以是传感器、执行器或其他类型的硬件。为了有效地管理这些设备并处理它们产生的大量数据,需要一个可靠的消息传递系统。RabbitMQ 是一个流行的开源消息中间件,它提供了一种灵活的方式来处理和转发消息,非常适合用于物联网环境。
75 1
|
2月前
|
分布式计算 搜索推荐 物联网
大数据及AI典型场景实践问题之通过KafKa+OTS+MaxCompute完成物联网系统技术重构如何解决
大数据及AI典型场景实践问题之通过KafKa+OTS+MaxCompute完成物联网系统技术重构如何解决
|
1月前
|
机器学习/深度学习 人工智能 算法
物联网(IoT)就像是一个大型派对,无数的设备都在欢快地交流着信息
【9月更文挑战第4天】在这个万物互联的时代,物联网(IoT)犹如一场盛大的派对,各类设备欢聚一堂。然而,如何让这些设备互相理解并协同工作呢?这就需要机器学习与人工智能的助力。例如,智能空调通过学习你的使用习惯来调节温度,使你更加舒适;智能安防系统则能识别异常行为并及时报警,保障家庭安全。此外,智能农业、交通等领域也因机器学习和人工智能的应用变得更加高效。下面通过一个简单的温度预测代码示例,展示机器学习在物联网中的实际应用,让我们一起感受其强大潜力。
30 0
|
2月前
|
消息中间件 传感器 物联网
Producer 在物联网 (IoT) 中的应用
【8月更文第29天】在物联网 (IoT) 领域,设备和传感器不断生成大量的数据。为了有效地收集、处理和分析这些数据,通常会采用消息队列技术。消息队列允许设备将数据发送给后端系统进行进一步处理。在这个过程中,消息生产者(Producer)扮演着关键角色,负责将数据从设备发送到消息队列。本文将详细介绍如何使用消息生产者来收集来自各种传感器和其他 IoT 设备的数据,并提供一个基于 Python 和 Kafka 的示例代码。
30 0

相关产品

  • 物联网平台
  • 下一篇
    无影云桌面