本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

基于云服务的智能停车系统

发布时间:2021-12-10
分享到:

基于云服务的智能停车系统

发布时间:2021-12-10
分享到:

在这里,如果有人想带着私家车出门,他首先想到的是停车,他会把车停在哪里。大多数情况下,人们去一个停车场,发现所有的车位都满了,然后他不得不寻找另一个停车场。所以,这是一个很大的麻烦,很多人在他下车时一直担心他的车停在那里。

我意识到,要享受更好的交通,更好的停车系统是必要的。

以,我在想,如何解决这个问题,最后我成功地做了一个基于云的智能停车系统,我希望这个系统的实施可以解决我所在城市的停车问题。ARTIK Cloud 对于此类工作来说确实是一个不错且合适的平台。

使用该系统,用户将能够从任何地方使用移动或网络应用程序轻松找到可用的停车场。我还使用了带有显示器的英特尔 Edison,它可以放置在城市或道路的几个重要位置,从那里可以找到免费停车场。系统每 30 秒更新一次停车数据。

在这个项目中,我将向您展示如何轻松构建这样的智能系统。当然,我会使用最酷的物联网云平台 ARTIK Cloud 平台。

对于此演示系统,您必须在 Samsung Artik Cloud 平台中创建三个新设备。我将在一台设备上展示它。所有设备的步骤都相同。我将三款设备分别命名为rainbow-parking、indigo-parking 和edison。Rainbow-parking & indigo-parking 接收和存储停车数据,例如停车场的空闲位置。爱迪生按照预设的规则发送停车信息。

本项目涉及的步骤:

1、Artik云平台制作三台设备

2. 在 Artik Cloud 中制作一个应用程序

3. 在 Artik Cloud 中制定一项规则

4. 准备 Arduino

5. 连接传感器

6. 准备树莓派

7. 准备英特尔爱迪生

8. 开发 Web 应用程序

9. 开发安卓应用

10. 完成项目。

那么,让我们一一开始吧。先说第一件事。让我们从在 Artik 云平台中制作新设备开始。

第 1 步:在 Artik Cloud Platform 中制作新设备
A)登录您的三星帐户,然后单击右上角的 DEVELOPERS 选项。

B)从仪表板中选择设备类型。

C)点击 + 新设备类型

D)在 DEVICE DISPLAY NAME 上为设备输入一个名称并给出一个 UNIQUE NAME,然后点击 CREATE DEVICE TYPE。

E)点击 + NEW MANIFEST

F)为您将在此处上传和存储的传感器数据键入字段名称,并将数据类型作为整数提及。然后点击保存。

G)然后点击下一步:设备操作

H)进行操作或从标准操作中进行选择。单击以保存。对于我们的项目,不需要采取行动。然后点击 NEXT:ACTIVE MANIFEST。

I)查看设备字段,然后再次单击 NEXT:ACTIVE MANIFEST。

J)恭喜!您成功创建了您的第一台设备。现在您必须将设备连接到 Artik 云。

K)从右上角转到 ARTIK CLOUD。

L)单击我的 ARTIK CLOUD 并选择设备。

M)单击以+连接另一台设备。

N)输入您刚刚创建的设备的名称并单击它。

O) 单击连接设备...按钮。

P)您的设备已连接到 CLOUD。

Q)点击设置图标。

R)单击生成设备令牌

S)记下您的设备 ID 和设备令牌。每次您想从物理设备、Web 应用程序或 Android 应用程序连接到您的设备时,都将需要这些。

单击保存更改。

按照相同的步骤连接另外两个设备。我连接了三个名为 Rainbow-parking、indigo-parking 和 edison 的设备。Rainbow-parking和indigo-parking代表两个停车站,edison代表留言板。我将rainbow-parking 连接到一个树莓派,并将indigo-parking 连接到另一个pi 并放置在两个不同的停车场。同样,树莓派与放置在停车场的传感器连接,以通过 Arduino 板识别空闲和已使用的停车位。

第 2 步:在 Artik Cloud 中制定规则
在这一步中,我们将制定一个规则,我们将根据这些条件设置一些条件,当条件满足时,Artik 云将根据这些条件生成一个动作,订阅该动作的设备和应用程序会立即收到消息。

A)从 MY ARTIK CLOUD 菜单中选择 RULES

B)点击 + 新规则

C)从 IF 选择框中为设备选择数据字段并设置值和条件。然后从 THEN 字段中选择特定设备的操作。您可以设置一个常量参数值,也可以从另一个设备数据中选择一个值。要从另一个设备定义数据字段,请单击红色框中显示的下载图标。

D)从下拉列表中选择一个设备,然后选择数据字段。

E)然后点击保存规则

F)我们项目的完整规则应该如下图所示。

第 3 步. 准备 Arduino
我项目中Arduino的主要工作是从连接到停车站的传感器收集数据,并使用串口将数据发送到Raspberry pi。当我为两个停车站实施演示项目时,需要两个 Arduino 板。对于两个停车站,我使用了两种不同类型的传感器。对于一个我使用的红外传感器可以在没有阳光直射的地方使用,另一个我使用超声波传感器并且可以在任何位置使用。

对于红外传感器接口,使用了 Arduino 模拟引脚,对于超声波传感器,使用了 Arduion 数字引脚。附有两种类型传感器的 Arduino 草图。将适当的草图上传到您的 Arduino 板。我只为四个传感器开发了草图。如果您需要更多,请相应地修改草图。

第 4 步:连接传感器
要将所有传感器连接到 Arduino,请参阅下方原文。

第 5 步:准备树莓派
我假设您以前有使用 Raspberry pi 的经验。互联网上有很多初学者教程。

让我们从树莓派开始我们的工作。Raspberry pi 用作 WebSocket 客户端,并使用 WebSocket 协议与 Artik 云通信。我使用Node.js进行编程。不像 Python Node 没有预装在树莓派上。

一种)。在终端中使用以下命令在 Raspberry pi 上安装 Node 和 npm。

如果您成功完成了所有三个步骤,那么您的 pi 就可以使用串口和 Artik 云使用 websocket 与 Arduino 通信了。正如我之前所说,两个停车站需要两个树莓派。因此,从Github下载 pis 的源代码,并上传连接到 Rainbow 停车站的 pi 的 Rainbow - parking.js和连接到 Indigo 停车站的 pi 上的indigo-parking.js 。您可以使用像FileZilla这样的 ftp 客户端在树莓派上上传代码。不要忘记在源代码中更改 DEVICE ID 和 DEVICE TOKEN。

D)在 raspberry pi 上上传代码后,通过在终端窗口中键入以下命令来运行代码。

第 6 步:准备英特尔 Edison
我假设您以前有一些使用英特尔 Edison 开发板的经验。

一种)。从链接下载英特尔 XDK并将其安装到您的计算机上。

B)。从我的Github下载 edison-lcd 文件夹并使用 Intel XDK 打开。

C)将 i2c LCD 显示器与爱迪生板连接。您可以使用底座屏蔽以方便连接。

D)。用串口线将爱迪生板与电脑连接,上传代码运行。使用英特尔 XDK 上传和运行代码非常容易。

第 7 步. 开发 Web 应用程序

使用 HTML 和 JavaScript 来开发 Web 应用程序。为了在这里与 Artik 云通信,我再次使用了 WebSocket 协议。为了将 Map 集成到我的应用程序中,我使用了 Google Map API。

从我的Github下载 web-app 文件夹并使用您自己的设备 ID 和令牌修改设备 ID 和设备令牌。使用对收到的新数据生成操作的设备的 ID(在我的例子中是 edison)。

第 8 步. 在 Artik Cloud 中创建应用程序

在开始开发 Android 应用程序之前,您需要为 Artik Cloud 创建一个应用程序。为此,请使用以下步骤:

一种)。从开发人员仪表板中选择 APPLICATION

B)。点击+新应用

C)。输入名称和描述。对于授权选择Client credentials, auth code, implicit。放置http://localhost:8000/acdemo/index.php 为重定向网址,然后单击“保存应用程序”按钮。

D)。单击“为特定设备设置权限”。

E)。选择rainbow-parking 并单击Read 复选框。然后单击添加设备类型。

F)。对 indigo-parking 执行相同的操作,然后单击“保存”。

G)。从右上角单击显示客户 ID 和秘密

H)。记下 Client ID 和 Secret,Android 应用程序需要这些。

第 9 步. 开发 Android 应用程序
一种)。下载Android Studio 并将其安装到您的计算机上。

B)。从我的Github下载 android-app 源代码

C)。运行 Android Studio 并通过浏览源导入项目。

D)。打开MainActivity.java并将您在 Artik 云上创建应用程序后获得的 CLIENT ID 放入。

E)。打开MessageActivity.java并为您添加到 Artik 云应用程序的设备放置设备 ID 和访问令牌。

F)。保存更改,构建 APK,将其安装到您的手机并享受。

第 10 步. 设置所有硬件
将所有传感器与 Arduino 板连接。然后使用串行电缆将 Arduino 与 Raspberry Pi 连接。使用 SSH 客户端访问树莓派并运行您之前上传的代码。使用您喜欢的浏览器打开 Web 应用程序并享受整个过程。不要忘记使用 Android 应用程序对其进行测试。

如果您对此项目有任何想法、意见或问题,请在下方留言。

原文链接丨以上内容来源网络,如涉及侵权可联系删除。

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论