物联网技术应用第6章物联网技术综合案例.docx
文本预览下载声明
;6章物联网技术综合案例
■ ■■
■ T1
学习目标
完成本章学习后,要求掌握如表所示的内容:
本单元的要求
|知识|
能力
物联网软件系统常见功能
了解
比较熟练
常见物联网软件系统开发环境
掌握 熟练
网关和客户端通信方式及原理
理解
使用MySQL实现数据存储和管理 的基本方法
比较熟练
使用PyCharm开发智能网关的基 布法
熟练
使用Android Studio开发安卓客
户立而的基本方法
熟练
第6章综合案例
6.1功能概述
6.2功能实施
6.3本章习題
6.1功能概述
实现一个简易智能家居系统,可以在移动端
APP中监控室内温湿度、二氧化碳、气压、光照强 度及室内人数等情况,并可以控制空调温度,可以 根据外部光照强度及屋内是否有人实现自动开关灯
光,还可以查看历史数据。
6.1
6.1功能概述
基于Python的智能网关
|基TAndroid的客户端
接收并解析仿真数据源的数据
接收并解析网关发来的数据
将数据处理后发送给客户端
将数据处理后显示在界面上
接收客户端发来的指令
向网关发送指令
将接收到的数据存入MySQL数据库
将接收到的数据存入SQLite并在历 史数据贞面中显示
将接收到的指令存入日志文件
6.2功能实施
6.2.1 环境酉H置需求
6.2.2智能网关实现
623客户端实现
624运行情况
6.2.1环境配置需求
?安装配置PyCharm
?安装配置Android Studio
?安装配置MySQL
?准备仿真数据源
6.2.2
6.2.2智能网关实现
6.2.2
6.2.2智能网关实现
在PyCharm中新建工程,工程名为gateway6 ,在其中 的venv文件夹中新建gateway6.py文件。
? 2.接收仿真数据源的数据
仿真数据源一次传送6个传感器的数据,格式为json格式字 符串,样例如为:
{”0200”:”5”,“0700”:”2”,“0100”:”53”,”0600”:”5”,“0300”:”102“ ,” 0000“:“23“}。
传感器类型
|数量
最小值
最大值
单位
编号
温度
1
20
30
O
0000
湿度
1
30
70
%
0100
光照强度
1
0
10
级
0200
气压
1
99
103
kPa
0300
C02
1
2
6
%
0600
人体红外
1
0
3
个
0700
? 2.接收仿真数据源的数据
用i n酒己置文件来存储i p地址等可变信息。
在gateway6\venv文件夹新建config.ini文件。中括号内的为 section值,每行为一个键值对,等号左边为键,右边为值。 [gateway]
ip=06
resourceport=10068 clientport=10067 db=gateway dbuser=root
dbpwd=password user=admin pwd=pwd
? 2.接收仿真数据源的数据
定义read_config函数用于读取config.in酒己置文件。
import configparser
def read_config():
cf = configparser.ConfigParser()
cf.read(config.ini)
ip = cf.getCgateway, ip)
source_port = cf.getjgateway, sourceport1) client_port = cf.get(gateway,clientport1) db = cf.getCgateway1, db)
dbuser = cf.getCgateway, dbuser)
dbpwd = cf.getCgateway1, dbpwd)
return ip, source^port, client_port, db, dbuser, dbpwd
? 2.接收仿真数据源的数据
定义get_data_from_datasource函数从数据源获取数据存 放在全局变量data_from_source中。
import socket
import time
data_from_source =
def get_data_from_datasource(ip/ source_port):
while True:
global data__from_source
s = socket.socket(socket.AFJNET, socket.SOCK_STREAM)
s.connect((ip, int(source_port)))
s.sendfbfindXn1)
data_from_source = s.recv(4096).decode(lutf-8,1)
print(get:‘ + data-from_s
显示全部