使用 Qt for Android 获取并利用手机传感器数据(上篇)开发环境省心搭建

这篇具有很好参考价值的文章主要介绍了使用 Qt for Android 获取并利用手机传感器数据(上篇)开发环境省心搭建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

现代手机拥有许多传感器,包括地磁、姿态、GPS、光照、温度、气压、摄像、声音、电磁等,完全就是一个高度集成的科学仪器。不夸张的说,一部手机加上一个外围的计算机和控制系统,做一个功能较强的自主移动机器人并不是不可能。但是,很多APP都只是局限于自身的功能,并不喜欢把传感器数据泵出来给其他设备分享。即使有,也是收费的。

有没有可能自己做一个小APP,获得所有的手机传感器数据,榨干手机的感知能力呢?实际上实现起来并不困难,甚至连界面都不需要。笔者准备涉足一下从未实操过的App开发,把旧手机的传感器数据分享出来。

1. 基本思路

分享传感器数据,必然需要一个连接。从应用的场景来说,用手机与消费者的网络距离来分类,可以想到如下几种常见共享思路。

序号 连接 场景 技术要求
0 Wifi局域网 室内/近距离,低延迟局域网通信 需要局域网服务声明与功能发布实现自动发现与连接
1 网络热点(无线/USB/蓝牙等) 室内/近距离,无需第三方Wifi网络支持,低延迟局域网通信 客户端直接获取网关地址而后连接,最简单。
2 蓝牙数据连接 室内/近距离,无需第三方Wifi 需要蓝牙发现与连接功能
3 物联云服务 远距离,基站覆盖区域内共享,公网端口映射 需要注册域名,购买云资源,花钱但简单可靠
4 DDNS动态域名 远距离,基站覆盖区域内共享,公网端口映射 需要自己维护宽带、IP与DDNS,复杂度高但开销小

从简单考虑,我们使用序号1进行开发。手机为其他设备提供互联网热点,并在构造的局域网内直接通过局域网IP段进行传感器内容分发。

2. 开发工具链搭建

如果熟悉Java或者Kotlin开发,当然是用原生的 Android Studio 搞定。不过我比较熟悉C++,准备使用C++ Qt搞定。通过初步的安装,我惊喜的发现新版的Qt(Creator版本 9.0)在线安装真的比4年前方便太多了!基本是按照下面的步骤自动搞定,不需要自己修改环境变量、配置Java。

注意的是,为了后续安装方便,机器上要安装Git客户端,并加入PATH,使得CMD可以找到Git.

2.1 下载并安装 Android Studio

在官网下载 Android Studio, 并进行安装。笔者的下载速度不孬,呼呼叫就下完了,管的狠!

  1. 下载后,最好选择一个大一点的磁盘,进行安装。我不喜欢把SDK之类的东西放到默认的C:\Users\Name\AppData下,所以注意,安装的时候选好文件夹。
  2. 如果一直在手机上物理调试,也可以不安装虚拟机。这样快得多。另外在实际手机调试的体验要比虚拟机好得多。

手机app接收传感器的数据,现代C/C++工具链,Qt,android,qt,开发语言,c++,QML
手机app接收传感器的数据,现代C/C++工具链,Qt,android,qt,开发语言,c++,QML

在安装完毕后,直接开始(start),首次会提示下载必要的组件。注意为了SDK不污染AppData,选择自定义模式
手机app接收传感器的数据,现代C/C++工具链,Qt,android,qt,开发语言,c++,QML手机app接收传感器的数据,现代C/C++工具链,Qt,android,qt,开发语言,c++,QML手机app接收传感器的数据,现代C/C++工具链,Qt,android,qt,开发语言,c++,QML完成后,关闭程序。注意,目前缺失的很多组件,Qt Creator 9.0会在配置时进行下载。

2.2 在线安装Qt

在官网下载Qt在线安装工具
https://www.qt.io/download-qt-installer
需要注意的是,要有耐心等待网页,真的很慢。而后会进入下载页面。真开始下载后,下载超级快。另外注意的是,虽然是在线安装,但是绿色版的。比如你在学校机房,安装好一台后,直接拷贝到其他机器就全了。只要保证文件夹都一样就可以。如果不一样,用junction创建一个NTFS链接即可。

由于学校不是所有计算机都有D:(有的是光驱+E:),我一般会选择一台C盘大的机器,全部一股脑装到C:\Qt或者 C:\Tools\Qt里(本次放在C:\Android\Qt)。发布到其他电脑的 E:或者D:后,再junction到C。

手机app接收传感器的数据,现代C/C++工具链,Qt,android,qt,开发语言,c++,QML手机app接收传感器的数据,现代C/C++工具链,Qt,android,qt,开发语言,c++,QML
而后,双击下载的文件 “qt-unified-windows-x64-4.5.0-online.exe” 进行安装。注意似乎需要填写账号,还需要提前注册一个。

手机app接收传感器的数据,现代C/C++工具链,Qt,android,qt,开发语言,c++,QML在选择套件时,直接选择上 Android,就选中了所有的组件。默认当前最新是Qt 6.4.1。像笔者这样已经安装过Qt的用户,直接选升级后,再添加Android组件即可。注意一定要安装9.0以上的QtCreator,真的非常好用。

手机app接收传感器的数据,现代C/C++工具链,Qt,android,qt,开发语言,c++,QML手机app接收传感器的数据,现代C/C++工具链,Qt,android,qt,开发语言,c++,QML手机app接收传感器的数据,现代C/C++工具链,Qt,android,qt,开发语言,c++,QML

2.3 自动配置Android工具链

首次启动QtCreator后,底部会有提示,配置安卓
手机app接收传感器的数据,现代C/C++工具链,Qt,android,qt,开发语言,c++,QML直接点击,选择刚才的SDK路径后,会发现很多项都是红色的。
手机app接收传感器的数据,现代C/C++工具链,Qt,android,qt,开发语言,c++,QML点击“设置SDK”,进行配置
手机app接收传感器的数据,现代C/C++工具链,Qt,android,qt,开发语言,c++,QML
手机app接收传感器的数据,现代C/C++工具链,Qt,android,qt,开发语言,c++,QML
而后,再次选择同一个SDK文件夹,就会触发下一步配置

手机app接收传感器的数据,现代C/C++工具链,Qt,android,qt,开发语言,c++,QML

手机app接收传感器的数据,现代C/C++工具链,Qt,android,qt,开发语言,c++,QML
注意许可证要一路点击同意
手机app接收传感器的数据,现代C/C++工具链,Qt,android,qt,开发语言,c++,QML
手机app接收传感器的数据,现代C/C++工具链,Qt,android,qt,开发语言,c++,QML

完毕后,主干功能全部变绿。如果配置了Git,则卡伊自动克隆openssl,所有功能变绿。

手机app接收传感器的数据,现代C/C++工具链,Qt,android,qt,开发语言,c++,QML此时,重启 QtCreator,会发现Kits里已经出现了完好的工具链。

手机app接收传感器的数据,现代C/C++工具链,Qt,android,qt,开发语言,c++,QML

3. 创建第一个安卓应用

可以直接新建第一个应用了,也可以打开一个例子。注意,在release版本的构建选项里,要创建一个用于app签名的证书,否则release版本的apk生成会有问题。

手机app接收传感器的数据,现代C/C++工具链,Qt,android,qt,开发语言,c++,QML
注意首次编译会下载 Downloading https://services.gradle.org/distributions/gradle-7.4.2-bin.zip,如果网络不好,可能会超时。多试几次就可以了。要注意有些编译提示是UTF-8的,需要修改QtCreator的默认编码,这样才能显示中文错误提示。

手机app接收传感器的数据,现代C/C++工具链,Qt,android,qt,开发语言,c++,QML
编译后,即可运行例子

手机app接收传感器的数据,现代C/C++工具链,Qt,android,qt,开发语言,c++,QML

4 为后续开发安装额外的模块

Qt的很多专门模块目前已经变成可选模块,直接通过维护器进行自定义安装(我全装了)

手机app接收传感器的数据,现代C/C++工具链,Qt,android,qt,开发语言,c++,QML
手机app接收传感器的数据,现代C/C++工具链,Qt,android,qt,开发语言,c++,QML我们把“Additional Libraries” 全勾上,花不了几个G的磁盘。

至此,基本的开发环境就做好了。

5 兼容性

要注意的是,目前太老的Android手机可能不支持,建议用近两年的手机测试。另外要查看自己手机的SDK版本,如果遇到问题,要先在Android Stuido里安装老一点的SDK。文章来源地址https://www.toymoban.com/news/detail-779556.html

到了这里,关于使用 Qt for Android 获取并利用手机传感器数据(上篇)开发环境省心搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【代码】Android|获取压力传感器、屏幕压感数据(大气压、原生和Processing)

    首先需要分清自己需要的是大气压还是触摸压力,如果是大气压那么就是TYPE_PRESSURE,可以参考https://source.android.google.cn/docs/core/interaction/sensors/sensor-types?hl=zh-cn。如果是触摸压力就是另一回事,我需要的是触摸压力。 不过我整错了,一开始做成了大气压,后来又先做了原生的

    2024年03月19日
    浏览(49)
  • 【Android App】物联网中查看手机支持的传感器及实现摇一摇功能-加速度传感器(附源码和演示 超详细)

    需要源码请点赞关注收藏后评论区留言~~~ 传感器Sensor是一系列感应器的总称,是Android设备用来感知周围环境和运动信息的工具。 因为具体的感应信息依赖于相关硬件,所以虽然Android定义了众多感应器,但是并非每部手机都能支持这么多感应器。 传感器一般借助于硬件监听

    2024年02月09日
    浏览(53)
  • 传感器:探索Android中的传感器功能与使用

    利用 Android 传感器框架,您可以访问多种类型的传感器。有些传感器基于硬件,有些基于软件。基于硬件的传感器是内置在手机或平板设备中的物理组件。这类传感器通过直接测量特定的环境属性(如加速度、地磁场强度或角度变化)来采集数据。基于软件的传感器不是物理

    2024年02月03日
    浏览(71)
  • 【Android入门到项目实战-- 9.5】—— 陀螺仪传感器的详细使用教程

    目录 陀螺仪传感器 1、基础知识  2、实战使用         返回x、y、z轴的角加速度数据。         水平逆时针旋转,z轴为正,顺时针为负;         向左旋转,y轴为负,向右旋转,y为正;         向上旋转,x为负,向下旋转,x为正。 修改activity_main.xml代码如下:

    2024年02月12日
    浏览(53)
  • 使用人工智能和传感器技术,结合观测数据,实时获取自然界中变化的事件并进行分析预测。

    作者:禅与计算机程序设计艺术 随着全球数字化转型,物联网、智慧城市、智能农业、智能医疗等新兴产业正在改变世界,传感器网络已经成为连接各类传感器设备的基础设施。而人工智能也逐渐成为各行各业的基础性科技工具,在对环境的高速采集、实时的计算、及其规模

    2024年02月06日
    浏览(53)
  • 手机中常用的传感器

    传感器有唤醒和非唤醒属性 关于重力传感器和加速度传感器,还需要多查询确认 可以用QSensorTest、SensorBox查看传感器 定义:确定设备的竖直方向和位置 应用: 屏幕自动旋转:旋转手机时检测设备的旋转方向和速度,从而自动调整屏幕方向 晃动检测:检测手机的晃动和振动

    2024年03月18日
    浏览(48)
  • 手机传感器的基础知识

    目录 1. 手机传感器的种类 2. 手机传感器的工作原理 3.不同类型的传感器 常见的手机传感器有加速度计、陀螺仪、磁力计、距离传感器、光线传感器、压力传感器等。这些传感器可以测量手机的运动状态、方向、磁场、光照强度、压力等信息。 传感器通过感应元件(如电容、

    2024年02月12日
    浏览(47)
  • 利用FlexLua,打造便捷LoRa风速传感器

    LoRa无线风速传感器的技术原理主要涉及到风速传感器、LoRa通信模块以及微控制器。风速传感器通过感知周围环境中的风速情况,将获取的数据传输给微控制器;微控制器再利用LoRa通信模块将数据进行编码并传输至远端接收器,实现了风速数据的远程监测和传输。 在实际应用

    2024年04月13日
    浏览(39)
  • 手机指纹传感器:是否真的那么安全?

    快速链接: . 👉👉👉 个人博客笔记导读目录(全部) 👈👈👈 付费专栏-付费课程 【购买须知】: 【精选】ARMv8/ARMv9架构入门到精通-[目录] 👈👈👈 — 适合小白入门 【目录】ARMv8/ARMv9架构高级进阶-[目录]👈👈👈 — 高级进阶、小白勿买 【加群】ARM/TEE/ATF/SOC/芯片/安全-学习交

    2024年02月03日
    浏览(55)
  • 智能手机上最常见的传感器

    手机中的传感器( sensor )是指将手机所处的环境(亮度、磁场、温度、动力等)或手机所执行的行为(移动、翻转、拿起等)轨迹转换成电信号的一系列器件或装置,一般这类传感器都是由敏感元件以及转换元件组成。 1、光线传感器(Ambient Light Sensor) 光线传感器类似于手机的眼睛。

    2024年02月06日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包