Ⅰ android镓嬫満閮芥湁鍝浜泂ensor
1.Sensor Type
閲嶅姏镒熷簲/锷犻熷害浼犳劅鍣 (G-Sensor)
鍏夋劅搴 (Light-Sensor)
娓╁害镒熷簲
鏂瑰悜镒熷簲
纾佸満銆
涓磋繎镐
2.濡备綍瀹炵幇Sensor缂栫▼
a.銮峰彇绯荤粺链嶅姟锛圫ENSOR_SERVICE)杩斿洖涓涓猄ensorManager 瀵硅薄
sensormanager = (SensorManager)getSystemSeriver(SENSOR_SERVICE);
b.阃氲繃SensorManager瀵硅薄銮峰彇鐩稿簲镄凷ensor绫诲瀷镄勫硅薄
sensorObject = sensormanager.getDefaultSensor(sensor Type);
c.澹版槑涓涓猄ensorEventListener 瀵硅薄鐢ㄤ簬渚﹀惉Sensor 浜嬩欢锛屽苟閲嶈浇onSensorChanged鏂规硶
SensorEventListener sensorListener = new SensorEventListener(){
};
d.娉ㄥ唽鐩稿簲镄凷ensorService
sensormanager.registerListener(sensorListener, sensorObject, Sensor TYPE);
e.阌姣佺浉搴旂殑SensorService
sensormanager.unregisterListener(sensorListener, sensorObject);
f: SensorListener 鎺ュ彛鏄浼犳劅鍣ㄥ簲鐢ㄧ▼搴忕殑涓蹇冦傚畠鍖呮嫭涓や釜蹇呴渶鏂规硶锛
銆銆 onSensorChanged(int sensor,float values[]) 鏂规硶鍦ㄤ紶镒熷櫒鍊兼洿鏀规椂璋幂敤銆
璇ユ柟娉曞彧瀵瑰弹姝ゅ簲鐢ㄧ▼搴忕洃瑙嗙殑浼犳劅鍣ㄨ皟鐢(镟村氩唴瀹硅佷笅鏂)銆傝ユ柟娉旷殑鍙傛暟鍖呮嫭锛氢竴涓鏁存暟锛屾寚绀烘洿鏀圭殑浼犳劅鍣;涓涓娴镣瑰兼暟缁勶纴琛ㄧず浼犳劅鍣ㄦ暟鎹链韬銆傛湁浜涗紶镒熷櫒鍙鎻愪緵涓涓鏁版嵁鍊硷纴鍙︿竴浜涘垯鎻愪緵涓変釜娴镣瑰笺傛柟钖戝拰锷犻熻〃浼犳劅鍣ㄩ兘鎻愪緵涓変釜鏁版嵁鍊笺
銆銆 褰扑紶镒熷櫒镄勫嗳纭镐ф洿鏀规椂锛屽皢璋幂敤 onAccuracyChanged(int sensor,int accuracy) 鏂规硶銆傚弬鏁板寘𨰾涓や釜鏁存暟锛氢竴涓琛ㄧず浼犳劅鍣锛屽彟涓涓琛ㄧず璇ヤ紶镒熷櫒鏂扮殑鍑嗙‘鍊笺
3.鍏充簬G-Sensor
Android 锷犻熷害浼犳劅鍣ㄧ殑绫诲瀷鏄 Sensor.TYPE_ACCELEROMETER
阃氲繃 android.hardware.SensorEvent 杩斿洖锷犻熷害浼犳劅鍣ㄥ笺
锷犻熷害浼犳劅鍣ㄨ繑锲炲肩殑鍗曚綅鏄锷犻熷害镄勫崟浣 m/s^2(绫虫疮浜屾℃柟绉)锛屾湁涓変釜鏂瑰悜镄勫煎垎鍒鏄
銆銆values[0]: x-axis 鏂瑰悜锷犻熷害
銆銆values[1]: y-axis 鏂瑰悜锷犻熷害
銆銆values[2]: z-axis 鏂瑰悜锷犻熷害
銆銆鍏朵腑x,y,z鏂瑰悜镄勫畾涔夋槸浠ユ按骞虫斁缃鍦ㄧ殑镓嬫満镄勫彸涓嬭剼涓哄弬镦х郴鍧愭爣铡熺偣
銆銆x 鏂瑰悜灏辨槸镓嬫満镄勬按骞虫柟钖戯纴鍙充负姝
銆銆y 鏂瑰悜灏辨槸镓嬫満镄勬按骞冲瀭鐩存柟钖戯纴鍓崭负姝
銆銆y 鏂瑰悜灏辨槸镓嬫満镄勭┖闂村瀭鐩存柟钖戯纴澶╃┖镄勬柟钖戜负姝o纴鍦扮悆镄勬柟钖戜负璐
闇瑕佹敞镒忕殑鏄锛岀敱浜庡湴鐞冨浐链夌殑閲嶅姏锷犻熷害g (鍊间负9.8 m/s^2)锛
銆銆锲犳ょ幇瀹炰腑瀹为檯锷犻熷害鍊煎簲璇ユ槸 z鏂瑰悜杩斿洖鍊 - 9.8 m/s^2.
銆銆姣斿备綘浠 2 m/s^2 镄勫姞阃熷害灏嗘坠链烘姏璧凤纴杩欐椂z鏂瑰悜镄勮繑锲炲煎簲璇ユ槸 11.8 m/s^2.
銆銆鍙崭箣鑻ヤ互镓嬫満浠2 m/s^2 镄勫姞阃熷害鍧犺惤锛屽垯z鏂瑰悜镄勮繑锲炲煎簲璇ユ槸 7.8 m/s^2.
銆銆x,y鏂瑰悜鍒欐病链変笂杩伴檺鍒躲
Ⅱ android 怎么实现在室内定位
这码卖个很难实现房间内定位,定位是靠检测不同信号反射角,房间内距离过短且墙壁反射信号,说以现在来说有很大难度!
以下部分摘抄:
大家都知道GPS,这个东西很强大,被各行各业使用。不过它也有一个很明显的缺陷,就是在室内不能定位,而且一般民用的精度也不够高(10m左右),相对于室内导航的要求(1m左右)还有一段距离。随着智能手机的普及,以及移动互联网的发展,地图与导航类软件将进入一个新的时代——室内导航。近几年来,包括谷歌、微软、苹果、博通等在内的一些科技巨头,还有一些世界有名的大学都在研究室内定位技术。
室内定位迟裤逗技术的商业化必将带来一波创新高潮,各种基于此技术的应用将出现在我们的面前,其影响和规模绝不会亚于GPS。我们可以想象一些比较常见的应用场景,比如在大型商场里面借助室内导航快速找到出口、电梯,家长用来跟踪小孩的位置避免小孩在超市中走丢,房屋根据你的位置打开或关闭电灯,商店根据用户的具体位置向用户推送更多关于商品的介绍等等。之前笔者看过诺基亚发布的一个视频,一位商务人士将手提包落在一个商店旁,当他走出几米远时手机就发出了提醒。室内定位还有很多场景可以被用上,让我们放开思维尽情遐想吧。
目前我们已经能够看到一些室内定位技术的应用介绍了。据我所知的有谷歌、诺基亚、博通、IndoorAtals、Qubulus、杜克大学这几个方案。下面笔者就把它们整理一下,欢迎大家在此基础上进行指正、补充。
谈谈室内定位
谷歌方案
谷歌手机地图6.0版的时候已经在一些地区加入了室内导航功能,此方案主要依靠GPS(室内一般也能搜索到2~3颗卫星)、wifi信号、手机基站以及根据一些“盲点”(室内无GPS、wifi或基站信号的地方)的具体位置完成室内的定位。目前此方案的精度还不是很满意,所以谷歌后来又发布了一个叫“Google Maps Floor Plan Marker”的手机应用,号召用户按照一定的步骤来提高室内导航的精度。
谷歌一直在努力解决两个问题:获取更多的建筑平面图;提高室内导航的精度。建筑平面图是室内导航的基础,就如同GPS车用导航需要电子导航地图一样。谷歌目前想通过“众包”的方式解决数据源纯搭的问题,就是鼓励用户上传建筑平面图。另外,用户在使用谷歌的室内导航时,谷歌会收集一些GPS、wifi、基站等信息,通过服务器进行处理分析之后为用户提供更准确的定位服务。
诺基亚方案
诺基亚采用的是HAIP技术,具体是什么笔者也没能查到更多的资料,不过诺基亚正在努力使它成为蓝牙协议的一部分,这样只要你的设备带有蓝牙模块,就能够使用这种技术进行定位。当然,仅有一个蓝牙模块还不能完成定位,还需要在室内安装一种定位发射台,通过这两者之间的通信完成定位。这种发射台可以覆盖100m×100m的范围,定位精度在30cm~100cm,据说这种发射台还有成本低、功耗低等特点,一台或多台都能完成定位。
博通方案
博通公司研制了一种用于室内定位的新芯片(BCM4752),具备三维定位功能(即你所在位置的高度也算出来)。这种芯片可以通过wifi、蓝牙或NFC等技术来提供室内定位系统支持。更强大的是,该芯片可以结合其它传感器,例如手机里的陀螺仪、加速度传感器、方位传感器等,将你位置的变化实时计算出来,甚至做到没有死角。博通公司的如意算盘是将这种芯片内置到智能手机里。
IndoorAtlas方案
IndoorAtlas是一家专注于室内导航解决方案的公司,刚成立不久。IndoorAtlas的方案基于地球磁场,依据是每一个具体位置的磁场信息都不一样。不过使用这种技术进行导航比较麻烦,首先用户需要上传建筑平面图,然后还需要你拿着移动设备绕室内一圈,记录下各个位置的地磁信号特征,这些信息需要上传到IndoorAtlas的服务器。最后,你需要使用IndoorAtlas提供的工具包开发一个应用才能使用定位功能(IndoorAtlas的开发工具包可以在线申请,不过笔者申请了两次都没结果)。
Qubulus方案
跟IndoorAtlas不同的是,Qubulus公司根据无线电信号(Radio Signature)来定位。每一个位置的无线电信号数量、频度、强度等也是不同的,Qubulus根据这些差异计算出你的具体位置。使用Qubulus的方案,你同样需要收集室内的无线电信号。Qubulus也提供了开发工具包,很容易申请下来。开发工具包里有一个例子,可以使用Eclipse直接编译通过。
杜克大学方案
杜克大学则借助现实生活中路标(landmarks)的思想,正在开发一个叫做UnLoc的应用。此应用通过感知wifi、3G信号死角,以及一些运动特征,如电梯、楼梯等,并根据这些位置已知的路标来计算你的位置。当你移动的时候,就根据其他感应器( 陀螺仪、加速度传感器、方位传感器等)来跟踪你的位置。这一过程精度会逐渐降低,但当你到达下一个路标时,位置就会被校准