3589| 5
|
[入门教程] SIoT—本地物联网平台一键秒搭 |
在《Easy Iot—简单易用的物联网平台》中,我们了解了物联网平台的概念和用途。Easy Iot是运行在互联网上的物联网云平台,如果在没有连接互联网的局域网内,它是无法使用的。那可不可以在本地局域网内自己搭建物联网服务器呢?答案是肯定的,并且非常简单,一键秒搭! SIoT是一个跨平台的开源MQTT服务器程序,支持Win10、Win7、Mac、Linux等操作系统,一键启动,无需用户注册或者系统设置即可使用。本文侧重的是其在局域网内的搭建和应用,大家还可以尝试探索其在互联网上的应用。 本文的知识点为局域网内搭建SIoT物联网服务器,以及掌控板和电脑、手机等设备在局域网内的连接和交互方法。通过实验,初步掌握物联网各个组成部分的作用及工作逻辑。 1.实验目标 (1)如何在Windows系统安装和配置SIoT平台 (2)如何在Mind+连接掌控板和SIoT平台 (3)如何在电脑上通过SIoT平台管理掌控板 (4)如何通过Mind+可视化面板管理掌控板 (5)如何在手机上通过SIoT平台管理掌控板 2.实验所需资源 硬件: (1)电脑 (2)手机 (3)掌控板 (4)数据线 本文实验所用的台式电脑为Windows7操作系统,手机为安卓系统,掌控板为V2.0版本,数据线为Type-C接口。 软件: (1)电脑安装Mind+软件 本文实验所用的Mind+软件版本为V1.8.0 RC1.0 (2)SIoT服务器程序 本文实验所用SIoT服务器程序为SIoT V2版本,下载地址为DF官方教程提供的腾讯微云下载链接: https://share.weiyun.com/6SFhgLQj 由于本实验是在Windows环境下搭建SIoT服务器,链接内的文件仅需下载“SIoT_V2_Win_test_625.zip”就行。 3.在Windows系统安装和配置SIoT平台 解压并打开刚才下载的文件夹,按照下面步骤进行操作: (1)双击“start SIoT.bat”文件,一键启动SIoT服务器 出现上图的黑色命令行窗口表示本机SIoT服务器启动成功,不要关闭命令行窗口,最小化保持运行,服务器才能正常工作。记住红色圈内的本机IP地址,这个地址需要手动设置成固定IP,否则会因为动态分配而改变,导致访问服务器失败。如果不清楚设置固定IP的方法,先停下来上网搜索,设置成功后再继续下面的步骤。 (2)通过浏览器登录SIoT服务器 在浏览器地址栏输入“http:服务器IP地址:8080”进入SIoT V2平台登录界面。初始登录账号为siot,密码为dfrobot。本次实验服务器地址为http:192.168.28.28:8080,如下图: (3)登录服务器,新添加3个主题,分别命名为“消息”、“指令”和“光线” SIoT服务器和Easy Iot平台一样,都支持MQTT协议。MQTT是一种轻量级的通信协议,专为物联网设备和网络环境设计。它采用发布-订阅模式,其中消息发布者(可以是手机,也可以是物联网设备)将消息发送到特定的主题(Topic),而消息订阅者(可以是手机,也可以是物联网设备)则订阅感兴趣的主题,以接收相应的消息。为每个主题明确发布者和订阅者的角色,编程逻辑就会更加清晰,数据也更加规范。 4. 通过Mind+连接掌控板和SIoT平台 下面进行Mind+编程,实现掌控板和SIoT平台的连接: (1)把掌控板通过数据线连接到电脑 (2)打开Mind+软件,在“上传模式”下选择新建项目 (3)点击左下角“扩展”按钮打开“选择主控板”界面,选择“掌控板” (4)在扩展“网络服务”界面,选择“MQTT”和“WI-FI”两项扩展 (5)点击“返回”回到主界面,左侧积木栏中增加了“掌控”和“网络服务”两个积木。其中,“网络服务”又包括了“MQTT”和“WI-FI”两项扩展 (6)在菜单栏中选择“连接设备”把掌控板连接到Mind+ (7)在Mind+编辑掌控板通过WIFI和MQTT协议连接SIoT平台的程序 注意:MQTT设置中的服务器地址不需要端口号,其他参数必须与SIoT平台信息对应一致。 (8)Mind+点击上传到设备,确认是否上传成功 (9)上传成功后,掌控板应该显示连接成功信息 如果未能成功显示,说明未连接成功,可以按掌控板“RESET”复位按钮重启测试。 如还未成功,请检查WIFI,MQTT信息是否正确,WIFI信号是否为2.4G网络,掌控板不支持5G网络。 还有一种情况是掌控板连接的WIFI和服务器不在同一个局域网,或者在不同的VLAN,可以从服务器上PING掌控板的IP地址判断并排除故障。 逐步排查问题并重新上传程序到掌控板,直到掌控板显示SIoT平台连接成功。 5.在电脑上通过SIoT平台管理掌控板 确认SIoT平台连接成功后,我们继续编程: (1)在Mind+添加掌控板与Topic0主题互动的程序 这段程序包括两部分,一是掌控板按下A、B键时向Topic0发送消息,另外是服务器端Topic0产生消息时,掌控板订阅并接收Topic0消息。通过这个实验,进一步了解Topic主题发布、订阅模式的工作逻辑,分析具体功能应用中,设立不同Topic主题的用途和必要性。 (2)在Mind+添加接收Topic1指令控制掌控板LED灯的程序 (3)在Mind+添加上传掌控板环境光强度数据到Topic2的程序 (4)Mind+点击上传到设备,确认是否上传成功 (5)分别按下掌控板A键和B键,查看掌控板反应;登录SIoT平台查看Topic0(siot/消息)数据 通过实验,按下掌控板A、B键的信息被成功上传到SIoT服务器Topic0主题。同时,掌控板第4行也显示了相应的按键信息。但查看Mind+程序的A、B键按下事件中,并没有在掌控板第4行显示信息的程序,这里的信息其实是通过接收Topic0消息事件程序产生的。也就是说,只要Topic0产生消息,掌控板第4行就会接收并显示。 (6)通过SIoT平台Topic0(siot/消息)发送消息,查看掌控板反应 Topic0发送“互动消息测试”,掌控板第4行成功显示,说明通过SIoT服务器,平台和终端可以相互发送文本消息,实现对话互动。 (7)通过SIoT平台Topic1(siot/指令)发送消息,掌控板LED灯随着“on”或“off”指令打开或关闭 (8)通过SIoT平台Topic2(siot/光线)查看Topic2接收到的光线数据 至此,掌控板和SIoT平台实现了连接,在掌控板WIFI网络正常的情况下,你可以在局域网内任何可以登录SIoT平台的电脑上控制和查看掌控板数据。 6.如何通过Mind+可视化面板管理掌控板 通过登录SIoT平台发送和查看消息的方式管理掌控板,并不够方便和直观。Mind+从1.8.0版本开始增加数据可视化面板,通过添加组件和绑定topic的方式,实现接收或者发送数据,实现直观的呈现和管理物联网数据。 (1)从Mind+界面打开“可视化面板” (2)在弹出的“项目管理”界面,新建一个叫“掌控板”的项目 (3)在掌控板项目点击“编辑”进入设置窗口,输入SIoT服务器IP地址完成设置 (4)在可视化界面显示连接成功后,即可进行物联网可视化控件编辑。操作前,先参考官方教程来了解下Mind+可视化界面 可视化界面说明:可视化界面非常简洁,与Mind+编程界面类似,顶部是菜单栏,左侧为组件栏,中间编辑区,右侧设置栏。 可视化组件包括4大类: ·基础组件:包括常用的交互类组件,收/发MQTT数据。 ·显示组件:主要为各种显示效果的组件,接收MQTT发过来的数据。 ·图表组件:主要为各种图表类型的组件,从数据库拉取一段数据并显示出来,注意MQTT发送的消息需要保存到数据库(QOS1)才能被图表组件显示出来。 ·装饰组件:无数据收发功能,主要是静态装饰作用,用来辅助界面设计,例如可以使用静态图片组件插入一张设计好的背景图让整个界面更美观。 可视化界面基础操作: ·从组件栏拖出组件到编辑区即为添加组件,从编辑区将组件拖回组件栏即为删除组件。 ·在编辑区空白处按住鼠标右键可以拖动画布。 ·点击编辑区或组件,在右侧设置栏即可设置对应属性。 (5)根据本文的实验需求,添加“开关”、“输入框”、“单行文本”、“折线图”4个组件到面板 (6)点击不同的组件,在右侧设置栏进行设置,设置内容为标题和Topic,其他设置不变 开关按钮标题命名为“LED灯开关”,关联“siot/指令”Topic 输入框标题命名为“发送消息”,关联“siot/消息”Topic 单行文本标题命名为“按键信息”,关联“siot/消息”Topic 折线图标题命名为“环境光强度”,关联“siot/光线”Topic (7)设置完成后,将组件移动到自己觉得美观的位置,开始连接掌控板进行测试 测试前建议按掌控板“RESET”键重启一下掌控板。 点击“LED开关”查看掌控板LED灯是否响应; 按压掌控板A、B键,查看“按键信息”是否显示; 在“发送信息”框发送信息,查看掌控板是否收到信息; 查看“环境光强度”折线是否自动更新。 7.在手机上通过SIoT平台管理掌控板 没有找到SIoT的手机APP或者小程序,目前只能通过手机连接局域网WIFI,通过浏览器访问SIoT的方式查看和管理物联网数据,并不是很直观和方便。 针对手机应用不方便这个问题,后面我们将探索开发手机APP或者小程序进行物联网应用的方法,让物联网应用更加自由和便捷。 8.完整Mind+程序和下载地址 下载地址:https://gitee.com/inventara/Arduino |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed