首页 » 通讯 » 改造楼宇对讲分机增加远程开锁的功能_通讯_分机

改造楼宇对讲分机增加远程开锁的功能_通讯_分机

admin 2025-01-10 07:15:40 0

扫一扫用手机浏览

文章目录 [+]

有时出入不太方便。

这种情形下,作为一个有几十年事情履历的工程师,我为了不愧于这一称号,主动承接接下改造楼宇对讲分机的重任。

改造楼宇对讲分机增加远程开锁的功能_通讯_分机 通讯

上一次花了点韶光,把分机外壳拆开,用万用表把数据通信部分电路抄了下来,如下图:

数据通信电路

本日又花了半天韶光,利用之前基于LoRA通信的智能灌溉系统测试时报废的样品,

改了几个电阻,焊了几条飞线,再改写了一小段程序,顺利完成了远程开锁的功能。

远程开锁功能的系统架构如下:

系统架构

远程开锁操作步骤如下:智能灌溉主控与自建做事器建立TCP长链接;为了达到免布线的目的,主控与安装在分机附件的通信小板采取LoRA进行无线通信;用户走到门前时,打开手机x信,在"大众年夜众号菜单上点击链接;从自建云做事器高下载开锁界面;通过x信供应的API接口对用户的身份进行认证,天生access token;采取 websocket协议向云做事器做事器发送开锁以及access token;云做事器根据access token判断权限,如果有权限,则向智能灌溉主控转发开锁;智能灌溉主控将开锁通过LoRA通信转发给由智能灌溉分控改造的通信小板;通信小板天生从楼宇对讲总线上抓包得到的开锁,关照楼宇对讲主机开锁;楼宇对讲主机收到之后,实行开锁动作;通信小板的改造

改造的电路

如上图,阴影部分区域为由智能灌溉分控改造的通信小板电路,别的部分为对讲分机的通信干系电路;

通信小板通过SPI接口与LoRA模块对接;

从其单片机的UART模块输出的UART数据经由两极反向之后,由PNP三极管将其发送到总线;

在输出的PNP三极管Q9的E极串入两个并联的100欧电阻,使得通信采取电流旗子暗记实现。

可以增加通信数据的传输间隔和抗滋扰能力;

当串口数据位为0时,通信小板向总线供应200mA旁边的电流;

当串口数据位为1时,通信小板不向总线供应电流;

楼宇对讲的分机处于待机状态时,仍会定时向总线发送心跳数据。

这齐心专心跳数据会影响通信小板的通信,因此,增加了NPN三极管Q12组成的电路;

当通信小板须要发送数据时,单片机在YOUT_04口输出高电平,使得Q12处于饱和导通状态;

此时,如果楼宇对讲分机有数据发送,其供应的电流旗子暗记将被Q12花费,而不会流入总线,从而不会对通信小板的通信造成影响;

碰到的几个问题以及应对的方法

在调试过程中,碰到了几个问题:

1) 供电问题

刚开始想通过对讲分机内部的12V电源给通信小板供电。
细算下来,电流太大,功耗太高。

末了采取9V电池给通信小板供电,所幸通信小板支持低功耗,静态均匀事情电流仅几十uA,一节电池事情一年该当没有问题;

剖析如下:

对讲系统的12V电流由28V的总线电源通过7812稳压得到,

而通信小板的单片机事情电源由外部电源通过3.3V的LDO稳压得到;

LoRA处于事情状态时,其事情电流可高达50mA;

如果由对讲分机内部的12V供电,则其内部的7812的功耗高达 50(28-12)=800mW。

温升可高达50度旁边;

通信小板的LDO的功耗也高达50(12-3.3)=435mW,SOT-23封装的LDO的温升至少高达50度以上;

2)串口通信的时钟精度问题

灌溉分机采取内部高速R、C振荡器作为时钟,开始测试时,通信小板发了命令,

但是主机没有任何反应,用示波器实测通信波形,创造1200bps的波特率,

但是1个bit的脉宽居然是890us旁边,与实际的 833us脉宽比较;

偏差高达(890us-833us)/833us=7%。

当发送到第10个停滞位时,其偏差高达70%,显示吸收端已经无法再精确解析数据;

果断把预留的外部晶振焊上,时钟改成外部晶振,问分机愉快地与主机打上了呼唤;

3)分机待机状态开锁的问题

在分机未进入通话状态时,通信小板发送开锁命令,主机便是不实行任何动作;

再细查,原来分机待机开锁的功能被禁用了。

对讲系统只保留了主机呼叫、分机摘机再开锁的功能;

不得以,只能在通信小板上实现大略的自动摘机、开锁功能;

即检测到有呼叫命令(后续增加)或者收到从做事器发送的开锁命令,则:

a. 通过YOUT_04输出高电平,禁止对讲分机发送数据,延时一段韶光;

b. 往总线发送摘机命令,延时一段韶光;

c. 往总线发送开锁命令,延时一段韶光;

d. YOUT_04输出低电平,许可对讲分机发送数据;

4)仿照按键操作的问题

在全体调试过程中,也有想法仿照按键操作,

如果是机器按键,可以接线从摘机和开锁按键焊出线来掌握;

无奈对讲分机是触摸按键,而且触摸按键由另一块小板上的专用芯片检测;

如果要仿照按键操作,则须要实现专用芯片的协议,还须要不影响原来按键操作;

干系麻烦,只能暂时选放弃;

程序

灌溉分机已经有了完全的程序,因此只须要在原来LoRA通信以及RS485通信的基本上增加一个大略的状态机;

if(bTimer100ms){ if(unlocktimer > 0){unlocktimer --; }}if(unlockstate == 1){fnMB_Init();uartbuff[0] = 0x7f;uartbuff[1] = 0x06;uartbuff[2] = 0x0A;uartbuff[3] = 0x04;uartbuff[4] = 0x00;uartbuff[5] = 0x00;uartbuff[6] = 0x15;uartbuff[7] = 0x23;RS485_Send(0, uartbuff, 8, FALSE);unlocktimer = 20;unlockstate = 2;}else if(unlockstate == 2){if(0 == unlocktimer){unlockstate = 3;}}else if(unlockstate == 3){uartbuff[0] = 0x7f;uartbuff[1] = 0x06;uartbuff[2] = 0x22;uartbuff[3] = 0x04;uartbuff[4] = 0x00;uartbuff[5] = 0x00;uartbuff[6] = 0x15;uartbuff[7] = 0x3b;RS485_Send(0, uartbuff, 8, FALSE);unlocktimer = 15;unlockstate = 4;}else{if(0 == unlocktimer){unlockstate = 0;}}

通信小板

标签:

相关文章