資料介紹
描述
概述
本周早些時候,我收到了自己的 Helium 開發(fā)工具包。該套件包含開始使用 Helium 網(wǎng)絡所需的一切:一個 LoRaWAN 開發(fā)板和兩個傳感器護罩。在較早的項目中,我展示了如何將坐標數(shù)據(jù)從 GNSS1A1 GPS 屏蔽發(fā)送到 Cayenne myDevices 儀表板,以構建基于 LoRa 的基本資產(chǎn)跟蹤器。雖然 myDevices 平臺非常適合快速啟動簡單的數(shù)據(jù)記錄項目,但您仍受制于 Cayenne 相對有限的分析和導出功能。要執(zhí)行您自己的分析,無論是 Excel 中的簡單盒須圖還是 Tensorflow 中的遞歸神經(jīng)網(wǎng)絡,您唯一的選擇(在 Cayenne 框架內(nèi))是手動導出 CSV 文件,這在某種程度上違背了實時數(shù)據(jù)采集。據(jù)我了解,Cayenne 曾經(jīng)為此目的支持 REST API,但出于某種原因(也許它沒有)今年早些時候停用該平臺。
幸運的是,對于不想在 AWS 或 Azure 上托管一個完整的數(shù)據(jù)庫來監(jiān)控后院花園中的濕度水平的麻煩和費用,原型制作者還有其他(免費)選項。在本教程中,我將向您展示如何通過氦網(wǎng)絡傳輸來自 X-NUCLEO-IKS01A3 防護罩的環(huán)境傳感器數(shù)據(jù),并將其記錄在 Google 表格中以進行快速、實時的分析。在高層次上,工作流程如下所示:

本教程假設您已經(jīng)有一個 Helium 控制臺帳戶并且有足夠的覆蓋范圍來可靠地 ping 網(wǎng)絡。換句話說,將其視為Helium 文檔中快速入門指南的擴展。讓我們開始吧。
1.上傳Arduino腳本
X-NUCLEO-IKS01A3 的代碼看起來很像快速入門指南中的啟動腳本。您只需要包含各個傳感器的庫和 CayenneLPP 即可打包緩沖區(qū)。就我而言,我使用的是溫度、壓力和濕度傳感器,但防護罩也有陀螺儀和加速度計。這些輸入的用法非常相似 - 看看這個“Hello World”草圖。代碼的核心是 do_send(osjob_t *j) 函數(shù):
void do_send(osjob_t *j) {
// Check if there is not a current TX/RX job running
if (LMIC.opmode & OP_TXRXPEND) {
Serial.println(F("OP_TXRXPEND, not sending"));
} else {
float humidity = 0, temperature = 0;
HumTemp->GetHumidity(&humidity);
HumTemp->GetTemperature(&temperature);
// Read pressure and temperature.
float pressure = 0;
PressTemp->GetPressure(&pressure);
lpp.reset();
lpp.addTemperature(1, temperature);
lpp.addBarometricPressure(2, pressure);
lpp.addRelativeHumidity(3, humidity);
//LMIC_setTxData2(1, mydata, sizeof(mydata) - 1, 0);
LMIC_setTxData2(1, lpp.getBuffer(), lpp.getSize(), 0);
Serial.println(F("Packet queued"));
}
// Next TX is scheduled after TX_COMPLETE event.
}
“l(fā)pp”是 CayenneLPP 數(shù)據(jù)包對象,它是一個 LoRaWAN 友好的 Arduino 傳感器數(shù)據(jù)編碼器。它支持多種常見數(shù)據(jù)格式,包括溫度、壓力、濕度、GPS 和加速度計,以及任意模擬/數(shù)字輸出。如果您有興趣了解更多信息,請查看CayenneLPP 文檔。設置設備的完整代碼包含在此Github 存儲庫中。不要忘記在第 19、24 和 29 行包含您自己的 DevEUI、AppEUI 和 AppKey。安裝您的屏蔽并通過 Arduino IDE 上傳腳本,您應該會在“設備”頁面上看到數(shù)據(jù)包開始傳播氦控制臺。
2.有效載荷解碼器功能
此時,傳感器數(shù)據(jù)的有效載荷被編碼為 base64 字符串。如果您要檢查上行鏈路 JSON 文件,您會看到如下內(nèi)容:
{
"payload": AWcBAAJzJkMDaG0EAwAA
}
為了將此字符串恢復為可讀格式,我們的解碼器函數(shù)將首先使用 base64 解碼器來提取各個字節(jié)(在 Python 中,我們將使用內(nèi)置的 base64.b64decode(payload_string) 之類的東西)。然后,它將根據(jù)用于生成數(shù)據(jù)包的編碼格式將字節(jié)轉(zhuǎn)換回浮點型傳感器讀數(shù)。現(xiàn)在,您可以從頭開始編寫自己的解碼器,但幸運的是,CayenneLPP 和 Helium 為我們省去了麻煩。在 Helium 控制臺中,打開“Functions”選項卡,然后單擊“Create New Function”。給它一個名字,選擇“解碼器”函數(shù)類型和“CayenneLPP”格式。如果您還沒有為您的設備分配標簽,您必須在“標簽”選項卡中快速創(chuàng)建它,并將其分配給您的新功能。滿意后,單擊“保存功能”。

就是這樣!現(xiàn)在,如果您要檢查 JSON 數(shù)據(jù)包,您現(xiàn)在會注意到正文中的“已解碼”字段,這將使相關數(shù)據(jù)的解析更加簡單:
"decoded": {
"payload": [
{
"channel": 1,
"name": "temperature",
"type": 103,
"unit": "celcius",
"value": 25.6
},
{
"channel": 2,
"name": "humidity",
"type": 104,
"unit": "hPa",
"value": 979.5
},
{
"channel": 3,
"name": "humidity",
"type": 104,
"unit": "percent",
"value": 54.5
}
]
所有這些都來自 11 字節(jié)的有效負載!現(xiàn)在讓我們將這些數(shù)據(jù)包路由到有用的地方。
3. Pipedream 工作流程
Pipedream是一個數(shù)據(jù)集成平臺,用于(除其他外)通過自定義配方將事件觸發(fā)器連接到各種操作。圖形界面和基于表達式的框架使您無需編寫任何代碼即可創(chuàng)建復雜的“工作流程”。這樣,它類似于 Azure 邏輯應用程序。它們內(nèi)置了對數(shù)百個應用程序的支持,例如 Twitter、Spotify 和 Slack,您甚至可以為 SMS 和電子郵件通知設置機器人。在這種情況下,我們將利用 Google Sheets API 將新行添加到電子表格中。轉(zhuǎn)到 Pipedream,然后導航到 Workflows 選項卡并創(chuàng)建一個新的工作流。對于觸發(fā)器,搜索“HTTP / Webhook”為我們的 POST 請求生成一個端點 URL。

復制 webhook URL 并返回 Helium 控制臺。轉(zhuǎn)到集成選項卡并添加自定義 HTTP 集成。將端點粘貼到 Connection Details 下,添加名稱,然后將與您提供給設備和解碼器功能的標簽相同。

現(xiàn)在,每當您的設備通過 Helium 網(wǎng)絡發(fā)送有效負載時,它都會通過 POST 請求將數(shù)據(jù)發(fā)送到我們的 Pipedream webhook。對于接下來的步驟,如果您已經(jīng)通過網(wǎng)絡發(fā)送了一些 JSON 文件,這將很有幫助,以便 Pipedream 了解如何解析它們。要將信息路由到 Google 表格,請返回 Pipedream,單擊觸發(fā)器下方的加號并搜索“將行添加到表格”。您必須登錄您的 Google 帳戶來驗證請求,然后創(chuàng)建一個空白工作表并復制您的電子表格 ID,即網(wǎng)址的這一部分:

將此 ID 與工作表名稱一起粘貼到 Pipedream 操作中的必填字段中,該名稱可能仍為“Sheet1”。最后,您只需準確定義將發(fā)送到電子表格的信息。出于我的目的,我想記錄解碼后的傳感器值和 UNIX 時間戳。這有助于已經(jīng)有一些 JSON 文件可以使用,因為 Pipedream 將使用過去的請求為您提供一些您打算發(fā)送的數(shù)據(jù)的用戶友好預覽。總而言之,行參數(shù)應該看起來像這樣(空白列將在一秒鐘內(nèi)有意義):

部署工作流程后,您可以啟用它并等待您的 LoRa 設備通過 Helium 發(fā)送新的有效負載,或者為了更快的反饋,使用“發(fā)送測試事件”功能。如果一切順利,您應該開始看到新的行正在傳播您的電子表格!

要將 UNIX 時間戳轉(zhuǎn)換為更易于解釋的基于 UTC 的日期,請將此 Excel 函數(shù)應用于 B 列:

添加一些精美的圖表或您自己想要的統(tǒng)計指標并觀察有效負載的出現(xiàn)。不久之后,您將擁有自己的自定義(最重要的是免費)實時分析儀表板!

回顧
總結一下,讓我們考慮一下我們剛剛完成的工作:
- 我們連接了低功耗環(huán)境傳感器,通過基于 LoRaWAN 的 Helium 網(wǎng)絡將數(shù)據(jù)發(fā)送到互聯(lián)網(wǎng)。
- 為了遠距離傳輸它們(相對于 WiFi),我們將傳感器有效載荷編碼為數(shù)據(jù)高效的 CayenneLPP 數(shù)據(jù)包,然后使用 Helium 控制臺中的函數(shù)對其進行解碼。
- 使用 Pipedream 工作流,我們通過 webhook 端點路由來自 Helium HTTP 集成的 POST 請求,然后利用 Google Sheets API 自動將解碼的傳感器數(shù)據(jù)發(fā)送到電子表格,以進行特定于應用程序的實時分析。
- Pimoroni Enviro pHAT到Google表格記錄器
- 用于將數(shù)據(jù)從Google表單自動發(fā)布到Adafruit IO的Python腳本
- 使用Google Charts來可視化傳感器數(shù)據(jù)
- 使用Blues Wireless將BLE傳感器數(shù)據(jù)路由到云端
- 從NXP設備收集傳感器數(shù)據(jù)
- 使用Google表格監(jiān)控溫度
- 無線傳感器網(wǎng)絡的多sink路由技術的詳細研究分析 8次下載
- 壓力傳感器從傳感器到單片機的信號調(diào)理路徑的詳細中文資料概述
- 無線傳感器網(wǎng)絡干擾感知路由 0次下載
- 從汽車到運動場基于傳感器的安全 0次下載
- 如何將慣性傳感器集成到可穿戴設備中 1次下載
- 無線傳感器網(wǎng)絡路由協(xié)議分析 138次下載
- 基于QoS的無線傳感器網(wǎng)絡路由協(xié)議的研究
- 無線傳感器網(wǎng)絡的路由協(xié)議
- 無線傳感器網(wǎng)絡異構驅(qū)動路由算法
- 傳感器的定義和分類 965次閱讀
- Arm Helium技術誕生的由來 997次閱讀
- 總結各種傳感器原理 1182次閱讀
- 如何從您喜愛的傳感器中獲取數(shù)據(jù) 1823次閱讀
- 智能傳感器:從大數(shù)據(jù)到人工智能智能數(shù)據(jù) 1466次閱讀
- 基于WSN路由算法在無線傳感器網(wǎng)絡檢測糧庫中的應用研究 2620次閱讀
- 邊緣計算日趨成熟,物聯(lián)網(wǎng)設備將不再需要網(wǎng)關聚合傳感器數(shù)據(jù) 2600次閱讀
- GSM調(diào)制解調(diào)器簡化傳感器網(wǎng)絡中的數(shù)據(jù)采集和處理 1400次閱讀
- 無線傳感器網(wǎng)絡在環(huán)境監(jiān)測系統(tǒng)中的應用介紹 6335次閱讀
- 轉(zhuǎn)速傳感器的類型 2.2w次閱讀
- 基于無線傳感器網(wǎng)絡對環(huán)境監(jiān)測系統(tǒng)的設計 3160次閱讀
- 為什么需要凈化傳感器數(shù)據(jù) 700次閱讀
- MEMS慣性傳感器到云傳感器融合系統(tǒng)的定位系統(tǒng) 3940次閱讀
- 基于IPv6的無線傳感器網(wǎng)絡邊界路由器的設計方案 4224次閱讀
- 無線傳感器網(wǎng)絡路由協(xié)議的研究與改進 1403次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 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開發(fā)指南
- 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數(shù)字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 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次下載 | 免費
評論