APP下载

基于Mozilla 网关的物联网控制智能车APP 设计研发

2020-08-31蔡士东黄伊婷刘蓉蓉王丹丹张乐乐杨雨菲王佳伟

智能计算机与应用 2020年4期
关键词:测距树莓网关

赵 雪, 蔡士东, 黄伊婷, 刘蓉蓉, 王丹丹, 张乐乐, 杨雨菲, 王佳伟

(大连民族大学 信息与通信工程学院, 辽宁 大连116600)

0 引 言

随着物联网与无线技术的发展和日趋成熟,Android 智能终端以其独有的开放性优势为人们提供了更多优质便捷的技术服务。 但是,智能终端控制下的智能小车少有涉及,一些相对成熟的应用也还存在着很多缺陷,尚且需要完善。 在典型的多层物联网架构中,实体数量多,类型也非常复杂。 特别是在包含传感器和致动器的感知层。 为了满足设备的不同连接需求,基于网关的设计已成为首选解决方案。 Mozilla 网关事物描述使用标准JSON 格式来描述事物及其功能,将所要传递的信息包装成JSON字符串,能够更快捷、更准确地进行数据传递[1]。基于Mozilla 网关简单易学、使用范围广泛、局域网传输速度快、成本低廉等优点,Mozilla 网关毫无疑问是最优的选择。

1 总体设计方案

本设计方案的mozilla 网关采用基于树莓派的物联网架构Project Things 模式开发,将网关所需的参数通过Json 传输,网关接收到参数后将指令传递给树莓派小车,从而实现系统平台驱动小车等一系列功能;系统的手机客户端使用Android 开发技术实现。 客户端、关和树莓派小车之间用同一个局域网相连,从而实现整个系统运转。 系统框架如图1所示。

图1 系统框架Fig.1 System framework

本次设计的研究内容包括:树莓派小车的硬件系统、摄像头模块、传感器模块及移动智能终端设备APP 设计。 设计方案的整体框架如图2 所示。

设计最终目标如下:

(1)实现小车的前进、后退、左转、右转,可更改小车的行驶速度和时间。

(2)实现摄像头数据采集及视频的实时回传。

(3)获取小车超声波测距以进行人为避障。

(4)实现小车在阴暗处的照明功能。

图2 系统框架Fig.2 System block diagram

2 系统模块设计方案说明

2.1 Raspberry Pi 小车动作模块设计

Raspberry Pi 小车动作模块在 TheCarRun ModelImpl.java 中进行处理,用来处理小车的动作。先将收到的信息用RequestBody.create 包装成json 字符串,再将其封装到Request 请求中。 android 手机端与网关之间的信息传递,需要在android 端所发送的request 请求中写好网关所对应的秘钥,这样才能在同一个局域网内,将指令传递给网关。 传递json 数据时用的是okhttp,最后在局域网中用okhttp 将包装好的Request 发送给网关,网关准确地接收到json 数据后再将json 数据传递给树莓派小车,树莓派小车中写好Python 程序接收网关传送的json 数据。 在MyCar 类中标记小车的端口号8888,FadeAction 类中接收json数据并进行解析。 实现过程如图3 所示。

图3 Raspberry Pi 小车动作模块详细设计Fig.3 Car control module detailed design

2.2 视频回调模块设计

视频回调模块的功能在TheCarRunFragment.java中实现,用来将收到的小车信息进行解析,然后在手机页面中进行显示。 在小车python 程序中VideoStreamingTest 类,用来将小车所拍摄的视频进行解析为视频流并设置host 为192.168.1.101,port 为8000。 小车中运用socket()将视频流包装好传输给网关。 在TheCarRunFragmeng.java 中,用webView.loadUrl( ) 方 法 参 数http:/ /192.168.1.101:8000/stream.mjsp 收到网关传递过来的http 网址并将网址解析。 在页面中用WebView 将收到的视频流显示到手机APP 的页面上。 实现过程如图4 所示。

图4 视频回调模块详细设计Fig.4 Video callback module detailed design

2.3 超声测距模块设计

测距模块在PhoneFragment.java 中实现,用来将小车上所测的数据进行返回,在手机端进行显示。同样该模块也是与网关之间的json 数据进行传递。在PhoneFragment.java 中用request 请求网关,用showResponse()收到返回的测距信息。 实现过程如图5 所示。

图5 测距模块详细设计Fig.5 Measuring distance module detailed design

3 结束语

本文主要阐述了APP 控制智能车的实现,从移动客户端到网关再到智能小车之间的信息传输。 基于Mozilla 网关开发的软件可以让用户将设备轻松连接到网关,并根据其在设备描述中定义的功能,与各个设备进行信息交互。 Raspberry Pi 生态系统与Mozilla 开源代码的组合为开发人员提供了用于扩展基本设计的综合环境。 通过将Mozilla 网关与Raspberry Pi 3 结合使用,开发人员可以快速、高效地评估网关应用,并轻松扩展网关以支持不同的连接选项,为将来用于家电控制、野外探测、家人看护提供了参考经验。

猜你喜欢

测距树莓网关
基于RSSI测距的最大似然估计的节点定位算法
智能燃气表物联网运行体系网关技术研究
基于FPGA的工业TSN融合网关设计
大规模低轨卫星网络移动性管理方案
一种主从冗余网关的故障模式分析与处理
黄金水果红树莓
树莓红了 游人醉了
220 kV电网行波测距系统组网运行实践探讨
e络盟率先推出第三代树莓派
年度睡姿大盘点(下)