当前位置:网站首页>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
边栏推荐
- Learning summary (about deep learning, vision and learning experience)
- How TCP protocol ensures reliable transmission
- Major changes in Huawei's cloud: Cloud & AI rises to Huawei's fourth largest BG with full fire
- 2018中国云厂商TOP5:阿里云、腾讯云、AWS、电信、联通 ...
- Tight supply! Apple's iPhone 12 power chip capacity exposed
- 分布式文档存储数据库之MongoDB基础入门
- 当Kubernetes遇到机密计算,看阿里巴巴如何保护容器内数据的安全!(附网盘链接)
- 漫画|讲解一下如何写简历&项目
- 维图PDMS切图软件
- 你的云服务器可以用来做什么?云服务器有什么用途?
猜你喜欢
Learning summary (about deep learning, vision and learning experience)
Don't look! Full interpretation of Alibaba cloud's original data lake system! (Internet disk link attached)
Top 5 Chinese cloud manufacturers in 2018: Alibaba cloud, Tencent cloud, AWS, telecom, Unicom
华为云重大变革:Cloud&AI 升至华为第四大 BG ,火力全开
Where is the new target market? What is the anchored product? |Ten questions 2021 Chinese enterprise service
Flink从入门到真香(7、Sink数据输出-文件)
墨者学院SQL注入解题
On the confirmation of original data assets
不多不少,大学里必做的五件事(从我的大一说起)
Win10 Terminal + WSL 2 安装配置指南,精致开发体验
随机推荐
Implementation of verification code recognition in Python opencv pytesseract
Major changes in Huawei's cloud: Cloud & AI rises to Huawei's fourth largest BG with full fire
维图PDMS切图软件
新的目标市场在哪里?锚定的产品是什么?| 十问2021中国企业服务
为什么 Schnorr 签名被誉为比特币 Segwit 后的最大技术更新
Entry level! Teach you how to develop small programs without asking for help (with internet disk link)
来自朋友最近阿里、腾讯、美团等P7级Python开发岗位面试题
Q & A and book giving activities of harbor project experts
next.js实现服务端缓存
吐血整理!阿里巴巴 Android 开发手册!(附网盘链接)
python基础教程python opencv pytesseract 验证码识别的实现
Top 5 Chinese cloud manufacturers in 2018: Alibaba cloud, Tencent cloud, AWS, telecom, Unicom
Istio流量管理--Ingress Gateway
Written interview topic: looking for the lost pig
2018中国云厂商TOP5:阿里云、腾讯云、AWS、电信、联通 ...
Flink's sink: a preliminary study
Analysis of istio access control
It's 20% faster than python. Are you excited?
Top 5 Chinese cloud manufacturers in 2018: Alibaba cloud, Tencent cloud, AWS, telecom, Unicom
Second assignment