資料介紹
描述
介紹
目前市場上常見的NFC無線讀卡器都是基于WiFi或藍牙的,功耗大,無線傳輸距離有限。LoRaWAN?具有傳輸距離遠、接收靈敏度低、功耗低等特點。
因此,使用LoRaWAN?可以彌補以上兩種無線設備的不足。NFC的數據傳輸量也比較小,非常適合LoRaWAN?傳輸方式。采用 LoRaWAN? 無線傳輸的讀卡器易于安裝和部署。它是電池供電的,可以使用半年以上。
該項目的主要思想是通過 WisBlock 構建一個支持 LoRaWAN? 的無線讀卡器。當讀卡器讀取電子標簽數據時,電子標簽信息會自動上傳到RAK7268 WisGate Edge Lite 2內置的LoRaWAN?服務器。
使用的硬件
本項目的主要硬件使用了 WisBlock 套件。MCU選用RAK4631 WisBlock Core模塊,采用Nordic nRF52840 MCU,支持藍牙5.0(藍牙低功耗)和Semtech公司最新的LoRa?收發器SX1262 。它支持 LoRa? 和藍牙通信模式。
NFC選用WisBlock E生態的RAK13600 NFC讀卡模塊,采用PN532芯片,支持ISO/ICE 14443A/B卡類型的讀寫。
?
它還配備了蜂鳴器模塊RAK18001,在NFC刷卡有效時提供蜂鳴器提醒。
本項目軟件采用RUI3開發平臺。RUI3為WisBlock提供了很多API接口函數,包括傳感器驅動接口和無線傳輸接口。只需要編寫少量的應用代碼就可以完成這個產品的開發。
Step 1 - 硬件電路搭建
硬件準備:
- 用于帶有 LoRa SX1262 的 LoRaWAN 的 Nordic nRF52840 BLE 核心模塊 | RAK4631 / RAK4631-R
- WisBlock 底板 | RAK5005-O
- NFC RFID NXP PN532 | RAK13600
- 蜂鳴器模塊江蘇MLT-5020 | RAK18001
- 兩個 ISO/ICE 14443A/B 卡
- 統一外殼 IP65 100x75x38mm
- 3dBi SubG 天線 | (LoRa? 天線)
- 5 顆 M2.5x4 螺絲和 8 顆 M1.2x3 螺絲
五金組裝:
將RAK4631模塊固定在CPU SLOT位置,RAK13600固定在IO SLOT位置,RAK18001固定在SLOT A(或SLOT B)上,用固定螺絲固定模塊。
連接 NFC 天線、LoRa? 天線、藍牙天線,并將它們安裝到外殼中。
這是在組裝過程中指導您的示意圖
Step 2 - 軟件環境搭建
在Arduino IDE中添加RAK4631-R開發板:
- 打開 Arduino IDE 并轉到File > Preferences 。
- 要將 RAK4631-R WisBlock Core 添加到您的 Arduino 板列表,您需要編輯附加板管理器 URL。單擊該圖標。
-
復制 URL
https://raw.githubusercontent.com/RAKWireless/RAKwireless-Arduino-BSP-Index/main/package_rakwireless.com_rui_index.json
并將其粘貼到字段中。如果已經有其他 URL,只需將它們添加到下一行即可。添加 URL 后,單擊確定。
- 重新啟動 Arduino IDE。
- 從工具菜單打開板管理器。
-
寫
RAK
在搜索欄中。這將顯示可用的 RAKwireless WisBlock 核心板,您可以將它們添加到 Arduino 板列表中。選擇并安裝RAKwireless RUI nRF 板
- 安裝 BSP 后,選擇Tools > Boards Manager > RAKWireless RUI nRF Modules > WisBlock Core RAK4631 Board 。
安裝庫
安裝RAK13600-PN532庫和Adafruit總線庫:
第 3 步 - 軟件開發
LoRaWAN? 部分的初始化。該函數初始化協議棧的所有參數。網絡接入方式為OTAA。用戶需要根據自己的頻段和網絡接入參數修改這個宏定義。代碼中使用的頻段為AS923。NFC芯片初始化代碼采用IIC通信協議。初始化完成后,即可使用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 控制。蜂鳴器不用時,需要關閉輸出。
pinMode(BUZZER_CONTROL,OUTPUT);
noTone(BUZZER_CONTROL);
NFC芯片初始化代碼采用IIC通信協議。初始化完成后,即可使用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循環讀取是否有NFC卡。如果 ID 讀取成功,蜂鳴器響 150ms,然后將卡 ID 發送到 LoRaWAN? 服務器。
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 進行數據記錄
通過WisToolBox查看實時串口日志
RAK7268 內置 LoRaWAN?,如果您需要確認數據是否已成功發送,還有一個服務器日志。
結論
在成功構建具有 LoRaWAN 連接的 NFC 讀卡器后,您有多種選擇可以在多種場景中實施它,例如通過標簽進行商品控制、用戶進入控制、構建安全控制等許多事情,并記住我們總是說#IoTMadeEasy。
此外,請關注我們的Hackster Hub 并成為我們社區的一員,以了解更多 DIY IoT 項目和新聞。
如果您想購買我們的產品,請訪問我們的商店
歡迎與我們分享,寫下你的疑惑,在評論區與我們互動。
- 簡單的NFC閱讀器
- 構建一個移動RFID閱讀器
- NFC EZ430閱讀器模塊參考設計
- 電子閱讀器的電路原理圖免費下載 49次下載
- Python簡歷樣本—模擬儀表閱讀器下載 1次下載
- 基于圖論的閱讀器防碰撞算法 1次下載
- PDF閱讀器AcroRd32軟件 22次下載
- 身份證閱讀器SDK使用手冊 23次下載
- Flash單片機原理(請用超星閱讀器閱讀) 5次下載
- 集成電路手冊(請用超星閱讀器閱讀) 0次下載
- 超星閱讀器免費下載 19次下載
- 基于S1D13521的電子紙閱讀器的設計 129次下載
- PDF閱讀器綠色版 0次下載
- txt文檔閱讀器
- djvu閱讀器下載
- 手搓了一個ESP32墨水屏閱讀器,蠻簡單的 331次閱讀
- 20W電子閱讀器充電器ic U6205DC基本知識介紹 432次閱讀
- 電子書閱讀器內置鋰電池供電自動切換電路 1601次閱讀
- 基于PXA270工業級嵌入式處理器實現設備自動識別系統的設計 1836次閱讀
- 基于EPCglobal ALE協議標準實現嵌入式RFID閱讀器系統的設計 2433次閱讀
- 基于C8051F410單片機實現雙頻固定式閱讀器的應用方案 3154次閱讀
- ZigBee模塊在RFID射頻識別閱讀器中有著怎樣的作用 2689次閱讀
- 如何構建基于ZigBee的物聯網平臺 2390次閱讀
- Rohm BD57121MUF-M汽車NFC兼容無線功率發送解決方案、BOOM與電路圖 1876次閱讀
- 采用LabVIEW圖形化編程語言設計的基于軟件無線電的RFID閱讀器 2226次閱讀
- nfc手環怎么用_榮耀手環3nfc怎么使用 3.8w次閱讀
- 采用新型集成元件來簡化RFID閱讀器設計 1083次閱讀
- 基于無源電子標簽的諧振頻率檢測的耦合器設計 2617次閱讀
- 基于ISO18000-6C協議的UHF RFID閱讀器接收電路設計 3772次閱讀
- NFC技術定義及其與RFID的區別 1648次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多