注:このプロジェクトは、Lime または関連会社によって承認またはサポートされていません。これは、あなたが所有する合法的に入手したスクーターに対してのみ行ってください。オークションなどで購入できることが多いです。
このプロジェクトの目標は、Lime Gen 3 の IoT をカスタムのものに置き換えて、独自のアプリで制御できるようにすることです。コミュニケーションについてさらに詳しく知りたい場合は、ここに送信してください。
IoT モジュールは ESP32 マイクロコントローラーに置き換えられ、アプリでスクーターを制御できるようになります。アプリは Bluetooth Low Energy (BLE) を使用して ESP32 と通信します。 ESP32 は、元の IoT の機能を置き換えると同時に、速度、バッテリー残量、その他の情報に関するリアルタイムのフィードバックも提供します。
Arduino IDE 用の ESP32 アドオンをまだインストールしていない場合はインストールします。ここにチュートリアルがあります
ライブラリマネージャーから robtillaart により crc ライブラリをインストールします。
ロック解除されたファームウェアでコントローラーをフラッシュします。
Arduino コードを LimeIoT フォルダーから esp32 にフラッシュします。
注:コントローラーは 36V を供給します。したがって、ディスプレイとesp32用に安定した5vに変換する必要があります。私は降圧コンバータとams1117を使用してそれを行いました。
ワイヤーを接続します。
コネクタ | ESP32 |
---|---|
コントローラーロック | GPIO12 |
コントローラRX | GPIO1 |
コントローラー送信 | GPIO3 |
コントローラー 36v | 降圧コンバータ -> ams1117 -> 5V |
コントローラのGND | グランド |
ディスプレイ5v | 5V |
ディスプレイGnd | グランド |
ディスプレイ送信 | GPIO16 |
ディスプレイ受信 | GPIO17 |
必要に応じて、スピーカーをGPIO 13
に接続できます。
アプリはここからダウンロードできます: App.apk
デフォルトの Bluetooth パスワードは123456789
です。 ble_security.ino ファイルで変更できます。
現在のところ Android のみと互換性があり、マテリアル ユーと互換性のある携帯電話でのみ適切に表示されます。
アプリを使用したくない、または使用できない場合は、nRF Connect (Play ストア | App Store) のような Bluetooth ターミナル アプリをダウンロードし、自分でコマンドを送信することができます。
コマンド | アクション |
---|---|
unlock | スクーターのロックを解除します |
lock | コントローラーの電源をオフにします |
unlockforever | 切断時にスクーターのロックを解除したままにします |
alarm | スクーターをビービーさせましょう(スピーカーが接続されている場合) |
コントローラーのロックを解除するには、IoT に接続されている青色のワイヤーに 3.3 V を供給し、コマンド464316610001F1F28F
を送信して電源をオンにします。電源がオンになったら、500 ミリ秒ごとにハートビート4643110100084C494D4542494B45BE8A
を送信します。コントローラーの電源をオフにするには、3.3V 電源を切り、コマンド464316610001F0E2AE
を送信します。すべてのコマンドのボーレートは9600
です。
コントローラーから IoT に送信されるコマンドは 42 バイトで構成されます。 9 バイト目は速度を表し、20 バイト目はバッテリー残量を表します。コマンドの最後の 2 バイトは CRC-16/XMODEM チェックサムです。
バイト番号 | 意味 |
---|---|
9 | スピード |
20 | バッテリー |
最後の2バイト | 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