創(chuàng)建一個(gè)使用物聯(lián)網(wǎng)(IoT)的環(huán)境監(jiān)測系統(tǒng),并在網(wǎng)頁上顯示數(shù)據(jù)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
在這個(gè)項(xiàng)目中,RAK1906傳感器被用來監(jiān)測周圍環(huán)境:溫度、壓力和濕度。傳感器數(shù)據(jù)將通過LoRaWAN傳輸?shù)絙等云平臺(tái),并顯示在使用Codeigniter框架創(chuàng)建的網(wǎng)頁中,使用JavaScript和MySQL數(shù)據(jù)庫進(jìn)行數(shù)據(jù)存儲(chǔ)和分析。
故事(分步指南)
步驟1:安裝WisBlock組件
?安裝和固定微控制器在主板上:
?將傳感器安裝并固定在主板上:
?連接LoRa天線:
步驟2:配置Arduino IDE
1. 使用USB-C線將模式連接到計(jì)算機(jī)。
2. 在Arduino IDE中,增加了對(duì)WisBlock的支持:
啟用名為Build和Load的選項(xiàng),以及名為Additional Panel Manager url的字段
3. 安裝WisBlock tile的庫:
4. 選擇WisBlock RAK4631板:
步驟3:連接TTN
1. 登錄TTN
2. 創(chuàng)建一個(gè)新的應(yīng)用程序:
填寫完所需的字段后,單擊Create App完成設(shè)置。
3. 要添加新設(shè)備,請執(zhí)行以下步驟。
4. 選擇手動(dòng)注冊方式。
5. 按照以下步驟設(shè)置您的設(shè)備與TTN連接:
—在本例中,由三個(gè)文件組成:
○lora_handler.cpp:該文件管理LoRaWAN通信,包括認(rèn)證密鑰和網(wǎng)絡(luò)設(shè)置等網(wǎng)絡(luò)參數(shù)。
○main.h:該文件包含全局變量和程序中使用的函數(shù)聲明。應(yīng)用程序的核心庫。
○RAK4631-DeepSleep-LoRaWan。Ino:采集傳感器數(shù)據(jù)并通過網(wǎng)絡(luò)傳輸?shù)闹魑募?。它還處理電源管理,包括傳輸之間的深度睡眠模式。
-驗(yàn)證后將代碼上傳到設(shè)備,在TTN控制臺(tái)中進(jìn)行檢查,接收到HEX格式的“Hello”消息:
m_lora_app_data_buffer[buffSize++] = 'e';m_lora_app_data_buffer[buffSize++] = 'l';m_lora_app_data_buffer[buffSize++] = 'l';m_lora_app_data_buffer[buffSize++] = 'o';
4 .編寫代碼
連接RAK1906_Environment_BME690傳感器,請遵循以下步驟:
1. 安裝RAK1906傳感器所需的SX126x-Arduino庫:
2. 從一個(gè)傳感器示例開始,檢查Arduino IDE中的環(huán)境傳感器。為此,您可以訪問:
3. 編譯加載完示例后,串口監(jiān)視器顯示數(shù)據(jù):
在對(duì)傳感器進(jìn)行檢查后,將合并TTN和傳感器中數(shù)據(jù)傳輸?shù)膬蓚€(gè)示例。為此,我們從Arduino IDE中的LoRaWAN示例開始,修改如下:
-打開RAK4631-DeepSleep-LoRaWan。包含環(huán)境傳感器庫的文件:
# include
# include
并具有以下功能:
void bme680_init()
void bme680_get()
在setup()函數(shù)中,通過調(diào)用bme680_init()函數(shù)對(duì)傳感器進(jìn)行初始化
修改loop()函數(shù)以從傳感器讀取數(shù)據(jù):
-更新sendLoRaFrame函數(shù)如下:
在TTN應(yīng)用程序中,您轉(zhuǎn)到Payload Formatter到Uplink選項(xiàng),在那里您選擇Custom JavaScript Formatter。將編寫一個(gè)函數(shù)來解碼HEX格式的數(shù)據(jù),如下所示:
測試并將代碼上傳到TTN應(yīng)用程序后,應(yīng)該可以成功接收到RAK1906傳感器的值。
在云中收集的數(shù)據(jù)可以通過webhooks傳輸?shù)酵獠繎?yīng)用程序,例如Ubidots。在本例中,我們選擇了傳輸?shù)阶远x服務(wù)的選項(xiàng)。要做到這一點(diǎn),應(yīng)遵循以下步驟:
1. 在創(chuàng)建的TTN應(yīng)用程序中選擇Webhook,從可用模板中選擇自定義Webhook。
2. 在一般設(shè)置中,輸入從傳感器接收到新數(shù)據(jù)時(shí)將調(diào)用的ID和url以及發(fā)送數(shù)據(jù)的格式。
3. 在“已啟用事件類型”區(qū)域框中選擇“上行消息”。
本文編譯自hackster.io