OFFLINE MESH COMMUNICATION

MeshChat

インターネットがなくても、つながる。

Bluetooth Low Energy(BLE)によるメッシュネットワークで、スマートフォン同士が直接通信。通信インフラが壊滅した災害時でも、近隣のユーザー間でメッセージをバケツリレー方式で伝達します。

主要機能

BLEメッシュ通信

Bluetooth Low Energyで端末同士が直接接続。マルチホップリレーにより、直接届かない距離の端末にもメッセージを中継。インターネット不要で通信範囲を拡大します。

位置情報付きメッセージ

GPSで取得した位置情報をメッセージに付加。マップ上で災害情報・救援要請・安否確認を可視化。どこで何が起きているかを直感的に把握できます。

オフライン+クラウド同期

完全オフラインで動作。ローカルDBにメッセージを保存し、ネットワーク復旧時にFirebaseへ自動同期。データの欠損なく平時の運用に移行できます。

マップ表示

受信したメッセージを地図上にピン表示。災害情報の空間的な分布をリアルタイムで確認。救助活動や避難経路の判断を支援します。

技術構成

MeshChatはFlutter(クロスプラットフォーム)ではなく、iOS / Androidそれぞれのネイティブ言語で開発しています。BLE通信のような低レイヤーのハードウェア制御では、ネイティブAPIへの直接アクセスが不可欠なためです。

アーキテクチャ

iOS

Swift + CoreBluetooth

CoreBluetoothフレームワークでBLE Central/Peripheral両方を制御。バックグラウンドBLEにも対応。

Android

Kotlin + Android BLE API

Android BLE APIによるGATTサーバー/クライアント実装。Foreground Serviceで安定動作。

ローカルDB

GRDB (iOS) / Room (Android)

オフライン時のメッセージ永続化。ネット復旧時にクラウドへ差分同期。

クラウド同期

Firebase

Firestore + Authentication + Cloud Storage。オンライン復帰時の自動同期基盤。

なぜネイティブ(iOS / Android専用)開発なのか? — BLEメッシュ通信では、Bluetoothの送受信を同時に行ったり、アプリを閉じた状態でも通信を維持する必要があります。こうした処理はOS(iOS / Android)標準の機能に直接アクセスしなければ実現できないため、各OS専用の言語で開発しています。

技術スタック

言語
Swift (iOS), Kotlin (Android)
BLE
CoreBluetooth (iOS), Android BLE API (Android)
ローカルDB
GRDB (iOS), Room (Android)
バックエンド
Firebase (Firestore, Authentication, Cloud Storage)
地図
MapKit (iOS), Google Maps SDK (Android)
CI/CD
GitHub Actions, Fastlane

企業・自治体向けカスタマイズ

MeshChatの通信基盤を活用し、防災・業務用途に特化したカスタムアプリを構築します。

防災システム連携

自治体の防災システムと連携し、避難指示・安否確認をオフラインでも配信可能に。

施設内オフライン通信

地下施設・工場・倉庫など電波が届きにくい環境での業務連絡手段として。

イベント会場での通信

大規模イベントでの回線混雑時にも、スタッフ間の確実な情報伝達を実現。

ブランディング・機能拡張

自社ロゴ・カラーの反映、独自機能の追加開発、管理画面の構築に対応。

MeshChatの完成済みコードベースをベースに開発するため、ゼロからの構築と比べて短期間・低コストで導入いただけます。

導入・カスタマイズのご相談はお気軽に

防災・業務用途でのご活用をご検討の方は、まずはお問い合わせください。