(学习日记)2024.01.13:一份关于自行车定位的调研 2

news2024/9/24 5:30:05

写在前面:
由于时间的不足与学习的碎片化,写博客变得有些奢侈。
但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。
既然如此
不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录,记录笔者认为最通俗、最有帮助的资料,并尽量总结几句话指明本质,以便于日后搜索起来更加容易。


标题的结构如下:“类型”:“知识点”——“简短的解释”
部分内容由于保密协议无法上传。


点击此处进入学习日记的总目录

2024.01.13

  • 四、共享单车智能锁

四、共享单车智能锁

  1. 短信解锁
    早期的移动通讯解锁是通过发送短信来实现解锁的,共享单车的智能锁内集成了带有独立号码的SIM卡,当用手机APP扫描共享单车上的二维码时,手机就向后台发送了这辆车特有的编号信息,后台就可以查询到这辆车的位置和状态,在确认了开锁指令之后,云端服务器就会向该车的SIM卡发送开锁短信,接收到短信之后,就会听到车锁内的电机转动和锁鞘“啪”的一声,解锁成功。短信开锁的优势在于开锁成功率比较高,开锁不需要通过GPRS/3G流量,比较省电。但其缺点在于开锁时间相对较慢,原因在于发出开锁指令之后,还需要等待短信的投递。

    一开始以摩拜为代表的共享单车的开锁过程比现在慢多了,每次开锁大概在6~10秒,但极少开锁失败。笔者很早就注册使用共享单车,对此深有体会。原因其实是最开始的共享单车,开锁并不是使用GPRS流量来控制的,而是服务器通过给自行车发短信(对,就是手机短信),响应然后开锁。6至10秒的延时也正正是短信投递的时间。

    但同时,短信解锁的方式也有很大的劣势,比如锁需要始终与网络保持长连接的,就是说这个“手机”始终是开机的状态,时刻要接收信号,而目前GSM终端待机时长(不含业务)仅20天左右,这之间的耗电就需要通过其他方式转化为电能为其充电。前期由于共享出行尚未普及,而单车是需要使用者发电维持的(相信大家都知道摩拜初代用的是轴承不是链条,靠我们骑车来发电),如果某辆车一直没人骑,等到它的电量耗尽变成一辆“僵尸车”,一旦这种情况多起来,线下维护的成本就非常高。

在这里插入图片描述

  1. GPRS开锁
    由服务器通过GPRS/3G流量开锁的方式好处是等待时间明显剪短,从短信开锁的10秒左右,变成了3秒内开锁,提升了用户体验。而且随着网络流量价格的降低,在频繁使用过程中要比短信更便宜,获取的信息量也更大。

    GPRS开锁的劣势是,如果采用3G或者4G模块的话,4G通信模块成本过高,一般需要200元人民币以上。随着物联网的兴起,虽然国内已经有多家蜂窝通信模块厂商,但现有蜂窝通信技术的高功耗、高成本的硬伤,还是不如其他制式更有优势。

  2. GPRS + 蓝牙开锁
    流量+ 蓝牙辅助开锁 将 开锁不稳定、开锁时间慢、耗电等所有问题得以一次性解决。蓝牙辅助开锁,原理是使用用户的手机蓝牙通过加密,与锁内的蓝牙配对后开锁。服务器只需用流量连接用户手机,再由手机蓝牙发送开锁指令到智能锁。这样一来,开锁功耗大大降低,也不需要依赖锁中模块的信号强度,提高稳定性。4G手机的流量速度也保证了开锁时间,这种流量蓝牙“二合一”的开锁方式可谓终极方法。

  3. LTE IoT开锁,eMTC/NB-IoT模块
    eMTC/NB-IoT聚焦于低功耗广覆盖(LPWA)物联网(IoT)市场,是一种可在全球范围内广泛应用的新兴技术。

    我们先看一下其与上述几种物联网制式相比,显著的优势。

    一是低功耗,软件方面可以通过物理层优化、新的节电特性、高层协议优化及操作系统优化实现;硬件实现低功耗可通过提升集成度、器件性能优化、架构优化等几种方式。最终的效果是,终端电池寿命理论状态将可以达到10 年。

    二是低成本,相较于3G模组20美金成本,多模LTE IoT模组通过规模商用将使成本减半。目前NB-IoT芯片在—百万左右量产级别上,价格为5美元/个,在千万到亿量产级别上价格可以下降至1美元/个。同时,运营商模组补贴的政策也将大大降低产品价格,芯片和模组的成本在短期内会降低,从而替代传统的GSM、GPRS通讯模组场景,加速应用的落地。

    三是广深覆盖,NB-IoT 覆盖半径约是GSM/LTE 的4 倍,eMTC覆盖半径约是GSM/LTE 的3 倍。

    四是海量终端连接,eMTC/NB-IoT经过优化,基本可以达到5 万连接数/ 小区。

    在这里插入图片描述
    但是,eMTC/NB-IoT制式组网也有显著的劣势。最直接的表述,就是小马拉大车。

    NB-IoT更多适用于抄表等业务。在共享单车上部署NB-IoT有些挑战,基站的切换与耗电并没有比2G好很多,也并不优于eMTC。其NB-IoT对数据速率支持较差,移动性弱,在实测环境中,无法满足超过30km/小时的速度。对于共享汽车,甚至快递业使用,都可能会产生制约。
    考虑网络的延时性、基站切换、功耗等因素,共享单车更适合于eMTC应用,但共享单车没有对大带宽的需求。从带宽供需角度看,共享单车并不需要1Mbps速率,eMTC看上去似乎也不太适合共享单车的应用。

    因此,联合组网也许是个不错的方式,未来有更多的应用场景,也将使用到NB-IoT与eMTC互补,甚至需要短距连接互补的方式。综上所述,通过NB-IoT与eMTC互补+2G与eSIM结合,才能满足摩拜的多场景应用需求。

    通过摩拜单车智能车锁的故事我们看到,未来组网方式并不是非此即彼的选择,同时不同垂直行业,不同应用场景下,对网络制式的选择还有很长的路需要摸索。随着产业的发展,并没有所谓完美的解决方案出现,适用于2G/NB-IoT/eMTC多种连接技术的多模蜂窝物联网模块,也许会成为短期内行业主流。

参考资料:
手机是如何解锁共享单车的?带你了解背后的原理
我破解了两款用蓝牙开锁的共享单车
共享单车上的智能锁,做出来有多难?
史上最全、最详细的共享单车车锁拆解(附:所用器件说明)
共享单车的核心技术原理
哈罗单车怎么GPS定位
“开不坏”的丰田“骑不坏”的哈啰?人工智能太强大了
在共享单车应用的多种手段的定位技术中,哈啰单车科技有何优势?
GNSS/GSM/GPRS模块方案助力共享单车智能锁提升用户体验
GSM→GPRS→eMTC/NB-IoT,从共享单车看物联网进化史

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

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

相关文章

【文献解读】“MOBILEViT:轻量级、通用目的、移动友好的视觉变换器”。

今天阅读这篇2022年ICLR会议上发表的论文,主要是为了学习MobileViT模型,用于YOLO模型主干改造。 一、文献概述 作者:Sachin Mehta 和 Mohammad Rastegari。地点:作者所属机构是 Apple。内容简述: 提出了一种名为Mob…

用模方软件进行模型的透明贴图,为什么翻出来透明部分是黑的?

答:透贴需要用PNG格式。 模方是一款针对实景三维模型的冗余碎片、水面残缺、道路不平、标牌破损、纹理拉伸模糊等共性问题研发的实景三维模型修复编辑软件。模方4.1新增自动单体化建模功能,支持一键自动提取房屋结构,平均1栋复杂建筑物只需3…

shell中echo和printf在终端输出时更改文本颜色

shell中更改echo或printf的输出颜色可以使用相应的ANSI转义码(ANSI Escape Codes)来实现:各种常用颜色的ANSI如下所示,截图来自于 geeksforgeeks.org 八进制格式应采用以下格式给出:八进制格式必须以名为\033[的参数为前缀,后跟需要指定的颜色…

地图多点自动缩放,居中,思路和手写

效果如下 多个标记点顺次标记连接起来zoom缩放到合适等级,刚好能放下那么多点视野刚好在正中间 zoom 实现思路 获取多点的最大经纬度点和最小经纬度点(这两个点相距离最远)计算2个这两点之间的距离地图是有比例尺的,根据比例尺…

AI软件开发:探索原理、挑战与未来趋势

AI软件开发已经成为当前最热门和具有前景的技术领域之一。随着人工智能技术的快速发展,AI软件的应用范围也在不断扩大。本文将主要探讨AI软件开发的原理、挑战以及未来的趋势。 首先,AI软件开发的原理是基于机器学习和深度学习算法。机器学习是一种通过…

基于SSM+vue的篮球场预约管理系统(Java毕业设计)

大家好,我是DeBug,很高兴你能来阅读!作为一名热爱编程的程序员,我希望通过这些教学笔记与大家分享我的编程经验和知识。在这里,我将会结合实际项目经验,分享编程技巧、最佳实践以及解决问题的方法。无论你是…

计算机毕业设计----Springboot超市订单管理系统

项目介绍 该超市订单管理毕业设计基于jdk8版本开发,在部署时需要使用jdk8以上的版本。使用了目前流行的框架组合springbootmybatis的框架技术, 实现了供应商管理对供应商实现增删改查、订单管理对超市订单实现增删改查、用户管理等功能,适用…

Docker五部曲之一:容器术语介绍

文章目录 前言背景基本术语容器镜像容器镜像格式容器引擎容器容器主机注册中心容器编排 进阶术语容器运行时镜像层标签存储库名称空间 参考 前言 本文内容翻译自参考文献。 背景 要理解容器术语,重要的是要精确地理解容器是什么。容器实际上是两个不同的东西。像…

MySQL基础学习: 使用EXPLAIN查看执行计划详解分析

一、EXPLAIN语句的作用 在客户端执行MySQL的操作语句,会依次经过MySQL客户端连接管理、语法解析与优化(查询缓存、语法解析、查询优化)、存储引擎层。其中查询优化器在基于成本和规则对查询语句进行优化,并且在优化后会生成一个执…

安装、运行和控制AI apps在您的计算机上一键式

pinokio 你是否曾为安装、运行和自动化 AI 应用程序和大模型而感到困惑?是否希望有一个简单而强大的工具来满足你的需求?如果是这样,那么 Pinokio 将会是你的理想选择!Pinokio 是一款革命性的人工智能浏览器,是一个开…

51单片机点阵开发

一.LED点阵屏 LED点阵屏通过LED(发光二极管)组成,以灯珠亮灭来显示文字、图片、动画、视频等,LED点阵显示屏制作简单,安装方便,被广泛应用于各种公共场合,如汽车报站器、广告屏、银行窗口屏叫号屏以及停车系统等等。 …

牛客(JZ36 二叉搜索树与双向链表)

题目链接 思路1:使用中序遍历, 创建一个cur记录当前结点,prev记录上一个结点,这样cur->left prev,prev->right cur, 这样就链接 成功了。 难点:需要使用引用来控制prev。 /* struct T…

C# IOC 容器实战:KeyedService和生命周期

文章目录 前言KeyedServiceKey缺少Key值覆盖 KeyedService.AnyKey生命周期测试代码 总结 前言 我之前写过一篇Ioc容器的使用,用的是微软的IOC容器。这次我们再去深入了解一下IOC 和控制反转 .NET Core 依赖注入 Microsoft.Extensions.DependencyInjection ASP.NET …

js 实现拖动按钮添加布局

效果&#xff1a; h布局生成左右布局&#xff0c; v布局生成上下布局 代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, ini…

【MATLAB源码-第104期】基于matlab的MPSK和MQAM调制解调方式仿真,输出误码率曲线。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 MPSK&#xff08;多相位键控&#xff09; MPSK是一种基于载波相位变化的数字调制技术。它的核心原理是通过改变载波的相位来表示不同的数字信息。这种技术可以分为几个不同的级别&#xff0c;其中最常见的包括&#xff1a; 1…

用sql计算两个日期的间隔天数 ,去除周末

快递行业&#xff0c;经常需要计算2个节点的时效&#xff0c;有的计算自然日&#xff0c;有时候需要计算去掉周末的时效&#xff0c;计算自然日很简单&#xff0c;用函数datediff 就可以了&#xff0c;计算工作日时效&#xff0c;我的实现方法如下&#xff0c;借助了一个日期维…

GSTAE

缺失数据的流量预测:一种多任务学习方法 摘要:基于真实交通数据的交通速度预测是智能交通系统(ITS)中的一个经典问题。大多数现有的交通速度预测模型都是基于交通数据完整或具有罕见缺失值的假设而提出的。然而,由于各种人为和自然因素,在现实场景中收集的此类数据往往是…

NUS CS1101S:SICP JavaScript 描述:二、使用数据构建抽象

原文&#xff1a;2 Building Abstractions with Data 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 我们现在来到数学抽象的决定性步骤&#xff1a;我们忘记符号代表什么。…[数学家]不需要闲着&#xff1b;他可以用这些符号进行许多操作&#xff0c;而无需看它们所代…

Elasticsearch 7.8.0从入门到精通

安装Elasticsearch 7.8.0 官网&#xff1a;Elasticsearch 7.8.0 | Elastic 大家下载所需要的安装包即可。然后解压缩&#xff1a; Elasticsearch是通过java编写的&#xff0c;所以自带jdk。多好&#xff0c;下载Elasticsearch赠送jdk 0.0&#xff0c;不过一般我们用自己的jdk…

C++学习笔记——输入、输出和文件

目录 一、标准输入输出 2.1下面是它们的基本用法 解释 二、格式化输入输出 2.2下面是一个示例 解释 三、文件读写 3.3下面是一个文件读写的示例 解释 四、异常处理和错误检测 4.1下面是一个示例 解释 五、一个实例代码 5.1如何读取 CSV 文件&#xff0c;并计算每…