13397| 11
|
[案例教程] 【NB-IoT 物联网开发板 TinkerNode】 智能家居入门教程 |
Hello,大家好。本次我将给大家带来TinkerNode NB-IoT物联网开发板的第一个项目教程,也是入门教程。项目将会使用TinkerNode的板载LED灯,在阿里云平台上,借助阿里云的IoT Studio WEB可视化开发功能,搭建一个远程控制灯的开关以及亮度的系统,这也是智能家居系统中一个典型的远程开关控制场景。 项目的主要目的: ①初步了解阿里云平台的使用方法 ②了解TinkerNode NB-IoT物联网开发板的功能,熟悉使用过程。 视频教程 为了方便大家的学习,除了文字教程外,我们还制作了视频教程供大家参阅。 文字教程 1. 阿里云IoT注册与产品创建 本次项目选择的是阿里云IoT作为项目的云平台,所以需要大家注册一个阿里云IoT平台的账号,并跟随接下来的教程,熟悉阿里云IoT平台的使用方法。 注册新用户 首先,打开阿里云IoT的首页 https://iot.aliyun.com/ 。点击右上角的免费注册,创建一个阿里云IoT的账号。 开通物联网平台 登录阿里云平台,点击右上角的工作台,即可进入阿里云控制台首页。 在左上角的工具栏中,选择产品与服务,在列表中找到物联网平台,点击进入物联网平台。 注意:如果是第一次使用物联网平台,需要开通物联网平台的服务,这个服务在数据量不多或者不进行商用时是免费的。 接下来,我们就进入了物联网平台的主页面,可以看到在页面的左侧是物联网平台的功能菜单,如下图所示。 而在本次的智能家居项目中,我们主要会用到设备管理、监控运维以及IoT Studio三个菜单中的功能。 阿里云平台管理体系 在开始制作项目之前,我们需要先来了解一下阿里云IoT平台中的设备管理体系,如下图所示。 在阿里云的物联网平台中,有项目、产品和设备三种概念,它们是一种从属关系。在物联网平台中可以创建多个项目;一个物联网项目可以包含多个产品;一个物联网产品也可以包含多个设备。在这其中,每一个项目、产品以及设备,都有自己独立的管理界面,方便我们进行调试和数据的查询。另外,需要注意的一点是,在阿里云IoT平台中,同一个设备可以从属于多个不同的产品,同一个产品也可以从属于多个不同的项目,这一点在我们进行多项目开发时,是十分便利的。 了解完阿里云平台的体系之后,接下来我们就可以开始项目的制作了。 新建项目 在物联网平台的页面左侧,选择IoT Studio -> 项目管理,点击新建项目,新建一个空白项目,如下图所示。 项目的名称,我们可以填写“智能家居”,如下图所示。 创建完成后,我们会进入“智能家居”项目的管理页面,如下图所示。 此时,我们就已经创建好了项目,接下来我们需要为这个项目添加产品和设备。 新建产品 在项目管理页面左侧的功能栏点击产品,在弹出的产品页面中选择新建产品,如下图所示。 产品的名称填写“物联网灯控”,所属品类选择“自定义品类”,其他选项默认,如下图所示。 完成后点击保存,此时我们已经在“智能家居”项目下创建了一个名为“物联网灯控”的新产品,如下图所示。 功能定义 接下来,我们需要对产品进行功能定义,这一步也叫作定义产品的“物模型”,物模型创建的过程就是通过协议描述产品的功能,定义产品有几组传感器数据,有什么控制功能,数据的类型是什么。 在产品页面,点击“物联网灯控”产品后的查看,如下图所示。 选择功能定义 -> 自定义功能 -> 添加自定义功能 ,如下图所示。 由于本次项目需要实现的目标是,通过云平台实现LED灯的开关,所以我们需要创建一个数据类型为bool类型的自定义功能(物模型)。 Ps:bool(布尔型)式编程语言的一种变量类型,布尔型变量的值只有两个,False(假)和True(真),即0和1。 所以在创建自定义功能时,我们的功能名称填写“灯工作状态”,标识符填写“LightStatus”,数据类型选择“bool(布尔型)”,布尔值0为关灯,1为开灯,读写类型选“读写”,如下图所示。 创建完成后,效果如下图所示。 新增设备 完成了产品的功能定义之后,我们需要为“物联网灯控”产品,建立一个设备,这样我们就要可以将TinkerNode 物联网开发板连接到阿里云平台了。 在项目管理页面左侧的功能栏点击设备,在弹出的设备页面中选择新增设备,如下图所示。 在弹出的窗口中,产品选择“物联网灯控”,添加方式选择自动生成,设备数量填写1,如下图所示。 到此,我们已经在阿里云平台上创建好了项目、产品和设备。 2. 硬件设备调试 驱动安装 TinkerNode NB-IoT 物联网开发板需要专用驱动程序,否则无法上传程序(无串口)或弹出微型U盘。目前仅支持Windows系统(Win7、Win10)。点击下载专用驱动程序,解压缩压缩包,双击驱动安装包341dz_sign.exe,如下图点击安装即可。 若安装驱动后,设备管理器中提示Windows无法验证此设备所需的驱动程序的数字签名,点击查看解决方案。 驱动安装好后,开发板会弹出一个容量未知的U盘,我们需要对该U盘进行格式化才能使用。如下图,右击该U盘,在弹出的菜单中单击格式化。 在弹出的窗口中,保持默认配置,卷标可以按照自己的喜好进行配置,点击开始进行格式化,整个过程大约需要20s。 格式化完毕后,可以看到一个大小约8MB的U盘,如下图所示。 安装板卡 TinkerNode NB-IoT 物联网开发板的官方开发环境为Arduino,所以我们需要在Arduino IDE中安装TinkerNode 开发板的板卡驱动包。 首先,我们需要在电脑中安装Arduino IDE,点击进入Arduino IDE官方下载链接。 安装完成后,打开Arduino IDE,添加开发板驱动的下载地址。在菜单栏中选择File -> Preferences,如下图所示。 点击Additional Boards Managers URLs右边的小图标,如下图所示。 在弹出窗口的最后一行,复制粘贴开发板的驱动地址:http://download.dfrobot.top/Tink ... e-NB-IoT_index.json,如下图所示。 分别在Additional Boards Managers URLs和Preferences窗口点击OK进行确认。 在菜单栏中选择Tools -> Board -> Boards Manager...,如下图所示。 弹出Boards Manager开发板管理器窗口,管理器会自动更新板卡信息。在更新完毕后,搜索栏中输入TinkerNode,选择TinkerNode_NB-IoT,选择最新版本的开发板驱动,点击Install安装驱动,如下图所示。 成功安装完成后,会显示“INSTALLED”,如下图所示。安装完成后,关闭该窗口即可。 此时我们可以在IDE的菜单栏中选择Tools -> Board -> TinkerNode NB-IoT(CH),选择对应的串口后,就可以向开发板烧录程序,或者查看通过串口打印的数据了。 代码调试 在Arduino IDE中,点击文件->示例->DFRobot_IoT->Bedroom_Light,如下图所示。 在样例中,我们需要进行修改的有以下四个部分: ① WiFi名称和密码的设置 将当前设备所连接的WiFi名称和密码,填写在代码中的WIFI_SSID、WIFI_PASSWORD变量值的双引号内,即下列代码所示:
② 产品标识符设置 是用户在配置产品功能的过程中,自行设置的用以标识产品的名称或符号。 进入智能家居项目,在做左侧导航栏选择产品,在产品列表中找到名为智能灯光的产品,点击查看,复制我们刚刚设置的产品标识符,如下图所示: 将该产品的产品标识符复制到代码中的Identifier变量值的双引号内,即下列代码所示:
③ 设备证书信息设置 设备证书信息,包含阿里云IoT平台分配的ProductKey、DeviceSecret,以及DeviceName。 进入智能家居项目,在做左侧导航栏选择设备,在设备列表中找到刚刚创建的设备,点击查看,可以从设备管理页面查看该设备的设备证书信息,如下图所示: 将该设备的设备证书信息分别复制粘贴到代码中ProductKey、DeviceName、DeviceSecret变量值的双引号内,即下列代码所示:
④ 发布和订阅Topic设置 是用户完成设备配置后,在阿里云IoT平台上进行发布和订阅所需要的Topic信息。 可以从设备的Topic列表中查看设备发布和订阅的Topic信息,如下图所示: 将发布和订阅的Topic信息填写在代码中对应位置,如下列代码所示:
至此,Arduino程序已经修改完成了,可以将代码上传至TinkerNode NB-IoT物联网开发板。 代码上传完成后,打开Arduino串口监视器,波特率设置为115200,可以看到WiFi和MQTT分别连接成功,如下图所示: MQTT连接完成后,可以在设备管理界面看到设备显示在线,如下图所示: 至此,我们可以在阿里云IoT平台上对该设备进行在线调试。 在线调试 在设备管理界面选择在线调试,在调试设备栏选择调试真实设备,功能选择为“灯工作状态(LightStatus)”,方法选择为“设置”。在代码框中通过修改LightStatus的值为1,并点击发送指令,即可以实现控制TinkerNode板载LED开关的功能,如下图所示: 同时我们可以在Arduino IDE的串口监视器中看到TinkerNode收到阿里云iot平台发送的调试信息,如下图所示: 同时可以看到TinkerNode板载LED,随着LightStatus状态标识符的改变而变化。 至此,我们已经建立了TinkerNode与云平台的连接,并且可以通过云平台控制TinkerNode 物联网开发板上LED的开关状态。 3. IoT Studio Web可视化页面开发 在阿里云平台中,可以进行Web可视化页面的开发,这也是IoT Studio的核心功能,我们可以通过Web可视化页面开发,开发个性化的设备控制页面。接下来,就让我们为刚刚制作的智能家居项目,创建一个Web可视化页面吧! 在智能家居的项目管理页面,在左侧的功能菜单栏选择主页,在项目开发中选择Web应用,点击新建,如下图所示。 在弹出的窗口中,可以给新建的Web应用命名,这里我们命名为“智能家居控制页面”,如下图所示。 点击确认后,进入Web可视化开发的页面,我们可以看到,上方是基础的菜单栏,左侧为功能区,中间是可视化开发的画布,右侧是属性配置区,如下图所示。 在左侧的菜单栏,选择组件,如下图所示。 选择组件后,我们可以看到出现很多功能各异的组件,有指示灯、开关、按钮、仪表盘、时钟等,在这里阿里云还专门区分出了基础和工业组件,以及更细化的变配电组件。而工业组件相比基础组件,带有了更丰富的显示功能。如果是对工业场景有一定了解的朋友,这时候应该已经大概了解了可视化页面的功能,他与PLC中的组态是十分类似的。 Ps:如果有兴趣的话,可以点击查看组态的概念。在这次的项目中,我们需要用到开关和指示灯两个组件,通过开关控制LED灯的状态,并通过指示灯显示出来。 将开关和指示灯两个组件从左侧的组件栏拖到中间的画布中,如下图所示。 点击指示灯组件,在右侧的配置栏点击配置数据源,如下图所示。 选择我们创建的“物联网灯控”产品,点击确定,如下图所示。 在设备的选项中,选择指定设备,在弹出的窗口中选择我们刚刚创建的设备,点击确定,如下图所示。 在属性选项,点击选择属性,在弹出的窗口中选择我们在产品中定义的功能(物模型)“灯工作状态”,点击确定,如下图所示。 此时我们可以点击验证数据格式,如果配置正确,系统会提示数据格式验证成功,如下图所示。 最后点击确定,完成指示灯的数据源配置。 此时我们可以在右侧的配置栏看到“已配置数据源”的提示,并且我们可以修改指示灯的展示样式,可以是颜色或者图片,这里我们选择颜色。同时,我们可以在配置栏中自行配置开关灯时,指示灯的颜色,这里我们使用默认的颜色,大家可以根据自己的习惯修改。 到此我们已经完成了指示灯的相关配置。 接下来我们要进行开关的配置,同样的点击开关组件,在右侧的配置栏点击配置数据源,执行与配置指示灯相同的操作,如下图所示。 全部完成后点击确认,完成开关组件的配置。 Ps: 开关组件也可以自行配置颜色。 至此,我们已经完成了可视化页面的开发。我们点击右上角菜单栏的预览按钮,就可以预览我们制作的可视化页面功能,进行功能调试。点击预览页面中的开关,就可以看到TinkerNode主控板上的LED和页面中的指示灯先后亮起。调试完成后,回到Web可视化开发界面,点击右上角菜单栏中的发布,如下图所示。 发布后,我们回到IoT Studio的主页,此时我们可以看到页面中多了一个名为“智能家居控制页面”的Web应用,并且发布状态已经变为“已发布”,此时我们可以点击右侧的发布地址,既可以进入该Web控制页面。 打开这个网址,我们就可以在电脑上,通过浏览器访问这个Web页面并控制TinkerNode物联网开发板上的LED灯了,最终发布页面的效果如下图所示。 另外,阿里云中也可以自行添加图片背景,大家可以自行尝试。 |
286.58 KB, 下载次数: 4645
想着简单,实际做起来各种问题不断,搞了2天,幸好看到此贴,比较详细,终于成功,谢谢!只是阿里云没有免费选项,这个对开发者不友好,唉 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed