项目简介
本项目是基于Arduino Nano和SIM800L模块的远程温控系统。借助短信(SMS)控制方式,能让用户在无互联网连接的偏远地区实现远程温度监控与控制。该系统主要用于控制锅炉等设备,在冬季农村房屋场景中尤为适用。
项目的主要特性和功能
- 短信控制:利用SIM800L模块接收和发送短信,达成远程控制目的。
- 温湿度监测:通过SHT20 I2C传感器实时监测环境的温度和湿度。
- 自定义响应:用户可依据接收到的短信内容自定义响应操作,像开关继电器、查询传感器数据等。
- 易于扩展:系统设计具备灵活性,用户能按需添加更多功能和传感器。
安装使用步骤
硬件准备
- 准备Arduino Nano、SIM800L模块、SHT20 I2C传感器以及对应的电源和连接线。
- 依照电路图连接各个硬件组件。
软件准备
- 下载并安装Arduino IDE。
- 导入必要的库文件,如
SMS800L.h
和SHT20.h
。
代码编写
- 在Arduino IDE中创建新项目。
- 复制并导入
SMS800L.h
文件: ```c++
include "SMS800L.h"
- 根据需求重写`inCycle`方法,添加自定义的控制逻辑:
c++
class MySMS : public SMSManager {
public:
using SMSManager::SMSManager;
void inCycle() {
SMSManager::inCycle();
if (strstr(this->getRowData(), TOKEN1)) {
// 自定义逻辑
this->sms(RESPONSE1, this->getNumber());
}
}
};
- 实例化`MySMS`类并配置SIM800L模块:
c++
const char * initString [] = {"AT+CMGF=1", "AT+CNMI=1,2,0,0,1", "AT+CMGDA=\"DEL ALL\"", "AT+GSMBUSY=1"};
MySMS smska(&altSerial, &Serial, initString, 5000);
- 在`loop`函数中调用`inCycle`方法:
c++
void loop() {
smska.inCycle();
}
```
上传代码
将编写好的代码上传到Arduino Nano。
测试运行
发送短信到SIM800L模块,测试系统的响应和功能。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】