# 34-菜鸟扎堆 **Repository Path**: openeuler2020/team-1230110694 ## Basic Information - **Project Name**: 34-菜鸟扎堆 - **Description**: 这是一个笨鸟先飞 openEuler 战队 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2020-12-29 - **Last Updated**: 2022-01-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ##
室温监控系统说明书
### 一、项目背景   科技的发展最终都会普及到生产和家庭,为家庭提供更加安全、舒适的居住环境。嵌入式技术也是如此,舒适的环境之中一个最重要的指标之一便是温度。
  室内温度监控系统可以调节家中的温度让回家后的温度更符合需求,据研究,冬天人体舒适的温度为18℃至25℃,夏天为23℃至28℃,但自然的天气显然不能满足我们的要求,所以我们就有了扇子和火炉,发展到现在用一个空调就可以满足需求。但不管我们是出于节能的义务还是勤俭持家,当我们外出时空调是需要关闭的,关闭后室温会渐渐的向室外温度靠拢。当我们从室外回到室内打开空调时,空调的效果并不能马上表现出来,如果我们可以通过远程监控家中的温度,在回家之前使环境变得舒适就可以解决这个问题。

  室内温度监控系统同样可以用于智能农场,通过大棚种植,我们已经可以在想吃的时候吃到过季的蔬菜水果,但如果引入室温监控系统能创造更加适合作物生长的环境。

  本次我们采用华为最新推出的HopeEdge系统,HopeEdge 是一款基于 openEuler 的面向 Iot 全场景的边缘计算操作系统。
### 二、测试方法
  **1、模拟小屋测试**:为了方便直观的观察温度的变化,我们做了一个模拟小屋采用GY-39获取温度等信息,以及加热器和风扇配合达到室内温度监控与调节的目的。

  **2、现实室内测试**:现实环境下温度获取方面我们采用和模拟小屋相同的办法,配合树莓派控制红外遥控模块从而控制空调来达到室内温度监控与调节的目的。
### 三、整体架构及功能描述   本系统采用的是C/S模式,利用TCP/IP服务通过WIFI实时传输所测空间的温度,为了方便测试所以我们将搭载华为最新开发系统HopeEdge的树莓派3B+做为服务器端,电脑和手机做为客户端,这样我们就能通过电脑和手机同时接收到实时温度,实物连线图如下:




#### 1.手机端实时显示功能:   我们配套开发了与之对应的安卓软件,通过蓝牙和WIFI实现能在不用打开树莓派终端的情况下自动连接手机,并实时获取当前温度,湿度,气压,光照信息,而且能将这些数据绘制成折线图方便比较。 #### 2.手机端控制功能:   在我们开发的安卓软件上还具备控制树莓派解码与发射红外信号的功能,只需要将在手机上让树莓派进入学习模式,然后将遥控器对准模块按下按键就能学习到该按键的功能,从而控制空调,电视,风扇等家居来达到室内温度控制的目的。为了更直观的看到控制效果我们还制作了一个模拟小屋来模拟现实的情况,手机端能直接控制小屋的门开关,灯开关,以及窗帘;温度的控制更是采用了PID算法控制,能够更加精准和节能的控制模拟小屋的温度。 #### 3.电脑端数据存储功能:   电脑端连接后会将树莓派传过来的数据以及随机设定的温度存入MySql数据库中,并每过5分钟向树莓派发送一次随机设定的温度。 ### 四、操作指引 #### **第一步:**    树莓派3B+连接电源等待开机; #### **第二步:**   打开安卓APP,进入后界面,如下图1(左),点击左上角“”标志,进入连接菜单,如下图2(右);
         
图1 APP主菜单                    图2 连接菜单



#### **第三步** :   在SSID框内输入附近wifi热点的账号,在password框内输入wifi的密码,然后点击蓝牙连接,进入蓝牙连接界面,如下图3(左)连接名为BT04-A的蓝牙(未提前匹对需要先在未匹配框点击配对),连接成功后原理的蓝牙连接按钮会变成断开按钮,接下来点击旁边的蓝牙发送按钮,之后等待5s左右,树莓派的IP地址就会出现在IP框内,如下图4(右);
        
图3 蓝牙连接界面                  图4 成功得到IP地址



#### **第四步:**   通过上一步得到IP地址后或者在自己知道IP地址的情况下可以直接输入,然后点击WIFI连接(注意此时手机必须连在与树莓派相同的wifi下),随后会提示连接成功,如下图5(左),接着点接收按钮,主界面就会实时的显示树莓派测得的室内温度,如图6(右);
        
图5 wifi连接成功                  图6 实时接收数据



#### **第五步:**   点击主界面最下面的遥控按钮进入远程遥控界面,如下图9(左),界面上有12个独立按钮,可以点中间的编辑按钮对其进行命名,如下图10。命名之后点击中间的学习按钮再点击相应的按钮,图7(左)为正在等待学习状态,此时需要准备一个空调,电视或者其他的红外遥控器,对准红外模块按下要录入的按钮(距离模块20-50cm),红外模块红灯亮起证明录入成功,如下图8(右),再点击中间的控制按钮,按下相应的键,红外模块灯会闪烁一下证明发送成功;
     
图7 等待学习                 图8 学习成功


        
图9 遥控界面                    图10 设置按钮



#### **第六步:**   在遥控界面下面有三个开关和一个文本框是分别用来控制模拟小屋的门,灯,窗帘,温度的,开关对应着模拟小屋门,窗帘,灯的开关,如下图11,在文本框里输入相应的温度后按下确定,模拟小屋就会将屋内温度控制在设定值左右。
图11-1 开门                   图11-2 开灯


图11-3 开窗帘



#### **第七步:**   打开Ubuntu,事先再MySql中创建一个表名为data格式为   >(`time` varchar(40) DEFAULT NULL,

  >`SetTemper` int(11) DEFAULT NULL,

  >`temper` varchar(20) DEFAULT NULL,

  >`humid` varchar(20) DEFAULT NULL,

  >`press` varchar(20) DEFAULT NULL,

  >`light` varchar(20) DEFAULT NULL)

  的表,将刚刚手机的到的树莓派IP填入client.cpp第68行的inet_addr("IP"),   然后sudo ./complie.sh,再sudo ./mysql。树莓派获取的数据就会实时的存入电脑端的数据库中,并且每五分钟会随机发送一次温度控制指令。 ### 五、交付说明 #### 交付1    👉[展示视频](https://www.bilibili.com/video/BV11U4y187LJ?share_source=copy_web) #### 交付2   /log/DeliveryLog_2/*
  /data/data.txt
#### 交付3   /log/DeliveryLog_3/*