×

使用Waylay IO低代码平台进行物联网开发

消耗积分:2 | 格式:zip | 大小:0.00 MB | 2023-06-15

李平

分享资料个

描述

动机

保护您的家免受入侵者的侵害是人们会竭尽全力并有充分理由的事情!知道我们的家人和财物是安全的,让您高枕无忧。

此外,物联网增加了远程检查事情是否井井有条的能力,并且前提是安全的,只需在您的智能手机上看一眼,或者在发生可能发生在您或直接向家庭安全公司的事情时发出警报就更好了或警察。

因此,让我们探索如何构建这样一个系统,该系统允许监控房间和特定的窗户或门,并在有人进入房间或​​打开所述门/窗时向我们发出信号。

本教程的主要目的是让您开始使用 Waylay IO 低代码平台进行物联网开发。

让我们开始吧!

pYYBAGNo9ZSAdHhFAAhc-MYRj5042.jpeg
 

硬件要求

对于本教程,我们决定使用 M5Stack 生态系统,因为它可以构建这样一个系统,而无需对特定工具进行原型设计,例如烙铁或原型设计电缆。该项目的大脑是基于 ESP32 微控制器的物联网开发套件 M5Core2。该生态系统允许您通过 GROVE 端口将提供的模块连接到 M5Core2,从而实现硬件的快速部署。

poYBAGNo79WAAV_pAAnawV8pyWk30.jpeg
M5Core2
 

我们为本教程选择的模块是 M5Stack 的超声波测距单元PIR 运动传感器

pYYBAGNo9Z-AaX8jAAiNPhVngd018.jpeg
M5Stack 的超声波测距装置和 PIR 运动传感器
 

电线连接

  • 使用 Grove 电缆将超声波测距装置连接到 M5Core2 的端口 A(USB-C 连接器附近的红色端口)。本机使用 I2C 协议向 M5Core2 发送数据。
  • 取出背面的 CORE2 板以露出引脚。
  • 使用 Grove 电缆、Grove 到 4 针连接器和公对公杜邦线将 PIR 运动传感器连接到以下引脚:
BLACK  - GND
RED    - 5V
YELLOW - G36
WHITE  - G26
poYBAGNo9aWAdjr8AAxCISANiqM22.jpeg
 

先决条件

pYYBAGNo7-KAQNKOAAAUvIh31nA362.png
M5燃烧器
 
pYYBAGNo7-WAGWXmAAAKjrOvuXk954.png
托尼 Python IDE
 

设置设备

  • 使用提供的 USB Type-C 电缆将 M5Stack 套件连接到您的 PC,然后启动M5Burner 端口名称应出现在应用程序的左上角(靠近COM )。

在 Linux 上,通过运行以下命令确保您的用户是拨出组的一部分:

sudo adduser $USER dialout
poYBAGNo7-iAQaZpAAJl32sxSDs238.png
M5Burner 接口
 
  • 下载UIFlow(CORE2) 单击擦除按钮,等待它完成,然后按刻录按钮将 UIFlow(CORE2) 固件上传到设备上。我们使用了 1.8.1_core2 系统将提示您输入设备将用于连接到本地网络的 WiFi 详细信息。如果刻录失败,请将波特率更改为较低的。
poYBAGNo7-uADdVTAAEsCp1Clt4604.png
烧录固件
 
  • 现在单击对应于 UIFlow(Core2)的配置框,然后从提供的屏幕的下拉列表中选择应用模式,如果不存在,则添加 Wifi 详细信息。
  • 完成重启后,您会看到一个初始屏幕,右上角是 UiFlow 版本。
pYYBAGNo7--AESC8AAkpGraZCnM27.jpeg
 

现在,让我们继续升级云解决方案吧!

设置云解决方案

  • 如果您还没有注册Waylay IO并登录。
  • 转到资源并添加资源。将其命名为HomeSecurity. 该资源实际上是您在云中的设备表示,您将在其中发送数据。
  • customer使用keyZalmotekvalue添加一个新属性
  • tags使用key[ "HomeSecuritySolution" ]value添加另一个属性
poYBAGNo9beAN8ziAACLf0afwIQ032.png
在 Waylay IO 上创建资源
 
  • 转到左侧主菜单中的Webscripts并添加一个新的。将其命名为HomeSecurityScript并在正文中添加以下代码:
async function handleRequest (req, res) {
  if (!req.body) {
    // No body found
    return
  }

  // Parse body if needed
  let payload = req.body
  if (typeof payload === 'string' || payload instanceof String)
    payload = JSON.parse(payload)

  /*
  You can do some processing of the payload over here.
  */

  // Post values to our resource
  waylay.data.baseUrl = 'https://data-io.waylay.io'
  await waylay.data.postSeries('replace_with_resource_id', payload, { store: true, forward: true })
    .catch(e => console.error(e.message))

  res.sendStatus(200)
}

请务必将replace_with_resource_id占位符替换resource_id为上述步骤中的实际值。导航到资源页面以获取它。我们的有点像9d086585-eb05-46a2-9367-bf4a45679a0c粘贴正确的详细信息后,保存。

pYYBAGNo9bmARJrlAAAOQ-GCQzw001.png
Waylay IO 上的资源 ID
 
pYYBAGNo9buAPcOfAADjrW6RJ_g462.png
Waylay IO 上的 Webscript
 

对设备进行编程

  • 转到该项目的 GitHub 存储库(也存在于本教程的代码块中)并下载包含所有必要代码的 zip 文件并将其解压缩到一个文件夹中(或使用 git 命令行界面执行相同的操作,如亲。
  • 启动Thonny并从Run -> Select interpreter将解释器设置为MicroPython (ESP32) ,然后选择设备端口。
  • 确保 M5Stack 已连接并显示 API 屏幕(或打开 hello world 程序),单击Shell 文本字段并按CTRL+C或按STOP按钮以连接到设备。看到>>符号后,您可以访问设备上的文件。转到查看并选择文件以设置您的工作区。然后转到本教程中提供的 temp.py 文件,并使用您的 Webscript 的 URL 编辑 SendPOST() 函数中的 URL。您可以在https://console-io.waylay.io/webscripts上找到它,请在 Webscript 的名称下方。单击它以将其复制到剪贴板(确保包含机密)。
  • 选择从GitHub下载的文件夹中的所有文件,按住Shift并单击文件(main.py,以及本教程中提供的2个文件夹custom,res,文件,排除Readme文件,右键单击菜单图标(3条水平线为如下所示)然后按 Upload to /flash,按 ok 并设置。确认文件被覆盖。
poYBAGNo9cCABOHYAAUjON6Jl_c920.png
 
  • 此时请确保按照之前的说明连接所有传感器,否则程序将挂在白屏上。
  • 按下 SD 卡插槽附近的向下按钮重新启动 M5Stack(屏幕将关闭并刷新)。设备将连接到 WiFi 网络并自动运行main.py文件。
  • 当设备成功将数据发送到服务器时,您将Data sent在显示屏左下角收到一条消息,并在显示屏右下角200收到 HTTP 状态代码(表示请求已成功接收、理解并接受) )。
pYYBAGNo9caAW1VCAA1Aj9IH4Js54.jpeg
 

这是系统的演示:

 

设置警报

警报是一项有用的功能,当监控值达到不需要的水平时,您可以通过该功能获得通知。

  • 从您的用户控制台中选择模板字段,然后单击添加模板按钮。
  • 要创建基本的警报流程,我们将从块菜单中添加必要的块,然后对其进行配置。
  • 添加一个Stream块,取消选中execute on tick并选中execute on data并选择您选择的资源。
  • 添加一个Condition块,取消选中execute on tick并选中execute on data并选择您选择的资源。在条件字段中,按以下格式写出条件:
${nodes.stream_1.rawData.stream.replace_with_your_metric}
  • 在我们的示例中,您可以选择的指标是在( , )中的DataMap变量中定义的指标。我们的条件如下所示:temp.pyWindowStatusDoorStatus
${nodes.stream_1.rawData.stream.WindowStatus} > 0
${nodes.stream_1.rawData.stream.DoorStatus} > 0
  • 现在您已经返回到Templates菜单,选择之前创建的模板并单击Create Task
poYBAGNo9cmAd_3VAADkewBwDJE559.png
在 Waylay IO 上创建警报
 
  • 为您的任务选择一个名称,选择Resource选择Reactive模式,然后单击Create Task
  • 现在任务已创建,当满足条件时,将触发警报,并将显示在控制台的“警报”字段中,以及链接到与警报相同的资源的仪表板中。
poYBAGNo9cuAawIdAADq81bkiok852.png
在 Waylay IO 上创建任务
 
pYYBAGNo9c6ADzXdAACUw4DfjiM940.png
Waylay IO 上的报警日志
 

创建仪表板

现在我们设法将数据持续发送到我们的云解决方案,是时候设置一个仪表板来显示它了。

  • 前往dashboard-io.waylay.io/并使用您的帐户数据登录。
  • 通过单击+号创建组织。此组织的名称必须与您在定义资源时使用的客户名称(标签值)相同。
  • 单击以管理员身份登录
  • 单击左下角的 + 号,单击 Query,然后在标签字段中填写您为资源选择的标签属性的值,在我们的例子中是HomeSecuritySolution.
  • 命名您的组,最后单击创建组
  • 单击您的查询,然后单击您的资源名称。
  • 单击我的仪表板旁边的+号并选择所需的表示,选择您要表示的指标,然后单击保存
  • 添加所有小部件后,单击+号旁边的齿轮,然后单击Publish
  • 单击我的仪表板并选择您的仪表板(注意+号消失),单击齿轮,单击管理,然后选择public
  • 现在,通过单击连接按钮,您可以获得公共仪表板的链接,以便与您的朋友分享或从任何浏览器访问它。
pYYBAGNo9dCAOQ8mAAET6sbnjE8544.png
 

下一步是什么?

我们有一系列教程以及其他用例,您可以从中学习并进一步提高您的 IoT 技能,或者您可以开始自己的项目。

如果您在部署此解决方案或构建类似解决方案方面需要帮助,请联系Waylay.io获取低代码 IoT 解决方案或Zalmotek.com获取支持 IoT 的硬件原型。

如果您还有其他问题,请通过评论与我们联系!


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !