研究人员发现,智能手机和平板电脑里的加速计只要有一丝不同之处就可以创造出独一无二的重力感应“指纹”,这种指纹可以当成是一个用户的身份,在这个身份上可以绑定用户的浏览记录等隐私信息,如果被广告商获取这种数据...更可怕的是,现在的智能手机都默认应用程序可以不经过用户同意就是用加速计。 加速计除了用来调整手机屏幕的显示方向之外,还被广泛应用在应用程序中,比如说计步器和手机游戏。...加速计使用的是一种叫做MEMS(微电子机械系统)的技术,它可以通过内部结构的重力变化来感知用户的动作。就是因为重力的变化,手机才知道屏幕现在倒向那个方向,才能让游戏人物知道该往左跑还是往右跑。...研究人员测试了80种加速器芯片,再加上25台Android手机和两台平板电脑,他们发现加速器芯片识别同一个重力指纹的准确率高到96%。...在移动领域,并没有规定或者行规要求应用程序在调用重力感应时需要征得用户的同意。与之不同的是,当应用程序想要使用地理位置信息的时候,必须要经过用户的同意方可使用,而加速计信息则不需要征得用户同意。
android中的很多游戏的游戏都使用了重力感应的技术,就研究了一下重力感应 以屏幕的左下方为原点,箭头指向的方向为正。从-10到10,以浮点数为等级单位,想象以下情形: ?...手机屏幕向上(z轴朝天)水平放置的时侯,(x,y,z)的值分别为(0,0,10); 手机屏幕向下(z轴朝地)水平放置的时侯,(x,y,z)的值分别为(0,0,-10); 手机屏幕向左侧放(x轴朝天)的时候...,(x,y,z)的值分别为(10,0,0); 手机竖直(y轴朝天)向上的时候,(x,y,z)的值分别为(0,10,0); 其他的如此类推,规律就是:朝天的就是正数,朝地的就是负数。...利用x,y,z三个值求三角函数,就可以精确检测手机的运动状态了。...注明:这是在模拟器上截图(SDK V1.5), 由于模拟器无法感应重力,请大家在物理机上测试 源码下载
实际开发过程中,手动调用起来,往往还是很麻烦,所以sdk提供了自动横竖屏切换的接口,重力感应开关:setGSensorMode。...三、通话效果 以sdk包中的SimpleDemo为例,sdk默认已经是开启重力感应了,所以只需要切换一下重力感应开关。...2、打开重力感应,手机旋转90° 左不动,右边手机逆时针旋转90°,home键朝右 3、打开重力感应,手机旋转180° 左不动,右边手机逆时针旋转180°,home键朝上 4、打开重力感应,手机旋转...270° 左不动,右边手机逆时针旋转270°,home键朝左 5、关闭重力感应,手机旋转90° 左不动,右边手机逆时针旋转90°,home键朝右 6、关闭重力感应,手机旋转180° 左不动,右边手机逆时针旋转...180°,home键朝上 7、关闭重力感应,手机旋转270° 左不动,右边手机逆时针旋转270°,home键朝左 四、总结 非特殊需求,您不需要关注通话横竖屏切换,交给sdk重力感应自动切换即可。
Screenshot_2020-09-22-20-07-28.png 2、打开重力感应,手机旋转90° 左不动,右边手机逆时针旋转90°,home键朝右 Screenshot_2020-09-22-20...-08-36.png 3、打开重力感应,手机旋转180° 左不动,右边手机逆时针旋转180°,home键朝上 Screenshot_2020-09-22-20-09-32.png 4、打开重力感应,手机旋转...270° 左不动,右边手机逆时针旋转270°,home键朝左 Screenshot_2020-09-22-20-13-12.png 5、关闭重力感应,手机旋转90° 左不动,右边手机逆时针旋转90°,home...键朝右 Screenshot_2020-09-22-20-00-29.png 6、关闭重力感应,手机旋转180° 左不动,右边手机逆时针旋转180°,home键朝上 Screenshot_2020-09...-22-20-03-21.png 7、关闭重力感应,手机旋转270° 左不动,右边手机逆时针旋转270°,home键朝左 Screenshot_2020-09-22-20-02-17.png 四、总结
随着陀螺仪作为只能手机的标配,根据手机角度不同,让图片有点视差微动效果可以给用户一点惊喜,于是简单研究了一下 HTML5 下利用陀螺仪获取设备方向的 API。...,运动的方向还和手机放置的位置有很大关系。...要理解这个,要从我们平常使用手机的动作来看。...现看 gamma 值,gamma 是沿着 y 轴转动,拿出手机,竖直放置,沿着 y 轴转一下,手机是这样的状态: image.png 这样的时候我们一般是要看到更多的左右信息,也就是横向的经度值,所以手机竖直的时候...以自己为圆心,手臂与地面平行,竖着拿着手机,手臂作为半径,尝试像拍摄全景照片,以身体为圆心,移动手臂。会发现我们我们其实是在做一个圆,而在这途中,手机其实是沿着 Z 轴在转动的。
本项目设计开发一款基于STM32主控芯片的智能零售自助柜,通过重力传感器监测货柜内商品重量变化,并通过WiFi通信模块与手机端实现交互。...二、设计思路 【1】功能细节总结 (1)ESP8266配置成AP+TCP服务器模式与手机APP连接。...重力传感器:HX711重力传感器模块采用24位高精度芯片,能够精确测量重量,适用于该系统中货柜内商品的重量监测。 SG90舵机:该系统需要控制柜门的打开和关闭,因此使用舵机来实现柜门控制。...【2】程序设计思路 初始化系统,包括各个外设的初始化,如WiFi模块、重力传感器HX711模块、矩阵键盘等; 用户输入账号密码,判断是否为有效用户; 根据重力传感器读取货柜内商品重量,判断用户拿取的商品并从账户自动扣费...; 控制柜门打开和关闭,同时显示屏上显示相关提示信息; 同步数据到手机APP。
小程序的加速度计是个很有意思的东西,可以用来做一些手机动作或3D场景。比如手机QQ上的附近的红包活动就是采用加速度计做的。这里写个demo初步做一下加速度计的使用方法。...index.wxml index.js...this.vx = -this.vx; } if (this.y > hh - 20) { this.y = hh - 20; this.vy = -this.vy; } } }) app.js...//app.js App({ onLaunch: function () { var that = this; wx.getSystemInfo({ success(res...小程序社区版主 x837195936(熊晨沣):在canvas中绘制了一个小球,根据手机的倾斜小球在屏幕上滚动,碰触到边沿则回弹。
本实例主要使用了android的重力感应功能并配合动画效果实现,主要代码如下: 第一:ShakeActivity主类: package com.android.shake; import java.io.IOException...private OnShakeListener onShakeListener; // 上下文 private Context mContext; // 手机上一个位置时重力感应坐标 private...public void setOnShakeListener(OnShakeListener listener) { onShakeListener = listener; } // 重力感应器感应获得变化数据...private OnShakeListener onShakeListener; // 上下文 private Context mContext; // 手机上一个位置时重力感应坐标 private...public void setOnShakeListener(OnShakeListener listener) { onShakeListener = listener; } // 重力感应器感应获得变化数据
熟悉android的人都知道,android系统的手机绝大部分只支持三种屏幕方向的重力感应自动切换,竖直,水平,反方向水平,独独不支持反方向竖直的重力感应切换。...于是我就想,可不可以在源码里找到时哪里被屏蔽了,那我们就可以同过java的反射来调用相关的方法来改变这个设置,让手机支持反方向竖直的重力感应屏幕自动切换,找了很久,可能是我找代码的能力太差,始终没有找到相关的设置代码...,自己监视重力感应来控制屏幕的旋转。...怎么设置屏幕方向的方法有了,那么接下来就是给程序注册一个重力感应的监视器了,这里我们要用到是类型为TYPE_ACCELEROMETER 的感应器,有两点需要注意的就是一监视重力感应的变化是个比较耗资源的事情...TYPE_ACCELEROMETER 的感应器有三个轴,当手机水平放置,屏幕朝上的时候是该感应器的初始状态,这个时候,y轴和x轴的值都是0,而z轴的值是-9.8m/s.当手机转动时三个轴的值都会相应的变化
ART-PI-重力感应无线智能小车第二弹-----OneNet+板载wifi控制电机转动 此次分享主要用到的软硬件资源: 软件(RT-Studio平台): 1、OneNet软件包; 2、OneNet服务器...rt_pin_write(MotorCtrl3Pin, PIN_LOW); rt_pin_write(MotorCtrl4Pin, PIN_LOW); } 接下来就是OneNet下发指令进行控制啦,这也是为后面的重力感应遥控做铺垫
今天我们就来说一下H5手机页面的特效吧;都2022年还H5?没办法H5实在太深入人心了,特别是在微信开放了外连接H5又变得重要了。所以就说一下最近开发H5的一些经验。...1、手机横竖的判断 移动天下手机先行,现在手机基本是70%的载体(余下的pad咯);那么有一个问题就是手机竖屏和横屏的长宽高都不一样,那么对整体的页面布局都会发生重要的影响。...== 90 || window.orientation == -90 ) { alert("横屏"); } 这个就是一进入页面进行判断,如果进入后对手机进行横竖能否即时判断呢...3、手机的重力感应与陀螺仪应用 现在能上H5的基本都是智能手机,一般情况下都带有重力感应与陀螺仪;那这2个有什么用?可以感应到手机的角度和移动的速度。...这个有一个开源的组件Parallax.JS【http://matthew.wagerfield.com/parallax/】在这里我就不展开讲解了,感兴趣的可以留言或自己去看看,这个我也用过一下,感觉比较容易上手和实现
/19702853 二、功能介绍 这是基于STM32设计的智能插座+人体感应灯。...红外热释电人体感应模块: 用来检测人体 3. DHT11温湿度传感器: 检测环境的温度、湿度 4. 0.96寸单色OLED显示屏 : 显示状态信息。...使用热释电人体感应模块检测人体,检测到人体自动开灯,30秒(时间可以根据要求调整)没有检测到人体就自动关灯。 2. 检测环境温湿度,使用OLED显示屏在界面上实时显示出来。...设计手机APP和电脑客户端软件,可以实时显示收到的温湿度数据(3秒上传一次).可以显示历史. 点击手机APP上的按钮,可以用来控制插座开关。 5. OLED一共有4个页面。...OLED显示屏的第一页是实时时钟页面,时间可以通过手机APP来校准。 在手机APP上有一个RTC校准按钮,点击一下就可以校准设备上的时间。
雷德斯 and枕头们,小飞哥又又叒好久没更新文章啦,最近实在是太忙啦,大家久等啦,这次是系列文章,一步步教你如何在ART-PI上实现无线重力感应遥控小车。
mTRTCCloud.setVideoEncoderRotation(TRTCCloudDef.TRTC_VIDEO_ROTATION_90) image.png 9、编码输出旋转180° 左不做操作,右先初始化禁止重力感应...2、重力感应 TRTCSDK默认重力感应GSensorMode是开启的,如果您调用setVideoEncoderRotation不生效,需要把GSensorMode关闭。...还有一些手机,平放在桌面时,会发生横竖屏切换,这是手机重力感应触发的,请把手机支起来吧,或者关闭手机的重力感应。...关于sdk重力感应功能,可以参考这篇《TRTC横竖屏切换2,重力感应》 3、横屏后画面裁剪问题 横屏后画面只显示中间一小部分,看上去放大了。...链接 《TRTC横竖屏切换2,重力感应》
mTRTCCloud.setVideoEncoderRotation(TRTCCloudDef.TRTC_VIDEO_ROTATION_180) 10、编码输出旋转270° 左不做操作,右先初始化禁止重力感应...2、重力感应 TRTCSDK默认重力感应GSensorMode是开启的,如果您调用setVideoEncoderRotation不生效,需要把GSensorMode关闭。...还有一些手机,平放在桌面时,会发生横竖屏切换,这是手机重力感应触发的,请把手机支起来吧,或者关闭手机的重力感应。...关于sdk重力感应功能,可以参考这篇《TRTC横竖屏切换2,重力感应》 3、横屏后画面裁剪问题 横屏后画面只显示中间一小部分,看上去放大了。...五、下一篇 《TRTC横竖屏切换2,重力感应》
因为具体的感应信息依赖于相关硬件,所以虽然Android提供了众多的感应器,但不是每部手机都能支持这么多感应器,恰恰相反,大多数安卓手机仅仅支持包括加速度在内的少数几个感应器。...(五十七)录像录音与播放》)、浏览器加载、交互与下载事件(参见《Android开发笔记(六十四)网页加载与JS调用》)。...3、sim卡感应:手机相关事件(参见《Android开发笔记(四十六)手机相关事件》)。 4、摄像头感应:拍照事件(参见《Android开发笔记(五十六)摄像头拍照》)。...mVibrator.vibrate(500); } } 前置摄像头的感应 博主的手机比较廉价,支持的感应器不多,除了加速度之外,就只有光线与距离感应器了。...同样的,光线感应也是如此,把手机上部遮住,光线强度一下就降得很低。据此,我推测,光线与距离很可能是依靠前置摄像头来感应,所以一旦遮住前置摄像头,光线与距离感应马上就被触发了。
参数: orientation: 类型:字符串 默认值:无 描述:旋转屏幕到指定方向,或根据重力感应自动旋转;当前为横屏时,若想只在横屏间根据重力切换,则可以传 auto_landscape,竖屏间切换则传...取值范围: portrait_up //竖屏时,屏幕在home键的上面 portrait_down //竖屏时,屏幕在home键的下面,部分手机如iPhone...//横屏时,屏幕在home键的左边 landscape_right //横屏时,屏幕在home键的右边 auto //屏幕根据重力感应在横竖屏间自动切换...(需要自动切换横竖屏可以用该值) auto_portrait //屏幕根据重力感应在竖屏间自动切换 auto_landscape //屏幕根据重力感应在横屏间自动切换
假设当地的重力加速度值为g 当手机正面朝上的时候,z的值为q,反面朝上的时候,z的值为-g 当手机右侧面朝上的时候,x的值为g,右侧面朝上的时候,x的值为-g 当手机上侧面朝上的时候,y的值为g,...MySensorEventListener mySensorEventListener; mySensorEventListener= new MySensorEventListener();//这个监听器当然是我们自己定义的,在重力感应器感应到手机位置有变化的时候...sensor_accelerometer, SensorManager.SENSOR_DELAY_UI); super.onResume(); } 最后我们在onPause()中注销所有传感器的监听,释放重力感应器资源...接下来看一个Android用重力传感器做横竖屏切换的例子 在播放视频的时候,可能要做横竖屏的切换,但是,用户可以设置自己的手机关掉屏幕旋转,这个时候就需要想其他的办法了,比如:重力传感器。...mInstance; } private ScreenSwitchUtils(Context context) { Log.d(TAG, init orientation listener.); // 注册重力感应器
领取专属 10元无门槛券
手把手带您无忧上云