資料介紹
描述
介紹
目前市場(chǎng)上常見的NFC無線讀卡器都是基于WiFi或藍(lán)牙的,功耗大,無線傳輸距離有限。LoRaWAN?具有傳輸距離遠(yuǎn)、接收靈敏度低、功耗低等特點(diǎn)。
因此,使用LoRaWAN?可以彌補(bǔ)以上兩種無線設(shè)備的不足。NFC的數(shù)據(jù)傳輸量也比較小,非常適合LoRaWAN?傳輸方式。采用 LoRaWAN? 無線傳輸?shù)淖x卡器易于安裝和部署。它是電池供電的,可以使用半年以上。
該項(xiàng)目的主要思想是通過 WisBlock 構(gòu)建一個(gè)支持 LoRaWAN? 的無線讀卡器。當(dāng)讀卡器讀取電子標(biāo)簽數(shù)據(jù)時(shí),電子標(biāo)簽信息會(huì)自動(dòng)上傳到RAK7268 WisGate Edge Lite 2內(nèi)置的LoRaWAN?服務(wù)器。
使用的硬件
本項(xiàng)目的主要硬件使用了 WisBlock 套件。MCU選用RAK4631 WisBlock Core模塊,采用Nordic nRF52840 MCU,支持藍(lán)牙5.0(藍(lán)牙低功耗)和Semtech公司最新的LoRa?收發(fā)器SX1262 。它支持 LoRa? 和藍(lán)牙通信模式。
NFC選用WisBlock E生態(tài)的RAK13600 NFC讀卡模塊,采用PN532芯片,支持ISO/ICE 14443A/B卡類型的讀寫。
?
它還配備了蜂鳴器模塊RAK18001,在NFC刷卡有效時(shí)提供蜂鳴器提醒。
本項(xiàng)目軟件采用RUI3開發(fā)平臺(tái)。RUI3為WisBlock提供了很多API接口函數(shù),包括傳感器驅(qū)動(dòng)接口和無線傳輸接口。只需要編寫少量的應(yīng)用代碼就可以完成這個(gè)產(chǎn)品的開發(fā)。
Step 1 - 硬件電路搭建
硬件準(zhǔn)備:
- 用于帶有 LoRa SX1262 的 LoRaWAN 的 Nordic nRF52840 BLE 核心模塊 | RAK4631 / RAK4631-R
- WisBlock 底板 | RAK5005-O
- NFC RFID NXP PN532 | RAK13600
- 蜂鳴器模塊江蘇MLT-5020 | RAK18001
- 兩個(gè) ISO/ICE 14443A/B 卡
- 統(tǒng)一外殼 IP65 100x75x38mm
- 3dBi SubG 天線 | (LoRa? 天線)
- 5 顆 M2.5x4 螺絲和 8 顆 M1.2x3 螺絲
五金組裝:
將RAK4631模塊固定在CPU SLOT位置,RAK13600固定在IO SLOT位置,RAK18001固定在SLOT A(或SLOT B)上,用固定螺絲固定模塊。
連接 NFC 天線、LoRa? 天線、藍(lán)牙天線,并將它們安裝到外殼中。
這是在組裝過程中指導(dǎo)您的示意圖
Step 2 - 軟件環(huán)境搭建
在Arduino IDE中添加RAK4631-R開發(fā)板:
- 打開 Arduino IDE 并轉(zhuǎn)到File > Preferences 。
- 要將 RAK4631-R WisBlock Core 添加到您的 Arduino 板列表,您需要編輯附加板管理器 URL。單擊該圖標(biāo)。
-
復(fù)制 URL
https://raw.githubusercontent.com/RAKWireless/RAKwireless-Arduino-BSP-Index/main/package_rakwireless.com_rui_index.json
并將其粘貼到字段中。如果已經(jīng)有其他 URL,只需將它們添加到下一行即可。添加 URL 后,單擊確定。
- 重新啟動(dòng) Arduino IDE。
- 從工具菜單打開板管理器。
-
寫
RAK
在搜索欄中。這將顯示可用的 RAKwireless WisBlock 核心板,您可以將它們添加到 Arduino 板列表中。選擇并安裝RAKwireless RUI nRF 板
- 安裝 BSP 后,選擇Tools > Boards Manager > RAKWireless RUI nRF Modules > WisBlock Core RAK4631 Board 。
安裝庫(kù)
安裝RAK13600-PN532庫(kù)和Adafruit總線庫(kù):
第 3 步 - 軟件開發(fā)
LoRaWAN? 部分的初始化。該函數(shù)初始化協(xié)議棧的所有參數(shù)。網(wǎng)絡(luò)接入方式為OTAA。用戶需要根據(jù)自己的頻段和網(wǎng)絡(luò)接入?yún)?shù)修改這個(gè)宏定義。代碼中使用的頻段為AS923。NFC芯片初始化代碼采用IIC通信協(xié)議。初始化完成后,即可使用NFC的刷卡功能。
/*************************************
LoRaWAN band setting:
RAK_REGION_EU433
RAK_REGION_CN470
RAK_REGION_RU864
RAK_REGION_IN865
RAK_REGION_EU868
RAK_REGION_US915
RAK_REGION_AU915
RAK_REGION_KR920
RAK_REGION_AS923
*************************************/
#define OTAA_BAND (RAK_REGION_AS923)
#define OTAA_DEVEUI {0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88}
#define OTAA_APPEUI {0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88}
#define OTAA_APPKEY {0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88}
void lora_init()
蜂鳴器由 PWM 控制。蜂鳴器不用時(shí),需要關(guān)閉輸出。
pinMode(BUZZER_CONTROL,OUTPUT);
noTone(BUZZER_CONTROL);
NFC芯片初始化代碼采用IIC通信協(xié)議。初始化完成后,即可使用NFC的刷卡功能。
nfc.begin();
uint32_t versiondata = nfc.getFirmwareVersion();
if (! versiondata) {
Serial.print("Didn't find PN53x board");
while (1); // halt
}
// Got ok data, print it out!
Serial.print("Found chip PN5"); Serial.println((versiondata >> 24) & 0xFF, HEX);
Serial.print("Firmware ver. "); Serial.print((versiondata >> 16) & 0xFF, DEC);
Serial.print('.'); Serial.println((versiondata >> 8) & 0xFF, DEC);
// Set the max number of retry attempts to read from a card
// This prevents us from waiting forever for a card, which is
// the default behaviour of the PN532.
nfc.setPassiveActivationRetries(0xFF);
//configure board to read RFID tags
nfc.SAMConfig();
Serial.println("Waiting for an ISO14443A card");
每1s循環(huán)讀取是否有NFC卡。如果 ID 讀取成功,蜂鳴器響 150ms,然后將卡 ID 發(fā)送到 LoRaWAN? 服務(wù)器。
void loop(void) {
boolean success;
uint8_t uid[] = { 0, 0, 0, 0, 0, 0, 0 }; // Buffer to store the returned UID
uint8_t uidLength; // Length of the UID (4 or 7 bytes dep ending on ISO14443A card type)
// Wait for an ISO14443B type cards (Mifare, etc.). When one is found
// 'uid' will be populated with the UID, and uidLength will indicate
// if the uid is 4 bytes (Mifare Classic) or 7 bytes (Mifare Ultralight)
success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, &uid[0], &uidLength);
if (success) {
tone(BUZZER_CONTROL,4000);
delay(150);
noTone(BUZZER_CONTROL);
Serial.println("Found a card!");
Serial.print("UID Length: "); Serial.print(uidLength, DEC); Serial.println(" byte s");
Serial.print("UID Value: ");
for (uint8_t i = 0; i < uidLength; i++)
{
Serial.print(" 0x"); Serial.print(uid[i], HEX);
}
Serial.println("");
digitalWrite(ledPin1, HIGH); // LED turn on when input pin value is HIGH
delay(150);
digitalWrite(ledPin1, LOW); //
/** Send the data package */
if (api.lorawan.send(uidLength, (uint8_t *) & uid, 2, true, 1))
{
Serial.println("Sending is requested");
}
else
{
Serial.println("Sending failed");
}
// Wait 1 second before continuing
delay(1000);
}
else
{
// PN532 probably timed out waiting for a card
Serial.println("Timed out waiting for a card");
}
}
使用 WisToolBox 和 WisGate Edge Lite 2 進(jìn)行數(shù)據(jù)記錄
通過WisToolBox查看實(shí)時(shí)串口日志
RAK7268 內(nèi)置 LoRaWAN?,如果您需要確認(rèn)數(shù)據(jù)是否已成功發(fā)送,還有一個(gè)服務(wù)器日志。
結(jié)論
在成功構(gòu)建具有 LoRaWAN 連接的 NFC 讀卡器后,您有多種選擇可以在多種場(chǎng)景中實(shí)施它,例如通過標(biāo)簽進(jìn)行商品控制、用戶進(jìn)入控制、構(gòu)建安全控制等許多事情,并記住我們總是說#IoTMadeEasy。
此外,請(qǐng)關(guān)注我們的Hackster Hub 并成為我們社區(qū)的一員,以了解更多 DIY IoT 項(xiàng)目和新聞。
如果您想購(gòu)買我們的產(chǎn)品,請(qǐng)?jiān)L問我們的商店
歡迎與我們分享,寫下你的疑惑,在評(píng)論區(qū)與我們互動(dòng)。
- 簡(jiǎn)單的NFC閱讀器
- 構(gòu)建一個(gè)移動(dòng)RFID閱讀器
- NFC EZ430閱讀器模塊參考設(shè)計(jì)
- 電子閱讀器的電路原理圖免費(fèi)下載 49次下載
- Python簡(jiǎn)歷樣本—模擬儀表閱讀器下載 1次下載
- 基于圖論的閱讀器防碰撞算法 1次下載
- PDF閱讀器AcroRd32軟件 23次下載
- 身份證閱讀器SDK使用手冊(cè) 23次下載
- Flash單片機(jī)原理(請(qǐng)用超星閱讀器閱讀) 5次下載
- 集成電路手冊(cè)(請(qǐng)用超星閱讀器閱讀) 0次下載
- 超星閱讀器免費(fèi)下載 19次下載
- 基于S1D13521的電子紙閱讀器的設(shè)計(jì) 129次下載
- PDF閱讀器綠色版 0次下載
- txt文檔閱讀器
- djvu閱讀器下載
- 手搓了一個(gè)ESP32墨水屏閱讀器,蠻簡(jiǎn)單的 331次閱讀
- 20W電子閱讀器充電器ic U6205DC基本知識(shí)介紹 622次閱讀
- 電子書閱讀器內(nèi)置鋰電池供電自動(dòng)切換電路 2029次閱讀
- 基于PXA270工業(yè)級(jí)嵌入式處理器實(shí)現(xiàn)設(shè)備自動(dòng)識(shí)別系統(tǒng)的設(shè)計(jì) 1949次閱讀
- 基于EPCglobal ALE協(xié)議標(biāo)準(zhǔn)實(shí)現(xiàn)嵌入式RFID閱讀器系統(tǒng)的設(shè)計(jì) 2650次閱讀
- 基于C8051F410單片機(jī)實(shí)現(xiàn)雙頻固定式閱讀器的應(yīng)用方案 3287次閱讀
- ZigBee模塊在RFID射頻識(shí)別閱讀器中有著怎樣的作用 2918次閱讀
- 如何構(gòu)建基于ZigBee的物聯(lián)網(wǎng)平臺(tái) 2447次閱讀
- Rohm BD57121MUF-M汽車NFC兼容無線功率發(fā)送解決方案、BOOM與電路圖 2021次閱讀
- 采用LabVIEW圖形化編程語言設(shè)計(jì)的基于軟件無線電的RFID閱讀器 2326次閱讀
- nfc手環(huán)怎么用_榮耀手環(huán)3nfc怎么使用 3.8w次閱讀
- 采用新型集成元件來簡(jiǎn)化RFID閱讀器設(shè)計(jì) 1137次閱讀
- 基于無源電子標(biāo)簽的諧振頻率檢測(cè)的耦合器設(shè)計(jì) 2856次閱讀
- 基于ISO18000-6C協(xié)議的UHF RFID閱讀器接收電路設(shè)計(jì) 4016次閱讀
- NFC技術(shù)定義及其與RFID的區(qū)別 1773次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多