公交站台LED电子报站牌项目

1、通讯协议:TCP/IP ,后台为服务端,设备为客户端,设备通过设备登录指令登录后台,后台响应,设备收到后台的成功响应则登陆成功,若未收到后台的成功响应,则重新发送设备登录指令,直至登录成功,登录成功后,设备发送校时指令给后台,后台响应校时参数给设备,其中包括系统当前时间、LED屏幕亮度值、节目翻页间隔、区域滚动速度等,设备同时将LED屏幕亮度值下发至LED控制卡,亮度进行调整,后台发送显示模版至设备,设备解析并下发显示,模版下发完毕后设备给出通用响应至服务端,后台发送动态站距数据至设备端进行显示,后台与设备之间通过心跳维持连接状态,一旦心跳超时,连接就会断开,后台不再下发站距相关信息,此时设备端需重新登陆;

2、网络线程收发数据:使用循环队列实现任务的先进先出,新数据指令到达,解析后加入任务队列,同时组装任务响应,通知网口发送数据,立即发送给后台;其中入队的任务有:后台响应的校时指令、下发的模版指令、下发的站距指令、修改IP信息指令,入队后需要将任务数据做一次深拷贝留作处理时使用,同时释放掉原始数据;

3、后台任务处理:对任务队列按先进先出的规则进行取任务并处理,处理完成后将深拷贝的数据释放掉,其中处理任务主要涉及到LED显示业务逻辑,此部分较耗时,同时需要注意的是对LED控制卡下发指令需加锁,不能同时发送不同指令给LED控制卡;

此项目中涉及的几个主要问题点:

(1)内存空间的开辟与释放

(2)深拷贝:用于业务处理的数据做一次深拷贝(副本)

(3)后台耗时处理线程:使用循环任务队列顺序执行

(4)GBK、GB2312转换为16进制字节数组

(5)栈空间溢出,数组越界问题

写在最后:

小伙伴想要代码的可以留言评论(VX联系)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

妈妈爱编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值