上QQ阅读APP看书,第一时间看更新
3.2 模块介绍
本项目主要包括手柄数据采集模块、树莓派游戏实现模块、云服务器数据存储模块和移动端数据展示模块。下面分别给出各模块的功能介绍及相关代码。
3.2.1 手柄数据采集模块
本部分包括手柄数据采集模块的功能介绍及相关代码。
1.功能介绍
手柄数据采集模块整合了Arduino开发板、JY901传感器、摇杆按键、HC-05蓝牙模块、直流电机振动模块。采集JY901姿态角度数据和摇杆按键数据,通过HC-05蓝牙模块发送给树莓派,并对相应的按键操作给出直流电机振动反馈,电路如图3-4所示。
图3-4 手柄数据采集模块连线图
2.相关代码
3.2.2 树莓派游戏实现模块
本部分包括树莓派游戏实现模块的功能介绍及相关代码。
1.功能介绍
树莓派端利用Python的Pyserial蓝牙串口模块接收数据,将接收到的JY901和按键摇杆数据进行对应动作解析,利用Python的Pygame进行编写,对体感动作做出相应的游戏,游戏画面通过OLED显示器输出,游戏结束时,通过WiFi将数据上传至云服务器。同时,通过按键映射将蓝牙手柄单独作为游戏外设使用,适配Windows平台。元件包括树莓派和OLED显示屏。
2.相关代码
1)蓝牙通信
2)体感弹球游戏
3)滑雪游戏
4)外星人入侵游戏
5)坦克大战游戏
6)体感射击游戏
7)体感跑酷游戏
3.2.3 云服务器数据存储模块
本部分包括云服务器数据存储模块的功能介绍及相关代码。
1.功能介绍
接收树莓派发送的游戏数据,服务器后端采用Node+Express+Mysql构建数据库,采用Javascript语言编写。
2.相关代码
1)Server.js
2)APP.js
3.2.4 移动端数据展示模块
本部分包括移动端数据展示模块的功能介绍及相关代码。
1.功能介绍
移动端数据展示模块使用PHP+HTML5+CSS+JavaScript语言,采用Bootstrap框架、jQuery、ECharts库编写完成数据可视化。