注意:该项目未得到 Lime 或任何附属公司的认可或支持。仅在您拥有的合法获得的踏板车上执行此操作!您通常可以在拍卖会上购买它们。
该项目的目标是用定制物联网取代 Lime Gen 3 的物联网,这样我们就可以用我们自己的应用程序来控制它。如果您了解有关通讯的更多信息,请在此处提交。
IoT 模块被 ESP32 微控制器取代,使我们能够使用我们的应用程序控制滑板车。该应用程序使用低功耗蓝牙 (BLE) 与 ESP32 进行通信。 ESP32 取代了原有 IoT 的功能,同时还提供速度、电池电量等信息的实时反馈。
如果您还没有安装 Arduino IDE 的 ESP32 插件,请安装它。这是一个教程
通过 robtillaart 从库管理器安装 crc 库。
使用解锁的固件刷新控制器。
将 arduino 代码从 LimeIoT 文件夹刷新到 esp32。
注意:控制器为您提供 36v 电压。所以你必须将其转换为稳定的5v用于显示器和esp32。我已经使用降压转换器和 ams1117 完成了它。
连接电线:
连接器 | ESP32 |
---|---|
控制器锁 | 通用输入输出口12 |
控制器接收 | 通用输入输出口1 |
控制器发射端 | 通用输入输出口3 |
控制器36v | 降压转换器 -> ams1117 -> 5V |
控制器接地 | 地线 |
显示5v | 5V |
显示接地 | 地线 |
显示发送 | 通用输入输出口16 |
显示接收 | 通用输入输出口17 |
如果需要,您可以将扬声器连接到GPIO 13
。
您可以在这里下载该应用程序:App.apk
默认蓝牙密码为123456789
。您可以在 ble_security.ino 文件中更改它。
目前仅在 Android 上兼容,并且仅在兼容 Material You 的手机上看起来不错。
如果您不想/不能使用该应用程序,您可以下载一个蓝牙终端应用程序,例如 nRF Connect(Play Store | App Store)并自行发送命令:
命令 | 行动 |
---|---|
unlock | 解锁踏板车 |
lock | 关闭控制器 |
unlockforever | 断开连接时保持滑板车解锁 |
alarm | 让滑板车发出蜂鸣声(如果已连接扬声器) |
要解锁控制器,请向连接到 IoT 的蓝线提供 3.3V 电压,并发送命令464316610001F1F28F
为其供电。上电后,每500ms发送一次心跳4643110100084C494D4542494B45BE8A
。要关闭控制器电源,请切断 3.3V 电源并发送命令464316610001F0E2AE
。所有命令的波特率为9600
。
控制器向物联网发送的命令由 42 个字节组成。第9个字节代表速度,第20个字节代表电池电量。命令的最后两个字节是 CRC-16/XMODEM 校验和。
字节数 | 意义 |
---|---|
9 | 速度 |
20 | 电池 |
最后两个字节 | CRC-16/XMODEM 校验和 |
46 58 0C FF 00 22 11 00 00 40 00 00 41 3F 60 42 00 FF 44 64 52 00 61 F1 80 00 00 72 01 5C 01 59 82 00 00 00 00 E0 00 00 0A B3
波特率: 115200
校验和: width=8 poly=0x31 init=0x0a refin=true refout=true xorout=0x00 check=0xc1 residue=0x00
下表显示了发送到显示器的命令中字节的已知含义:
字节 | 意义 |
---|---|
12 | 状态(见下文) |
14 | 电池 |
16-17日 | 速度 |
最后一个字节 | 校验和 |
字节 | 地位 |
---|---|
21 | 扫描乘车 |
22 | 不可用 |
23 | 已暂停 |
24 | 锁定 |
25 | 完毕 |
26 | 收费 |
31 | 驾驶 |
41 | 低电量驾驶 |
42 | 驾驶警报 |
43 | 开车禁止停车 |
44 | 开车不骑车 |
45 | 驾驶最高速度 |
51 | 升级中 |
4C 42 44 43 50 01 10 11 00 09 01 31 01 1E 02 00 CD 01 00 9A
您可以使用以下命令关闭红色 LED: 4C 42 44 43 50 01 10 1B 00 08 03 00 00 00 03 00 00 00