# AirControllerApi **Repository Path**: lyc0209/air-controller-api ## Basic Information - **Project Name**: AirControllerApi - **Description**: Remote air controller by raspberry pi - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-12-03 - **Last Updated**: 2021-01-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AirController 一个远程空调遥控器 ## 需要 1. 树莓派4B (Raspberry Pi OS with desktop Release. date: August 20th 2020. Kernel version: 5.4) 2. 红外接收模块 HS0038B 3. 红外发射模块 TSAL6200 4. 温湿度模块 DHT11 5. 光敏传感器 6. 空调遥控器 7. 空调 8. 一台具有公网ip的服务器,用于内网穿透(树莓派已经有公网ip可忽略) ## 简介 1. 本项目用于嵌入式系统开发技术大作业,实际价值可能不高。 2. 用户可通过app在任何地方控制宿舍、家里的空调 。 3. 用户可查看当前宿舍、家里环境温湿度 ## 原理 1. 通过红外接收模块 HS0038B将空调遥控器所有的信号记录到树莓派配置文件`testaircon.lircd.conf`中(项目中已提供奥克斯空调的配置文件,其他信号的空调可自行配置,下文有教程)。 2. 通过红外发射模块 TSAL6200将事先记录下的遥控器信号模拟发射出去,即可完成空调遥控。 3. 通过Flask在树莓派搭建后台服务,实现app控制空调。 ## 使用 1. 复制代码 ```bash cd ~/project git clone https://gitee.com/lyc0209/air-controller-api.git cd air-controller-api chmod +x start.sh ``` 2. 安装依赖库 ```bash pip3 install -r requirements.txt ``` 3. 添加定时任务 ```bash crontab -e ``` ```bash # 每隔5分钟获取一次传感器数据并写入sqlite3数据库 */5 * * * * python3 ~/project/air-controller-api/Tool/Sensor.py >> ~/project/air-controller-api/Tool/out.txt # 开机自启动flask服务 @reboot bash ~/project/air-controller-api/start.sh ``` 4. 如果使用树莓派4B,需要修改```Adafruit_DHT```库 ```bash sudo vim /usr/local/lib/python3.7/dist-packages/Adafruit_DHT/platform_detect.py ``` 可能该库没有对树莓派4B提供支持 在末尾添加判断: