Skip to content

Latest commit

 

History

History
184 lines (117 loc) · 9.73 KB

File metadata and controls

184 lines (117 loc) · 9.73 KB

MeshCore JP ファームウェア

jirogit/MeshCore の日本向けビルドです。
ARIB STD-T108(920MHz帯)準拠の LBT(Listen Before Talk)実装 を含みます。

本家 meshcore-dev/MeshCore へのPR #2218 がマージされるまでの、日本ユーザー向け暫定ビルドです。


📥 ファームウェアのダウンロードと書き込み

最新リリース → Releases ページ

デバイス MCU Radio ファイル 書き込み方法
WisMesh Tag nRF52840 SX1262 RAK_WisMesh_Tag_companion_radio_ble-jp-v*.uf2 ✅ UF2ドラッグ&ドロップ
T1000-E nRF52840 LR1110 t1000e_companion_radio_ble-jp-v*.uf2 ✅ UF2ドラッグ&ドロップ
T-Echo Lite nRF52840 SX1262 LilyGo_T-Echo-Lite_companion_radio_ble-jp-v*.uf2 ✅ UF2ドラッグ&ドロップ
XIAO nRF52840 nRF52840 SX1262 Xiao_nrf52_companion_radio_ble-jp-v*.uf2 ✅ UF2ドラッグ&ドロップ

両デバイスとも MCU は nRF52840 のため、どちらのフォーマットでも書き込めます。
初心者には .uf2(ドラッグ&ドロップ)を推奨します。


⚠️ 送信できる文字数について

本ファームウェアはARIB STD-T108準拠のLBT実装により、送信できるメッセージ長が本家より短くなります

チャットアプリ側は本家の上限(DM: 150バイト、グループチャット: 139バイト)を表示しますが、実際に送信できる上限は設定(コーディングレート)によって異なります

コーディングレート DM上限 グループチャット上限 日本語の目安(約3バイト/文字)
CR4/5 64バイト 64バイト 約21文字
CR4/6 48バイト 48バイト 約16文字
CR4/7 32バイト 39バイト 約10〜13文字
CR4/8 24バイト 29バイト 約8〜9文字

コーディングレートは自分のデバイスだけで設定するもので、CRの情報はパケットのヘッダーに含まれるため、ネットワーク内の他のデバイスの設定を変える必要はありません。

電波ノイズが多い環境(秋葉原など都市部)では CR4/8 を推奨します。電波環境が良い場所では CR4/7、CR4/6 なども使えます。数字が小さいほど送れる文字数が増えます。

DMとグループチャットで挙動が異なります:

  • DM — 上限を超えるとエラーになり送信されません。アプリ側にエラーが表示されます。
  • グループチャット — 上限を超えると超えた部分がサイレントに切り落とされて送信されます。送信者には通知されません。

グループチャットの追加注意: ペイロードにはデバイス名が デバイス名: メッセージ の形式で含まれます。デバイス名が長いほど、本文として送れる文字数が少なくなります。デバイス名は短めに設定することを推奨します。


WisMesh Tag (RAKwireless+MOKOSMART / MCU: nRF52840 / Radio: SX1262) の書き込み手順

必要なもの

  • WisMesh Tag本体
  • USB-Cケーブル(データ転送対応のもの)
  • PC(Windows / Mac / Linux)

手順(UF2 — 推奨)

1. ファームウェアをダウンロード
Releasesページから RAK_WisMesh_Tag_companion_radio_ble-jp-v*.uf2 をダウンロード。

2. ブートローダーモードに入る
WisMesh Tagのリセットボタンをすばやく2回押す(ダブルクリック)。
PCにUSBドライブとして表示されればOK(ドライブ名は環境により異なります)。

3. ファームウェアを書き込む
ダウンロードした .uf2 ファイルをそのドライブにドラッグ&ドロップする。
自動的に再起動して完了。


T1000-E (MCU: nRF52840 / Radio: LR1110) の書き込み手順

必要なもの

  • T1000-E本体
  • USB-Cケーブル(データ転送対応のもの)
  • PC

手順(UF2 — 推奨)

1. ファームウェアをダウンロード
Releasesページから t1000e_companion_radio_ble-jp-v*.uf2 をダウンロード。

2. ブートローダーモードに入る
ボタンを押し続けながら、磁石式充電ケーブルをすばやく2回、接続・切断する(磁石をくっつけて、はなす、をすばやく2回繰り返す)。
緑色LEDが点灯し続け、PCに T1000-E という名前のUSBドライブが表示されればOK。
※ この操作はすばやく行う必要があります。何度か試す必要がある場合があります。

3. ファームウェアを書き込む
ダウンロードした .uf2 ファイルをドライブにドラッグ&ドロップする。
自動的に再起動して完了。

リピーター / ルームサーバーの初期設定

CR4/8(デフォルト)でのリモート管理について

日本向け設定(SF12/BW125/CR4/8)では、コンパニオンアプリからLoRa無線経由でリピーターを設定・管理するのは、通信時間が長くなるため、かなり困難です。
初期設定は USB 接続を推奨します。

以下のウェブ設定ツールにUSBで接続して設定してください:
👉 https://meshcore.co.uk/configurator/

CRの設定について

クライアント・リピーター両方を CR4/5 に設定することで、LoRa経由のリモート管理が実用的になります。CR4/8のままでは応答が遅くタイムアウトしやすいです。

初期パスワード

リピーター・ルームサーバーの管理者パスワードのデフォルトは password です。必ず変更してください。

リピーターの発見

リピーター側からadvertを送信していなくても、コンパニオンアプリの Tools → Discover Nearby Nodes から検出できます。


⚠️ 日本での法的地位について

T1000-E (Seeed Studio)

T1000-E は 工事設計認証(技適)を取得しています(認証番号:217-252754、Seeed Technology Co., Ltd.、2026年1月7日)。ただし認証の対象は以下の純正ファームウェアに限られます:

  • SenseCAP Card Tracker(LoRaWAN版)
  • SenseCAP Card Tracker T1000-E for Meshtastic

本リポジトリのMeshCoreカスタムファームウェアを書き込んだ場合、工事設計が変わるため技適の対象外となります。電波法上、免許不要で使用できる根拠を失います。

WisMesh Tag (RAKwireless+MOKOSMART)

WisMesh Tagの日本向け技適取得状況は現時点で確認できていません。


カスタムファームウェアを日本で使うには

技適対象外の機器を日本国内で電波を発射して使用するには、実験試験局の免許(電波法第4条第3号)が現実的な選択肢です。総務省の電波利用ポータルから申請できます。

このファームウェアは 技術検証・実験用途を主な想定 としています。実際に電波を発射して使用する場合は、利用者自身が電波法を確認し、適切な手続きを行ってください。このリポジトリの作者は、利用者による電波法上の違反について責任を負いません。


📻 日本向け無線設定

現時点では本家MeshCoreに日本向けプリセットは存在しません(Issue #460 で提案・議論中)。チャットアプリから以下の値を手動で設定してください。

パラメータ 推奨値 備考
周波数 920.8 MHz ARIB STD-T108 CH25
帯域幅(BW) 125 kHz
スプレッディングファクター(SF) 12
コーディングレート(CR) 4/8 都市部・ノイズ環境向け推奨
送信出力 ≤ 13 dBm ARIB STD-T108 上限

電波環境が良好な場所では CR4/7 や CR4/6 も使用できます(送れる文字数が増えます)。
周波数を 920.8 / 921.0 / 921.2 MHz のいずれかに設定すると、このファームウェアが自動的に日本モードになります。


JP LBT実装の概要

項目 設定値 根拠
センシング方式 RSSI連続測定(5ms) ARIB STD-T108 エネルギー検出
閾値 −80 dBm 同上
バックオフ 指数(base 2000ms、最大16000ms) 衝突回避
ジッター 0〜500ms チャネル空き時
送信後待機 50ms キャリアリリース
Japan mode判定 920.8 / 921.0 / 921.2 MHz 周波数で自動検出

詳細は Issue #2079 および PR #2218 を参照。

📡 注意: 本実装はチャネルが空いていることを確認してから送信します(Listen Before Talk)。
周囲に強い電波干渉がある環境では、送信の遅延や困難が生じる場合があります。
これは仕様であり、ARIB STD-T108への準拠によるものです。詳しくは Issue #2079 を参照してください。


ライセンス

本リポジトリは meshcore-dev/MeshCore のフォークです。
ライセンスは upstream と同じ MIT License です。