4389| 0
|
[案例教程] [教程更新]【NB-IoT 物联网开发板 TinkerNode】WiFi物联网窗帘 |
本帖最后由 DFSyBM3-i4u 于 2021-12-7 16:54 编辑 hello,大家好。通过入门教程的学习,相信大家已经对阿里云的使用方法以及TinkerNode物联网开发板有了初步的认识。这次项目我们将用TinkerNode物联网开发板,制作一个家用的WiFi物联网窗帘,来帮助大家熟悉TinkerNode的使用,了解更多TinkerNode的功能。 项目背景 拉窗帘一直是我们生活中,必不可少而且十分频繁的一个动作。比如我,在公司坐在一个朝西的窗边,在有太阳的日子里每天下午都能享受到午后阳光的温暖。可惜坐在我对面的同事们就没有那么幸福了,每天下午都会受到刺眼阳光的照射,每天我都会在他们的声讨下,频繁的进行拉窗帘的操作。为了减少我起身拉窗帘的次数(我就是懒),我开发了这个WiFi物联网窗帘控制器,可以让我用遥控器远程控制窗帘的升降,并且在阿里云平台上开发了可视化控制界面,让我对面的同事们可以通过控制界面,远程的控制窗帘的升降。很好,我再也不用转身拉窗帘了。 项目照片 在教程开始前,先让大家看一下最终的成品图片。 安装位置和使用效果图 项目的主要目的: 项目视频 为了方便大家进行学习,我们为大家提供了视频版本的项目教程。 元器件清单 TinkerNode NB-IoT开发板 x1 项目逻辑 1.项目相关功能介绍 首先,我们先来了解一下本次项目中使用到TinkerNode的功能。 I/O口 模拟输入 2.阿里云平台配置 首先,打开阿里云IoT的首页 https://iot.aliyun.com/ 。点击右上角的免费注册,创建一个阿里云IoT的账号。 开通物联网平台 登录阿里云平台,点击右上角的工作台,即可进入阿里云控制台首页。 与入门教程相同,我们首先需要在阿里云平台中新建一个项目,然后为项目创建产品和设备,配置产品自定义功能(物模型)。 创建完成后,我们会进入“物联网窗帘”项目的管理页面,如下图所示。 新建产品 在项目管理页面左侧的功能栏点击产品,在弹出的产品页面中选择创建产品,如下图所示。 产品的名称填写“WiFi物联网窗帘”,所属品类选择“自定义品类”,其他选项默认,如下图所示。 完成后点击保存,此时已经在项目下创建了一个名为“WiFi物联网窗帘”的新产品。 功能定义 接下来,我们需要为产品添加功能,也叫作定义产品的“物模型”,物模型创建的过程就是通过协议描述产品的功能,定义产品有几组传感器数据,有什么控制功能,数据的类型是什么。 选择功能定义 -> 自定义功能 -> 添加自定义功能 ,如下图所示。 在“WiFi物联网窗帘”产品中,我们需要控制窗帘的上升、下降、暂停和复位,共四种控制方式。所以我们将数据类型定义为int32(整数型),标识符设定为“Curtain_Control”取值范围设定为0~3,步长为1,对应了四种控制方式。这样我们就可以通过阿里云平台,向控制设备发送指令。功能定义配置如下图所示: !([img]https://img.dfrobot.com.cn/wiki/605d8c0caa613609f2707b8d/117d1c3a8e7969cbe3f224df63575e5d.png) 新增设备 完成了产品的功能定义之后,接下来我们为产品建立一个设备,这样我们就可以将由TinkerNode搭建的窗帘控制设备连接到阿里云平台,从而实现云端控制了。 !([img]https://img.dfrobot.com.cn/wiki/605d8c0caa613609f2707b8d/0626d1a6e7c9ee3ef55ba70b86b08be0.png) 弹出的窗口中,产品选择“WiFi物联网窗帘”,DeviceName命名为“winDev”,创建完成后如下图所示。 !([img]https://img.dfrobot.com.cn/wiki/605d8c0caa613609f2707b8d/723eb68ecd3f480c2ea050b4db58e9df.png) 3.硬件相关配置 结构安装 硬件连接 按照上图进行硬件连接。如果该图看不清楚,可以到帖子最下方下载附件查看。Ps:项目中所使用到的DRV8825步进电机驱动及扩展板,为X宝产品,大家可以自行购买,可参考下图。
代码调试 下载附件中的库文件,安装至Aruidno IDE中。点击查看如何安装库文件? ①WiFi名称和密码的设置
②阿里云相关配置 在设备页面查看设备证书信息,填写在代码中对应位置。
在产品页面查看产品的功能标识符,填写在代码中对应位置。
在设备管理页面,查看物模型Tpoic信息,填写在代码中对应位置。请注意将物模型Topic中的${deviceName}改成实际devicename的值。物模型Topic是阿里云平台自动生成的,服务端和设备端通过Topic来实现消息通信。
③上升步数配置
④红外传感器检测距离调整 全部配置完成后,将代码上传至TinkerNode主控板。待代码上传完成后,就可以通过遥控器或者阿里云平台对窗帘控制器进行控制了。 云平台调试 进入设备页面后,点击在线调试,选择属性调试,调试功能选择我们设置的自定义功能“窗帘控制(Cutrain_Control)”,方法选择“设置”,如下图所示。 接下来我们就可以在属性调试栏中,对设备进行远程控制了。修改该属性调试栏中的参数,即可对设备进行控制,从而代替遥控器的功能。 代码中对应的操作参数可以参考下表,点击发送指令即可实现对应的控制功能。
4.可视化页面制作 使用了一段时间之后,我发现每天在我凌乱的桌子上找遥控器是一件十分痛苦的事情,所以我决定为这个项目增加一个可视化控制页面。 名称填写“窗帘控制界面”,点击确认,进入可视化开发界面。 在左侧的配置栏,将四个按钮的名字修改为暂停、上升、下降和复位,如下图所示。 点击其中一个按钮,在左侧的配置栏选择交互,点击新增交互,如下图所示。 事件选择“点击”,动作选择“设置设备属性”,如下图所示。 点击配置设备,选择对应的产品、设备以及属性(自定义功能),根据按钮的控制功能,填写对应的自定义功能参数,例如下图,我们配置的是“暂停”按钮,设置值的位置就填写“0”。 四个按钮全部配置完成后,点击右上角的发布就可以使用可视化页面,控制窗帘了。 Ps:如果想要其他人使用你的可视化控制页面,需要将项目的域名绑定到一个外部域名。具体的方法可以在阿里云平台上查看。 项目拓展 大家做完项目之后,可以尝试在项目的基础上做一些小拓展,比如可以尝试将代码中的“窗帘位置变量”上传到云平台,并且尝试在可视化页面中体现出来,这样就可以在云平台上实时的查看窗帘的高度了。 |
35.72 KB, 下载次数: 2105
387.62 KB, 下载次数: 2149
库文件
2.34 KB, 下载次数: 2050
代码
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed