基于Web应用控制桥梁移动装置的树莓派模型
摘要
桥梁移动装置用于辅助桥梁的建筑和维护,通常通过位于移动装置内部的控制面板按钮进行控制。然而,这种方法存在一些问题,例如难以将移动装置调整到合适的位置(视角),以及因控制面板损坏而影响工作。本研究开发了一种基于网页的应用程序模型,利用树莓派对具有跨度的移动装置进行控制。本研究的贡献在于提出了一种能够在所有组件可能运动范围内实现移动装置自动化的基于网页的应用程序模型。实验结果表明,所实现的程序运行耗时较少,指令执行时间合理。此外,为了确保桥梁移动装置的安全,该程序还集成了传感器,当组件处于最下方/向内位置时传感器启动,并在可能运动过程中检测到障碍物时立即停止移动。
关键词
桥梁移动装置;自动化桥梁移动装置,物联网,树莓派
引言
在桥梁施工和维护中,需要使用移动装置来运送人员或材料。移动装置位于桥梁下方,主要可向前和向后移动。然而,某些类型的移动装置还具有跨度结构,分布在移动装置的中部以及两侧,用于维护桥梁下方及侧面的部件。本研究关注的是具有跨度结构的此类移动装置。
传统上,移动装置通过位于移动装置内部的控制面板按钮进行控制。这可能会带来一些问题。有时,从第一人称视角难以将移动装置准确移动到目标位置。例如,当需要维修的桥梁部分位于桥梁侧面时,若能从可以观察到桥梁侧面的第三人称视角进行控制,则更为方便。另一个问题是依赖控制面板的物理按钮。当物理按钮无法正常工作时,建筑或维护任务就会受到阻碍。
在物联网 (IoT) 时代,各种电子设备都可以连接到计算机。物联网包含三项主要技术:(1)传感器,用于获取关于待测对象的信息;(2)网络,用于对象与计算机之间的数据通信;(3)智能处理,即用于解决问题的算法。
树莓派是一种微型计算机,可以连接到各种电子设备的传感器/电机。它可以通过其通用输入输出 (GPIO) 引脚与各种电子设备进行交互。当用作输出时,GPIO 可以被打开,产生 3.3伏特电流(状态 = HIGH)或关闭(状态 = LOW)。GPIO 可以接收 3.3伏特电流以表示输入。通过使用树莓派等微型计算机,这些电子设备可以通过计算机程序实现自动化。
本研究开发了一种基于网页的应用程序模型,用于通过树莓派控制带有跨度的移动装置。在所提出的模型中,移动装置及其跨度应能够沿所有可用方向移动或立即停止。该应用还应显示移动装置当前运动的仿真。此外,移动装置配备了接近传感器,当存在障碍物时,可使设备停止运行以防止碰撞。当设备因接近传感器而停止移动时,系统应捕获此事件,并在应用程序的仿真中显示设备已停止移动。为实现随时随地的远程访问,该应用应可通过网络在线访问。此外,为避免在客户端计算机上进行应用程序安装,该解决方案被实现为一种基于网页的应用程序。综上所述,这
2. 文献综述
物联网概念已应用于许多领域的多个案例中。在农业领域,坎萨拉等人开发了一种自动灌溉系统,该系统利用连接湿度传感器和继电器的微控制器,在湿度水平低于某一阈值时自动启动水泵。Lim 等人则使用连接红外传感器的 Arduino 微型计算机,通过检测接近的对象来触发电机移动稻草人。
在建筑能效(智能家居)中,微控制器可以连接到湿度、光照传感器和温度传感器等传感器,以及空调或风扇等各种设备。该系统的目的是控制、监控这些电子设备的使用情况并进行诊断。在工业领域,物联网被用于控制各种工具。例如,在石油工业中,使用树莓派微型计算机根据摄像头捕获的图像来测量压力。Pilatásig等人利用BeagleBone Black开发了一种用于工业流程的交互系统。该交互系统允许用户与气流温度控制系统进行交互。
从这些先前的研究来看,物联网通过将微控制器或微型计算机连接到各种传感器来实现,以收集环境条件的输入。微控制器或微型计算机还连接到继电器,继电器再连接到各种电子设备,以实现设备的开关控制。
对比上述研究中使用的多种微控制器或微型计算机,本研究将开发一种基于树莓派的桥梁移动装置控制应用,参考马克西莫维奇的研究,该研究对树莓派与其他物联网原型平台(如Arduino和BeagleBone Black)进行了比较。他们证明了树莓派具有更广泛的使用范围,并且在性能和约束方面优于其他微控制器。
在建筑领域中,关于物联网(IoT)应用的研究仍然较少。奥斯泰赖希和特特贝格指出,这些研究主要为实践性或基于案例的研究。大多数主题集中在建筑信息建模和施工工具自动化。一个应用实例是丁等人关于使用光纤布拉格光栅(FBG)传感器监测地下结构安全,以及利用射频识别(RFID)进行劳动力监控的研究。当这些传感器之一检测到异常情况时,将触发警告报警。尽管已存在有关物联网在施工自动化中应用的研究,但据我们所知,目前仍缺乏用于控制施工用移动装置的物联网系统模型。
3. 方法论
该模型的架构如图2所示。使用该系统时,用户通过计算机上的浏览器访问系统。客户端通过网页浏览器打开应用,然后使用HTTP协议与服务器通信。服务器与树莓派微型计算机之间通过JSON API进行通信。由于JSON API相比XML具有更广泛的使用和更小的数据格式,因此被优先选用。较大的数据量可能导致用户指令与程序执行之间的延迟增加。由于单个树莓派具有26个GPIO端口,而系统需要28个端口,因此该模型使用了两台树莓派微型计算机。各GPIO端口的具体使用情况见表1和表2。
表1:树莓派#1的GPIO端口使用
| Port | 组件 | 描述 |
|---|---|---|
| GPIO_8 | LED | 右灯指示器 |
| GPIO_9 | LED | 左灯指示器 |
| GPIO_7 | 继电器 | 移动滑块向前 |
| GPIO_29 | 接近传感器 | 滑块前进防碰撞 |
| GPIO_1 | 继电器 | 移动移动装置向后 |
| GPIO_28 | 接近传感器 | 移动装置向后移动的防碰撞 |
| GPIO_0 | 继电器 | 移动左跨距向外 |
| GPIO_27 | 接近传感器 | 左跨向外移动的防碰撞 |
| GPIO_2 | 继电器 | 移动左跨向上 |
| GPIO_25 | 接近传感器 | 左侧跨体上升运动的防碰撞 |
| GPIO_3 | 继电器 | 向下移动左侧跨体 |
| GPIO_4 | 继电器 | 向内移动左侧跨体 |
| GPIO_24 | 接近传感器 | 左侧跨体向内运动的防碰撞 |
表2:树莓派#2的GPIO端口使用情况
| Port | 组件 | 描述 |
|---|---|---|
| GPIO_7 | 继电器 | 将中跨向左移动 |
| GPIO_24 | 接近传感器 | 中跨向左移动的防碰撞 |
| GPIO_1 | 继电器 | 将中跨向上移动 |
| GPIO_23 | 接近传感器 | 中跨向上运动的防碰撞 |
| GPIO_0 | 继电器 | 将中跨向下移动 |
| GPIO_22 | 接近传感器 | 中跨向下运动的防碰撞 |
| GPIO_2 | 继电器 | 将中跨向右移动 |
| GPIO_26 | 接近传感器 | 中跨向右移动的防碰撞 |
| GPIO_3 | 继电器 | 将右跨向外移动 |
| GPIO_29 | 接近传感器 | 右跨向外移动的防碰撞 |
| GPIO_4 | 继电器 | 移动右跨向上 |
| GPIO_28 | 接近传感器 | 右跨向上运动的防碰撞 |
| GPIO_5 | 继电器 | 移动右跨向下 |
| GPIO_6 | 继电器 | 移动右跨向内 |
| GPIO_27 | 接近传感器 | 右跨向内移动的防碰撞 |
使用两个LED灯指示电源可用性。系统通过GPIO端口定期检查这两个LED灯的电压。当没有电力时,行架控制器将被禁用。
继电器连接通用输入输出端口和电机,以实现每个可用运动方向的控制。指定的通用输入输出端口传输电力,电力流向继电器并启动指定电机,从而移动行架组件。此过程可在图3中查看。
当程序接收用户指令以停止某个组件的运动时(见图4),它会向树莓派发送指令,停止从指定的通用输入输出端口传输电力,从而使电机停止工作。
为了安全起见,在移动装置的某些部分安装了接近传感器以防止碰撞。当接近传感器检测到5厘米距离内的物体时,会向通用输入输出端口发送电信号。计算机程序一旦检测到来自连接传感器的GPIO端口的输入,便会停止指定移动装置组件的运动。此过程如图5所示。
4. 结果与讨论
该网页应用显示了多种控制按钮,用于启动和停止移动部件的运动,以及一个紧急按钮,用于停止所有移动部件的运动。除了这些控制按钮外,该应用还显示了两个电源指示灯,用于显示LED灯的开关状态,以及一个动画模拟,用于近似展示移动部件的位置和状态。该网页应用的用户界面如图6和图7所示。当点击移动操作的按钮时,系统通过指定的通用输入输出端口和继电器启动电机。当点击停止操作的按钮时,系统通过切断经由指定GPIO端口发送的电力来关闭电机。
图6显示了移动装置位于桥梁一端边缘时应用的状态。接近传感器检测到移动装置处于边缘位置,并通过树莓派#1的通用输入输出_28向应用发送信号。随后,应用停止任何移动部件后退运动,并禁用该操作对应的按钮。左右侧跨均处于最内向下位置。对于向内位置,接近传感器通过树莓派#1的通用输入输出_24和树莓派#2的通用输入输出_27发送信号。系统接收到该信号后,识别出侧跨处于最向内位置,因此禁用上下运动。这些运动仅在侧跨向外时可用。中跨位于移动装置中部且处于最下方位置。用于检测中跨最低位置的接近传感器通过树莓派#2的通用输入输出_22发送信号,从而禁用向下运动。
图7显示了移动装置位于桥梁另一边缘时应用的状态。接近传感器检测到移动装置已到达另一边缘,并通过树莓派#1的通用输入输出_28向应用发送信号。随后,应用停止任何向前旅行者移动,并禁用该操作的按钮。左右侧跨向上移动。在此状态下,侧跨段无法向外或向内移动。这些动作仅在侧跨段处于最下方位置时才可用。此时,侧跨段上的接近传感器不会检测到任何物体。
接近传感器不仅在组件处于最下方/向内位置时工作,还能检测在可能的运动路径中是否存在障碍物,并立即停止运动。这被认为是该应用提供的额外安全措施。
表3. 执行操作的延迟
| 组件 | 运动方向 | 延迟(秒) |
|---|---|---|
| 移动装置 | 向前 | 1.0 |
| 向后 | 1.0 | |
| Stop | 1.9 | |
| 滑座/全跨距 | 紧急停止 | 1.5 |
| 左跨距 | Out | 1.3 |
| Up | 1.0 | |
| Down | 1.9 | |
| In | 1.6 | |
| Stop | 1.4 | |
| 中跨 | Left | 2.0 |
| Up | 1.5 | |
| Down | 2.3 | |
| 右 | 1.0 | |
| Stop | 1.3 | |
| 右跨 | Out | 1.2 |
| Up | 1.0 | |
| Down | 1.4 | |
| In | 1.5 | |
| Stop | 1.5 |
系统需要在合理的时间内响应用户指令。为此,进行了一项评估,用于测量从点击按钮开始,直到指定组件的继电器成功开启/关闭为止的延迟。该系统期望具有较低的延迟。表3显示了每项操作的延迟评估结果。
实验在下载速度为 10.57 Mbps、上传速度为 13.44 Mbps的网络中进行。结果的差异是由于通过网络的数据传输速度上下波动所致。从结果来看,最大延迟为 2.3 秒。这表明所实现的程序耗时不多,指令的执行在合理的时间内完成。
6. 结论
本研究提出了一种用于控制移动装置运动的基于网页的应用程序模型。为此,两台树莓派微型计算机连接到服务器。树莓派上的特定GPIO端口连接到继电器和接近传感器。继电器用于启动或停止移动装置及其跨度,而接近传感器用于检测障碍物并立即停止运动。此外,接近传感器通过动画显示来模拟移动装置的当前位置和运动状态。评估结果表明,系统能够在合理的时间内执行操作。根据评估,系统执行指令的操作最多耗时2.3秒。
进一步的研究包括使用套接字编程,使树莓派能够在发生特定事件时通知服务器,例如断电时,或接近传感器有信号时。还可以开展另一项研究,以同时控制多个移动装置,或与建筑领域相关的其他设备。
1109

被折叠的 条评论
为什么被折叠?



