声波通信(声波传输)应用场景深入分析(含部分声波通信源代码)

最近声波通信非常火爆,尤其在很多嵌入式设备中的应用倍受关注,前段时间发布了声波通信部分源代码(iOS和Android版本,源代码最新版本下载地址:http://download.csdn.net/detail/jcgu/8143755),也受到了广大声波爱好者的关注。

声波技术从理论上决定了它比较适合做短距离、少量信息的传输(声波通信原理请见:http://blog.csdn.net/jcgu/article/details/12834483)一般常以“握手”角色出现在应用中。前段时间和很多声波爱好者交流,发现很多人对声波通信技术的应用存在一定误解,下面就以一些知名的应用为例,对声波通信应用的主要场景进行分析。

1.Chirp

chirp是声波通信应用的始祖,第一个把声波通信技术在智能手机中进行商用。它主要功能是可以在手机间任意传递文本,图像和视频等。

实现原理:比如A手机把图像传递给附近的B手机,A手机首先将图片传输到服务器,然后把服务器对应的地址后缀(10个以内字符)通过声波发送出去,(注意这时候A是不停的循环发送声波)。B一直处于监听状态,在B收到A发送的声波后,解码,如果解码成功,则从服务器上下载图片,图片传输成功;如果解码失败(可能由于周围有比较强的干扰),则继续监听A发送的声波,继续解码。。。

关键点:

1)通过声波发送的信息是10个以内的地址后缀。这点很重要,因为声波发送的越长,受到干扰的概率就越大,传输失败的可能性就越高,而且传输的时间也越长。

2)A在不停的循环发送声波。因为声波容易受到干扰,A无法确保B是否正确收到信息,所以最简单的方式就是不停的发送,直到B收到信息后,再手工停止A的发送。

3)真正的信息通过网络传输的,声波作为握手的工具。

2.支付宝声波支付

声波支付相信很多人都用过,但对其原理不一定都了解。

实现原理:声波支付听起来好像都是咻咻的声音,其实咻咻声并不是信息的载体,真正的信息是通过超声波传输的。比如A手机发起咻咻声(此时A也是不停的在循环发送信息),售货机B则在不停的监听。A手机在发送信息前,会先和后台服务器交互,把各种关键的交互信息上传到服务器,然后将要发送的信息加密(支付者的id信息),把加密后的信息转换成超声波,然后再叠加咻咻声,最后发送出去。B在正确收到A的信息后,解码成功后,就连接服务器,确认本次交易,确认成功后,支付生效。

关键点:

1)发送的是支付者的id信息,一般10个字符以内。

2)发送信息的手机在不停的发送支付者的id。

3.茄子快传

茄子快传用于在手机见快速传递大量信息,比如文件,视频等。茄子快传和chirp都可以传输大文件,但原理上有比较大的区别。

实现原理:A手机发送文件给B手机。B是接收者,B首先建立wifi热点,然后建立sockt通道,最后把wifi用户名和密码通过声波发送出去(用户名和密码在10字符左右)。A处于监听状态,在收到声波,解码出wifi用户名和密码后,连接wifi热点,连接成功后,通过socket把文件发送给B。

关键点:

1)发送的信息为10个字符左右的用户名和密码。

2)接收者不停的在发送wifi用户名和密码。

3)真正的信息传输是通过wifi传输的,声波作为握手的工具。

4.嵌入式应用

现在很多嵌入式设备在使用声波通信技术,比如智能路由器、相机、车载电子(比如行车记录仪)等等。

实现原理:一般用声波主要是传输用户名密码,或者简单的数据信息,比如温度控、制信息等。A发送,B接受,一般发送者也要不停发送,直到接收者收到为止。

时间: 2024-12-08 03:40:49

声波通信(声波传输)应用场景深入分析(含部分声波通信源代码)的相关文章

基于networkcomms V3通信框架的c#服务器与java客户端进行通信之Protobuf探讨

在上一篇 基于networkcomms V3通信框架的c#服务器与java客户端进行通信探讨  中探讨了在C#端与Java端通信中传递字符,有朋友提到如果传递int类型的整数,会出现编码的问题. 到网上找到了一篇文章< 使用protobuf进行C#与Java通信 >进行学习 ,使用protobuf进行编码,传递数据,好像这样可以避免编码的问题. (虽然编码问题解决了,但是粘包问题并没有解决,有经验的朋友介绍下怎样解决粘包的问题) 服务器端基于networkcomms V3 C#通信框架. ne

QQ在通信与传输的一些知识

http://www.nowamagic.net/librarys/veda/detail/2028 一.登录 不管UDP还是TCP,最终登陆成功之后,QQ都会有一个TCP连接来保持在线状态.这个TCP连接的远程端口一般是80,采用UDP方式登陆的时候,端口是8000.因此,假如你所在的网络开放了80端口(80端口是最常用端口..就是通常访问Web的端口,禁掉它的话,你的网络对你来说价值已经不大了),但没有屏蔽腾讯的服务器IP,恭喜你,你是可以登陆成功QQ的. 二.聊天消息通信 采用UDP协议,

2g ip modem土壤墒情通信数据采集传输DTU

方案需求 土壤墒情监测系统能够实现对土壤墒情(土壤湿度)的长时间连续监测.用户可以根据监测需要,灵活布置土壤水分传感器:也可将传感器布置在不同的深度,测量剖面土壤水分情况.系统还提供了额外的扩展能力,可根据监测需求增加对应传感器,监测土壤温度.土壤电导率.土壤PH值.地下水水位.地下水水质以及空气温度.空气湿度.光照强度.风速风向.雨量等信息,全面.科学.真实地反映被监测区的土壤变化,可及时.准确地提供各监测点的土壤墒情状况,为减灾抗旱提供了重要的基础信息. 技术部署 土壤墒情监测系统主要由监控

java中的4种reference的差别和使用场景(含理论、代码和执行结果)

我们知道java语言提供了4种引用类型:强引用.软引用(SoftReference).弱引用(WeakReference)和幽灵引用(PhantomReference),与引用密切相关的,还有一个引用队列ReferenceQueue.引用和引用队列的关系,对于垃圾回收来说非常重要,学习垃圾回收机制,必须要先了解引用和引用队列的使用方法.本文主要参考网上的一些理论,同时配合自己的一些测试代码,更好的理解这些概念.这篇博客也解决了 System.gc()和-XX:+DisableExplicitGC

索尼克通信支付宝、超声波、蟋蟀和其他定制版本源代码

前段时间写了声通信开源SinVoice.我们发现非常IT利益相关方对声学原理与应用.特别面前的一个开放源码的版本号(SinVoice)在...的基础上.声波的效果.效率方面等方面做了很多优化,达到了商用标准.(参见声通信理论:http://blog.csdn.net/jcgu/article/details/12834483) 这次更新除了对识别率提升和很多其它字符集的支持外, 还提供了支付宝的声波支付定制效果.蛐蛐儿定制效果.茄子快传定制效果以及超声波定制效果,欢迎大家下载试用 源码下载地址:

清晰易懂TCP通信原理解析(附demo、简易TCP通信库源码、解决沾包问题等)

目录 说明 TCP与UDP通信的特点 TCP中的沾包现象 自定义应用层协议 TCPLibrary通信库介绍 Demo演示 未完成功能 源码下载 说明 我前面博客中有多篇文章讲到了.NET中的网络编程,与TCP和UDP相关的有: 1.http://www.cnblogs.com/xiaozhi_5638/p/3167794.html 2.http://www.cnblogs.com/xiaozhi_5638/p/3169641.html 3.http://www.cnblogs.com/xiaoz

基于networkcomms V3通信框架的c#服务器与java客户端进行通信探讨

首先说一下networkcomms 通信框架是商业版的,本文也并不提供. 对java不太熟悉,刚刚安装了eclipse,通信只实现了把字符从java客户端传到c#服务器,服务器收到消息后,返回一个字符消息给java客户端,java客户端显示收到的消息. 服务器端基于networkcomms V3 C#通信框架. 服务器端代码: using System; using System.Collections.Generic; using System.ComponentModel; using Sy

HTTP通信机制是在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤

1. 建立TCP连接 在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Internet,即著名的TCP/IP协议族,因此Internet又被称作是TCP/IP网络.HTTP是比TCP更高层次的应用层协议,根据规则,只有低层协议建立之后才能进行更高层协议的连接,因此,首先要建立TCP连接,一般TCP连接的端口号是80. 2. Web浏览器向Web服务器发送请求命令 一旦建立了TCP连接,Web浏览器就会向Web服务器发送

Python第三堂课(网络篇)

1.什么是互联网协议及为何要有互联网协议 1.1互联网协议就是一系列的网络协议,包括TCP/IP/Ethernet等协议,以上诸层一起构成网络中两个节点的通信标准. 1.2而其存在的意义就是定义计算机如何接入internet,以及接入internet的计算机通信的标准. 2.osi五层模型  从上往下依次是 ①应  用  层:规定应用程序的数据格式(不同程序不同标准,实现应用区分) ②传  输  层:在通过数据链路层和网络层寻找到目标主机后,为了实现软件层 面的通信,传输层建立端口到端口的通信,