基于NB-IOT私家泊位共享系统设计与实现

2018-02-24 13:55周磊郑文涛安永丽
电脑知识与技术 2018年34期
关键词:物联网

周磊 郑文涛 安永丽

摘要:【目的】以NB-IOT低速率窄带宽物联网技术为核心,设计一套停车位信息化决策平台,将私家车位进行联网管理。【方法】系统硬件选用STM32F103ZET6作为核心控制器,HC_SR04超声波作为状态监测模块,依托NB-IOT蜂窝物联网平台,云端智能管理控制系统,结合终端APP实现车位租入、租出、设备状态采集上报等功能。【结果】设备租出状态下,通过该系统的引导租赁者能够准确找到车位,入驻车位。非租赁状态下,车位主能够任意设置自己的车位状态,不影响自己使用。【结论】该系统可靠稳定,依托NB-IOT技术,将大量的闲散车位进行联网管理,提升车位利用率。

关键词:NB-IOT;物联网;STM32;车位共享

中图分类号:U491.7        文献标识码:A        文章编号:1009-3044(2018)34-0268-03

近年来,国内停车市场受到互联网+、移动支付的冲击,车位共享这一技术理念得以逐步完善。车位联网能够促进车位信息的散播,减少信息的不对称性,提高车位利用率及周转率。这一创新模式受到社会资本的强烈追捧。本研究设计了一套基于NB-IOT窄带物联网技术的车位管理决策平台,应用STM32F103ZET6微控制器与多种传感器技术,将大量私人闲散车位进行联网管理。通过NB-IOT直接实现无网关化,结合NB-IOT通信网络的特性及实际应用情况,利用蓝牙通信技术实现“一位双用”。与传统技术解决方案相比,本设计能更好适应严苛的工作环境。

1 系统总体架构

依据NB-IOT平台部署模式,基于NB-IOT的车位管理决策平台主要有NB-IOT采集终端,NB-IOT管理平台和云端调控平台构成(图1)。其中NB-IOT采集终端主要由超低功耗STM32F103ZET6芯片、BC-95模组、蓝牙模块、超声波以及电机构成。采集终端所获得的车位状态信息直接传输到NB-IOT基站,通过COAP协议直接与NB-IOT管理平台通信。云端调控平台负责鉴别用户身份,对终端用户的请求做出相应的决策,以及远程自动控制[1]。

2 系统硬件设计

2.1 主控板电路设计

按系统需求将硬件端分解为个5互相解耦的功模块,分别实现:设备通信功能、电压监测功能、车辆状态检测功能、操作提示功能、车锁升降控制功能。由于BC95处于PSM(深度休眠态)时,设备无法直接收到下行指令,因此我们在设备端采用局域网通信技术将下行数据发送到设备。由STM32F103ZET6内部A/D转换器,实现电压采集功能。由微控制器将设备采集的状态信息通过BC95模组推送到云端。主控板电路设计框图如图2所示。

2.2 通信模块电路设计

2.2.1 通信模块简介

通信模块采用移远的BC95。通过简单的AT指令设置就能实现串口到网络的双向数据传输,易于开发。BC95具有PSM、CONNECT、PSM三种工作态。无数据交互时模块进入PSM(Deep-Sleep) 状态,只有模块有数据发送时才会激活网络进行数据的传输, PSM态下不能再接收来自基站的数据,但会定时激活网络去获取数据。由于这种低功耗工作模式大大降低了NB网络的实时性,因此我们选择在硬件端通过蓝牙通信的方式与设备交互。

2.2.2 电路设计

通信模块部分电路原理图如图3所示。通信模块采用NB-IOT系列中的BC95作为射频模组,与专用的NB-IOT物联网卡进行数据交互,最后经由800MHz射频天线将设备数据直接发送到NB-IOT基站[2,3]。为确保电源有更好的电源供电性能,在靠近BC-95的电源输入端并联有一个低ESR的100uF钽电容,以及0.1uF、100pF、22pF的滤波电容;在射频天线的电路设计中,对于PCB走线使用专业阻抗模拟计算工具对射频信号进行50Ω的阻抗匹配,并且预留有π型匹配电路,能更加方便地调节射频性能[4,5]。

2.3 硬件端工作流程

系统分为租入与租出两大部分,两部分在关系上互相独立。车位主根据自己的车位使用情况,自行决定自己的车位是否能对外发布。如租赁订单产生,APP则向云端设备请求解锁。APP通过蓝牙通信将收到的解锁指令发给MCU,由MCU判决是否解锁。如果设备解锁,则每隔一段时间通过车辆在位检测传感器检测一次车辆是否在位。若车辆离开则结束租赁,停止计时,车位上锁。当车辆在位检测传感器检测到车辆离开后,通过通信模块将上锁信息、电池电压等信息反馈给云端,结束计费,并通知用户及时支付。非租出状态下,也就是车位自用的状态下,车位主可通过手动点击APP上的开锁按钮,实现车位管控。硬件端工作流程如图4所示。

3 系统管理软件设计

3.1 软件整体架构

车位管理系统软件主要分为前端用户操作部分和后台系统服务部分。后台服务部分主要功能是根据用户的需求在数据库中匹配相关信息,并将结果反馈给前端用户。后台服务功能框图如图5所示。Android端用户操作部分主要功能包括:用户可绑定车位,并对外发布出租信息;用户可搜索指定地区(精确到区县)、指定时间的出租消息,对满意的车位可以直接租入;用户可通过该平台直接缴费;用户可随时查看正在租入、当前未完成、当前已完成和等待退款的所有租入和租出信息。

3.2 查找车位子模块界面实现

首先是地点与时间选择界面的实现:在此界面中使用了下拉列表来实现用户选择地点的操作,并实现了普通省份的省市县的“三级联动”,即:当用户选择了“省份”之后,储存“市”的下拉列表的内容会自动更新为所选省份之下的市,当用户选择了“市”之后,储存“区/县”的下拉列表的内容會自动更新为所选市之下的区或县。除此之外,还实现了包括4个直辖市、2个特别行政区、5个自治区和台湾地区的特殊情况的区域选择,其效果与普通省份的三级联动效果相同。

下拉列表使用了Android的spinner控件,使用方法如下:

第一步:在本个界面被创建时,先通过控件的id找到本控件

第二步:获取string-array的值到String数组里

第三步:初始化一个适配器(Adapter),可以自定义一个MyArrayAdapter继承自ArrayAdapter类

第四步:为spinner设置适配器。

时间选择功能的布局很简单,只需要显示用户选择的日期,并显示所选日期是一周中的哪一天即可。因此只需要两个文本控件(TextView,是用来显示字符串的组件,在手机上就是显示一块文本的区域)即可实现。当选择时间时,采用仿IOS的滚轮式日期选择器,其实对于日期选择器,Android官方已经给了相应的控件,那就是DatePicker控件,本次设计就是采用了此控件进行日期选择[6,7]。

再者,展示所查车位信息的界面的实现:此界面主要显示正在发布的车位的具体位置、车位出租的开始时间、车位出租的结束时间和总费用。而且由于显示的车位较多,每个车位都包含有这四个数据,由上分析判断,可以使用多个文本控件(TextView),在每条数据的四个值都是用一个文本控件来实现,也可以使用Android的列表视图(ListView)来实现[8]。由于前者在创建界面的时候无法确定具体有多少条车位信息,因此无法确定应该使用几个文本控件,而且如果车位信息条数较多,文本控件的初始化也会造成大量内存的占用,因此不建议使用该方法。相比较前者,后者显然有很大优势:构造起来更规整,每条车位信息之间的间距、分割线等都可以随意在设置,且设置一遍即可实现所有数据之间都有效,“一劳永逸”。

用户手机屏幕呈现几条数据就会创建几次布局,用户一旦向上或向下滑动列表,被隐藏的布局就会被回收用于新呈现的布局,因此最多只会产生有数的几个布局,不会造成大量内存的占用和浪费,由于上述优势的存在,此页面采用了后者进行布局。设计界面如图6所示。

4 结语

传统的车位租赁系统一般采用2G无线技术进行数据交互或者由汇聚网关进行数据的收集,其在地下停车场、天桥等高掩蔽性环境下不能做到很好的覆盖。相比来说,NB窄带物联网技术具有更强的覆盖、更低的功耗能够保证系统在严苛的环境下也能正常工作,具有很好的实用性。本研究主要以NB-IOT技術在车位分时共享领域的应用研究为主,设计了一套以NB-IOT窄带物联网技术为基础的“互联网+云平台+智能车锁+APP”的停车位信息化决策平台。实际操作结果表明,系统能够做到租入、租出的随时切换。车位主能够通过APP进行车位的管理,既不影响出租也不影响自己使用。具有很好的可实时性。

参考文献:

[1] 宋俊.城市私家车位动态共享停放匹配算法及决策支持系统研究[D].成都:西南交通大学,2016.

[2] 童诗白,华成英.模拟电子技术基础[M].北京:高等教育出版社,2006:10-184.

[3] 阎石.数字电子技术基础[M].北京:高等教育出版社,2006:67-135.

[4] 张瑞增.基于智能车位锁的共享停车位管理系统研究与设计[D].济南:山东大学,2017.

[5] 何灿隆.基于NB_IoT的温室温度智能调控系统设计与实现[J].华南农业大学学报,2018,39(2):118-120.

[6] 周雅翠.基于Android平台的个人事务管理系统设计[J].吉林建筑大学学报,2015,06:67-68.

[7] 吴亚林.浅析基于Android 的天气预报系统设计与实现[J].山东工业技术,2015,24:123.

[8] 简靖韡.Android 智能手机信息安全问题与对策分析[J].通讯世界,2015,24:33.

【通联编辑:代影】

猜你喜欢
物联网
基于LABVIEW的温室管理系统的研究与设计
论智能油田的发展趋势及必要性
中国或成“物联网”领军者