獲取本機(jī)所有的網(wǎng)卡IP:
bool listening=false; QTcpServer m_server; QTcpSocket m_socket; QStringList getAllIPAddresses() { QStringList ips; QList list = QNetworkInterface::allAddresses(); for (int i = 0; i < list.size(); ++i) { QHostAddress address = list.at(i); // 檢查是否為IPv4地址,并排除回環(huán)地址 if (address.protocol() == QAbstractSocket::IPv4Protocol && address != QHostAddress::LocalHost) { ips < address.toString(); } } return ips; } 根據(jù)IP地址獲取Mac QString getMacByIp(const QString &ip) { QHostInfo info = QHostInfo::fromName(ip); foreach (const QHostAddress &address, info.addresses()) { if (address.protocol() == QAbstractSocket::IPv4Protocol) { foreach (const QNetworkInterface &interface, QNetworkInterface::allInterfaces()) { if (interface.flags().testFlag(QNetworkInterface::IsUp) && interface.flags().testFlag(QNetworkInterface::IsRunning)) { foreach (const QNetworkAddressEntry &entry, interface.addressEntries()) { if (entry.ip() == address) { return interface.hardwareAddress(); } } } } } } return QString(); }
//解析讀取IC卡卡號------------------------------------------------------------------------------------------------------------------- void MainWindow::Analyze_c1(QHostAddress ip,quint16 port,unsigned char databuff[], qint64 buflen) { DisableSendAgain(ip, port,databuff,buflen);//確認(rèn)接收到的信息,否則同一信息讀卡器會(huì)重發(fā)三次 QString IPAddress=QString::asprintf("%d", databuff[1])+"."+QString::asprintf("%d", databuff[2])+"."+QString::asprintf("%d", databuff[3])+"."+QString::asprintf("%d", databuff[4]); //設(shè)備IP地址,廣域網(wǎng)上使用,一般不對此IP回應(yīng),而是對數(shù)據(jù)流的 ip及端口 回應(yīng) QString DeviceNumber=QString::asprintf("%05d",databuff[5]+databuff[6]*256); //設(shè)備自編機(jī)號 QString FrameNumber=QString::asprintf("%05d",databuff[7]+databuff[8]*256); //數(shù)據(jù)包號 QString CardnoHexZ=QString::asprintf("%02X%02X%02X%02X", databuff[10],databuff[11],databuff[12],databuff[13]); //16進(jìn)制卡號正碼 QString CardnoHexF=QString::asprintf("%02X%02X%02X%02X", databuff[13],databuff[12],databuff[11],databuff[10]); //16進(jìn)制卡號反碼 bool status; QString Cardno8H10D=QString::asprintf("%010u",CardnoHexF.toUInt(&status,16)); //轉(zhuǎn)8H10D反碼卡號 QString SerialNumber=""; //設(shè)備全球唯一硬件序號 for (int i=14;itextEdit_M1UID->setText(CardnoHexZ); if(ui->checkBox_Resp->isChecked()){Respondinfo(getsysdatetime()+"卡號:"+Cardno8H10D,ip,port,DeviceNumber);} //回應(yīng)驅(qū)動(dòng)設(shè)備顯示+蜂鳴響聲 }
主動(dòng)讀取扇區(qū)數(shù)據(jù)的返回- void MainWindow::Analyze_c3(QHostAddress ip,quint16 port,unsigned char databuff[], qint64 buflen) { QString IPAddress=QString::asprintf("%d", databuff[1])+"."+QString::asprintf("%d", databuff[2])+"."+QString::asprintf("%d", databuff[3])+"."+QString::asprintf("%d", databuff[4]); //設(shè)備IP地址,廣域網(wǎng)上使用,一般不對此IP回應(yīng),而是對數(shù)據(jù)流的 ip及端口 回應(yīng) QString DeviceNumber=QString::asprintf("%05d",databuff[5]+databuff[6]*256); //設(shè)備自編機(jī)號 QString CardnoHex=""; for (int i=12;i16;i++){ CardnoHex=CardnoHex+QString::asprintf("%02X", databuff[i]); } int j=databuff[10]*48; int m=databuff[11]*48; for(int i=0;i=databuff[9]){ m=databuff[9]*48; QString DataHex=""; for (int i=0;itextEdit_data->setPlainText(DataHex); QString DispInf="讀取M1卡扇區(qū)數(shù)據(jù)成功,設(shè)備IP:"+IPAddress+",機(jī)號:"+DeviceNumber+",16進(jìn)制卡號:"+CardnoHex; listadditems(1,DispInf); ui->textEdit_M1UID->setText(CardnoHex); if(ui->checkBox_Resp->isChecked()){Respondinfo(getsysdatetime()+"卡號:"+CardnoHex,ip,port,DeviceNumber);} //回應(yīng)驅(qū)動(dòng)設(shè)備顯示+蜂鳴響聲 } }

審核編輯 黃宇
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報(bào)投訴
-
讀卡器
+關(guān)注
關(guān)注
2文章
438瀏覽量
40332 -
Qt
+關(guān)注
關(guān)注
2文章
314瀏覽量
39097
發(fā)布評論請先 登錄
相關(guān)推薦
熱點(diǎn)推薦
DD3118 高集成度讀卡器控制芯片數(shù)據(jù)手冊
DD3118是一款采用40納米低功耗技術(shù)制造的高性能、高集成度讀卡器控制芯?片,專為讀卡器設(shè)計(jì)。作為讀卡器的核心功能模塊,DD3118支持USB?3.0、SD ?3.0和eMMC?4.5標(biāo)準(zhǔn)協(xié)議,能夠穩(wěn)定訪問存儲(chǔ)在內(nèi)存
發(fā)表于 06-16 16:14
?2次下載
MAX14502高速USB至SD讀卡器,提供旁路控制技術(shù)手冊
變化。在讀卡器模式下,MAX14502實(shí)現(xiàn)了一個(gè)高速USB卡讀卡器,可獨(dú)立于主機(jī)微處理器運(yùn)行。所有全速USB端口和SD卡插槽的功能都得以保留
MAXQ1743 DeepCover安全磁卡讀卡器IC技術(shù)手冊
DeepCover 嵌入式安全方案采用多重先進(jìn)的物理安全機(jī)制保護(hù)敏感數(shù)據(jù),提供最高等級的密鑰存儲(chǔ)安全保護(hù)。
DeepCover MAXQ1743是集成的三軌磁條讀卡器IC,在機(jī)器/磁卡接口上為POS終端或ATM

MFRC522非接觸式讀卡器IC中文手冊
電子發(fā)燒友網(wǎng)站提供《MFRC522非接觸式讀卡器IC中文手冊.pdf》資料免費(fèi)下載
發(fā)表于 05-12 18:11
?7次下載
用于LEGIC Advant UID/序列號的NFC讀卡器,為什么無法讀取這些卡的UID/序列號?
的是,這個(gè)讀卡器根本不識(shí)別 LEGIC 卡,只能識(shí)別 MIFARE 卡。
根據(jù)產(chǎn)品規(guī)格“支持 ISO/IEC 14443 A/MIFARE 和 NTAG”,我認(rèn)為這是可能的,因?yàn)?LEGIC
發(fā)表于 04-02 08:07
Nand flash 和SD卡(SD NAND)存儲(chǔ)扇區(qū)分配表異同
了解存儲(chǔ)扇區(qū)的分配情況。
Linux 系統(tǒng):
使用 fdisk 命令:
將 SD 卡插入讀卡器并連接到電腦。
打開終端,輸入命令 “sudo fdisk -l /dev/sdX”(將
發(fā)表于 03-13 10:45
USB免驅(qū)全協(xié)議IC卡讀寫器 QT程序開發(fā)
? 讀取15693卡,IC讀卡器如下入所示: 15693卡片,通常指的是符合ISO/IEC 15693標(biāo)準(zhǔn)的非接觸式智能卡或RFID

Android 實(shí)現(xiàn)讀卡器讀取各種卡號的信息
以超薄便攜USB免驅(qū)全協(xié)議NFC讀寫器為例,開發(fā)安卓小程序 超薄便攜USB免驅(qū)全協(xié)議NFC讀寫器 APP的首界面: 頁面代碼: 使用了ConstraintLayout作為根布局

android如何獲取本機(jī)ip地址及ip歸屬地
# 前言 # 本篇文章主要介紹android如何獲取本機(jī)ip地址及ip歸屬地。 ? # 定義 # ip地
AGV讀卡器在AGV自動(dòng)搬運(yùn)小車上應(yīng)用方案
AGV小車上的AGV讀卡器通過讀取地面軌道的RFID電子標(biāo)簽信息,做出相應(yīng)的動(dòng)作(如改變速度、選擇軌道、定位和停車等)。在AGV小車經(jīng)過站點(diǎn)A處時(shí),AGV讀卡器讀取A處的電子標(biāo)簽ID號

物聯(lián)網(wǎng)產(chǎn)品快速獲取SIM卡ICCID、IMEI的生產(chǎn)測試方案_讀卡表方案詳解
軟件,以及上位機(jī)軟件進(jìn)行設(shè)備iID與卡號統(tǒng)計(jì)。用這種方式會(huì)耗費(fèi)較長的測試時(shí)間。讀卡表可以完全的替換傳統(tǒng)工裝讀卡,讀設(shè)備ID等操作. 使用讀卡表統(tǒng)計(jì)設(shè)備ID與SIM

物聯(lián)網(wǎng)產(chǎn)品在生產(chǎn)測試過程中快速讀取貼片SIM卡號的方案
卡號,讀卡表產(chǎn)品可以解決在研發(fā)測試過程中,方便讀取物聯(lián)網(wǎng)貼片卡卡號的問題。 二、該問題帶來的危害及影響 如果不讀出設(shè)備的SIM

二代身份證識(shí)別儀身份證閱讀器讀卡器
身份證讀卡器通用版 醫(yī)院社保讀卡器 APP集成識(shí)別讀取身份證 云解碼讀卡 身份證網(wǎng)絡(luò)讀卡模塊
發(fā)表于 09-07 15:09
身份證云解碼模塊嵌入式身份證讀卡器 (CSYJM-3)
通信讀卡。
有蜂鳴器,支持聲音的開啟和關(guān)閉。
解碼類型支持無照片和本地解碼照片。
讀卡模式支持單次讀卡和循環(huán)讀卡。
發(fā)表于 09-04 14:57
評論