
3步跑通声波传输ggwave 跨设备数据传递完整手册【免费下载链接】ggwaveTiny>项目地址: https://gitcode.com/GitHub_Trending/gg/ggwave两台设备没网络也没蓝牙数据怎么过去ggwave 用声波传输解决跨设备数据传递发送端把字节编码成声音接收端用麦克风还原出原始数据。全程不用线缆、不用无线模块一个扬声器加一支麦克风即可。这些场景它能直接派上用场 就近设备配对把配对密钥说给对方免手工输入 物联网配置把 WiFi 凭据送给 ESP32省掉配网界面 无网传文件在隔离环境里发出 256 字节以内的小文件 无接触短码向邻近设备发出一段授权码一步选对协议4 类一张表协议族特点适用场景可听声 AUDIBLE_*人耳可闻距离最好依赖安静环境演示、配对、桌面扬声器发送超声波 ULTRASOUND_*人耳不可闻隐私性好距离较短自动配对、办公环境、隐私数据双工 DT_*双向收发实时性好交互式应用、双向确认多目标 MT_*一对多广播广播通知、批量设备配置常用常量定义在 include/ggwave/ggwave.hGGWAVE_PROTOCOL_AUDIBLE_FAST可听声中速距离与速度均衡常用首选GGWAVE_PROTOCOL_AUDIBLE_FASTEST最快可听声适合短距高吞吐GGWAVE_PROTOCOL_ULTRASOUND_NORMAL标准超声波人耳听不见适合隐私场景GGWAVE_PROTOCOL_MT_FASTEST最快多目标一条声音喂多台设备经验法则速度优先选*_FASTEST系列距离优先选AUDIBLE_NORMAL隐私优先选 ULTRASOUND 系列一对多选MT_*系列。先把收发电路备好Arduino Uno 发送端按键触发扬声器播放编码后的波形。ESP32 接收端模拟麦克风与 I2S 麦克风都支持。RP2040Pico接收端兼容多种模拟麦克风。三步跑通第一次传输第 1 步装库。源码构建即可核心编解码实现在 src/ggwave.cpp。git clone https://gitcode.com/GitHub_Trending/gg/ggwave cd ggwave mkdir build cd build cmake .. make第 2 步编码发送第 3 步接收解码。两端用同一套参数只差 encode 与 decode 两个方向ggwave_Parameters params ggwave_getDefaultParameters(); // 默认 48000Hz ggwave_Instance tx ggwave_init(params); ggwave_Instance rx ggwave_init(params); // 编码文本 - 波形volume 取 0-100建议 25 ggwave_encode(tx, hello, 5, GGWAVE_PROTOCOL_AUDIBLE_FAST, 25, waveform, 0); // 解码持续喂入麦克风采样返回值 0 表示收到数据 int n ggwave_decode(rx, mic, nBytes, payload);实战中可以把 WiFi 凭据推给 ESP32 完成免输入配网浏览器端则借 bindings/javascript/ggwave.js 让两个标签页用 Web Audio 互传小文件Python 示例见 examples/ggwave-py/send.py。传输失败先查这 4 点音量volume 参数范围 0–100控制在 15–3025 通常够用采样率两端都用 48000Hz收发参数必须一致协议环境吵就换超声波收发协议已知时关掉多余的 Rx 协议减少误触发校验库内置 Reed-Solomon 纠错应用层仍要检查解码返回值并实现重传你大概会问的 3 个问题两台设备隔多远能收到安静环境下可听声协议一般 3–5 米超声波通常 1–2 米。一口气能发多少数据单次载荷上限 256 字节更大的内容分片多次发送。怎么判断这包没发好解码返回 -1 即出错常见原因是背景噪声过大应用层加重传即可。ggwave 的适用边界很明确256 字节以内的小数据、短距无网环境速率约 8–16 字节/秒不适合大文件或远距离。先用 examples/ggwave-cli/main.cpp 和 examples/ggwave-py/receive.py 把链路验证一遍再接上你自己的扬声器和麦克风。【免费下载链接】ggwaveTiny>项目地址: https://gitcode.com/GitHub_Trending/gg/ggwave创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考