邮政、配送行业便捷寻货系统设计

2022-10-19 04:53安会马红静王津津刘保庆孟海波
电子制作 2022年19期
关键词:蜂鸣器串口蓝牙

安会,马红静,王津津,刘保庆,孟海波

(石家庄邮电职业技术学院,河北石家庄, 050021)

0 引言

在20世纪80年代,中国迎来了快递产业,经营的业务范围也在扩大。20世纪90年代后,电商迅速发展,人们购买货物的种类也从当初的单一化发展为多样化,贵重、批量、个性的物品丰富了快递寄托物的种类,并且对于货物的送达时间有了更高的要求。

目前,在邮政快递及网约配送行业快速发展的过程中,很多人非常看好快递业的发展前景,疏忽了快递业服务人员在专业化、社会化方面的培训,都存在着与企业经营现实脱节、与用户需求不匹配、配送交通安全等一系列人才素质匮乏问题,人才培养远远不能满足其快速发展的需要。由于快递行业的发展不完善,在经营过程中略显艰难。为此,企业做出了降低快递成本的对策,来提高利润。人员素质得不到提升、快递及配送员培训减少、运输货物得不到应有的保护。在与购买者发生的纠纷中,送达不及时、包括丢失、投递不到位、快递损坏以及服务态度不端正的占了大多数。便捷寻货自动派件系统可以很好地规避人员派件的这些问题。既节省了时间和成本又避免了人与人之间的冲突。

1 系统的分析与设计

■1.1 系统分析

实现的功能:通过控制终端输入对应的编号实现相应的被控制节点发出声光的提示。

控制终端:可以进行操作的显示,相应编码的输入与删除和确认,可接入局域网络进行通信。

控制节点:控制LED的亮灭,蜂鸣器发声和停止,可以支持更改节点参数,可以接入局域网络并接受局域网络的信息。系统框架图如图1所示。

图1 系统框架图

■1.2 系统设计

1.2.1 通信方式的选择

常用的通信方式主要有WiFi,蓝牙、ZigBee、LORA、NB-IoT、2G、4G、5G等蜂窝通信等。

WiFi具有无线电波覆盖范围广、速度快、不需要布线、可不受布线条件的限制的特点,最大的缺点就是功耗高。故这样的大功耗明显是不适应于寻货系统设计的,并且也不需要如此高的功耗。

ZigBee技术主要应用在短距离范围内,数据传输速率不高的电子设备之间也可以使用ZigBee。具有短距离、低功耗、低成本、时延短、网络容量大、可靠性以及安全性高等特点。ZigBee如果应用本系统,成本高,网络的连接数量比较少,想要增加数量十分的麻烦。

NB-IoT使万物互联网络的一个重要的分支,它构建与蜂窝网络,大约消耗180kHz的带宽,2G、3G、4G、5G网络上实现现有网络的服用,降低成本,平滑升级。相对于WiFi、ZigBee等技术,NB-IoT具有低功耗、低成本、强联接、广覆盖的优点。

随着LORA的不断发展,LORA设备和网络部署不断增多,相互之间会出现一定的频谱干扰;LORA在布设过程中,需要用户自己组建网络;LORA传输数据有效负载比较小,有字节限制。故LORA不适合本系统的设计。

蓝牙模块芯片体积较小;蓝牙模块功耗较低;蓝牙可以传输语音的同时传输数据,支持异步数据信道、三路语音信道以及异步数据与同步语音同时传输的信道;蓝牙的抗干扰能力很强;可以建立临时性的对等联接。

通过以上特点可以看出,蓝牙相对于此系统来说是比较合适的,但是这个连接数量比较少,好在有蓝牙Mesh网络是用于建立多对多设备通信的低能耗蓝牙(Bluetooth Low Energy,也称为Bluetooth LE)新的网络拓扑。理论上支持的连接最大数量是65536个。

1.2.2 芯片选型

芯片选型主要包括通信模块的选择和控制终端。

通信模块的选择:使用的是JDY-24M,价格合理,重要的是功能十分的强大,资料全面,提供了很多扩展的实例,支持后续上面的功能扩展。

控制终端的芯片选择:使用的是STM32F103C8T6,它和蓝牙模块的电平兼容,是一款32位M3系列LQFP-48 单片机,性价比很高的ARM单片机,而且应用广泛,程序安全性高,功耗低。

■1.3 蓝牙MESH网络介绍

蓝牙Mesh技术是一种组网方式。要了解蓝牙Mesh,首先要了解Mesh网络结构。Mesh网络也称为“多跳网络”,或者“网状网络”。Mesh网络的每一个节点都可以作为AP和路由器,通讯时,当某个节点损坏或者堵塞时,可以自动绕过该节点,重新选择路径达到目的地,可以让网络更高效可靠。

2 详细设计与功能的实现

■2.1 被控制节点的制作

芯片的供电电压为:1.8~3.6V,使用OUTPUT5进行输出控制LED和蜂鸣器。不可将IO引脚直接驱动LED和蜂鸣器。由于使用的是插件三极管S8050,按照电路图制作好被控制节点,引出串口,配置蓝牙参数。实物图中留有串口排插封装,发送节点不需要在焊接在洞洞板上,焊接好排插后,直接使用杜邦线连接到USB转TTL上面连接串口助手。被控节点原理图和PCB图如图2和图3所示。

图2 被控节点原理图

蓝牙模块:将串口引脚引出来,方便后期做出更改参数和升级固件,还能通过串口检测异常情况。还stat引脚连接了出来方便查看配网情况。

示灯、蜂鸣器:IO引脚通过三极管放大驱动指示灯和蜂鸣器,预留外接LED的接口。

电源与接口电路:使用LS1117稳压三极管。为了使蓝牙模块工作在最稳定的状态,在电源的输入、输出端放置两颗滤波电容,通过查阅手册得知输出电容要使用钽电容。钽电容的寄生电阻大,但是陶瓷电容的性能好,而LS1117是需要利用钽电容的寄生电阻才能稳定工作。如果需要使用大电流大功率的电源可以使用DCDC开关稳压电源,更高的效率,发热更低。

■2.2 被控制节点的网络配置

将硬件建立好以后,接下来建立蓝牙MESH网络,尝试着控制IO引脚。首先建立蓝牙网络,不使用中心机,主要是设置中心稳定性比较差,在蓝牙网络中每个节点都能控制网络中所有节点的IO引脚,发送命令之前勾选发送新行,模块的波特率是9600或者115200,首先发送AT+RESET测试一下模块是否工作正常。第一步,配置MESH组网模式,发送指令AT+ROLE5,再发AT+RESTET重启生效。第二步,配置组网NEITID为1122:AT+NETID 1122。第三步,配置当前设备短地址0002~FFFF之中、对应指令AT+MADDR 0005。第四步,配置设备为路由节点:AT+MCLSS0。最后测试,将串口助手发送设置成16进制,取消发送新行,发送41 54 2b 4d 45 53 48(帧头) 01(发送IO无应答) 00 05(被控制设备地址) 05(控制的IO口) 01(IO的状态)0d 0a(帧尾)表示0005设备发送IO无应答指令,不串口输出,IO5为高电平。

■2.3 控制终端的制作

控制终端有四个部分组成,显示部分(使用的是LCD-1602,同时还需要通过电位器调整液晶的偏置电压)、矩阵键盘(用来输入信息和控制信号)、核心板(用来实现逻辑功能及流程的控制)和蓝牙模块(和所有的被控制节点进行组建网络,进行数据的通信)。

其中显示部分使用了四根数据线和三根控制信号,将一个8bit的数据分两次传输,减少了引脚的使用,降低了制作成本。矩阵键盘使用八根信号线,四条纵轴,四条横轴。通过依次的扫描来实现识别按键,核心板和蓝牙模块通信使用的是串口1(PA9、PA10)。

■2.4 调试程序

主要分成四个部分LCD显示、键盘扫描输入、逻辑流程控制和蓝牙发送。

LCD显示:

将要显示的内容封装在二维的字符类型数组里,方便灵活的显示。

键盘扫描输入:矩阵键盘使用的是逐行扫描,采用的是定时器4中断定时扫描,扫描时间是5ms。

逻程控制:键盘输入的信息进行处理后显示在屏幕上主要显示内容有一级菜单(open和_add),_add的二级菜单(无,添加节点的功能暂时没有),open的二级菜单(输入数值)open的三级菜单(打开ON和关闭 OFF,控制终端节点的状态的功能)。

蓝牙发送:蓝牙模块和核心板是通过串口进行通信的。通过User_off_on_bluetooth_terminal()函数发送指令的。

图4 程序执行流程图

■2.5 系统通信过程

蓝牙mesh网络,采用的是多对多。它并不是路由节点,只是简单地将消息报文在中继广播给附近的设备节点,以便让数据包可以传播到全网所有节点。借助中继节点,BLE MESH 消息报文传播距离或范围可以远超过BLE 通信距离,每个消息的最大生存时间TTL 是127 跳,即每个数据包最远可以传送到127 倍的BLE 通信距离(假如BLE 传输距离为40m,BLE MESH 最大传输距离则为5 km),设置生存的时间的原因是防止产生网络风暴。

图5显示了三个中继节点:Q、R、S。支持Friend feature的三个节点:N、O、P,而N没有任何friendships。因 此,只 有O和P是Friend节 点。有5个Low Power nodes:I、J、K、L和M。节 点I、J和K的friend是P;L和M的friend是O。Nodes T仅使用GATT bearer连接到mesh网络。因此,S必须将所有消息转发给T,并且转发T的所有消息。

图5 蓝牙MESH网络中节点的关系图

通过蓝牙mesh网络不断的转发和广播,最终每个节点都将收到信息报文。通过报文中的数据知道节点自身是否做出相应的动作。相应的引脚会做出高低电平的变化。最后通过三极管的放大驱动LED灯亮和灭(蜂鸣器响不响)。

3 遇到的问题及解决方法

(1)在制作终端节点时,出现了发送指令没有反应的情况。改用PCB印刷电路板,使用电脑软件AD2020绘制PCB送工厂进行加工,问题得到了改善。

(2)首先考虑使用无线充电,但是由于成本高和制作难度,最终选用磁吸充电的方式。

(3)在调试主控制器时,遇到了字符传输问题。由于使用printf输出无法传输ascll码值00,但是在与模块通信中存在,不可避免,最后使用变量控制发送的数量,问题得到了解决。

猜你喜欢
蜂鸣器串口蓝牙
电动自行车产品车速提示音检测现状和整改技术研究(2)
蓝牙音箱的直线之美
掌控板制作简易钢琴
基于API函数库实现串口数据通信的分析与设计
基于EM9000工控板高性能双串口通信模型设计与实现
本尼丢了蜂鸣器
帮你轻松找到AirPods的神奇工具
MCS—51单片机中的多串口通讯技术的应用
一种光感自动晾衣装置
蓝牙4.0落地加速