最近的水声通信非常热,特别是,非常嵌入式设备备受瞩目使用,前段时间公布了声通信部分源代码(iOS和Android版本号。下载源的最新版本:点击打开链接 http://download.csdn.net/detail/frog_lightdesk/8395167),也受到了广大声波爱好者的关注。

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

1.Chirp

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

实现原理:比方A手机把图像传递给附近的B手机。A手机首先将图片传输到server。然后把server相应的地址后缀(10个以内字符)通过声波发送出去,(注意这时候A是不停的循环发送声波)。

B一直处于监听状态。在B收到A发送的声波后。解码,假设解码成功,则从server上下载图片,图片传输成功。假设解码失败(可能因为周围有比較强的干扰)。则继续监听A发送的声波。继续解码。

。。

关键点:

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

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

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

2.支付宝声波支付

支付宝作为支付相关的应用的代表,相信声波支付功能非常多人都用过,但对其原理不一定都了解。

实现原理:声波支付听起来好像都是咻咻的声音,事实上咻咻声并非信息的载体,真正的信息是通过超声波传输的。比方A手机发起咻咻声(此时A也是不停的在循环发送信息)。售货机B则在不停的监听。A手机在发送信息前。会先和后台server交互,把各种关键的交互信息上传到server。然后将要发送的信息加密(支付者的id信息),把加密后的信息转换成超声波。然后再叠加咻咻声,最后发送出去。

B在正确收到A的信息后,解码成功后,就连接server,确认本次交易,确认成功后,支付生效。

关键点:

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

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

3.茄子快传

茄子快传用于在手机间高速传递大量信息(不须要互联网),比方文件。视频等。茄子快传和chirp都能够传输大文件。但原理上有比較大的差别。

实现原理:A手机发送文件给B手机。B是接收者,B首先建立wifi热点,然后建立sockt通道,最后把wifiusername和password通过声波发送出去(username和password在10字符左右)。

A处于监听状态,在收到声波,解码出wifiusername和password后,连接wifi热点。连接成功后,通过socket把文件发送给B。茄子快传和chirp的根本不同在于chirp高度依赖于互联网。而茄子快传则不须要互联网,仅须要wifi。

关键点:

1)发送的信息为10个字符左右的username和password。

2)接收者不停的在发送wifiusername和password。

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

4.嵌入式应用

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

实现原理:一般使用声波通信作为握手信号自己主动为wifi和蓝牙建立连接(用声波通信传输usernamepassword);或者发送简单的信息数据,比方温度信息;或者发送控制命令。比方控制智能家栖息地等。。A派。B接受,通常情况下,发送者必须停止发送,直到接收者收到为止。

版权声明:本文博主原创文章。博客,未经同意不得转载。

水声通信(传声)于iOS、Android在情景-depth分析(包括一些声通信源)的更多相关文章

  1. LocalResizeIMG前端HTML5本地压缩图片上传,兼容移动设备IOS,android

    LocalResizeIMG前端HTML5本地压缩图片上传,兼容移动设备IOS,android jincon 发表于 2015-02-26 18:31:01 发表在: php开发 localresiz ...

  2. 用c/c++混合编程方式为ios/android实现一个自绘日期选择控件(一)

    本文为原创,如有转载,请注明出处:http://www.cnblogs.com/jackybu 前言 章节: 1.需求描述以及c/c++实现日期和月历的基本操作 2.ios实现自绘日期选择控件 3.a ...

  3. 使用 Jenkins 搭建 iOS/Android 持续集成打包平台【转】

    背景描述 根据项目需求,现要在团队内部搭建一个统一的打包平台,实现对iOS和Android项目的打包.而且为了方便团队内部的测试包分发,希望在打包完成后能生成一个二维码,体验用户(产品.运营.测试等人 ...

  4. 关于前端本地压缩图片,兼容IOS/Android/PC且自动按需加载文件之lrz.bundle.js

    一.介绍说明主要特点: ①在前端压缩好要上传的图片可以更快的发送给后端,因此也特别适合在移动设备上使用. ②兼容IOS/Android,修复了IOS/Android某些版本已知的BUG. ③按需加载文 ...

  5. 仿微信的IM聊天时间显示格式(含iOS/Android/Web实现)[图文+源码]

    本文为原创分享,转载请注明出处. 1.引言 即时通讯IM应用中的聊天消息时间显示是个再常见不过的需求,现在都讲究用户体验,所以时间显示再也不能像传统软件一样简单粗地暴显示成“年/月/日 时:分:秒”这 ...

  6. WEB通知和React Native之即时通讯(iOS Android)

    WEB通知和React Native之即时通讯(iOS Android) 一,需求分析 1.1,允许服务器主动发送信息给客户端,客户端能监听到并且能接收. 1.2,为了方便同一个系统内的用户可以指定某 ...

  7. [置顶] ArcGIS Runtime SDKs 10.2 for iOS & Android& OS X发布

    我们高兴的宣布:ArcGISRuntime SDKs 10.2 for iOS & Android & OS X正式发布!在10.2版本中,你可以在iOS.Android和Mac设备上 ...

  8. Xamarin体验:使用C#开发iOS/Android应用

    Xamarin是Mono创始人Miguel de Icaza创建的公司,旨在让开发者可以用C#编写iOS, Android, Mac应用程序,也就是跨平台移动开发.   简介 Xamarin是基于Mo ...

  9. Ionic中使用Chart.js进行图表展示以及在iOS/Android中的性能差异

    Angular Chart 简介 在之前的文章中介绍了使用 Ionic 开发跨平台(iOS & Android)应用中遇到的一些问题的解决方案. 在更新0.1.3版本的过程中遇到了需要使用图表 ...

随机推荐

  1. ORACLE常用数据库类型(转)

    oracle常用数据类型 1.Char 定长格式字符串,在数据库中存储时不足位数填补空格,它的声明方式如下CHAR(L),L为字符串长度,缺省为1,作为变量最大32767个字符,作为数据存储在ORAC ...

  2. VS2010-win32下cocos2dx控制台打印的方法

    在xcode中  直接使用printf 或者 cout<<""<<endl;可以直接在控制台打印 但是在VS2010 却死活不好用   真郁闷 ------ ...

  3. ubuntu下海信Hisense E920 usb连接不上的处理与adb的连接

    解决lssub未能发现海信Hisense USB设置:选择 天翼宽带连接 如下所示: luogw@luogw-ThinkPad-Edge:~$ lsusb Bus 001 Device 002: ID ...

  4. POJ 1724 ROADS(bfs最短路)

    n个点m条边的有向图,每条边有距离跟花费两个参数,求1->n花费在K以内的最短路. 直接优先队列bfs暴力搞就行了,100*10000个状态而已.节点扩充的时候,dp[i][j]表示到达第i点花 ...

  5. Ubuntu12.04password正确 入口的桌面(测试的恢复正常)

    举行了两次会议ubuntu输入password正确,但高考制度,输入password后,跳转看接口 后来又返回到登录界面,这个周期已经输入password. 解决方案:1.输入tty下         ...

  6. Wix学习整理(2)——HelloWorld安装添加UI

    原文:Wix学习整理(2)--HelloWorld安装添加UI 在前一篇随笔Wix学习整理(1)——快速入门HelloWorld中,我们制作的安装包安装界面太简单,没有与用户进行交互的过程.下面我们修 ...

  7. Codeforces Round #253 DIV1 C 馋

    http://codeforces.com/contest/442/problem/C 题意非常easy,基本上肯定有坑坑洼洼的样子.看题目案例,从第三个跟第二个没有凹的案例来看的话,多写几个以及多画 ...

  8. ubuntu 12.10 软件更新源列表

    ubuntu 12.10正式版已经发布了,国内各大开源软件源也陆续更新了资源.今天分享一下ubuntu 12.10 软件更新源列表. 首先,习惯性的备份一下ubuntu 12.04 原来的源地址列表文 ...

  9. tab功能菜单——使用tab之间不同的交换机div

    需求:在web实现类型的接口tab标签效应 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvem91eXVqaWUxMTI3/font/5a6L5L2T/fo ...

  10. 谷歌下解决Pop遮罩层无法遮挡滚动栏下问题

    今天用pop的弹出窗体里,出现一个问题,当网页出现滚动栏里,不能遮挡住,解决Pop遮罩层无法遮挡滚动栏下问题. 可通过下载获取改动后的代码----->进入下载