内容正文:
第九章 智能终端与信息系统搭建
一、传感器数据采集和智能终端
1.传感器属于信息输入设备,生活中常见的传感器有声音、温度、光线、气体等传感器。
传统计算机一般没有传感器的接口,需要借助其他具备传感器接口的智能终端来实现信息的获取。而计算机和智能终端的通信一般采用COM接口或者USB接口模拟COM接口来实现。
2. BXY Python Editor是一款运行于Windows平台上的micro:bit编程IDE。MicroPython是Python的子集,专为单片机(MCU)应用领域开发定制的一种语言,即运行在单片机上的Python程序。
3.micro:bit常用控制函数
MicroPython语句
功能
temperature()
读取板载温度传感器的值
sleep()
延时函数,单位为毫秒
pin0.read_analog()/pin0.write_analog()
从pin0端口读取/输出模拟量值(0~1023)
pin0.read_digital()/pin0.write_digital()
从pin0端口读取/输出数字量值(0或1)
print()
从串口向上位机发送数据
display.show()
在点阵屏显示字符或图形
display.scroll(str,delay)
在点阵屏上滚动显示字符,delay设置滚动速度,时间越短速度越快
display.clear()
清空点阵屏上的内容
button_a.is_pressed()
判断按键a是否按下
button_a.get_presses()
获取按键a在一段时间内被的按下的次数
4.micro:bit获取环境数据
(1)代码功能,每隔1秒获取一次温度数据,当温度在18~25之间时,在LED阵列上显示笑脸,同时将测得的值串口发送给电脑。电脑上可以在软件自带的串口工具中观察到智能终端发送的数据。
二、智能终端向Flask服务器发送数据
1.智能终端代码
IOT模块根据无线网络名称和密码,尝试连接Wifi。连接成功后显示当前设备IP地址。
micro:bit板没有联网模块,需要外接IOT模块(Obloq)才能连接Wifi。此处是在初始化智能终端与IOT模块连接的引脚。
(1)智能终端与IOT模块之间数据交换,使用的也是串口。上面的代码中初始化了一个波特率为9600,pin1为RX,pin2为TX的串口。在串口协议中,TX为发送口,RX为接收口,故micro:bit与IOT模块的串口线要“对插”。具体连接如下:
(2)智能终端使用HTTP协议向服务器发送数据,HTTP中常用的有GET和POST两种请求,代码中Obloq.get表示使用GET请求发送数据,Obloq.post则表示用POST发送数据。
(3)智能终端向服务器发送数据采用JSON格式。JSON是一种轻量级的数据交换格式,它采用完全独立于语言的文本传输格式,易于阅读和编写,同时也易于机器解析和生成。假设当前测量的温度为23,智能终端向服务器发送的完整的URL:
http://192.168.0.1:8080/input?id=1&val=23
(4)Qbloq.get()方法有两个返回值,erron返回的是连接状态,正常连接时返回200,非正常可能返回404或408错误;resp接收服务器的返回值。
2.Flask服务器核心代码
1.由智能终端代码可知,数据是发送到“/input”路由。URL中的JSON格式数据通过request.args.get可以通过解析。
2.服务器判断传感器的上报数据是否符合阈值,当上报数据异常时会返回“1”,这个字符会被智能终端代码中的resp变量接收。
服务器主页面
学科网(北京)股份有限公司
$