如何使用micro:bit、XinaBox和IoT实现数据捕捉

发布时间:2021-12-17 17:19:18 作者:柒染
来源:亿速云 阅读:430

本篇文章给大家分享的是有关如何使用micro:bit、XinaBox和IoT实现数据捕捉,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

在BBC micro:bit上远程捕获加速度计数据,然后使用XinaBox Wi-Fi网关将数据传输到IoT平台。

如何使用micro:bit、XinaBox和IoT实现数据捕捉

需要的材料

软件和在线服务

故事

加速度是使物体改变其速度的原因:当对物体施加足够强度的力并使其减速、加速或改变方向加速度已经发生。这是我们对这个世界的一个基本观察。不仅体验简单直观,而且分析也很有吸引力和教育性。能够可视化与掉落或投掷球或加速火箭相关的力,或者看到当移动物体撞击墙壁时发生的事情。

该项目将向您展示如何使用micro:bit和IoT来分析一段时间内的加速度。您可以使用此处描述的代码和技术来测量适用于micro:bit的移动对象的加速度。

下面是加速度可视化的示例:该图表显示了在平面中移动的物体的实际数据。我现在不会对它说太多 - 我鼓励你看一下加速度曲线并尝试推断出发生了什么(例如它是一个球弹跳,还是滚动,还是别的什么?)。本文的最后一部分揭示了下面所示的真实世界事件。

如何使用micro:bit、XinaBox和IoT实现数据捕捉

BBC micro的一个很棒的功能:它板载加速度计。许多年轻的学习者花了大量的时间从加速度计读取数据并以各种创造性的方式使用它。我见过无数遥控车的遥控车,手套作为控制器,一些非常聪明的平衡机器人,甚至基于手势的音乐'乐器'。

但是加速度计作为一种学习工具也具有巨大的潜力,可以支持速度/距离/时间三角函数,这种三角形非常重要,表面上是物理学中的知识领域。有什么更好的教授加速方法,而不是让年轻的学习者见证一个事件,然后回顾那个事件背后的力量?

在这篇文章中,我将向您展示如何:

在这个例子中,我们将在两个人之间扔一个球然后将数据传到Ubidots IoT平台上。

为什么要远程收集原始加速度计数据?

micro:bit包括无线功能,使micro:bit能够和另一个设备(不是另一个micro:bit)之间启用蓝牙连接。

在某些情况下,可以在收集数据时使用无线电或BT传输数据。这种方法不适合导致这个博客的情况。当我被要求查看在开始时生成图表的现实世界问题时,需要考虑一些具体的挑战:

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

如何使用micro:bit、XinaBox和IoT实现数据捕捉

进行测量

如何使用micro:bit、XinaBox和IoT实现数据捕捉

完成后,请执行以下操作以激活它:

有Simple和Advanced两个版本程序,它们之间的区别在于数据收集方法。两者都是以每25ms保存1次数据(相当于每秒40次),对于Simple版本,我们每25ms只读取一次加速度计;而advance版将在25ms周期内读取加速度计最多75次,然后我们保存一个值,即所有75个读数的平均值,这样可以“平滑”数据:它可以减少异常值并在整个25ms周期内提供加速度最大近似值。为了了解数据质量的差异,我建议您自己尝试一下:使用两个版本的代码并查看数据图表。您可以阅读有关此方法的更多详细信息,何时使用它以及为什么它有效。

如果你查看代码,你会注意到我在y平面上记录加速度。因为对于我开发这个程序的真实场景,micro:bit在该平面中移动。然而,当涉及投掷球时,作用在y平面上的力是投掷microbit方向的分量。可以调整代码来记录x和z读数,以及你可以抛出球的方式,使加速度在你正在记录的平面上。

您可能还注意到代码需要提供120个读数。每25ms读取1次,这相当于3秒的数据收集,我发现以这种方式可以记录多达400个数据点。我使用文件来存储数据,而不是列表。两种方式各有利弊,我在此不再赘述(但如果你感兴趣可以提问)。

microbit网关+物联网平台

您需要执行以下操作:

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

在完成实验之前,请确保您的网关已通电并连接到Ubidots。

如何使用micro:bit、XinaBox和IoT实现数据捕捉

请注意,此项目的网关中的microPython代码几乎与我编写的其他博客中使用的代码相同。针对每种情况进行调整相对容易,使用MakeCode图形编程时(即将提供!),这个过程将大大简化。

把它们放在一起

我的代码大约需要一分钟才能将所有数据传输到IoT平台。这个时间可以显着减少。花了这么长时间的原因是我一直非常谨慎 -- 我花了一些时间来调整延时,当我发现各种效果始终如一时,我就放弃了。我很乐意看到它的工作速度更快,所以如果你实现了这一点,请与我联系,让我知道如何做。

从头开始分析图表

让我们再看一下博客开头的图表。这一次,我已经设置了一些线来标记有趣的“阶段”:

如何使用micro:bit、XinaBox和IoT实现数据捕捉

你有没有猜到它是什么?

这是一辆火箭动力汽车。在第1阶段,火箭发动机起火,然后停止发射,我们进入第2阶段。这一阶段看到阻力对车辆起作用。在第3阶段,汽车反弹一点,有时可能会离开地面并短暂地进入自由落体(这可能解释了那段时期内发现的轻微加速度)。在第4阶段,它会撞上一个特别设计的缓冲系统,在大约1.5米的范围内将其减速至停止。

以上就是如何使用micro:bit、XinaBox和IoT实现数据捕捉,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

推荐阅读:
  1. python实现NB-IoT模块远程控制
  2. 走进MEasy的世界:基于STM32MP1的IOT参考设计

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

iot

上一篇:python函数嵌套怎么使用

下一篇:如何进行springboot配置templates直接访问的实现

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》