溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用micro:bit、XinaBox和IoT實現數據捕捉

發(fā)布時間:2021-12-17 17:19:18 來源:億速云 閱讀:407 作者:柒染 欄目:互聯(lián)網科技

本篇文章給大家分享的是有關如何使用micro:bit、XinaBox和IoT實現數據捕捉,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

在BBC micro:bit上遠程捕獲加速度計數據,然后使用XinaBox Wi-Fi網關將數據傳輸到IoT平臺。

如何使用micro:bit、XinaBox和IoT實現數據捕捉

需要的材料

  • XinaBox IP01 x 1

  • XinaBox CW01 x 1

  • XinaBox BM01 x 1

  • XinaBox XC10 x 1

  • BBC micro:bit x 1

軟件和在線服務

  • Ubidots,30天的免費IoT平臺。

故事

加速度是使物體改變其速度的原因:當對物體施加足夠強度的力并使其減速、加速或改變方向加速度已經發(fā)生。這是我們對這個世界的一個基本觀察。不僅體驗簡單直觀,而且分析也很有吸引力和教育性。能夠可視化與掉落或投擲球或加速火箭相關的力,或者看到當移動物體撞擊墻壁時發(fā)生的事情。

該項目將向您展示如何使用micro:bit和IoT來分析一段時間內的加速度。您可以使用此處描述的代碼和技術來測量適用于micro:bit的移動對象的加速度。

下面是加速度可視化的示例:該圖表顯示了在平面中移動的物體的實際數據。我現在不會對它說太多 - 我鼓勵你看一下加速度曲線并嘗試推斷出發(fā)生了什么(例如它是一個球彈跳,還是滾動,還是別的什么?)。本文的最后一部分揭示了下面所示的真實世界事件。

如何使用micro:bit、XinaBox和IoT實現數據捕捉

BBC micro的一個很棒的功能:它板載加速度計。許多年輕的學習者花了大量的時間從加速度計讀取數據并以各種創(chuàng)造性的方式使用它。我見過無數遙控車的遙控車,手套作為控制器,一些非常聰明的平衡機器人,甚至基于手勢的音樂'樂器'。

但是加速度計作為一種學習工具也具有巨大的潛力,可以支持速度/距離/時間三角函數,這種三角形非常重要,表面上是物理學中的知識領域。有什么更好的教授加速方法,而不是讓年輕的學習者見證一個事件,然后回顧那個事件背后的力量?

在這篇文章中,我將向您展示如何:

  • 使用micro:bit來收集一堆加速度計讀數。這個micro:bit將“遠程”收集數據,這意味著它將在事件期間收集數據并將其存儲在micro:bit中,以便稍后共享(我將在稍后解釋原因)。

  • 一旦我們測量的事件完成,我們將使用基于Wi-fi的micro:bit XinaBox IoT入門套件(我在這里稱為我們的micro:bit網關)來獲取數據并將其傳輸到物聯(lián)網平臺。

在這個例子中,我們將在兩個人之間扔一個球然后將數據傳到Ubidots IoT平臺上。

為什么要遠程收集原始加速度計數據?

micro:bit包括無線功能,使micro:bit能夠和另一個設備(不是另一個micro:bit)之間啟用藍牙連接。

在某些情況下,可以在收集數據時使用無線電或BT傳輸數據。這種方法不適合導致這個博客的情況。當我被要求查看在開始時生成圖表的現實世界問題時,需要考慮一些具體的挑戰(zhàn):

  • 數據不會丟失至關重要。我需要在運行期間存儲數據,然后再將其提取出來,我無法承受無線數據包丟失或BT連接丟失。在運行期間保存數據意味著我們可以在空閑時檢索它,如果數據檢索失敗,我們可以重新嘗試。

  • 由于某些我將在后面解釋的原因,在加速事件期間(后面將稱之為運行)我想使用全部處理器時間來獲取加速度計讀數。如果我在運行期間傳輸數據,它會減少我們可以采樣的數據量,這會影響數據的質量。

  • 我想存儲大量數據,因此我需要確保非必要進程使用最少的內存。生產級別的數據收集程序(此處未包含)確保將microbit的數據擴展到極限!

  • 在運動中移動的物體可能移動了相當遠的距離,將接收器放在固定位置是有風險的??梢赃@樣想 - 這里的代碼可用于測量從高處掉落的身體的加速度。代碼可以適用于讀取數據10秒或更長時間,并且在那段時間內,它將從您丟棄的地方落下很長的距離。

我已經完成了以下工作流程:

如何使用micro:bit、XinaBox和IoT實現數據捕捉

進行測量

  • 將附加的microPython代碼寫入到micro:bit。

  • 連接到電池

  • 在你的球上切一個足夠大的孔,以便將microbit和電池裝入。

  • 用填充物填充球中的空間(我使用了氣泡膜)

如何使用micro:bit、XinaBox和IoT實現數據捕捉

完成后,請執(zhí)行以下操作以激活它:

  • 單擊復位按鈕以清除舊數據,然后單擊A按鍵

  • 將從3開始倒計時 - 在倒計時結束時,LED上顯示停止,表示microbit正在進行測量。在此期間扔球。

  • 測量階段完成后,LED上會顯示一個小方塊。示例代碼將記錄大約3秒鐘的數據,但您可以調整代碼以增加或減少數據。

  • 單擊B按鈕時,它將啟動將數據傳輸到micro:bit網關。

有Simple和Advanced兩個版本程序,它們之間的區(qū)別在于數據收集方法。兩者都是以每25ms保存1次數據(相當于每秒40次),對于Simple版本,我們每25ms只讀取一次加速度計;而advance版將在25ms周期內讀取加速度計最多75次,然后我們保存一個值,即所有75個讀數的平均值,這樣可以“平滑”數據:它可以減少異常值并在整個25ms周期內提供加速度最大近似值。為了了解數據質量的差異,我建議您自己嘗試一下:使用兩個版本的代碼并查看數據圖表。您可以閱讀有關此方法的更多詳細信息,何時使用它以及為什么它有效。

如果你查看代碼,你會注意到我在y平面上記錄加速度。因為對于我開發(fā)這個程序的真實場景,micro:bit在該平面中移動。然而,當涉及投擲球時,作用在y平面上的力是投擲microbit方向的分量??梢哉{整代碼來記錄x和z讀數,以及你可以拋出球的方式,使加速度在你正在記錄的平面上。

您可能還注意到代碼需要提供120個讀數。每25ms讀取1次,這相當于3秒的數據收集,我發(fā)現以這種方式可以記錄多達400個數據點。我使用文件來存儲數據,而不是列表。兩種方式各有利弊,我在此不再贅述(但如果你感興趣可以提問)。

microbit網關+物聯(lián)網平臺

您需要執(zhí)行以下操作:

  • 構建并設置micro:bit網關。

  • 連接到物聯(lián)網平臺

我建議您查看此博客,其中包含連接所需的所有信息。

在完成實驗之前,請確保您的網關已通電并連接到Ubidots。

如何使用micro:bit、XinaBox和IoT實現數據捕捉

請注意,此項目的網關中的microPython代碼幾乎與我編寫的其他博客中使用的代碼相同。針對每種情況進行調整相對容易,使用MakeCode圖形編程時(即將提供?。@個過程將大大簡化。

把它們放在一起

  • 如上所述,設置并投擲球。

  • 測量完成后,確保您的球中的microbit于網關的范圍內(應該有幾米)。

  • 確保您的網關已準備好接收數據。

  • 單擊球上的B按鈕

  • 坐下來看看這個過程。觀看數據在Ubidots積累很有趣。

我的代碼大約需要一分鐘才能將所有數據傳輸到IoT平臺。這個時間可以顯著減少。花了這么長時間的原因是我一直非常謹慎 -- 我花了一些時間來調整延時,當我發(fā)現各種效果始終如一時,我就放棄了。我很樂意看到它的工作速度更快,所以如果你實現了這一點,請與我聯(lián)系,讓我知道如何做。

從頭開始分析圖表

讓我們再看一下博客開頭的圖表。這一次,我已經設置了一些線來標記有趣的“階段”:

如何使用micro:bit、XinaBox和IoT實現數據捕捉

  • 階段0 :對象處于靜止狀態(tài)。

  • 階段1 :快速加速(甚至可以說是爆炸性的)。它在標記的點處達到峰值,但在此期間物體會加速。在此期間結束時,物體已達到其最大速度

  • 階段2 :在此期間開始時,物體的減速超過了加速的力,開始快速減速。

  • 階段3 :此處的數據有點“嘈雜” -- 物體在大部分時間內正在減速,減速率的偶然變化很有意思。

  • 階段4 :發(fā)生快速減速,速度同樣迅速減小,直到達到零。

  • 階段5 :物體再次處于靜止狀態(tài)。

你有沒有猜到它是什么?

這是一輛火箭動力汽車。在第1階段,火箭發(fā)動機起火,然后停止發(fā)射,我們進入第2階段。這一階段看到阻力對車輛起作用。在第3階段,汽車反彈一點,有時可能會離開地面并短暫地進入自由落體(這可能解釋了那段時期內發(fā)現的輕微加速度)。在第4階段,它會撞上一個特別設計的緩沖系統(tǒng),在大約1.5米的范圍內將其減速至停止。

以上就是如何使用micro:bit、XinaBox和IoT實現數據捕捉,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

iot
AI