資料介紹



成分
PCBWay定制PCB
?
|
× 2 |
阿杜諾
|
× 1 |
MFRC522 RFID閱讀器
?
|
× 1 |
SH1106 OLED 顯示屏 (128x64)
?
|
× 1 |
5mm 綠色 LED
?
|
× 1 |
?
|
× 2 |
按鈕 (6x6)
?
|
× 4 |
Creality CR-6 SE 3D 打印機
?
|
× 1 |
電源插座
?
|
× 1 |
外接電池
?
|
× 1 |
跳線
?
|
× 1 |
描述
帶 Qubitro 的物聯網書簽和閱讀(圖書評級)跟蹤器
?
在閱讀書籍或漫畫時,我喜歡每天記錄我的收視率,以跟蹤我對每一章的興趣的激增或下降。此外,我可以在閱讀完書籍后仔細檢查我的評分和筆記,從而輕松地復習書籍。
?
由于我總是將我的評分記錄在筆記本或一張紙上,因此我的家庭圖書館被不請自來的紙堆淹沒了。因此,我決定創建這個物聯網設備來記錄和監控我的圖書評分,從而避免手寫的需要。
?
在仔細閱讀書評和分類方法后,我決定使用這個設備來評價和記錄六種不同的書籍特征,這些特征表示一本書的質量和可靠性:
?
- 陰謀
- 劃定
- 浸沒
- 羅唆
- 人物
- 編輯
?
對于上述每個特征,我定義了四個不同的評分點,以使用收集的數據創建一個簡潔且連貫的評分系統:
?
- 1 ? 世俗的
- 2 ? 有趣的
- 3 ? 迷人
- 4 ? 迷人的
?
在定義我的評級系統后,我決定使用 RFID 磁盤標簽來識別書籍,而不是使用條形碼掃描儀掃描條形碼 (ISBN),因為我想為每本書設計帶有 RFID 磁盤標簽的獨特書簽。因此,我將 MFRC522 RFID 閱讀器連接到 Arduino Nano 33 IoT 以檢測 UID。
?
為了顯示評級設置菜單,我將 SH1106 OLED 屏幕連接到 Nano 33 IoT。然后,我創建了一個簡單的控制器,用操縱桿和按鈕調整每個特性的評級。
?
我沒有從頭開始開發 Web 應用程序來記錄和監控 Nano 33 IoT 傳輸的上述圖書評級,而是決定利用 Qubitro 門戶構建一個 IoT 應用程序。由于 Qubitro 支持與不同開發板的各種連接方法,并提供易于理解的界面來可視化接收到的云端數據包,因此我在為這個項目構建 IoT 應用程序時沒有遇到任何問題。
?
在完成面包板上的接線并測試將數據包傳輸到 Qubitro 應用程序的代碼后,我為這個項目設計了蝙蝠俠主題的底座和控制器 PCB。最近在看《蝙蝠俠:動畫系列》的時候,在蝙蝠洞里看到了一個以蝙蝠為主題的圖書館。由于蝙蝠俠是我最喜歡的漫畫人物,我認為將這個設備設計成蝙蝠洞圖書館的一部分會很有趣。
?
最后,我還設計了一個以蝙蝠俠為靈感的補充書架(可 3D 打印),以插入底座和控制器 PCB,以創建一個堅固而時尚的設備,光榮地強調蝙蝠俠主題 :)
?
?
?
?
第 1 步:設計和焊接蝙蝠俠主題的底座和控制器 PCB
?
在對我的蝙蝠俠主題底座和控制器 PCB 設計進行原型設計之前,我使用 Arduino Nano 33 IoT 和 MFRC522 RFID 閱讀器測試了所有連接和接線。
?
?
然后,我利用 KiCad 設計了蝙蝠俠主題的底座和控制器 PCB - 靈感來自黑暗騎士的傳說 :) 我附上了下面兩個 PCB 的 Gerber 文件。因此,如果您愿意,您可以從 PCBWay 訂購我的 PCB 設計,以創建您的支持 RFID 的物聯網書簽和閱讀跟蹤器,從而輕松地將您的圖書評級傳輸到 Qubitro 應用程序。
?
?
?
?
?
首先,通過使用烙鐵,我將接頭(母頭)、COM-09032 模擬操縱桿、按鈕(6x6)、5 毫米綠色 LED 和電源插孔連接到底座和控制器 PCB。
?
?? 基板PCB上的元件清單:
?
A1(Arduino Nano 33 IoT 接頭)
RFID1(MFRC522 RFID 閱讀器的接頭)
SH1106(SH1106 OLED 顯示器接頭)
J1(控制器 PCB 接頭)
D1 (5mm 綠色 LED)
J2(電源插孔)
?
?? 控制器 PCB 上的組件列表:
?
J1(基板 PCB 接頭)
U1、U2(COM-09032 模擬操縱桿)
K1、K2、K3、K4(6x6 按鈕)
?
?
?
?
步驟 1.1:進行連接和調整
?
?
完成焊接后,我通過接頭將所有剩余組件連接到蝙蝠俠主題的底座和控制器 PCB - Arduino Nano 33 IoT、MFRC522 RFID 閱讀器和 SH1106 OLED 屏幕。
?
然后,我使用公跳線將基礎 PCB 連接到控制器 PCB。
?
?
第 2 步:設計和打印受蝙蝠俠啟發的書架
?
由于我想應用蝙蝠主題來創建一個設備,就好像它是動畫系列中蝙蝠洞的一部分一樣,我決定設計一個補充書架來展示我目前在我的家庭圖書館閱讀的書籍。為了毫不費力地將蝙蝠俠主題的底座和控制器 PCB 插入并連接到書架上,我添加了插槽和掛鉤。另外,我在書架上刻了突出的蝙蝠符號,以光彩地強調蝙蝠俠主題:)
?
我在 Autodesk Fusion 360 中設計了書架。您可以在下面下載它的 STL 文件。
?
?
?
然后,我在 Ultimaker Cura 中對我的書架 3D 模型(STL 文件)進行了切片。
?
?
由于我想為書架創建一個堅固的結構并補充蝙蝠俠主題,我使用了這種 PLA 燈絲:
?
- 黑色的
?
最后,我用我的 Creality CR-6 SE 3D 打印機打印了書架(模型)。雖然我是 3D 打印的新手,而且它是我的第一臺 FDM 3D 打印機,但我使用 CR-6 SE 毫不費力地獲得了令人難以置信的結果 :)
?
?
步驟 2.1:組裝書架并創建 RFID 書簽
?
打印我的書架 3D 模型后,我將蝙蝠俠主題的底座和控制器 PCB 固定在書架上。我通過前面的掛鉤放置了控制器 PCB。然后,我通過熱膠槍將基礎 PCB 固定在其頂部的插槽中,并使用電纜扎帶進行牢固穩定的連接。
?
?
?
?
?
?
?
?
由于我決定使用 RFID 磁盤標簽來創建獨特的書簽以識別書籍,因此我將磁盤標簽固定在我從家鄉的漫畫書展上購買的限量版漫畫書簽上。
?
?
?
第 3 步:在 Qubitro 上設置 IoT 應用程序
?
為了記錄和監控 Nano 33 IoT 傳輸的圖書評分,我決定利用 Qubitro 門戶構建一個 IoT 應用程序。Qubitro 提供對開發人員友好的功能并支持各種連接方法,例如功能齊全的 MQTT 代理和 The Things Stack 設備。由于 Qubitro 具有易于理解的?在線示例和技術指南?,并允許用戶使用專門的小部件輕松地在云上可視化接收到的數據包,我強烈建議使用 Qubitro 構建物聯網應用程序。
?
#?? 首先,轉到?Qubitro 門戶?并登錄。
?
?
#?? 然后,創建一個新項目(IoT 應用程序)并定義其名稱和描述。
?
?
?
?
?
?
#?? 要在應用程序下創建新的 Qubitro 設備,請根據您的項目要求選擇連接方法。選擇 MQTT 選項以通過 Qubitro MQTT 代理將數據傳輸到給定的 Qubitro 設備。
?
?
?
#?? 定義設備信息和詳細信息。
?
?
?
如果需要,您還可以使用應用程序的 MQTT 憑據通過 Qubitro API 發布數據。
?
?
?
#?? 成功創建 Qubitro 設備后,在項目儀表板上打開該設備,然后單擊設置。
?
?
?
#?? 然后,復制設備 ID 和令牌以通過 MQTT 代理將數據包從 Nano 33 IoT 傳輸到 Qubitro 設備。
?
?
?
步驟 3.1:分析在 Qubitro 上收集的數據
?
在 Qubitro 上構建我的 IoT 應用程序后,我立即開始通過 MQTT 代理從 Nano 33 IoT 向應用程序下的 Qubitro 設備發送數據包(書籍評分)。
?
為了分析收集到的數據,我利用了設備界面中的內置圖表功能。
?
您可以在第 4 步中檢查通過 Qubitro MQTT 代理傳輸圖書評級的代碼。
?
#?? Qubitro 設備收到數據包后,在項目儀表盤上打開設備,點擊分析。
?
?
?
?
?
?
#?? 然后,為每個數據元素創建一個具有唯一顏色的圖表,以仔細檢查給定時期內收集的數據。
?
?
?
?
?
?
步驟 3.2:創建小部件以可視化 Qubitro 上收集的數據
?
#?? 首先,在項目儀表盤上,進入監控,創建一個新的監控儀表盤。
?
?
?
#?? 然后,單擊添加小部件按鈕。
?
#?? 定義小部件所需的信息:標題、項目(IoT 應用程序)名稱、設備名稱和小部件類型(例如,面積圖)。
?
?
?
?
?
?
#?? 要自定義最近創建的小部件,請分配數據元素(傳感器值),選擇小部件顏色并調整外觀設置。
?
?
?
為每個數據元素創建小部件后,Qubitro 門戶應顯示如下監控儀表板。
?
?
?
第 4 步:對 Arduino Nano 33 IoT 進行編程
?
首先,我需要安裝 SAMD21 內核以在 Arduino IDE 上設置 Arduino Nano 33 IoT。
?
#?? 在 Arduino IDE 上,導航到 Tools > Board > Boards Manager。
?
?
?
#?? 然后,搜索 Arduino SAMD Boards(32 位 ARM Cortex-M0+)內核并安裝它。
?
?
?
#?? 轉到工具 > 板 > Arduino SAMD 板(32 位 ARM Cortex-M0+)以選擇 Arduino Nano 33 IoT。
?
?
?
#?? 成功設置 Nano 33 IoT 后,下載所需的庫以通過 Qubitro MQTT 代理傳輸數據包:
?
WiFiNINA |?下載
mqtt-客戶端-arduino |?下載
?
#?? 然后,下載 MFRC522 RFID 閱讀器和 SH1106 OLED 屏幕所需的庫:
?
射頻識別 |?下載
Adafruit_SH110x |?下載
Adafruit-GFX-庫 |?下載
?
? 包括所需的庫。
?
?
? 啟動 Wi-Fi 和 Qubitro MQTT 客戶端。
? 定義 Wi-Fi 設置。
? 定義 Qubitro 設備設置和信息(ID 和令牌)。
?
WiFiClient wifiClient;
;
ssid[] = ;
pass[] = ;
deviceID[] = ;
deviceToken[] = ;
host[] = ;
端口 = ;
?
? 定義 SH1106 OLED 屏幕設置。
?
Adafruit_SH1106G 顯示 = Adafruit_SH1106G(屏幕寬度,屏幕高度,OLED_MOSI,OLED_CLK,OLED_DC,OLED_RST,OLED_CS);
?
? 創建 MFRC522 實例并定義 MFRC522 模塊鍵輸入。
?
;
MFRC522::MIFARE_Key 密鑰;
?
? 初始化 SH1106 OLED 屏幕。
?
display.begin(0, true); 顯示.顯示(); 延遲(1000); display.clearDisplay(); display.setTextSize(2); display.setTextColor(SH110X_BLACK, SH110X_WHITE); display.setCursor(0,0); display.println("物聯網"); display.println("書簽"); 顯示.顯示(); 延遲(1000);
?
? 連接到給定的 Wi-Fi 網絡。
?
Serial.println( ); (WiFi.begin(ssid,)!= WL_CONNECTED){ Serial.print( ); 延遲(); } Serial.println( );
?
? 設置 Qubitro 設備 ID 和令牌以進行身份??驗證。
? 通過 Qubitro MQTT 代理連接到 Qubitro 設備。
?
mqttClient.setId(設備ID); mqttClient.setDeviceIdToken(deviceID, deviceToken); Serial.println( ); Serial.println( ); Serial.println(mqttClient.connectError()); ( ); } Serial.println( );
?
? 激活與 Qubitro 設備的雙向通信以獲取服務器響應(收到的消息)的通知。
?
mqttClient.onMessage(receivedMessage); mqttClient.subscribe(設備ID);
?
? 初始化 MFRC522 RFID 閱讀器(硬件)。
?
SPI.開始(); mfrc522.PCD_Init(); Serial.println("\n---------------------------------\n近似新卡或密鑰標簽: \n----------------------------------\n");
?
? 在 read_UID 函數中,檢測新的 RFID 卡或標簽 UID。
? 然后,將檢測到的 UID 復制到 lastRead 字符串,處理 lastRead 字符串,并在串口監視器上打印。
?
{
;
}
(!mfrc522.PICC_ReadCardSerial()) {
;
}
Serial.print( );
( i = ; i < mfrc522.uid.size; i++) {
lastRead += mfrc522.uid.uidByte[i] < ?:;
lastRead += String(mfrc522.uid.uidByte[i], HEX);
}
lastRead.trim();
lastRead.toUpperCase();
Serial.print(lastRead);
Serial.print( );
mfrc522.PICC_HaltA();
;
}
?
? 保持與 Qubitro 代理的 MQTT 連接。
?
mqttClient.poll();
?
? 如果檢測到并存儲了 RFID 卡或標簽 UID,則啟動評級設置菜單:
? 在 SH1106 OLED 屏幕上顯示檢測到的 UID 和當前圖書評分。
? 然后,利用操縱桿(第一和第二)移動和控制按鈕(上、右、左和下)調整圖書評級。
? 如果按下第二個操縱桿的開關,則創建一個 JSON 格式的字符串,以將檢測到的 UID 和調整后的圖書評分傳輸到 Qubitro 設備:
?
- 用戶標識符
- 陰謀
- 劃定
- 浸沒
- 羅唆
- 人物
- 編輯
?
? 然后,通過 Qubitro MQTT 代理將給定的數據包發送到 Qubitro 設備。
? 最后,返回主屏幕并清除 lastRead 字符串(檢測到的 UID)。
? 如果按下第一個搖桿的開關,則返回主屏幕并清除 lastRead 字符串(檢測到的 UID)而不發送數據包。
?
(最后閱讀!= ){ uid_activated = ; 檢測到RFID 卡標簽,打開評級設置菜單。(uid_activated){ 讀取控制(); mqttClient.poll(); display.clearDisplay(); 顯示.setTextSize( ); display.setTextColor(SH110X_WHITE); display.setCursor( , ); 展示。();display.println(lastRead); 展示。();display.println(選項[ ]); 展示。();display.println(選項[ ]); 展示。();display.println(選項[ ]); 展示。();display.println(選項[ ]); 展示。();display.println(選項[ ]); 展示。();display.println(選項[ ]); 顯示.顯示(); 延遲(); 操縱桿控制按鈕調整圖書評分: (joystick_x_1 >= ){ (!up) options[ ] = ; (!right) 選項[ ] = ; (!left) 選項[ ] = ; (!down) 選項[ ] = ; } (joystick_x_1 <= ){ (!up) options[ ] = ; (!right) 選項[ ] = ; (!left) 選項[ ] = ; (!down) 選項[ ] = ; } (joystick_y_1 >= ){ (!up) options[ ] = ; (!right) 選項[ ] = ; (!left) 選項[ ] = ; (!down) 選項[ ] = ; } (joystick_x_2 >= ){ (!up) options[ ] = ; (!right) 選項[ ] = ; (!left) 選項[ ] = ; (!down) 選項[ ] = ; } (joystick_x_2 <= ){ (!up) options[ ] = ; (!right) 選項[ ] = ; (!left) 選項[ ] =; (!down) 選項[ ] = ; } (joystick_y_2 >= ){ (!up) options[ ] = ; (!right) 選項[ ] = ; (!left) 選項[ ] = ; (!down) 選項[ ] = ; } 通過 Qubitro MQTT 代理將給定的圖書評級發送到 Qubitro 設備。(!joystick_sw_2){ digitalWrite(control_led, HIGH); mqttClient.beginMessage(deviceID); 創建一個 JSON 格式的字符串成功傳輸數據到 Qubitro 設備。 mqtt客戶端。 ( + lastRead + + String(options[ ]) + + String(options[ ]) + + String(options[ ]) + + String(options[ ]) + + String(options[ ]) + + String(options[ ]) + ); mqttClient.endMessage(); 延遲(); Serial.println( ); 退出清除: 最后讀取 = ; display.clearDisplay(); 顯示.setTextSize( ); display.setTextColor(SH110X_BLACK, SH110X_WHITE); display.setCursor( , ); display.println( ); display.println( ); 顯示.顯示(); 數字寫入(控制LED,低); uid_activated = ; } 退出清除: (!joystick_sw_1){ 最后讀取 = ; display.clearDisplay(); 顯示.setTextSize( ); display.setTextColor(SH110X_BLACK, SH110X_WHITE); display.setCursor( , ); display.println( ); display.println( ); 顯示.顯示(); uid_activated = ; } } }
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
模式和功能
?
???首先,設備嘗試通過 Qubitro MQTT 代理連接到給定的 Wi-Fi 網絡和 Qubitro 設備。
?
???然后,設備顯示主屏幕。
?
?
?
?
?
?
???如果設備檢測到 RFID 卡或標簽 UID,它會啟動評級設置菜單并顯示檢測到的 UID 和當前圖書評級:
?
- 用戶標識符
- 陰謀
- 劃定
- 浸沒
- 羅唆
- 人物
- 編輯
?
?
?
???在評級設置菜單上,該設備允許用戶通過操縱桿移動和控制按鈕來調整圖書評級:
?
???要調整繪圖等級:
?
- 將第一個操縱桿向右移動?按任意控制按鈕
?
???要調整描述等級:
?
- 將第一個操縱桿向左移動?按任意控制按鈕
?
???調整沉浸等級:
?
- 將第一個操縱桿向上移動 ? 按任意控制按鈕
?
???要調整 Prolixity 等級:
?
- 向右移動第二個操縱桿?按任意控制按鈕
?
???要調整字符等級:
?
- 將第二個操縱桿向左移動?按任意控制按鈕
?
???調整編輯等級:
?
- 將第二個操縱桿向上移動?按任意控制按鈕
?
?? 通過控制按鈕評分:
?
- 向上按鈕?世俗 [1]
- 右鍵?有趣 [2]
- 左鍵 ?迷人 [3]
- 向下按鈕?迷人 [4]
?
?
???如果按下第二個操縱桿的開關,設備將通過 Qubitro MQTT 代理將數據包(檢測到的 UID 和調整的圖書評級)發送到 Qubitro 設備。
?
???然后,如果 Qubitro 設備成功接收到傳輸的數據包,設備會閃爍 5mm 的綠色 LED。
?
?
?
?
?
?
???發送數據包后,設備返回主屏幕。
?
???如果按下第一個搖桿的開關,設備也會返回主屏幕而不傳輸數據包。
?
?
?
???設備存儲調整后的圖書評級,并在啟動時顯示在評級設置菜單中,以提醒用戶之前分配的圖書評級。
?
?
?
???如果 Nano 33 IoT 在運行時出現錯誤,設備會在串行監視器上打印錯誤代碼和詳細信息。
?
?
?
???此外,該設備還會在串行監視器上打印通知和 UID 讀數以進行調試。
?
?
?
???將數據包傳輸到 Qubitro 設備后,Qubitro 門戶允許用戶在監控儀表板上可視化圖書評級,如步驟 3.2 中所述。
?
?
?
視頻和結論
?
?
?
就我的實驗而言,該設備在調整圖書評級并通過 Qubitro MQTT 代理將數據包傳輸到 Qubitro 設備時工作得無可挑剔:)
?
?
?
- 使用Blues Wireless和Qubitro的物聯網天氣數據記錄器
- 探索編碼器之電機步進跟蹤器
- 光子時間跟蹤器開源分享
- 邁向Arduino驅動的衛星跟蹤器
- 移動水位跟蹤器開源分享
- 使用Raspberry Pi的溫度跟蹤器
- 使用Arduino的光跟蹤器
- 一種尺度自適應的濾波跟蹤器 4次下載
- MQTTv3.1中文版_帶書簽 0次下載
- 基于P-N跟蹤器的自適應粒子濾波算法 0次下載
- 關于FPGA的多路脈沖重復頻率跟蹤器設計 37次下載
- 基于ATmega8的雙軸太陽跟蹤器設計
- 2/3通道電源跟蹤器/排序器/監控器
- 基于有源像元傳感器的多用途微型跟蹤器
- 基于雙DSP的電視跟蹤器
- 利用ADALM-PLUTO構建單脈沖信號跟蹤器 1527次閱讀
- GPS車輛跟蹤器 779次閱讀
- 排序電路提供偽電壓跟蹤器 686次閱讀
- 車輛跟蹤系統:隨時隨地 1528次閱讀
- 車輛跟蹤系統可用于實時跟蹤的主動數據傳輸 1047次閱讀
- 為您的物聯網跟蹤器選擇合適的降壓升壓 1011次閱讀
- 工業應用太陽能跟蹤器設計方案 1656次閱讀
- 如何使用M5Stamp PICO和Qubitro構建物聯網門鎖監控系統 1853次閱讀
- 基于LBT01 LoRa的GPS跟蹤器和來自LoRa的BLE信標 3878次閱讀
- 基于ISA總線和FPGA技術實現模塊化跟蹤器的系統設計 1714次閱讀
- 盤點7個有效的物聯網應用案例 1.1w次閱讀
- 采用物聯網RFID技術構建的智能圖書管理系統淺析 1748次閱讀
- 車輛跟蹤系統的全面介紹 6001次閱讀
- Linux跟蹤器如何選擇,學會這招就很簡單了 5242次閱讀
- GPS跟蹤定位器如何使用 3.7w次閱讀
下載排行
本周
- 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次下載 | 免費
評論