项目简介
本项目构建了一个基于Arduino的应用程序,借助无线方式把加速度计测量的不同方向加速度数据传输至接收设备,存储到数据库。之后通过API获取数据来训练K - means聚类算法,再将训练好的模型导入Arduino,实现对加速度计指向的实时预测。
项目的主要特性和功能
- 无线数据传输:采用433 MHz的无线发射器和接收器,结合RadioHead库,达成Arduino与Raspberry Pi间的无线数据传输。
- 数据存储与访问:用Python编写TCP客户端程序从数据库服务器获取CSV文件,通过Python脚本执行SQL查询并将结果保存为CSV文件。
- K - means聚类算法:在Python中实现K - means算法,识别加速度数据中的聚类,并把结果导入Arduino。
- 实时预测:在Arduino上实现算法,依据新测量的数据点预测加速度计的指向。
安装使用步骤
环境准备
- 安装Arduino IDE并配置好Arduino开发板。
- 安装Python 3.x,确保安装
pandas
、numpy
、scikit - learn
等必要库。 - 安装Linux操作系统并配置好Apache服务器。
代码下载
从项目仓库下载源码文件。
Arduino代码编译与上传
打开arduino_main/arduino_main.ino
文件,编译并上传到Arduino开发板。
Python脚本运行
进入python
目录,运行k_means.py
脚本进行数据聚类分析;运行tcp_client.py
脚本从数据库服务器获取数据。
服务器配置
在Linux系统上配置Apache服务器,确保防火墙允许相关端口的流量;使用Wireshark进行服务器流量分析。
数据导入与实时预测
将K - means算法的结果导入arduino_main/centerpoints.h
文件;重新编译并上传Arduino代码,实现实时预测功能。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】