Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >共享单车上的智能锁,做出来有多难?

共享单车上的智能锁,做出来有多难?

作者头像
钱塘数据
发布于 2018-03-06 06:24:01
发布于 2018-03-06 06:24:01
2.5K0
举报
文章被收录于专栏:钱塘大数据钱塘大数据

在共享经济大潮的席卷下,共享单车一直是当下创投市场的宠儿,新公司入场、旧公司倒闭,独角兽融资……单车市场每有大动作,都伴随着连篇累牍的相关报道,今年上半年有关注的同学可能早早就看过这些文章是这样介绍单车上的智能锁的,“技术实现手段也不难:在电动车锁里加上传感器、GPS、3G网络和芯片……”,事实上真的像众多报道中所描述的如此“简单”吗?

单车联网的核心必是智能锁

在探讨共享单车上智能锁要怎样做出来前,我们应该先弄明白:共享单车是否非要智能锁不可?

在如今市场出现的“百车大战”中,OFO和摩拜无疑是众多市场争夺竞争者中对受瞩目的一对。摩拜单车配备了“GPRS开锁 + GPS定位”的智能锁,开发和生产成本较高,而OFO走的则是普通自行车密码锁,野蛮铺货大干快跑的策略。

橙黄大战也引发了对智能锁使用的思考

在这场市场占领的竞争中,单纯用机械锁压低单车成本的做法在运营中缺点已经凸显。幻想使用机械锁运营共享单车也在具体的实践中逐渐被证明是不可能的。共享单车上不设置智能锁,从用户体验层面到线下维护成本的层面都没有任何优势。

OFO 被大量用户诟病的一点就是单车没有GPS定位,用户找车十分麻烦,为了解决这个问题OFO只能大量铺货,我在每个地方都有大量的车,这样车是不难找了,但投放量的增加无疑增加了投放成本;用户还车需要自觉打乱密码盘,使得OFO有将近3成的车被占位私有,一次开锁,终身使用;机械锁为每辆编码单车下发的密码一样,用户记住密码可跳开App解锁,一次开锁,全家使用;平台根本不能监控车辆位置,单车的状态,车辆报废率极高,相应地,维护成本高得吓人。

反观摩拜单车的智能锁嵌入GPS 和独立SIM卡,不仅方便用户取用,平台还可能把用车需求量化,进行动态匹配,最重要的是积累了短途大数据。在共享单车竞争的核心点除去投放量外,最有意义的就是用户短途大数据的信息收集,对铺货位置、数量等运营有战略性的意义。

长篇大论说了一通,下面我们要进入正题了,做一个搭载GSM+GPS功能的智能锁,有多难?

智能锁的开锁方式的演变

我们先搞清楚智能锁的核心问题:用户是怎么通过手机扫码开锁的,原理是什么?共享单车上的智能锁从上线之处到现今,开锁的方式已经经历了三次优化。

短信解锁:

我们都体验过共享单车的开锁方式:用手机扫描车上的二维码,APP 上出现解锁进度的读条,10秒内就会听到电机带动和锁鞘“啪”的一声,解锁成功。我们可以直接把锁内的 GSM 模块当成是当年的插了SIM卡的黑白功能手机,10秒内的时间,GSM 搜索网络时间没有这么短,更何况在解锁的过程中,我们仅仅是用手机扫码,没有任何激活单车的操作,所以可以肯定锁是始终与网络保持长连接的,就是说这个手机始终是开机的状态,时刻要接收信号。

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

早期的共享单车使用短信开锁

短信开锁的方式有其优势:开锁比较稳定,开锁不需要通过GPRS/3G流量,比较省电。省电是非常重要的,前期由于共享出行尚未普及,而单车是需要使用者发电维持的(相信大家都知道摩拜初代用的是轴承不是链条,靠我们骑车来发电),如果某辆车一直没人骑,等到它的电量耗尽变成一辆“僵尸车”,一旦这种情况多起来,线下维护的成本就非常高。

没想到吧,最开始的共享单车是以短信作为开锁信号!

GPRS开锁:

接下来共享单车开锁方式就直接由服务器通过GPRS/3G流量传达指令开锁。不再担心电量的问题,这种变化是可预见的,因为骑车的人多起来了嘛!通过流量直接开锁,开锁速度也大大提升,从原来靠短信,等待时间有时候要30秒、1分钟(短信收发有时候还不止这么久)变成了3秒内开锁,照顾到很多人的用户体验。但问题随之而来:开锁时间,开锁成功率依赖信号,在信号不强的地区开锁也是十分痛苦的。

GPRS + 蓝牙开锁:

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

续航问题

共享单车一开始不被看好,很大程度上是因为其电池的续航问题。

上面提到过,除去开锁,单车需要和后台云服务器建立了TCP/IP长连接,通过心跳包的形式保持通信,与服务器同步定位的信息。显然,定位的问题要用到锁里面GPS 模块(最傻的创业者都不会用基站这种方式定位),单单是实时定位就需要GSM + GPS的方式24小时不间断去追踪单车,耗电不少啊。

这就涉及到锁的整体功耗问题了,共享单车上的智能锁一天要用多少电?我们尽量用最最省电的方式去计算。

由于我们不可能把市面上的共享单车拿来拆掉测试,所以要另想办法。我们从SparkFun 上找了个GSM/GPS 模块,通过它显示的参数来预估。

在 SparkFun 搜索“GSM/GPS”出来的第一个

这里介绍的参数为平均工作功耗为7mAh,加上周围电路的功耗,预估10~12mAh基本上就是锁最低的功耗了。

平均工作电流:Idle mode < 7mA

骑行时,实时的路径追踪可以使用用户的手机上传位置,单车内的GPS只负责跟踪单车,只需要在一段时间内更新某个点(与跟踪美团外卖员位置类似),这个更新时间可以长达30秒到1分钟。而车辆锁上后,后台也可以控制延长心跳时间,10到15分钟才更新一次,目前采用的 AGPS 技术也可以在2秒内锁定位置,工作时间不多。所以我们先把忽略GPS模块的功耗忽略,只计算GSM模块待机功耗。

这样就有个更简单的方法:我们可以回想下当年诺基亚黑白板砖功能机的时代,1020mAh的电池,在轻度使用的情况下(每天发发短信类似智能锁开锁操作),可以待机5天左右,算下来功耗大概在8~9mAh,算上GPS模块和周围电路,开锁电机,功耗大致应该在10~15mAh。

电池和发电

有了对智能锁功耗的基本认识,自然要考虑到我们要在上面放多大的电池才能维持正常的工作?关于电池的问题,有几点需要考虑到的:电池必须是可充电电池;单车的流动性非常大,不能对一辆辆没电的单车进行收集和人工充电;受限于锁体的大小,体形不能太大;电池的成本不能过高。

市面上最符合上面条件的电池大概就是INR18650电池,单节2500mAh,由于锁有大小的限制,一般的锁体内放4节这样的电池已经是极限了,就是10000mAh。这样的电量,明显最多只能支持单车两个月的使用,意味着共享单车的运营者必须解决另一个问题:怎样给单车充电?

最初的摩拜用的就是骑车发电的方式,在转动轮上加上花鼓来发电。所以最开始型号的单车脚踏都特别沉,很难骑。现在行业里普遍接受的充电方式是太阳能充电,在车篮子上加装太阳能电池板,保证电量的供应。

装在车篮上的太阳能电池板

太阳能电池板大多采用的是PET和EVA材料,工作电压为6V,工作电流为1A,转换效率可达到18%~24%。通过特殊的封装技术制成标准尺寸为长270mm、宽175mm、厚2.2mm的太阳能电池板,这样的太阳能电池板保证单车的供电是不成问题的。所以,我们在生活中看到的带车筐的共享单车,可不仅是为了方便用户存放东西,更重要是源源不断地为单车供电。

锁体本身

随着共享单车的普及,很多社会问题也呈现出来了,相信很多人都看到过“小学生乱砸乱开共享单车”“共享单车遭到破坏大面积失效”等新闻报道。共享单车被恶意破坏,暴力破坏等原因有很多,在国情下商家对锁体的材料的选取,锁的形状、内部防盗防破坏的设计就十分重要。

摩拜智能锁几代演变

锁体除去要选用材料坚固,防水防盗的材料外,还需要在锁中加装传感器,在非正常移动、被人恶意破坏时发出蜂鸣警报。

还有就是开锁弹簧的老化问题,不止一次我要用车,扫码后已经听到了锁开锁成功的滴滴声,app上也显示已经开锁,可总不见锁鞘弹开。仔细观察才明白,原来是开锁弹簧严重老化,锁是开了,但是弹簧没弹出,要我自己手动把锁鞘拉出来,一不留神还以为这个车子坏了呢。

可见一台共享单车上的智能锁,锁体上需要做的文章也不少。要做共享单车智能锁采用的需是外壳是铝合金材料,比普通的马蹄锁更轻、更牢固。经过上十万次的开锁试验,内置传感器防盗放暴力破坏,蜂鸣报警器还可终端控制方便找车,这些都是初步设计开模的时候就需要考虑的事项。

云平台

如果说智能锁是共享单车联网的核心,那么它背后用于管理运营的云平台则是共享单车的灵魂。我们上面说到要从零开发一个智能锁需要考虑到的种种麻烦相比较背后管理后端、云平台的搭建都只不过是小儿科。

确实,一个智能锁从开模到供应链配合到生产成品对于小共享单车创业公司来说的确是个问题,但在如此细分的市场竞争的环境下,也根本不需要目标在于运营共享单车的创业者去解决。不信的话各位可以去百度、淘宝搜搜“共享单车锁”“智能马蹄锁”等关键词。这类锁早就有很多智能硬件工厂生产出来,创业者或直接采购或与配套工厂合作都可以很快拿到智能锁。

问题关键的核心在于锁背后的云平台。毕竟只有共享单车的真正本质是有效对接起车与人的需求,构建起车与车的物联网数据,要想实现单车的智能化、自营化,智能锁的开发和生产只是第一步,更重要的是其背后的后端服务器、云平台。

摩拜单车云平台可视化数据

记得共享单车在开始之初,有好几家品牌的服务器都曾经出现过宕机、频繁解锁失败的现象,这也是背后云平台不能承受高并发量,实时性不足这类的问题引起的。

根据艾瑞的《2017年中国共享单车行业研究报告》,中国共享单车市场还远远未达到饱和,相信未来仍有不少创业者进入市场。在创业之初更需要考虑的应该是服务器、云平台的搭建问题。如果我是创业者,在预算有限、单车急需尽快投入进入市场的情况下,可以选择智能硬件商家提供完整的共享单车方案,但绝对需要优先考虑具有物联网背景公司的共享单车方案,毕竟有实力搭建稳定、高并发的后端云平台在市场中非常少。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-10-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 钱塘大数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
PHPExcel_把Excel数据导入数据库PHP
1、PHP版本5.3以上 2、官网下载稳定版本的PHPExcel 官网地址:http://phpexcel.codeplex.com/ 以下均以PHPExcel_1.8.0 稳定版为学习版本
全栈程序员站长
2022/11/17
7.7K1
PHPExcel_把Excel数据导入数据库PHP
phpoffice/phpexcel 导出Excel表格数据
1. 下载扩展包 composer require phpoffice/phpexcel 2. 导出数据封装 在TP中使用时可以将以下类文件放入 extend 目录 <?php /** * 导出数据
很酷的站长
2023/01/16
2.1K0
PHP导出超限的PHPExcel
PHPExcel_Cell::stringFromColumnIndex($i); // 从o,1,2,3,..开始,相应返回返回 A,B,C,...Z,AA,AB,...
php007
2019/08/02
1.6K0
phpexcel导入并且有错时标记出文件错位位置
Text-to-speech function is limited to 200 characters
botkenni
2019/09/02
1K0
thinkphp5中使用PHPExcel(转载)
你会发现项目的目录中在vendor的目录下多了一个文件夹(phpexcel),这个文件夹中的东西就是要使用的php中的Excel表格操作
lin_zone
2018/08/15
7760
PHP 操作PHPExcel(设置字体、设置边框、合并单元格、设置、设置背景色、以及单元格内换行、单元格不以科学记数法显示等)
结合数据库查询写一个简单的小例子:场景有这样一个订单表如图,我们把1-20号订单,21-40号订单,41-60号订单分开放在不同的sheet里面。
友儿
2022/09/11
5.2K0
使用phpexcel操作excel
使用这个组件最让我郁闷的是,它对sheet的名称为中文的不进行处理,暂时还没仔细去查原因。
meteoric
2018/11/15
2.6K2
ThinkPHP5.1 excel表的导入导出操作 (PHPExcel)
安装成功后,会注意到项目的vendor目录下,多出了一个phpoffice文件夹
泥豆芽儿 MT
2019/05/06
2.8K0
ThinkPHP5.1  excel表的导入导出操作 (PHPExcel)
php 使用PHPEXcel导出表数据
PHPEXCEL&nbsp;~&nbsp;13KB&nbsp;&nbsp;&nbsp;&nbsp;下载(28)
用户7999227
2021/09/22
3.6K0
整合ThinkPHP功能系列之PHPExcel生成Excel表格文件
image.png 开始整合ThinkPHP功能了,先把这两个导出Excel表的功能提交上去,项目地址:Github 昨天发csv格式的时候就说PHPExcel导出没有表头的问题,昨天研究了一下搞出来了 第一步:导入phpexcel 从官网下载或者从我的项目中拉取,路径是/ThinkPHP/Library/Vendor/PHPExcel,从官网下载的话也是放在这个路径下面 第二步:封装函数 /** * 数组转xls格式的excel文件 * @param array $data 需要生成e
沈唁
2018/06/06
2.4K0
PHPExcel 表格导入数据代码解析(二)
前面大概讲了phpexcel用表格导入数据到数据库中的教程,今天会详细剖析函数代码,话不多说,先上代码: public function upload() { ini_set('memory_limit','1024M'); //设定一个脚本所能够申请到的最大内存字节数,这有利于写的不好的脚本消耗服务器上的可用内存 if (!empty($_FILES)) { $config = array( 'exts' => array('xls
benny
2018/03/06
1.7K0
PHPExcel 表格导入数据代码解析(二)
PHPExcel(更新中)
写在前面: PHPExcel is a library written in pure PHP and providing a set of classes that allow you to write to and read from different spreadsheet file formats, like Excel (BIFF) .xls, Excel 2007 (OfficeOpenXML) .xlsx, CSV, Libre/OpenOffice Calc .ods, Gnumeric
仇诺伊
2018/09/12
1.6K0
PHPExcel(更新中)
PHPExcel 导出包含图片excel
<?php // 这里用的PHPExcel版本号为1.8.0 // 下载地址https://github.com/PHPOffice/PHPExcel 下载ZIP压缩包 // 下载后将Classes文
IT工作者
2022/02/09
1.7K0
thinkphp5 excel导出
废话不多说,直接贴代码,类库是phpexcel1.8,将类库解压出来,把classed文件夹里边的东西放到tp中的vender文件夹下边即可 。找不到可以到我的资源页里边下载
黄啊码
2020/05/29
5070
PHP与EXCEL PHPExcel
PHPExcel 它是用来操作Office Excel 文档PHP图书馆,它是基于微软的OpenXML标准PHP语言。能够使用它来读、写不同格电子表的类型格,例如 Excel (BIFF) .xls, Excel 2007 (OfficeOpenXML) .xlsx, CSV, Libre/OpenOffice Calc .ods, Gnumeric, PDF, HTML等等。
全栈程序员站长
2022/07/06
1.6K0
Thinkpgp5.1根据多条件和时间筛选查询数据,并导出Excel相应表格数据
网络上关于Thinkphp5的教程非常多,从基础到实战,从简单到困难,应有尽有。以后我会在每天给大家分享一些项目实战的功能点,这些功能点都是我平时开发用到的,如果写的不好还望您指出来,大家一起学习交流。每天只需花2分钟的时间就可以丰富自己的知识和提高专业技能。
程序猿的栖息地
2022/04/29
1.2K0
Thinkpgp5.1根据多条件和时间筛选查询数据,并导出Excel相应表格数据
PHPExcel随笔
一、设置PHPExcel单元格文本格式 1.在设置值的时候显示的指定数据类型 $objPHPExcel = new PHPExcel(); $objPHPExcel->setActiveSheetIndex(0); $objPHPExcel->getActiveSheet()->setTitle('Simple'); $objPHPExcel->getActiveSheet()->setCellValueExplicit('D1',123456789033,PHPExcel_Cell_DataType::
用户4973967
2019/12/16
1.3K0
[PHP] php使用phpoffice/phpexcel 生成excel文件
使用这个php依赖扩展非常简单,直接引入 composer require phpoffice/phpexcel 使用方式按下面这样 $objPHPExcel = new \PHPExcel(); try { $objSheet = $objPHPExcel->getActiveSheet(); //工作表标题 $objSheet->setTitle("外呼结果"); //第一行内
唯一Chat
2021/08/18
2.5K0
[PHP] php使用phpoffice/phpexcel 生成excel文件
excel导入与导出
基本上导出的文件分为两种: 1:类Excel格式,这个其实不是传统意义上的Excel文件,只是因为Excel的兼容能力强,能够正确打开而已。修改这种文件后再保存,通常会提示你是否要转换成Excel文件。 优点:简单。 缺点:难以生成格式,如果用来导入需要自己分别编写相应的程序。 2:Excel格式,与类Excel相对应,这种方法生成的文件更接近于真正的Excel格式。 如果导出中文时出现乱码,可以尝试将字符串转换成gb2312,例如下面就把$yourStr从utf-8转换成了gb2312: $yourStr
joshua317
2018/04/10
2K0
PHP利用phpexcel导入Excel表到Mysql数据库
最近在搞PHP项目,后台很多课题信息需要导入数据库,考虑过一条条导入,但是这样太费时费力。 所以找了下phpexcel的资料,打算利用这个工具把excel表导入数据库,但是发现很多教程都太久远,拿来
刺_猬
2018/06/21
16.6K1
相关推荐
PHPExcel_把Excel数据导入数据库PHP
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档