当前位置:网站首页>QT基於RFID管理系統(可應用於大多數RFID管理系統)
QT基於RFID管理系統(可應用於大多數RFID管理系統)
2022-06-29 01:05:00 【比物理簡單】
本系統由QT編譯,可應用於大多數基於RFID的管理系統,可進行端口設置,進出系統物品查詢等基本功能!
此課題全部說明書以及程序包已打包!需要的私信取!
系統實現:
將RFID技術引入櫃臺貴重物品管理系統,為貴重的櫃臺商品綁定RFID標簽,結合安裝在櫃臺上的RFID識別設備用來監測、控制和跟踪貼標的貴重物品,實現快速盤點、實時跟踪及銷售的智能管理。從而對櫃臺貴重物品產品的進出和銷售過程進行全方比特的跟踪和記錄,用自動化和准確高效的新方法取代了繁瑣和低效的人工管理和條碼掃描模式。並能做到短距離離開櫃臺(3~5米)報警,未能取得授權情况下,破壞或解除RFID標簽與貴重物品的綁定報警。
1. 總體方案設計(論證)
2. RFID卡設計
(1) 射頻識別技術;(2) 電子標簽的選擇。
3. RFID讀寫器硬件設計
(1) MCU;(2) 射頻模塊;(3) 天線;(4) 通信接口;(5) 人機界面;(6) 電源電路。
4. RFID讀寫器軟件設計
(1) 系統初始化程序;(2) 對卡操作程序;(3) 液晶顯示程序。
部分實現程序:
widget.cpp:
#include <QDebug>
#include "views/widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
QTextCodec *codec = QTextCodec::codecForName("utf8"); //GBK gbk
QTextCodec::setCodecForLocale(codec);
this->setWindowTitle(QString::fromLocal8Bit("基於RFID的櫃臺貴重物品管理系統"));
setWidgetbackground(this,QPixmap(":/rcs/jjo.jpg")); //主界面
//setButtonbackground(ui->navButton,QPixmap(":/rcs/homeButton.png"));
setButtonbackground(ui->setButton,QPixmap(":/rcs/setButton.png")); setButtonbackground(ui->recordButton,QPixmap(":/rcs/widgetButton.png"));
_serialThread = new QThread(this);
_serialConnection = new SerialConnection();
navWidget = new homeForm(); //設備界面
setDialog = new setting(); //配置界面
m_cAlarmRecord = new CAlarmRecord(); //曆史記錄界面
//connect(ui->navButton,SIGNAL(clicked()),navWidget,SLOT(show()));
connect(ui->setButton,SIGNAL(clicked()),setDialog,SLOT(show())); connect(ui->recordButton,SIGNAL(clicked()),m_cAlarmRecord,SLOT(show()));
connect(navWidget,SIGNAL(Record_Signal(int,quint8)),m_cAlarmRecord,SLOT(AddRecord(int,quint8))); //曆史數據存儲
connect(navWidget,SIGNAL(DispSensor1_Signal(QString)),this,SLOT(DispSensor1_Slot(QString))); //主界面顯示
connect(navWidget,SIGNAL(DispSensor2_Signal(QString)),this,SLOT(DispSensor2_Slot(QString))); //主界面顯示
connect(navWidget,SIGNAL(DispSensor3_Signal(QString)),this,SLOT(DispSensor3_Slot(QString))); //主界面顯示
/*串口連接*/
connect(_serialThread, SIGNAL(started()),_serialConnection, SLOT(readData()));
connect(_serialThread, SIGNAL(finished()), _serialConnection, SLOT(deleteLater()));
connect(_serialConnection,SIGNAL(sendnewdata(QByteArray)),navWidget,SLOT(RecvSensorData(QByteArray)));
connect(navWidget,SIGNAL(sensorCtrol(QByteArray)),_serialConnection,SLOT(SendCmdData(QByteArray)));
connect(_serialConnection,SIGNAL(connectionStateChanged(int)),setDialog,SLOT(DispConnectState_Slot(int)));
connect(setDialog,SIGNAL(StartUartDev_Signal(int)),_serialConnection,SLOT(openConnection(int)));
connect(setDialog,SIGNAL(CloseUartDev_Signal()),_serialConnection,SLOT(closeConnection()));
_serialConnection->moveToThread(_serialThread);
_serialThread->start();
/* 狀態更新定時器 */
m_tmDate = new QTimer(this);
connect(m_tmDate,SIGNAL(timeout()),this, SLOT(DispDate_Slot()));
m_tmDate->start(1000); //1s
}
Widget::~Widget()
{
if (_serialThread)
{
if (_serialThread->isRunning())
{
_serialThread->quit();
_serialThread->wait();
}
delete _serialThread;
_serialThread = NULL;
}
delete ui;
}
//設置窗體背景
void Widget::setWidgetbackground(QWidget *widget,QPixmap image)
{
QPalette palette;
palette.setBrush(backgroundRole(),QBrush(image));
widget->setPalette(palette);
}
//設置按鈕背景
void Widget::setButtonbackground(QPushButton *button,QPixmap picturepath)
{
button->setFixedSize(picturepath.width(),picturepath.height());
button->setIcon(QIcon(picturepath));
button->setFlat(true); button->setIconSize(QSize(picturepath.width(),picturepath.height()));
button->setToolTip("");
}
void Widget::DispSensor1_Slot(QString _strValue)
{
ui->m_DispValue_1->setText(_strValue);
}
void Widget::DispSensor2_Slot(QString _strValue)
{
ui->m_DispValue_2->setText(_strValue);
}
void Widget::DispSensor3_Slot(QString _strValue)
{
ui->m_DispValue_3->setText(_strValue);
}
/*顯示日期*/
void Widget::DispDate_Slot(void)
{
QDateTime dateTime(QDateTime::currentDateTime());
ui->m_DispDate->setText(dateTime.toString("yyyy-MM-dd hh:mm:ss ddd"));
}
Setting.cpp
#include "views/setting.h"
#include "ui_setting.h"
#include "views/widget.h"
setting::setting(QWidget *parent) :
QDialog(parent),
ui(new Ui::setting)
{
ui->setupUi(this);
QTextCodec *codec = QTextCodec::codecForName("utf8"); //GBK gbk
QTextCodec::setCodecForLocale(codec);
this->setWindowTitle(QString::fromLocal8Bit("設置"));
this->setWindowOpacity(0.9); //背景和元素都設置透明效果
this->setModal(true); //設置為模態界面
}
setting::~setting()
{
delete ui;
}
void setting::on_m_ExeConnectUART_clicked()
{
int com;
com = ui->m_GetComPort->currentIndex();
if(ui->m_ExeConnectUART->text() == "連接")
{
emit StartUartDev_Signal(com); //連接串口信號
}
else
{
emit CloseUartDev_Signal(); //斷開串口信號
ui->m_ExeConnectUART->setText(QString::fromLocal8Bit("連接"));
ui->m_DispComState->setText(QString::fromLocal8Bit("斷開"));
}
}
void setting::DispConnectState_Slot(int state)
{
switch (state)
{
case 0: //Disconnected
ui->m_DispComState->setText(QString::fromLocal8Bit("連接已斷開"));
break;
case 1:
ui->m_DispComState->setText(QString::fromLocal8Bit("正在連接"));
break;
case 2:
ui->m_ExeConnectUART->setText(QString::fromLocal8Bit("斷開"));
ui->m_DispComState->setText(QString::fromLocal8Bit("連接成功"));
break;
case 3:
ui->m_DispComState->setText(QString::fromLocal8Bit("連接失敗"));
break;
default:
break;
}
}
int setting::updateDeviceList()
{
int count = ui->m_GetComPort->count();
while(ui->m_GetComPort->count())
{
ui->m_GetComPort->removeItem(0);
}
serial.findSerialDevices();
ui->m_GetComPort->addItems(serial.portsList());
qDebug() << count;
return count;
}
边栏推荐
- Notes on the infrastructure of large websites
- EasyCVR接入Ehome协议的设备,无法观看设备录像是什么原因?
- 如果你会玩这4个自媒体运营工具,副业收入6000+很轻松
- 【图像增强】基于matlab人工多重曝光融合AMEF图像去雾【含Matlab源码 1916期】
- UI高度自适应的修改方案
- Go1.18 new feature: discard strings Title Method, a new pit!
- 《Reinforcement learning based parameters adaption method for particleswarm optimization》代码复现
- [UVM] my main_ Why can't the case exit when the phase runs out? Too unreasonable!
- 深度优先搜索实现抓牛问题
- Nodejs installation and download
猜你喜欢
![[image processing] image curve adjustment system based on MATLAB](/img/9c/176473a0083f075e54a45fbb4ed6ea.png)
[image processing] image curve adjustment system based on MATLAB

Report on the convenient bee Lantern Festival: the first peak sales of pasta products this year; prefabricated wine dumplings became the winners
![[staff] accent mark, gradually stronger mark and gradually weaker mark](/img/5d/5738bd5503d7ed0621932f901c2e8d.jpg)
[staff] accent mark, gradually stronger mark and gradually weaker mark

Analysis Framework -- establishment of user experience measurement data system

广度度优先搜索实现抓牛问题

BMFONT制作位图字体并在CocosCreator中使用
![[staff] pedal mark (step on pedal ped mark | release pedal * mark | corresponding pedal command in MIDI | continuous control signal | switch control signal)](/img/2b/e358b22d62ce6d683ed93418ff39fe.jpg)
[staff] pedal mark (step on pedal ped mark | release pedal * mark | corresponding pedal command in MIDI | continuous control signal | switch control signal)

接雨水系列问题

运营级智慧校园系统源码 智慧校园小程序源码+电子班牌+人脸识别系统

EasyCVR服务private.pem文件被清空,导致无法正常启动该如何处理?
随机推荐
[proteus simulation] 4x4 matrix keyboard interrupt mode scanning + nixie tube display
EasyCVR接入Ehome协议的设备,无法观看设备录像是什么原因?
Is it safe to open an account on great wisdom
How to handle a SIGTERM - how to handle a SIGTERM
滑环电机是如何工作的
Is it safe to open an account on the flush
EasyCVR服务private.pem文件被清空,导致无法正常启动该如何处理?
大智慧上开户是安全的吗
be based on. NETCORE development blog project starblog - (13) add friendship link function
[Architect (Part 38)] locally install the latest version of MySQL database developed by the server
Successfully solved (machine learning data segmentation problem): modulenotfounderror: no module named 'sklearn cross_ validation‘
[Gym 102423]-Elven Efficiency | 思维
BMFONT制作位图字体并在CocosCreator中使用
Mapbox GL loading local publishing DEM data
[UVM] my main_ Why can't the case exit when the phase runs out? Too unreasonable!
Blazor University (34) forms - get form status
如果你会玩这4个自媒体运营工具,副业收入6000+很轻松
[staff] pedal mark (step on pedal ped mark | release pedal * mark | corresponding pedal command in MIDI | continuous control signal | switch control signal)
Is pension insurance a financial product? Where is the expected return?
Misunderstanding of innovation by enterprise and it leaders