admin 管理员组文章数量: 1086019
2024年3月19日发(作者:async组织)
软件打茨与龛用
信
China
Computer
18
与电
&
Communication
16
2020
年第
22
期
基于物联阿平台的实训环境监控系统的设计与实现
许浒周志坚
(
无锡商业职业技术学院
,
江苏无锡
214000
)
摘
要
:
本文实现了实训室物联网平台数据发布系统的设计开发
,
在实验实训环境中配置了检测环境的温度
、
湿度
传感器
,
使用树莓派作为网关对
GPIO
口采集实训环境数据
,
通过
Django
web
框架设计服务器设程序实现与树莓派网关
数据通信
,
利用浏览器网页和微信小程序可以实时监控实训室环境的相关数据
,
保障正常的工作环境.
关
键词
:
物联网
;
MQTT;
树莓派
;
传感器
;
微信小程序
中图分类号
:
TP391.44
;
TN929.
5
文献标识码
:
A
文章编号
:
1003-9767
(
2020
)
22-114-03
Design
and
Implementation
System
Based
of
on
Practical
Internet
Training
of
Things
Environment
Platform
Monitoring
XU
Hu,
ZHOU
Zhijian
(Wuxi
Vocational
Inst
让
ute
of
Commerce,
Wuxi
Jiangsu
214000,
China)
Abstract
:
This
paper
realizes
the
design
and
development
of
the
data
release
system
of
the
Internet
of
things
platform
in
the
training
room,
and
configures
the
temperature
and
humidity
sensors
to
detect
the
environment
in
the
experimental
training
environment,
Raspberry
pie
is
used
as
the
gateway
to
collect
training
environment
data
from
GPIO
port.
Through
Django
web
framework,
the
server
is
designed
to
realize
data
communication
with
raspberry
pie
gateway.
The
relevant
data
of
training
room
environment
can
be
monitored
in
real
time
by
using
browser
web
page
and
applet
to
ensure
normal
working
environment.
Keywords:
Internet
of
Things;
MQTT;
Raspberry
pie;
sensor;
applet
0
引言
或网页端发送指令给网关树莓派
,
控制空调的运行状态
,
从
目前
,
众多高校为了满足各专业教学的需求
,
建设了大
而达到控制环境状态数据的目的
,
减少实训环境异常对实验
量实验实训室
21
。
以笔者所在单位为例
,
每个教学部门都拥
实训设备产生的影响
。
实验实训物联网平台的整体架构如图
有多个机房和专业实验实训室
,
寒暑假过后
,
实训设备或多
1
所示
。
或少存在电路问题或网络通讯问题
。
主要存在以下问题
:
①天
气异常
、
极端气候增多
,
不通风造成实验实训环境异常
,
设
备接口氧化
;
②假期期间
,
实验实训场所无人值守
,
设备仪
器关闭
,
再加上暑假期间的湿度高
,
对实验仪器设备产生了
一定的影响
,
在开学初开机故障频频发生
。
1
系统设计
图
1
实验实讽物联网平台的整体架构
针对以上问题设计实验实训环境物联网平台
,
该系统包
使用树莓派连接温湿度传感器
,
负责采集数据
,
使用一
含
3
个部分
,
分别为终端传感设备
、
中间网关设备
、
后端服
个发光二极管模拟空调的运行状态
,
WEB
网页和微信小程序
务器
。
终端温湿度传感器与中间网关采用树莓派设备
,
后端
无法直接与网关树莓派进行数据通信
,
所以树莓派将采集到
发布控制平台
。
树莓派结合温湿度传感器对实训实验环境数
的环境数据发布到
mqtt
服务器上供相关的客户端订阅
,
如图
据定时进行采集
,
管理人员通过微信小程序客户端或
WEB
2
所示
。
微信小程序订阅
mqtt
服务器的主题
,当接收数据后,
端实时了解实训实验环境数据
,
并根据实际情况通过小程序
实时显示在界面上
。
作者简介
:
许浒
(
1981
—
)
,
男
,
江苏建湖县人
,
本科
,
讲师
。
研究方向
:
计算机网络
。
114
信息与电
2020
年第
22
期
China
Computer
&
Communication
H
获件打茨与疝用
首先连接
MQTT
服务器
,
订阅主题
setData
(
该主题的
内容由小程序提供)
,
根据传过来的信息
,
调用
led_on
或者
led_off
方法
,
改变发光二级管的工作状态
。
下面加粗的代码
图
2
软硬件结构图
即订阅主题
,
on
message
方法负责处理主题内的信息
。
示例
代码如下
:
2
系统实现
系统实现主要完成
3
部分
:
①树莓派采集数据并发布到
def
on_message(client,
userdata,
msg):
MQTT
服务器;
②微信小程序
/Django
服务器端订阅
MQTT
if(==
J
setData'
):
服务器数据
;
③创建
MQTT
服务器(可以使用云服务厂商提
status
=
(
'utt8'
)
供的服务
,
也可以自行搭建)
。
if(status=='
on
,
):
2.1
温湿度模块设计
_on()
环境监测采用温湿度模块
DHT11
传感器,
有较好的可
else:
靠性和稳定性
。在温湿度数据采集过程中一定要严格遵守数
_off()
据时序
,
获取数据后要进行校验避免数据出错
,
否则将无法
正确读取温湿度数据
。
client
=
(protocol=3)
import
as
GPIO
me_pw_set(
"admin"
,
"password
”
)
def
getdhtQ:
client,
onconnect
=
onconnect
age
=
onmessage
#
按时序读取传感器信息
,
校验后返回温度和湿度
t(host=
192.168.31.150^^
,
port
=
61613,
keepalive=60)
return
temperature+temperature_point/10.0,humidity
(l)
本机读取的数据如下
,
温度是
31.8
湿度是
91,
读
ibe(
“
setData
”
)
取时间为
2020
年
7
月
12
0,
如图
3
所示
。
client,
loopfore
ver()
|
pi@raspberrypi:
*
2.4
温湿度数据发布模块
文件
(F)
编辑
(E)
查看
(V)
捜索⑸终端
(T)
帮助
(H)
该模块主要将温湿度数据发布到对应主题
(
pi@raspberrypi
:
'
$
python
Wsd
.
py
getData
)
上,
(31.8,
91)
小程序读取该主题内容
,渲染到小程序界面上
。
导入编写的
图
3
脚本读取温湿度
温湿度模块和发光二极管模块
,
示例代码如下
:
2.2
发光二极管模块
import
as
mqtt
发光二极管模块用于设置发光二极管的开与关
,
并能读
import
time
取开关状态。
导入模块
gpiozero,
设定好
GPIO
引脚信息,
import
sys
控制二极管的开与关
。定义
3
个方法
,
分别用来点亮
、
关闭
#导入编写的温湿度模块
和获取状态
,
示例代码如下
:
import
wsd
from
gpiozero
import
LED
#
导入编写的发光二极管模块
from
time
import
sleep
import
led
led
=
LED(24)
#
创建
mqtt
客户端
def
led_on():
client
=
(protocol=3)
()
#
设置用户名和密码
def
led_off():
me_pw_set(
''admin"
,
"password")
()
#
连接
mqtt
服务器
def
get_status():
t(host=
192.168.31.150^^
,
port
=
61613,
return
lit
keepalive=60)
while
True:
2.3
空调控制模块
try:
空调控制模块用于模拟空调的开与关
,
主要接收小程序
t,
h
=
_dht()
发送的开关指令
,
进而控制发光二极管的工作状态来模拟空
status
=
str(led.
get_status())
.
Io
wer()
调的工作状态
。
#
设置要发布的数据
115
腴件什茨与恚用
信慝与电脑
China
Computer
&
Communication
2020
年第
22
期
data
=
“
{
”
wddata
”
:
”
+str(t)+
”
,
”
sddata
”
:
”
・
♦•
・
♦
令
13:
+str(h)+
”
,
”
status'
”
:
”
+str(status)+
”
}
”
我的腹
TT
56
34*
(B
1
>
模拟器
・•・
©
#
将数据发布到
getData
主题中
,
供其他客户端
订阅
client.
publish(topic=^^
getData
”
,
payload=data,
聾
26.1
聾
93
qos=0)
设音卫
]
[
]
[
gsaw
]
I
设蔺下孩
#
延时
10
秒
,
即每
10
秒发布一次数据
设备曰志
2020/07/16
13:48:29:
接收到温度数据
:
26.1,
湿滾数摇
:
93
(lO)
2020/07/16
13:47:36:
接收到温度数据
:
26.3,
;
惡数据
:
93
2020/07/16
13
:
47;25:
接收到温度数据
:
26/
舷数据:
93
except
RuntimeError:
图
5
利用小程序监控温湿度
(O)
3
结语
2.5
服务器端和微信小程序功能实现
本文介绍了基于物联网平台的实验实训环境数据监控
服务器端既要实现与网关树莓派之间的通信
,
还要提供
控系统的设计与实现
,
后续还可以对出入控制等相关应用作
可视化
Web
界面的人机接口。
利用
Django
框架实现
Web
端
后续开发
。
该系统能够通过
mqtt
协议传输数据和指令
,利
环境数据的可视化
,
利用微信小程序实现手机端环境数据的
用可视化方式展示环境数据
,
为管理人员管理提供依据
,
可视化
,
如图
4
、
图
5
所示
。
服务器端主要通过
mqtt
协议与
后续可以在预警机制上实现多元化进一步设计
,
满足更多的
树莓派网通信
,
使用
hbmqtt
模块实现数据和指令的传输
。
管理需求
。
目前
,
实验通信平台搭建在自搭的服务器上
,
通
微信小程序功能实现主要通过
websocket
连接
mqtt
服
讯连接也是自己维护的
,
简单的内部网络应用肯定不存在问
务器
,
为了提高效率
,
设计过程中借助
github
上的
mqttjs
库
题
,
但通信实际上都是基于互联网的
,
出于稳定性和安全性
文件连接
mqtt
服务器
。
与上面的
mqtt
客户端类似
,
在小程
的考虑
,
可以选择成熟的物联网平台(比如阿里云或者腾
序中同样完成连接
、
订阅
、
发布等功能
。
连接使用的方法是
讯云
)。
connect,
订阅使用的方法是
subscribe
,
发布使用的方法是
publish,
处理订阅的消息方法是
message
o
开空调和关空调
按钮的实质是在
setData
主题中发布控制信息
,
该信息会被
订阅的客户端处理
,然后控制发光二极管的亮与暗
。
参考文献
当日温湿度
[1]
刘雄飞
,
聂伟
,
陈浩
,
等•基于云计算平台的室内环境
监测系统设计与实现
[J].
传感器与微系统
,2019,38
⑶
:92
・
95.
50
----------------------------------------------------------------------------------------------------------------------------------------
[2]
孙占鹏
,
李佳
,
欧文.多传感器室内环境监测系统
[J].
30----------------------------------------------------------------------------------------------------------------------------------------
传感器与微系统
,2017(1):87-90.
20
_
j
_
j
~
3
—
4
~~
5
~
6
~
7
~
8
―
9
~~
10
11
12
13
14
15
16
17
18
19
20
21
21
[3]
李忠成.基于无线传感器网络的环境监测系统研究与
♦
(%)
图
4
利用
Web
监控温湿度
设计
[J].
计算机测量与控制
,2008,16(7):929-931,958.
116
版权声明:本文标题:基于物联网平台的实训环境监控系统的设计与实现 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1710830141a575251.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论