# 赛博魔杖_V851s_BMI088_Keras
> 注:立创平台会自动将链接转为新标签页打开,目录跳转功能失效
目录:
+
一、项目说明
+
二、开源协议
+
三、项目相关功能
+
四、项目属性
+
五、项目进度
+
六、设计原理
+
七、软件说明
+
八、硬件说明
+
九、设计注意事项
+
1、下载固件
+
①、魔杖固件
+
②、开灯器固件
+
2、组装
+
①、魔杖组装
+
②、开灯器组装
+
3、蓝牙连接
+
①、模块连接模块
+
②、模块连接手机
+
4、使用
+
十、实物展示
+
十一、其他
## 一、项目说明
本项目创意性地将哈利波特地魔杖与人工智能结合到了一起,不需要云端的参与,魔杖自身就能对手势进行识别与处理。
效果演示视频:[BiliBili-@方便面没叉子-赛博魔杖](https://www.bilibili.com/video/BV1Vg4y1e7wm)
## 二、开源协议
GPL 3.0
## 三、项目相关功能
识别输入的手势,可遥控开灯开空调以及开原神;
您可以参照开源代码仓库训练精度更高(当前准确率为 92%),可识别字符(当前为字母 A~Z,数字 0~9)更多的模型;
本魔杖使用蓝牙串口透传模块通信,您可以参照代码仓库中的通信协议自行扩充本魔杖功能以及依此协议开发其他蓝牙终端,以达到遥控更多带有蓝牙的终端设备的目的。
## 四、项目属性
本项目为首次公开,为本人原创项目。项目未曾在别的比赛中获奖。
## 五、项目进度
项目已完成。
> 项目更新记录:
+ 2024年1月24日 下午 16点 :本文初稿完成
+ 2024年1月28日 晚上 23点 :更新 B 站视频地址
+ 2024年2月1日 中午 12点 :迁移本项目至星火计划
## 六、设计原理
使用 全志V851s 运行自己训练的 Keras 模型,先对手势进行识别;
通过魔杖上的蓝牙透传模块,可将识别数据发送到带有蓝牙的终端上,手机、电脑也可接收相应数据。
## 七、软件说明
软件构成:使用 Keras 训练手势识别模型,转为 TFlite 模型,再通过谷歌提供的 TFlite C API 运行模型,由于此运行方法已经实现,暂不打算完成使用全志提供的 NPU 接口运行模型的方法。
以下是软件仓库顺序,点击蓝字链接跳转:
+ [bmi088 获取挥棒手势数据](https://gitee.com/TiX233/bmi088-get-har-data)
+ [Keras 挥棒手势识别模型训练](https://gitee.com/TiX233/keras-wand-model)
+ [V851s 赛博魔杖](https://gitee.com/TiX233/v851s-cyber-wand)
+ [蓝牙控制的简易舵机开关灯装置_HLK-B40](https://gitee.com/TiX233/BLE_Lights_controller)
+ [原神蓝牙安卓启动器](https://gitee.com/TiX233/genshin-launcher-android)
## 八、硬件说明
基础硬件:全志 V851s,BMI088,HLK-B40;总成本约 80 元
硬件设计参考:[Yuzukilizard 柚木PI 迷你 AIoT 开发板](https://oshwhub.com/gloomyghost/Yuzukilizard)
## 九、设计注意事项
### 1、下载固件
#### ①、魔杖固件
> 在工程附件中可下载固件文件,
> 将 TF 卡通过读卡器连接电脑,
> 使用全志提供的 PhoenixCard 软件,
> 按下图步骤下载固件到 TF 卡中
![固件下载](//image.lceda.cn/pullimage/rnOpavcujNvPJZCvXqQGDVyI8PgVQLrfCw496x8A.jpeg)
固件下载完成后插入 TF 卡槽中,魔杖初次开机需要约半分钟,非初次约 8 秒时间开机
正常开机会闪三下灯,然后进入陀螺仪初始化,期间会亮灯,也就是说会亮 4 次
如果开机很久都没闪灯,请重启或检查硬件,
还可插入数据线连接电脑,重启魔杖并使用 MobaXterm 查看串口打印信息以确定原因
注意,本魔杖 Type-C 口`正反插`分别为 USB-OTG 和 串口,请插上去后查看电脑驱动以确定哪一方向为串口。
#### ②、开灯器固件
在代码仓库下载源码自行编译或直接下载固件,
请参考 STC 51单片机程序下载具体方法,此处不赘述
### 2、组装
#### ①、魔杖组装
> 在工程附件中可下载外壳 3D 文件,按下图方式嵌入电路板及电池
![内部构造](//image.lceda.cn/pullimage/RAslxsXmsfetVgVr8gcAy37EKPvN1DUq4oKek4SL.jpeg)
#### ②、开灯器组装
> 在工程附件中可下载开灯器支架 3D 文件,
> 按下图组装开灯器,注意红外头需引出
![开灯器](//image.lceda.cn/pullimage/71J3dmw64PS8C0WuutSdf35fLLf6bVw4gzXFEXEz.jpeg)
> 不觉得很酷吗,科技并带着乐趣😋
### 3、蓝牙连接
以上操作完成并正常开机后,就可以尝试连接蓝牙了
#### ①、模块连接模块
> 使用海凌科官网提供的 HLK-B40 软件连接到蓝牙模块,
> 按照下图内容修改参数设置
![模块连接模块的参数配置](//image.lceda.cn/pullimage/64hDmltsfg2wikZbde6uu83VxYkZLqytkDEffKCY.jpeg)
上图是魔杖的蓝牙模块配置,开灯器的蓝牙模块配置图略,魔杖和开灯器一个作主机一个做从机就行了
#### ②、模块连接手机
> 使用海凌科官网提供的 HLK-B40 软件连接到蓝牙模块,
> 按照下图内容修改参数设置
![模块连接手机的参数配置](//image.lceda.cn/pullimage/fVtBIxtzsG3BpO2hKMulS5Rbs6rKYky8SgW1oaUf.jpeg)
上图需要注意的点为透传相关 UUID,三个 UUID 需要改成同一个才能和手机 APP 正常通信,否则手机只能连接模块但无法收发数据
> 在代码仓库下载源码自行编译或直接下载 apk,
> 手机 app 需要打开权限,否则无法正常使用
![app.jpg](//image.lceda.cn/pullimage/7p7iw9lZ7mV4uhewgirgifn6IDuuGg9JHdTIwUaL.jpeg)
此 APP 不联网,定位权限是使用蓝牙的前提,不会泄露您的任何信息
### 4、使用
详细手势输入请参考附件 手势表.txt,此处不赘述
## 十、实物展示
[BiliBili-@方便面没叉子-赛博魔杖](https://www.bilibili.com/video/BV1Vg4y1e7wm)
## 十一、其他
螺丝尺寸:M3*6