声波通讯让传统的各种linux设备,单片机设备等等能编程的设备与智能手机之间有了数据传输的能力,这在智能家居、医疗设备、工业应用等各个行业有了大力应用的机会。
声波通讯让电脑与手机连通:电脑一般都有音箱或者扬声器,而手机具有麦克风。这样数据通过声波就很容易的打通电脑与手机之间的通讯。比如说我们每次电脑与手机之间传输文件都是要先连接usb数据线,而且经常连不上,不要说电脑小白了,就连我是专门搞IT的连接数据线的时候都经常不灵,需要不停的插拔手机与数据、或者手机与数据线,甚至重启电脑,这些问题我经常都不知道是什么原因让线又不灵了。而声波很容易就搞定这些问题了:电脑播放声波,这样1秒就能让电脑连接上手机,就可以传输任何东西了。
电脑与手机可能还有很多的应用场景,这里另外分享一个,大家有一些好的想法可以分享出来讨论讨论,说不定有一些好的创意可以发展成好的项目。在今年年初的时候,以色列的SlickLogin被google收购,google看中的项目是什么呢?简单一点说,他们就是使用声波做安全认证。详细的产品功能流程是这样的:在电脑上进行某个网页或某个产品等进行登陆的时候,要让网站通过用户电脑的扬声器播放一段特殊的声音(人耳无法听到的高频声音,给人的感觉几乎就是静音的),只要将手机放在电脑前,便可通过高频声音完成验证过程,无须再输入认证码。
声波通讯库特征
简单说一下android/iphone/windows/linux声波通讯库特征:
可传输数字,字母,汉字等任意字符
支持双向传输
支持设置声音传输频段
支持设置声音采样率
准确性95%以上,其实一般是不会出错的。
接口非常简单,有完整的示例,3分钟就可以让你的应用增加声波通讯功能
抗干扰性强,基本上无论外界怎么干扰,信号都是准确的
基本的编码为16进制,而通过编码可传输任何字符
性能非常强,没有运行不了的平台,而且通过内存池优化,长时间解码不再分配新内存,可7*24小时运行
可支持任何平台,常见的平台android, iphone, windows, linux, arm, mipsel都有示例
库大小(android版):jar+so一起大概90k左右。.a链接的话加入声波通讯后可能使原可执行文件增加40k-60k
Android工程示例:
Android工程项目使用步骤:
1,添加录音权限:
AndroidManifest.xml文件中添加:<uses-permission android:name="android.permission.RECORD_AUDIO" />
2,加入库到工程中:
armeabi\libvoiceRecog.so和voiceRecog.jar加入到库路径下(一般为libs目录)
3,导入so库:
static {
System.loadLibrary("voiceRecog");
}
Ios版工程示例:
在下载的工程源码中,在工程目录下有libcvoiceRecognize.a是真机版的库,libcvoiceRecognize_simulator.a是模拟器版的库,自己在xcode环境中根据自己的需要链接不同的库即可。
Windows工程示例
可传输任意数据内容,包括数字,字母,各种语言字符:
支持双向传输:
双向传递时一般设置为“不接收自己发送的信号”模式。
各平台的demo工程需注意:
windows音频支持:
有麦克风,音量,是否静音,不要打开“增强音效”功能
Linux工程示例
Linux下识别数字,字母,ssid和密码组成的wifi信息:
详情可查看:http://blog.csdn.net/softlgh
作者: 夜行侠 QQ:3116009971 邮件:3116009971@qq.com