# WeatherSystem **Repository Path**: qq356179407/WeatherSystem ## Basic Information - **Project Name**: WeatherSystem - **Description**: 基于51单片机的气象信息采集系统 - **Primary Language**: C - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2020-07-02 - **Last Updated**: 2021-01-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 气象信息采集系统 ## 需求概述 利用合适的传感器,采集温湿度、气压、位置信息,处理后由云端储存。用户可通过关注微信公众号查看数据。 ## 下位机部分 下位机为51单片机系统。 ### 解决方案 气压传感:BMP180(I2C方式) 温湿度传感:DHT11(单总线方式) GPS:待定(串口方式) 数据传输(WLAN):ESP8266(串口方式,3.3V) 稳压(5V-3.3V)AMS1117 数据显示:LCD1602(并行通信方式) ### 技术难点 - OLED屏幕的控制较为困难 - GPS芯片与WLAN芯片均使用串口,应合理分配两设备使用串口的时间 - 使用51控制ESP8266芯片实现HTTP请求较为困难 - 代码长度可能会超出51的内存大小 ## 服务器部分 服务器为C#编写的程序,基于.net core。服务器一方面处理下位机发送的数据,另一方面处理用户通过微信公众号的请求 ### 解决方案 服务器:需租用免备案服务器(微信API需开放80端口),系统使用Ubuntu Server 服务器与下位机间通讯:采用UDP方式进行通信,传递自定义格式的数据帧 数据存储:MySQL数据库 微信公众号服务:HTTP方式,根据微信公众平台的文档进行开发 ### 技术难点 没有什么难点 # 气象信息采集系统开发记录 - 2019.8.2:概念整理,明确产品功能及需求 - 2019.8.7:创建工程框架及代码仓库,明确服务端为Ubuntu + .Net Core - 2019.8.9:确认下位机与服务器间通信为UDP方式,开始调试ESP8266模块 - 2019.8.11: - 小组成员第一次正式会面(一人因事缺席) - 确定串口拓展采用分时方式 - 确定下位机显示使用LCD1602+按键的方式 - 初步决定下位机不具有自主设置Wifi连接的方式,若技术和时间允许,开发配套程序进行修改 - 确定开赛前主要任务为git的学习 - 初步确认分工 # 系统开发分工 - 李卓强 - 负责项目统筹规划,项目成员间的协调工作 - 负责服务端程序的编写 - 负责代码Review,提出修改意见 - 李晓鹏 - 负责显示部分 - 负责下位机程序的整体逻辑 - 吕游 - 负责串口Wifi模块和GPS模块的调试及驱动 - 负责串口分时的电路设计及程序 - 刘慕珂 - 负责温湿度传感器及的调试及驱动