物联网ppt

时间: 2023-06-17 admin 文学

物联网ppt

物联网ppt

身体部位英语-推荐信出国留学

2023年3月20日发(作者:思想政治理论课)

技术与应用*********************

为SIoT写一个物联网设备管理插件

谢作如浙江省温州中学

SIoT是一款简单易用的

MQTT服务器软件,也是“虚谷物

联”项目的核心软件之一。SIoT不用

安装,也不用注册、设置,一键运行

后,其他物联网设备(如掌控板)按

照一定的规范接入即可正常使用。

正因为这一点,SIoT得到创客教师

们的热捧,成为中小学物联网教学

的重要支撑软件。

但是,能不能用SIoT做一个真

实的物联网项目,如智慧农场、校园

气象站、门禁系统等?我们会发现,

功能实现并不难,但管理设备不太

方便。SIoT毕竟是通用的MQTT服

务器,在线设备管理之类的功能,

只能自行开发,这样难度就有点大。

因而,我冒出一个大胆的想法:能不

能为SIoT编写一个插件,让这个通

用的MQTT服务器变成可以商用的

物联网系统管理平台?

为SIoT编写网页插件的可

行性分析

作为SIoT开发团队的成员,我

对SIoT的原理还是比较清楚的。

SIoT运行后,会启动两种网络服

务:一是MQTT服务,作用是处理

MQTT消息;二是Web服务,用来运

行Web管理页面,实现在线管理。

具体工作流程如图1所示。

SIoT是一款绿色软件,主目

录下文件夹“static”中存放的是

SIoT的Web管理页面,如下页图2所

示。需要强调的是,SIoT的Web管

理页面和SIoT服务器之间是利用

WebAPI的方式交互数据的。也就

是说,和我们传统的动态网站开发

方式不同,Web管理页面并不是去

读数据库,而是发送特定的Web请

求,SIoT再返回相应的数据,实现

页面管理功能。这种软件设计能够

将不同的网络服务隔离,开发效率

更高。

用记事本打开“static”中的

HTML文件,如“”,

在源代码中可以看到其使用了目

前最热门的Web前端框架技

术,如下页图3所示。前端页面设计

和后端数据隔离,是现在最主流

的Web开发模式。那么,思路就呼

之欲出了:只要在SIoT的管理页面

上,按照既定的API规范,就能实现

我们预设的功能了。如果同样采用

编写,那和现有的Web页面

结合更加紧密。对于曾经开发过多

个网站的资深网管来说,编写这样

的页面,技术上不算太难。

SIoT的API功能简介

我曾经在SIoT的文档中,提

供过一个有趣的范例,即在PPT和

Doc中插入超链接,就能通过SIoT

控制掌控板的开灯、关灯,甚至可以

图1 SIoT的工作流程

生活·技术·探索

85APR.2021NO.07

技术与应用*********************

86中国信息技术教育

和Mind+中的角色互动。这一功能

的实现,其实就是利用了SIoT提供

的WebAPI。只要通过浏览器访问

特定的地址即可。

地址:SIoT的IP:8080/

publish?topic=xzr/001&msg=on

&iname=siot&ipwd=dfrobot。

这里的“SIoT的IP”指运行

SIoT的电脑IP地址,iname和ipwd

要替换为SIoT的用户名和密码。

那么,SIoT究竟提供了哪些

API?打开SIoT的使用文档,在“高

级操作技巧”的“”部分,

可以看到具体的WebAPI清单,如

右表所示。

SIoT文档地址:siot.

/

“智慧农场”管理插件的

编写

我准备利用SIoT来开发一个

学校智慧农场的项目。这个项目事

先定义了物联网协议MQTT的各

种细节,如每个物联网终端节点的

名称为“sf”加局域网IP地址的尾

号,终端上的传感器或执行器模

块,用连接的引脚编号来命名,如

a0、d2。这样一来,每一个模块都

有唯一的TopicID,如“sf88/a0”表

示名称为“sf88”的终端上的设备

“a0”。

其中,“a0”接光线传感器,

“a1”接土壤湿度传感器,“d2”接

电磁阀。这个插件的作用是,将所有

的终端信息显示在一个页面上,并

能够用网页按钮的方式进行浇水,

图2 SIoT的文件目录

图3 文件的代码

                      SIoT的WebAPI一览表

类别格式说明

发送消息

/publish?topic=xzr/001&msg

=on&iname=siot&ipwd=dfro

bot

向topicid(主题)“xzr/001”发送

内容为“on”的消息,其中“xzr”

是项目id,“001”是设备id

获取最新数据

/lastmessage?topic=xzr/001&i

name=siot&ipwd=dfrobot

获取topicid(主题)“xzr/001”

的最新一条消息

获取消息列表

/messages?topic=xzr/001&in

ame=siot&ipwd=dfrobot&pn

um=1&psize=10&begin=2019-

04-04&end=2019-07-01

获取topicid(主题)“xzr/001”

从“2019-04-04”到“2019-07-

01”的数据。其中时间可以省略

删除消息

/clearmsg?topic=xzr/001&ina

me=siot&ipwd=dfrobot

删除topicid(主题)

“xzr/001”的所有消息

获取项目列表

/projects?iname=siot&ipwd=

dfrobot

一个项目中包含多个设备

更新项目

/updateprj?pid=xzr&iname=s

iot&ipwd=dfrobot&desc=科学

测量

将名称为“xzr”的项目的备

注修改为“科学测量”

获取设备列表

/devices?pid=xzr&iname=siot

&ipwd=dfrobot

返回项目名称为“xzr”的设备列表

更新设备

/updatedev?pid=xzr&dname=

001&iname=siot&ipwd=dfrob

ot&desc=台灯控制

将项目名称为“xzr”、设备

名称为“001”的设备,备

注修改为“台灯控制”

删除设备

/deldev?topic=xzr/001&inam

e=siot&ipwd=dfrobot

删除名称为“xzr”的项目

技术与应用*********************

送一个内容为“1”的消息(如图5)。

第三步:效果测试

运行SIoT,打开Web管理端,

即可看到多了一个名为“智慧农场”

的栏目。点击后,就会看到所有的

设备都列出来了,在一个表格中显

示了最新的光照和土壤湿度数据。

点击“浇水”按钮,就能给相应的

TopicID发送消息。

插件编写给“虚谷物联”

带来了新玩法

这个“智慧农场”插件一经展

示,就赢得了很多教师的好评和关

注,有希望提供开发教程的,也有

提出新的需求的。毫无疑问,这种

开发插件的形式,给“虚谷物联”带

来了新拓展思路。例如:编写一个

校园气象站的插件,在一个页面上

呈现最新的温度、湿度、光照、风

向、风速等信息;编写一个会议室

门禁管理插件,可以远程开门,可

以遥控空调,还可以显示摄像头画

面;等等。

我始终认为,只有在真实的情

境中应用,创客作品的制作、STEM

项目的研究才显得更有价值。给

SIoT编写插件的最重要意义在于,

将技术门槛降低了,物联网技术的

应用显得越来越简单,开发真实应

用不再困难。目前,SIoT的开发人员

已经准备在下一版优化代码,让编

写插件的技术难度变得更低。到那

个时候,相信会有更多的中小学智

慧校园系统中,运行着中小学生自

主编写的各种智能应用。

图4 “”中修改后的代码

图5 代码

也就是给“sf88/d2”的TopicID发

送特定的消息。

第一步:新建网页

复制“”文

件,重命名为“”。然

后在“modules”文件夹中,也将

“”文件复制一份,改名

为“”。当然,每一个页面上

都要做好超级链接,这些都是最基

础的工作,不再赘述。

接下来,需要修改“sfarm.

html”文件。核心工作是修改

“”和“”

之间的内容。当然,这要求懂一点

HTML语法和。我也是边读

教程,边请教身边的专家,然

后照猫画虎写的,如图4所示。

第二步:编写js代码

设计好网页后,最难的工

作肯定是编写js代码。因为需要

写的内容有点多,这里重点介绍

“sendMsg_af”的函数。这是供

“”上的按钮来使用

的。如何实现“浇水”?其实就是发

87APR.2021NO.07