早上吃完早饭去浙大图书馆主馆逛了一圈,终于见识到了传说中的自习区域墨水屏幕,确实很高级,如果这个座位被人预约了,屏幕上会显示预约人的姓名和预约时间!之前的基础图书馆里面很少有计算机相关的书籍,没想到新开的主馆里弥补了这个缺憾。

我上午看了一本arduino编程相关的书籍,对蓝牙和wifi模块很感兴趣,书中对这两个模块的使用只是举了一个很简单的例子,连接的都是arduino开发板的串口收发口,可以实现手机与arduino串口监视器的通信。

书中最后举了一个智能温室大棚的例子,我一直不太理解怎么实现手机远程控制arduino端的传感器。中午请教了一下康康,梳理了一下大致流程:arduino板连接wifi模块,接入校园网,向服务器发送传感器数据,可以存入txt文件或数据库中,手机或网页端通过服务器获取到传感器的数据,可以每隔1s请求一次数据。

上位机:指可以直接发送操作指令的计算机或单片机,一般提供用户操作交互界面并向用户展示反馈数据。

下位机:指直接与机器相连接的计算机或单片机,一般用于接收和反馈上位机的指令,并且根据指令控制机器执行动作以及从机器传感器读取数据

上位机给下位机发送控制命令,下位机收到此命令并执行相应的动作。
上位机给下位机发送状态获取命令,下位机收到此命令后调用传感器测量,然后转为数字信息反馈给上位机。
下位机主动发送状态信息或报警信息给上位机。

我一直困惑间隔1s请求一次数据,是否会在网页上看到数据刷新时的闪烁,为了解决这个困惑,康康建议我写个简单的网页测试一下,每个1s获取一下当前的时间。经实践测试,人眼并不会看到数据刷新时的闪烁。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>

</head>
<body>
<div id="time-now">

</div>
<script>
setInterval(function (){
$('#time-now').text(new Date())
}, 1000)
</script>
</body>
</html>

参考文章