注意:該項目未獲得 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