1.设计要求
可以检测农业大棚中的温度、湿度、气压、光照等信息,可以检测土壤湿度,可以判断当前有没有下雨,能够将相关数据显示在OLED屏幕上。同时,使用esp8266wifi模块,将上述所有信息发送到手机APP显示。当温度、湿度、光照等数据不在规定范围内时,手机APP上提示报警信息!
2.方案设计
1.单片机
单片机直接使用普中开发板。
51单片机指的是Intel公司(后来被英特尔收购)推出的一款经典的8位单片机,型号为Intel 8051。它是一种高性能、低功耗、易于编程和广泛应用的单片机芯片,常用于嵌入式系统和各种电子设备的控制中。
下面是51单片机的一些特点和功能:
1. 8位CPU:51单片机使用8位CPU,具有较强的计算和控制能力。
2. 集成外设:51单片机内部集成了CPU、存储器、定时器、串口、I/O口等多种外设,方便开发和应用。
3. 体积小巧:51单片机芯片体积小,便于嵌入式系统的设计和应用。
4. 低功耗:51单片机在工作时功耗较低,适合电池供电的应用场景。
5. 存储容量:51单片机通常具有较大的存储空间,可用于存储程序和数据。
6. 软硬件资源丰富:51单片机有大量的相关资料和开发工具,支持各种编程语言和开发环境,易于学习和使用。
在应用方面,51单片机广泛用于各种领域,例如家电控制、工业自动化、汽车电子、智能家居、电子玩具等。开发人员可以通过编程来控制51单片机与外部传感器、执行器等设备进行通信和控制。
2.ESP8266
esp8266使用nodemcu。
NodeMCU 是一款基于 ESP8266 Wi-Fi 模块的开源 IoT 开发平台,其名字源自来自 NodeMCU 团队的 Node-Microcontroller 单词组合。NodeMCU 提供了一种简单而实用的方式来利用 ESP8266 模块进行物联网项目开发,支持 Wi-Fi 连接和编程。
以下是 NodeMCU 的一些特点和功能:
1. **基于 ESP8266 模块**:NodeMCU 使用 ESP8266 Wi-Fi 模块,具有高性能、低功耗和强大的无线连接功能。
2. **开源平台**:NodeMCU 是一个开源的硬件和软件平台,用户可以自由获取其设计图纸和固件源代码,进行定制开发。
3. **支持 Lua 编程**:NodeMCU 主要使用 Lua 脚本语言进行编程,通过简单的脚本代码即可实现各种 IoT 应用。
4. **丰富的 GPIO**:NodeMCU 提供了丰富的 GPIO 管脚,方便连接各种传感器、执行器和外部设备。
5. **易用性**:NodeMCU 提供了简便的开发环境和 API,使得用户可以快速上手进行物联网项目开发。
6. **支持 OTA(Over-The-Air)固件更新**:NodeMCU 支持通过无线网络实现固件的远程更新,方便在线升级设备。
NodeMCU 可以用于许多 IoT 应用,如智能家居控制、传感器数据采集、远程监控等。开发者可以利用 NodeMCU 快速搭建原型并部署到实际应用中。
3.GY-39
该传感器可以检测温度、湿度、气压、光照、海拔等数据,非常强大。
4.OLED
本次使用IIC接口的0.96寸OLED显示数据。
OLED 模块是一种使用有机发光二极管(OLED)作为显示元素的显示模块。OLED 技术相比于传统的液晶显示(LCD)具有许多优势,如更高的对比度、更广的视角、更快的响应速度和更低的功耗。OLED 模块通常用于各种电子设备中,如智能手表、智能手机、电子书阅读器、可穿戴设备等。
以下是 OLED 模块的一些特点和功能:
1. **无背光**:OLED 模块不需要背光,它的每个像素都是一个发光二极管,可以直接发光,这使得OLED显示具有更高的对比度和更广的颜色范围。
2. **高分辨率**:OLED 模块具有高分辨率,可以呈现细致、清晰的图像和文字。
3. **快速响应**:OLED 模块响应速度快,可以实现流畅的视频播放和动态效果。
4. **薄型轻便**:OLED 模块由于不需要背光灯,结构更简单,可以做得更薄更轻。
5. **低功耗**:OLED 模块在显示黑色时不需要消耗能量,因此在显示黑色画面时功耗较低,适合节能设备。
6. **强视角特性**:OLED 模块具有更广的视角范围,而且在不同角度观看时几乎没有颜色偏移。
OLED 模块可以是单色的(如单色蓝、单色白)也可以是全彩的,同时支持显示图像、文字甚至视频。开发者可以通过控制OLED 模块来实现各种用户界面设计和信息显示需求,同时也可以通过OLED 模块为电子产品增添时尚和科技感。
5.土壤湿度模块
土壤湿度传感器是一种用于测量土壤湿度水分含量的传感器。它通常被用于农业、园艺或其他土壤湿度监测应用中,帮助用户判断土壤湿度状态并进行相应的灌溉控制。
以下是土壤湿度传感器的一些特点和功能:
1. **测量土壤湿度**:土壤湿度传感器可以测量土壤中水分的含量,从而判断土壤是否湿润或干燥。
2. **精准度高**:传感器具有较高的测量精准度,能够提供准确的土壤湿度数据。
3. **多种类型**:土壤湿度传感器有多种类型,包括电阻式(如针式或片式传感器)、容性式和频域反射式等,可以选择适合不同应用场景的传感器。
4. **易于安装**:传感器通常具有简单的安装设计,可以轻松插入到土壤中。
5. **数字或模拟输出**:一些土壤湿度传感器提供数字输出(如 I2C 或串口)或模拟输出,方便与微控制器或其他设备进行连接和数据读取。
6. **环境适应性**:一些土壤湿度传感器具有良好的环境适应性,能够在不同温度、湿度和土壤类型下正常工作。
通过使用土壤湿度传感器,用户可以实时监测土壤湿度变化,并根据需要进行相应的灌溉控制,以达到节水和植物健康生长的目的。传感器的输出数据可供决策支持系统使用,以制定合理的灌溉计划和管理措施。
6.雨量传感器
雨量传感器是一种用于测量降雨量的传感器。它通常用于气象观测、水资源管理、洪涝监测和环境监测等应用中,帮助人们了解和记录降水情况。
以下是雨量传感器的一些特点和功能:
1. **测量降水量**:雨量传感器可以准确测量单位面积内降水的数量,通常以毫米(mm)为单位。
2. **高精度**:传感器具有较高的测量精度,能够提供准确的降水量数据。
3. **多种类型**:雨量传感器有多种类型,包括基于机械原理的翻斗式(tipping bucket)传感器、压电式传感器和光纤传感器等。
4. **实时监测**:传感器可以实时监测降水情况,提供连续的降水数据。
5. **抗干扰能力强**:雨量传感器通常具有抗干扰能力,能够在风、雪等干扰因素存在的情况下正常测量。
6. **易于安装**:传感器通常具有简单的安装设计,可以固定在合适的位置,如气象站、屋顶或塔架等。
7. **数据记录和传输**:雨量传感器可以将测量到的降水数据记录下来,并可通过数字输出(如串口或 Modbus)或模拟输出传输给数据采集设备或计算机。
通过使用雨量传感器,人们可以及时了解降水情况,用于监测气候变化、水文水资源管理以及洪水预警等。降水数据还可以用于农业灌溉和水资源规划等领域的决策支持。
3.接线方式
NodeMCU的串口和单片机串口相连。如下图。
GY-39 SDA----> 单片机 P3.7
GY-39 SCL----> 单片机 P3.6
OLED SCL-----> 单片机 P1.4
OLED SDA-----> 单片机 P1.3
土壤湿度模拟量输出口------>普中开发板的XPT2046模拟量输入口IN3
雨量传感器----->单片机 P1.0
4.成果展示
(有些数据为0,是因为我在测试的时候没有装上传感器,手头上没有)
5.注意事项
关于nodeMCU相关开发步骤,MQTT云服务器相关,以及手机APP相关知识,可以前往我的专栏——ESP8266进行学习。代表作:
ESP8266智能家居(2)——8266发布数据到mqtt服务器-CSDN博客https://blog.csdn.net/guangali/article/details/136239403
6.源代码
51单片机+esp8266+手机app的智能家居资源-CSDN文库https://download.csdn.net/download/guangali/88866328?spm=1001.2014.3001.5503
内含51单片机端代码 nodeMCU端代码, Android studio端代码
(虽然名字叫智能家居,但是实现的功能是本节文章的功能)