TranslateProject/translated/tech/20220614 Build a Smart Parking System for a Metro Station.md
Maisie-x 7b16e59577
提交翻译
变更目录路径
2022-07-26 14:36:14 +08:00

9.1 KiB
Raw Blame History

为地铁站构建智能停车系统

本文将帮助你设计一个基于 Web 的应用程序,该应用程序使用 Node-RED 为地铁站的汽车自动实现智能停车系统。

Smart car parking

Web应用程序是在Web服务器上运行的软件。终端用户通过Web浏览器访问每个Web应用程序。Web应用程序使用客户端—服务器架构进行编程该架构是用户客户端通过可能由第三方托管的远程服务器提供服务。Web API(应用程序编程接口)在Web上可用用户可以通过HTTP协议访问该接口如图1所示。

本文将演示如何为地铁设计一个基于Web的汽车自动智能停车系统。 它是使用开源的Node-RED设计。该系统使用模板节点创建了一个互动式且时尚的用户登录表单该模板用HTML和CSS编码以获取车主详细从而实现停车系统的自动化。我们可以在图2和图3看到登录表单和提交表单的流程图。

使用的节点如下:

table function

地铁智能停车节点流程设计

Node-RED是使用node-red命令激活。通过网址http://127.0.0.1:1880/ 可以访问Node-RED的用户界面流程图的浏览器。我们认为Node-RED设置已完成并且可以正常工作了。

Figure 1: Web API

按照下面给出的步骤创建登录表单和提交表单。

Figure 2: Login form flow diagram

Figure 3: Submission form flow diagram

登录表单

  1. 在节点画布中拖放http in节点这会为创建Web服务创建一个HTTP访问点。
  2. 将http in节点连接到函数function节点。函数节点有助于编写JavaScripts函数处理节点接收到的消息。

Figure 4: Login form for smart parking for cars

  1. 函数function节点连接到模板template节点模板节点基于提供的模板创建一个Web API。
  2. 模板template节点连接到http 响应response节点响应节点将响应http输入节点的请求。

Figure 5: Submission form for smart parking for cars

提交表单

  1. 拖放http in节点并将其连接到json节点json节点将数据转换为JSON字符串进行通信。
  2. 将http in节点连接到调试debug节点,调试节点的调试监控器会输出结果。
  3. 将json节点放置并连接到函数function节点将函数节点连接到http响应节点。

创建完整流程后单击Node-RED窗口右上角的部署Deploy按钮。访问*127.0.0.1:1880/ui/*这个链接查看用户界面。

输入链接然后单击提交Submit后,该链接会跳转到下一页,您可以在该页面阅读所有新闻。

Node-RED工作流程

在单个Node-RED流程中您可以创建登录表单和提交表单如图4和图5所示。

现在我们将配置节点属性。

登录表单编辑http in属性方法method选择 Get网址URL设为‘/MetroStation 名称name配置为 “智能停车系统Smart Parking”。译注下文http响应节点的名称为Smart parkingp字母小写为了区分此处中文翻译成智能停车系统。

Figure 6: Http in node property configurations

-
注意:任何用户可以定义网址URL为本地变量。

现在选择函数节点,编辑函数节点属性:输入代码 msg.url = project ,并配置代码名称name字段为 “项目提交Project Submission”。

Figure 7: Function node property configurations

在模板节点的属性窗口为登录表单配置相应的HTML代码并将代码名称name命名为 “显示面板Display panel”。猜此流程使用了Mustache译注Mustache是胡子的意思因为它的嵌入标记{{ }}非常像胡子模板格式。Mustache是一个简单的Web模板系统被描述为无逻辑的模板引擎。Mustache没有任何显式的控制流语句例如 ifelse条件和for 循环。可以通过使用块标签处理列表和lambdas来实现循环和条件评估。

Figure 8: Template node property configurations

配置编辑http响应response节点的属性,名称name设为 "智能停车Smart parking"图9

Figure 9: Http response node property configurations

提交表单在http in节点的编辑属性窗口方法method选择POST 网址URL设为 /project

Figure 10: Http in node property configurations

在JSON节点的编辑窗口操作Action设为‘JSON字符串与对象互转Convert between JSON String & Object参考图11。

Figure 11: JSON node property configurations

函数节点的配置如图12所示。

Figure 12: Function node property configurations

在http响应response节点,编辑属性名称name为“已提交项目Project Submitted”。

Figure 13: Http response node property configurations

-
注意:添加带有评论的评论节点作为 “登录表单” 和 “提交表单”。

Figure 14: Debug node property configurations

用户界面的控制面板

当用户单击提交Submit,给出的数据将显示在用户界面和调试节点。如果单击重置Reset详细信息将被清除允许用户输入新的详细信息图15

Figure 15: User login UI

地铁停车费通过超链接提供收费表在用户界面显示。因此汽车智能停车系统通过适当的超链接实现自动化展示地铁站的停车费。该自动化系统的最终输出可以在Node-RED控制面板的用户界面和调试监控器调取和展示。

Figure 16: Metro parking tariff


via: https://www.opensourceforu.com/2022/06/build-a-smart-parking-system-for-a-metro-station/

作者:Dr Maheswari R. 选题:lkxed 译者:Maisie-x 校对:校对者ID

本文由 LCTT 原创编译,Linux中国 荣誉推出