(共27张PPT)
第4章 信息系统的搭建实例
浙教版(2019版) 信息技术(高中)
4.2 搭建信息系统
必修2 信息系统与社会
1、硬件搭建
2、软件开发
学习目标
重点:硬件搭建
难点:软件开发
重难点
课堂导入
信息系统的搭建主要包括硬件搭建和软件模块选择或编写两方面。硬件是信息系统建立的基础,它的技术指标决定了信息系统的运行速度、可靠性、适用范围、可维护性等软件是控制信息系统运行的中枢,主要包括操作系统、数据库管理系统和在这些系统基础上开发出来的应用软件。
4.2.1 硬件搭建
1.服务器
服务器为信息系统中的用户提供服务,如应用程序的处理、访问数据库管理系统、打印服务等。
2.网络设备
通过网络来完成数据的传递。网络设备主要包括交换机、路由器、网、双绞线、光缆等。
3.传感设备和智能终端
传感设备是信息系统中重要的输入设备,也称传感器,主要负责检测,将感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出。智能终端包括输人、处理存储和输出四个部分。智能终端的大部分功能需要依靠各种传感器来实现
室内环境实时监测系统的硬件选择
硬件选择
micro:bit主板、扩展板、模块、温度传感器、蜂鸣器模块和服务器。
服务器选择
可用SQLITE 或mysql
网络设备选择:
图4.2.1 IoT模块
IoT模块有四个针脚,分别为Vcc、Gnd、TX和RX。其中TX和RX可以连接在Pin0~Pin2任何两个口,但是 micro:bit的代码中要进行相应的定义。如uart.init(baudrate=115200, bits=8, parity=None, stop=1, tx=pin2,rx=pin1),这表示TX接到Pin2口,RX接到Pin1口,串口波特率是9600。
智能终端选择:
micro:bit既支持传感器的采集,也支持对LED、蜂鸣器之类的执行模块的控制。micro:bit上已经自带了LED点阵屏,只需要另外接一个温度传感器、蜂鸣器和IoT模块即可。
表4.2.1 智能终端的引脚分配情况
图4.2.2 接上扩展板的micro:bit
图4.2.3 通过扩展板连接其他模块
表4.2.2 详细设备清单
4.2.2 软件开发
1、数据管理设计
(1)数据采集
数据采集是利用一种或多种装置,从系统外部采集数据并输入系统内部一个接口的过程。常见的数据采集方法有:键盘输入、利用光电设备采集数据、多媒体输入、网络传送、磁盘输人等。在“室内环境实时监测系统”中,数据采集主要依靠各种传感器来完成。
(2)数据传输
数据采集好后,通过传输介质传送到服务器进行加工处理和存储。常见的传输介质分为有线和无线两种。有线介质包括双绞线、同轴电缆和光缆;无线介质包括微波、卫星、超短波和短波信道等。“室内环境实时监测系统”中,智能终端到Web客户端可以采用USB线缆,也可以采用蓝牙,Web客户端则一般采用wiFi,将数据传送到Web服务器。
(3)数据存储
文件、数据库、云存储是数据存储的常见方式。文件使用较为简单,方便程序自定义格式;数据库性能优越,方便查询,可以加、解密,以及跨平台应用等;通过网络可以把采集到的数据实时传输到数据处理中心进行存储及处理。
(4)数据呈现
气泡图
漏斗图
GIS地图
词云
“室内环境实时监测系统”的数据管理设计
客户端以HTTP的协议,通过GET或者POST的形式提交数据。如/input id=1&val=22.5,表示传感器编号为1,数值为22.5。
服务器端可以保存特定传感器的所有记录以供后期分析。数据传输格式采用JSON(JavascriptObjectNotation),基于HTTP传送。JSON是一种轻量级的数据交换格式,它采用完全独立于语言的文本格式,易于阅读和编写,同时也易于机器解析和生成。返回的数据分为两层,“ sensorid”为传感器编号,“ value”为返回传感器的值和时间。
表4.2.3 数据库基本表
拓展:
在 Python中使用 Sqlite数据库
在 Python中,使用 Sqlite数据库的基本操作有:
1.连接 Sqlite数据库
连接 Sqlite数据库的语句是 connect。
如conn=sqlite3.connect('test.db'")
这行代码用于连接到一个现有的数据库" test. db"。如果数据库不存在,将新创建一个数据库,最后返回一个数据库对象。
2.创建 Sqlite表
创建 Sqlite表的语句是 create table。
如create table students( name text, area text, id int)
这行代码用于创建一个名为“ students”的 Sqlite表,该表中包括三个字段:
字段名 数据类型
name text
area text
id int
3.插入记录
插入记录的语句是 insert into。
如insert into students(name,area, id) values (“lisi‘, Hangzhou’, 18)
这行代码用于在" students”表中插入一条如下所示的新记录
在 Python中,对 Sqlite的操作还有查询记录( select)、删除记录( delete)、更新记录( update)等,方法与“插入记录”类似。
字段名 name area id
值 Lisi Hangzhou 18
问题与讨论
“室内环境实时监测系统”需要实时采集并记录室内环境的各种数据,时间长,数据库将越来越庞大。采集的时间间隔设置为多少比较合理 在一天里室内环境的很多数据其实不会有太大的变化,将相同的数据记录在数据库,会浪费数据库的空间,那么有没有更好的解决方案
2、程序编写
信息系统中的软件开发涉及服务器端程序和客户端程序。一个服务器端程序,往往面向众多客户端提供数据服务。具体程序要看架构模式。BS结构一般只写服务器端程序,如网站,只需完成服务器端程序,浏览器就是客户端程序,不用再写,使得部署、更新更加容易;CS结构服务器端程序和客户端程序都要写,类似QQ、网游等。
“室内环境实时监测系统”的程序编写
1、服务器端程序
图4.2.5 网站框架示意图
表4.2.4 网站功能页面规划表
1. micro:bit支持使用语音合成功能,即可以输出语音提示,比蜂鸣器更加人性化。查找相关资料,并实现这一功能。
2.系统的范例代码中,仅仅上传了环境温度的实时监测数据。如果要同时监测环境的湿度,硬件应该如何接入,代码应该如何修改
3.试着为自选的信息系统设计并调试代码。
思考与练习
小 结
1、硬件搭建
2、软件开发
3、程序编写
THANKS
“
”