当前位置:网站首页>Windows下快递投递柜、寄存柜的软件初探
Windows下快递投递柜、寄存柜的软件初探
2020-11-08 12:11:00 【osc_id7cvef1】
最近又有人再询问快递柜软件开发的事情。闲来没事就琢磨琢磨。先了解下快递柜电子部分的组成。
硬件的简略功能是主控机通过显示触摸屏和外部交互,通过监控抓取和录制图像,通过网络模块和服务器通讯,通过锁控板来开锁和检测锁开关状态。
现在主要是主控机的软件,主控机可以为工业主板运行windows或其他操作系统。
软件主要功能如下:
一、用户端口
1、快递寄件2、快递取件 3、个人中心
二、快递员端口
1、快递存件 2、快递取件
三、管理端口
看起来不算复杂。不过硬件部分的锁控板以前没有用过,就丛网上搜了下,资料不多。在电商平台搜了下,有些厂家卖这东西。看了介绍,基本上都是通过串口发送命令,锁控板就开锁或者查询锁的开合情况,也有是通过网口给锁控板发送指令的,但形式都差不多。网口的价格要高点。
下面研究下这个锁控板的驱动编程。
串口收发数据,前几年弄过,采集一个仪表数据到计算机。记得当时用Vb开发,界面很好设计,串口通讯用的是一个控件mscomm。只需要设置好参数,打开串口,就可以收发数据,根据协议分析数据,不用时关闭串口就可以了。在MFC中没有用过串口通讯。先看看锁控板。经过比较选了这种锁控板。
型号还算全,8、12、16、20、24门的都有。某宝链接https://item.taobao.com/item.htm?id=581917013199
通过串口通讯开锁和查询锁状态。在网上搜了有关VS 串口通讯的有关文章。方法也有多种,有通过ActiveX控件通讯,有调用Windows的API函数封装类来操作。调用Windows的API函数封装类的方法比较灵活,结合网上别人的代码比较方便。再来看锁控板的指令形式,可以简化为发送一串十六进制的数据,格式如下
这里说的锁控板地址一般为1。多块的时候,硬件可以通过拨码开关设置为其它值2,3等,这里填入N就是对硬件设置为N的电路板发送指令。锁编号是锁控板上锁的通道号,填入M就开M号锁,数据最后两字节是校验。这样就明确了,通过《锁控板地址》区分不同的板,再通过《锁编号》区分和锁板连接的不同锁。这样的话如果是60门的柜子,用5块12门的锁控板,发送指令就容易了,先确定门锁连接的板子的编号,再定锁连接的板子上的编号,填入数据到上面格式的数据帧中,计算校验后更新校验数据,通过串口发送出去,对应门就开了。
使用VS2010 MFC编程,采用按钮控件组的方法,视图如下
代码如下
void CrockdemoDlg::OnButton(UINT nID)
{
DWORD rtlen;
BOOL fright=TRUE;
UINT CrcCheck,temp1;
BYTE rbuf[100]={0};
BYTE sbuf[] = {0xAA,0x01,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x0A};
if(f_common)
{
UpdateData(TRUE);
sbuf[1]=setadd;//锁控板的地址
sbuf[3]=nID-IDC_BUTTON1+1; //开锁控板的第几个锁
CrcCheck=Crc16(sbuf,7);
sbuf[7]=BYTE(CrcCheck%256);
sbuf[8]=BYTE(CrcCheck/256);
serial.SendData(sbuf,9);
}
else
{
MessageBox(_T("数据接收错误,请检查线有没连接好"),_T("提示"), MB_OK);
}
}
经过测试能顺利的开锁。经过上面试验,已了解锁控板的驱动,整个软件开发也更心里有数。
关于串口通讯,网上有些资料不错,可以参考下
Windows 串口通信简单示例
https://blog.csdn.net/horizons_kong/article/details/54412339
VC++实现串口通信的应用程序设计
https://blog.csdn.net/crjmail/article/details/91043991
好了今天先写到这里。
版权声明
本文为[osc_id7cvef1]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/4348626/blog/4708077
边栏推荐
- 原创 | 数据资产确权浅议
- 值得一看!EMR弹性低成本离线大数据分析最佳实践(附网盘链接)
- Adobe media encoder / me 2021 software installation package (with installation tutorial)
- This time Kwai tiktok is faster than shaking.
- Flink's sink: a preliminary study
- WLAN 直连(对等连接或 P2P)调研及iOS跨平台调研
- Rust: performance test criteria Library
- The progress bar written in Python is so wonderful~
- 用科技赋能教育创新与重构 华为将教育信息化落到实处
- Research on WLAN direct connection (peer-to-peer connection or P2P) and cross platform research of IOS
猜你喜欢

Adobe Lightroom /Lr 2021软件安装包(附安装教程)

2 days, using 4 hours after work to develop a test tool

AQS解析

2018中国云厂商TOP5:阿里云、腾讯云、AWS、电信、联通 ...

The most complete! Alibaba economy cloud original practice! (Internet disk link attached)

阿里撕下电商标签

Q & A and book giving activities of harbor project experts

最全!阿里巴巴经济体云原生实践!(附网盘链接)

Where is the new target market? What is the anchored product? |Ten questions 2021 Chinese enterprise service

python基本语法 变量
随机推荐
Top 5 Chinese cloud manufacturers in 2018: Alibaba cloud, Tencent cloud, AWS, telecom, Unicom
Bohai bank million level fines continue: Li Volta said that the governance is perfect, the growth rate is declining
运维人员常用到的 11 款服务器监控工具
不多不少,大学里必做的五件事(从我的大一说起)
漫画|讲解一下如何写简历&项目
供货紧张!苹果被曝 iPhone 12 电源芯片产能不足
Q & A and book giving activities of harbor project experts
Rust : 性能测试criterion库
TCP协议如何确保可靠传输
2天,利用下班后的4小时开发一个测试工具
在51CTO学院Get到PMP证书
Bccoin tells you: what is the most reliable investment project at the end of the year!
笔试面试题目:判断单链表是否有环
Flink's sink: a preliminary study
The young generation of winner's programming life, the starting point of changing the world is hidden around
Flink's sink: a preliminary study
2018中国云厂商TOP5:阿里云、腾讯云、AWS、电信、联通 ...
python基本语法 变量
11 server monitoring tools commonly used by operation and maintenance personnel
维图PDMS切图软件