Skip to content

Latest commit

 

History

History
34 lines (22 loc) · 1.77 KB

README.md

File metadata and controls

34 lines (22 loc) · 1.77 KB

天空之傲--BLE HID版

原理

恕鄙人能力有限,无法通过乐高编程实现HUB本身对HID设备的模拟。

单单是技术研究就研究了整整一个月,几乎所有时间都在研究micropython BLE HID协议实现,期间甚至还刷了2版不同版本的固件,最终都没有达成想要的效果。所以不得不通过ESP中转。

此版本无需PC端代码。

乐高HUB运行代码,启动蓝牙,广播自身状态数据。

ESP实现蓝牙双连:连接乐高并获取乐高数据,映射为HID协议数据格式;同时模拟成HID设备(如鼠标)连接主机(PC、手机等),并实现转发乐高数据到主机。

使用方法

~~ HUB.pyESP32.py Python代码分别为乐高代码、ESP32代码,请将代码上传至对应设备中 ~~

  • 在SPIKE PRIME HUB中执行HUB.py代码
  • ESP32目录中所有文件放到ESP32中,入口程序为lego_repeater.py
  • boot.py中所有注释打开,则为ESP32开机自启动
  • 游戏按键映射在game_map.py,可自行调整
  • lego_repeater.py实现蓝牙双连接、内部协议数据翻译等。simulate_hid_device.py实现模拟鼠标和手柄设备。

启动顺序:

  • 乐高先启动,启动后自动进行蓝牙广播,等待被搜索连接
  • ESP32启动,将自动连接乐高,双方建立连接后,乐高上的图标将发生变化
  • 在主机(Windows、Linux、安卓等)搜索蓝牙设备,与天空之傲配对

功能

  • 乐高直接用电池供电。ESP32使用线缆供电即可。运行时所有设备都不用有线连接到电脑。
  • 鼠标模拟功能:乐高上下左右晃动映射鼠标指针移动,左右键点击,外接电机映射滚轮。
  • 手柄等更多功能看代码就行,并且代码非常灵活,可以自己扩充。