普通手机内置BLE蓝牙,点对点直连极限视距大约80~120米,无法直接达到1公里。两种路线实现「1公里点对点离线蓝牙聊天」:
方案A(手机APP纯软件,无外接硬件):蓝牙Mesh多跳中继依靠多部手机接力转发消息,单跳距离有限,开阔环境多跳叠加接近1km;两台手机直连永远达不到1km。
方案B(嵌入式硬件方案,真正点对点直达1km)ESP32 / nRF 外接远距离BLE-LongRange模块、或者LoRa射频,手机通过普通蓝牙连接硬件终端,硬件射频完成1km远距离通信(最稳定、可实现两台终端直接通信)。
下面分类整理可直接上手的开源项目
一、手机端|纯BLE离线点对点/Mesh聊天开源项目(APP方案)
1. BitChat(最知名,蓝牙Mesh去中心化聊天)
仓库:iOS:https://github.com/permissionlesstech/bitchatAndroid:https://github.com/offlineapps/bitchat-android
特性
BLE Mesh、无服务器、无需手机号、端到端加密
设备自动发现,消息多跳转发扩大覆盖范围
支持文字消息;开阔区域多跳组网最大可接近1km
限制:两台手机直连仍然只有百米级;必须多台设备做中继才能拉长距离
系统限制:Android/iOS蓝牙后台扫描策略严格,穿墙衰减严重
2. ble_peer_session(Flutter BLE 一对一P2P通信框架)
https://github.com/Viweld/ble_peer_session
轻量框架,仅实现1对1 BLE点对点会话,适合从零开发简易聊天Demo
跨平台Flutter,可快速搭建聊天界面
原生手机BLE,距离上限≈100米,无法直达1km
3. Berty
https://github.com/berty/berty
支持BLE/WiFi多种离线传输、跨平台、完整加密协议栈
偏重大型去中心化网络,学习成本偏高
4. Walkie-Talkie BLE语音文字对讲
https://github.com/denizetkar/walkie-talkie-appBLE Mesh离线对讲机,支持文字+语音,适合户外应急通信
二、嵌入式硬件方案|真正实现【两台终端点对点直达1km】(推荐满足你1km需求)
原理:手机蓝牙连接ESP32开发板,开发板搭载远距离射频模块(LoRa / BLE LongRange)完成1km通信。手机只负责界面,远距离无线交给硬件。
1. Meshtastic(行业标杆,强烈推荐)
https://github.com/meshtastic/firmware
硬件:ESP32 + SX1262 LoRa模块
开阔视距3~8km远大于1km,点对点+Mesh组网双支持
配套官方Android/iOS APP,手机蓝牙连接硬件终端收发消息
开源固件、端到端加密、支持文字、GPS位置、离线消息
最佳选择:直接买到成品硬件,不需要从零写底层射频代码
2. 3NCRYP2P_2|ESP32 LoRa加密点对点文本终端
https://github.com/sdebby/3NCRYP2P_2ESP32+433MHz LoRa,实测城区视距1.5km点对点加密聊天,自带OLED屏幕、迷你键盘;也可增加BLE模块对接手机。
3. ESP-NOW-LoRa Messenger
https://github.com/Marusko/ESP-NOW-LoRa-Messenger融合ESP-NOW高速短距 + LoRa远距离骨干链路,可自定义1km点对点文本通信
三、两种实现路线对比
| 纯手机蓝牙Mesh(BitChat) | 手机内置BLE,多跳中继 | ❌单对手机不行,需要多台中继 | 低,直接编译APP | 多人聚集场景、大型活动应急 |
| ESP32+LoRa(Meshtastic) | 手机蓝牙 ↔ 硬件终端 ↔ LoRa远距离射频 | ✅两台终端直达1km以上 | 中等,可直接使用现成固件 | 野外、点对点远距离离线通信【匹配你的需求】 |
四、如果你目标:仅两台设备、点对点直达1公里聊天
不要指望手机原生蓝牙直连,最优路线:采用 Meshtastic
采购2套 Meshtastic硬件(ESP32 + LoRa射频)
手机安装官方App,蓝牙分别连接两台硬件
硬件之间LoRa射频完成1km远距离点对点通信
五、从零自研开发简易流程(参考)
通信层:ESP32 SX1262 LoRa 点对点收发文本
ESP32开启BLE服务,手机APP通过BLE收发聊天文字
手机APP(Flutter ble_peer_session / Android BLE GATT)构建聊天UI
增加CRC校验、消息重传、简单加密
网友回复


