项目简介
本项目是一个远程食品投放系统,消费者可通过手机按下按钮,将Smoothie投放到指定容器中。系统运用ESP32微控制器、Raspberry Pi、LIDAR传感器、加速度计和温度传感器等技术,实现从检测容器位置到远程投放的完整流程。
项目的主要特性和功能
- 利用LIDAR传感器和Raspberry Pi摄像头实时检测食品容器位置。
- 通过加速度计判断食品容器是否处于稳定状态。
- 借助ESP32控制伺服电机,实现远程投放Smoothie。
- 用热敏电阻实时监控Smoothie温度,确保其保持低温。
- 通过Node.js服务器和HTML页面,实时展示加速度计和温度传感器的数据。
- 在HTML页面提供按钮,用户点击即可触发投放操作。
安装使用步骤
1. 硬件准备
- 2个ESP32开发板
- 带摄像头模块的Raspberry Pi
- 伺服电机
- LIDAR传感器
- 加速度计
- 热敏电阻
- 其他必要的线缆和配件
2. 软件准备
- 用于ESP32代码编译和烧录的ESP-IDF开发环境。
- 用于搭建服务器和数据处理的Node.js。
- 确保摄像头模块正常工作的Raspberry Pi操作系统。
3. 代码配置
- ESP32代码:
food_container.c
:配置加速度计和温度传感器的数据采集,通过UDP协议将数据发送到Node.js服务器。drop_food.c
:配置LIDAR传感器的数据采集,通过UDP协议接收投放指令,控制伺服电机进行投放操作。- Node.js服务器:
- 配置UDP通信,接收来自ESP32的传感器数据。
- 配置Socket.IO,接收来自HTML页面的投放指令,并通过UDP协议发送给ESP32。
- HTML页面:
- 配置AJAX请求,实时获取传感器数据并动态展示。
- 配置投放按钮,点击后通过Socket.IO发送投放指令。
4. 系统测试
- 确保所有传感器和电机正确连接到ESP32和Raspberry Pi。
- 将
food_container.c
和drop_food.c
分别烧录到两个ESP32开发板。 - 在Raspberry Pi上启动Node.js服务器。
- 通过浏览器访问HTML页面,观察传感器数据并测试投放功能。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】