蓝牙、GPS定位学习

news2024/12/25 0:27:17

启动状态(APP)

  • 冷启动
    指在启动应用时,后台没有应用的进程或者进程被杀死的情况下,系统会重新创建一个新的进程,并按照一定的顺序创建和初始化Application类和MainActivity类,最后显示在界面上。这个过程需要创建和初始化两个类。

  • 热启动
    指在启动应用时,后台已有应用的进程,例如按下back键或home键后,应用虽然会退出,但是进程仍然保留在后台。在这种情况下,启动应用会直接从已有的进程中启动,只需要创建和初始化MainActivity类,不需要再创建和初始化Application类。因为一个应用从新进程的创建到销毁,Application只会初始化一次。

  • 温启动
    介于冷启动和热启动之间的一种情况。一般发生在用户退出应用后再次启动应用的情况下。在温启动中,应用进程可能仍在运行,但是Activity需要重新创建。另外,如果系统由于内存原因将应用杀死,进程和Activity都需要重新启动,但是可以在onCreate方法中恢复被杀死前保存的状态。

GPS的冷热温启动

  • 冷启动: 以下几种情况开机均属冷启动:
  1. 初次使用时;
  2. 电池耗尽导致星历信息丢失时;
  3. 关机状态下将接收机移动1000公里以上距离。

注:也就是说冷启动是通过硬件方式的强制性启动,GPS清空了所有历史信息,GPS接收机失去卫星参数,或者已经存在的参数和实际接收到卫星参数相差太多,导致导航仪无法工作,必须从新获得卫星提供的坐标数据,由于没有先前信息,这将花去很长的时间。

  • 温启动: 距离上次定位的时间超过两个小时的启动。

注:搜星定位时间介于冷启动和热启动之间。GPS保存有最后计算的卫星的位置、历书和UTC时间,但由于关机时间过长,星历发生了变化,保存的内容不是当前可视卫星的数据,以前的卫星接受不到了,需要搜星补充位置信息,所以搜星的时间要长于热启动,短于冷启动。

  • 热启动: 指在上次关机的地方没有过多移动启动GPS,但距离上次定位时间必须小于2个小时。

注:GPS保存有其最后计算的可视卫星的位置、almanac(历书)和UTC时间,在重启以后,GPS以保存的上述内容为基础获取和计算当前卫星的最新位置。也就是通过软件的方式,进行一些启动前的保存和关闭等准备工作后的启动。

蓝牙通讯

蓝牙技术是一种无线通信的方式,利用特定频率的波段(2.4GHz-2.485GHz左右),进行电磁波传输。蓝牙传输原理是主从关系,一个主设备可以与7个蓝牙从设备配对。

在这里插入图片描述

BLE蓝牙(Bluetooth Low Energy)

BLE蓝牙就是低功耗蓝牙低功耗数据量小距离50米左右。用在功耗小的地方,如智能设备。

影响蓝牙传播的因素

  • 无线电频谱:无线电频谱范围30 Hz~300 GHz,频率高,范围短,速度快,反之,速度慢,所以需要在频谱范围和传输速率之间折中选择。

  • 无线电的物理层(PHY):主要与调制和发送相关,影响通道数量,通道信号质量等。

  • 接收器灵敏度(接收机可以接收到的并仍能正常工作的最低信号强度)

  • 发射功率:功率高,传输的远,但相对的功耗大。蓝牙功率范围0.1mW-100mW。根据不同应用,采用不同的时钟域可降低功耗。

  • 天线增益

  • 路径损耗

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/825985.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue3使用iframe引入其他网站,vue-router路由跳转后页面空白,刷新之后才展示页面内容乌龙事件

问题描述:vue3项目的页面A跳转到页面B时,页面B页面是空白的,需要手动刷新一下才能恢复正常,在页面A中用iframe引入了别的网站(后续事实证明,跟iframe没一毛钱的关系)。着急的童鞋可以直接拉到底…

【C++】开源:Eigen3矩阵与线性代数库配置使用

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍Eigen3矩阵与线性代数库配置使用。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下&…

机柜PDU的选购也有大学问——与机柜PDU相关的那些事儿

在各行各业数据中心机房供配电建设过程中,机柜专用PDU电源插座看似是一个较为简单的用电设备,事实上又不那么简单。机柜PDU,是为安装在机柜内部的IT设备提供电源分配、管理的末端配电设备,在不同的工作场合对于PDU的规格要求也是不…

HackSudo2靶机 通关详解

环境配置 发现vmWare的kali扫不到virtualbox的靶机 网上找了挺久资料都没解决 索性全桥接上物理机了 信息收集 漏洞发现 扫个目录 都看了一眼 没什么有用的 然后回到file.php 感觉之前做过类似的靶场,猜测存在文件包含 随便传个file试试 确实有 考虑日志文件包含 之前看…

C++---list常用接口和模拟实现

list---模拟实现 list的简介list函数的使用构造函数迭代器的使用list的capacitylist element accesslist modifiers list的模拟实现构造函数,拷贝构造函数和迭代器begin和endinsert和eraseclear和析构函数 源码 list的简介 list是用双向带头联表实现的一个容器&…

[用go实现解释器]笔记1-词法分析

本文是《用go实现解释器》的读书笔记 ​ https://malred-blog​malred.github.io/2023/06/03/ji-suan-ji-li-lun-ji-shu-ji/shi-ti/go-compile/yong-go-yu-yan-shi-xian-jie-shi-qi/go-compiler-1/#toc-heading-6http://个人博客该笔记地址 ​github.com/malred/malanghttp:/…

入行软件测试的一些工作感悟

成为xx一员测试已经有1年半了,一直没有真正坐下来花些时间将自己的思路理清一下。刚好近期公司落地了OKR,给自己制定了OKR之后思路终于开始清晰起来,朦朦胧胧地开始看清了远方的路,麻着胆子分析一下自己,毕竟摸黑走路的…

Screens 4 for mac VNC客户端 强大的远程控制工具

Screens 4 for Mac 是一款功能强大的 VNC 客户端软件,为 Mac 用户提供了便捷的远程访问和控制解决方案。无论您是需要远程管理服务器、办公电脑,还是需要远程协助他人解决问题,Screens 4 都是您的理想选择。 Screens 4 for Mac具备简洁直观的…

小白到运维工程师自学之路 第六十二集 (docker持久化与数据卷容器)

一、概述 Docker持久化是指将容器中的数据持久保存在主机上,以便在容器重新启动或迁移时不丢失数据。由于Docker容器是临时和可变的,它们的文件系统默认是易失的,这意味着容器中的任何更改或创建的文件都只存在于此容器的生命周期内。但是&a…

基于低代码平台快速搭建应用

一、前言 近年来,SaaS行业的迅猛发展带动了低代码领域的快速兴起。国外的低代码创业公司如Mendix、Outsystems,以及国内的软件业巨头如华为、用友、金蝶等和小众高性价比的引迈JNPF都已经纷纷涉足低代码市场。根据Transparency Market Research的报告&am…

独立站运营要做哪些工作?包含哪些模块?

在电商行业中,广告投放和设计等岗位的招聘可能会相对容易,但真正理解并有效执行独立站运营的人员却十分稀少。因此,今天将聚焦于独立站的运营,特别是针对精品垂直站和品牌站的运营。 首先,我们需要了解“运营”的含义…

vue2使用v-viewer实现图片预览

v-viewer 用于图片浏览的Vue组件,支持旋转、缩放、翻转等操作,基于viewer.js。 中文文档:Vue图片浏览组件v-viewer,支持旋转、缩放、翻转等操作 | Mirari’s Blog 代码示例:https://mirari.cc/v-viewer/ 在Vue.js 2…

Java并发系列之三:乐观锁机制

上一篇悲观锁中,我们讲到悲观锁的四种状态时,提到了“无锁”这种状态,并解释其有两种语义,一种是对共享资源不进行任何同步原语保护;另一种是共享资源会出现被竞争的情况,但是不使用操作系统同步进行保护&a…

17、Spring6整合JUnit5

目录 17、Spring6整合JUnit5 17.1 Spring对JUnit4的支持 准备工作&#xff1a; 声明Bean spring.xml 单元测试&#xff1a; 17.2 Spring对JUnit5的支持 17、Spring6整合JUnit5 17.1 Spring对JUnit4的支持 准备工作&#xff1a; <?xml version"1.0" enco…

Java课题笔记~ MyBatis映射文件

映射文件是MyBatis中的重要组成部分&#xff0c;它包含了开发中编写的SQL语句、参数、结果集等。映射文件需要通过MyBatis配置文件中的<mapper>元素引入才能生效。MyBatis规定了映射文件的层次结构。 1、映射文件概览 <?xml version"1.0" encoding"…

浅谈document.write()输出样式

浅谈document.write()输出样式 js中的最基本的命令之一&#xff1a;document.write&#xff08;&#xff09;&#xff0c;用于简单的打印内容到页面上&#xff0c;可以逐字打印你需要的内容——document.write("content"),这里content就是需要输出的内容&#xff1b;…

2023 ChinaJoy 圆满闭幕,FairGuard游戏加固亮相 BTOB 展区

提振行业 产业复苏 2023年7月28日至7月31日&#xff0c;第二十届中国国际数码互动娱乐展览会( ChinaJoy)于上海新国际博览中心圆满举办。本届ChinaJoy作为疫情结束后的第一个国际性数字娱乐领域的重要产业盛会&#xff0c;对于提振行业信心、加快产业复苏、增进国际间的交流与…

如何成为linux服务端C++开发专家?

想成为linux服务端C开发专家&#xff0c;只能自己慢慢学&#xff0c;在实践中摸索&#xff0c;我敢说没几个人说自己是linux服务端C开发专家 ! 这里说下鹅厂关于Linux C方向 的使用场景 。 进腾讯最好的方向是 Linux C方向&#xff0c;目前腾讯由于历史原因&#xff0c;还有游…

16、外部配置源与外部配置文件及JSON配置

外部配置源与外部配置文件及JSON配置 application.properties application.yml 这些是配置文件&#xff0c; 命令行配置、环境变量配置、系统属性配置源&#xff0c;这些属于配置源。 外部配置源的作用&#xff1a; Spring Boot相当于对Spring框架进行了封装&#xff0c;Spri…

java环境搭建 Ubuntu Linux

jdk的安装和配置环境变量 使用apt sudo apt install default-jdk若是安装成功了在终端输入java -version来查看是否安装成功 使用官网下载的jdk包 直接在百度上搜索jdk&#xff0c;选择图片这个 网址:jdk下载网址 若是arm就选择带有arm的&#xff0c;反之选择x64的&#…