水位警报系统
组件和用品
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 |
应用和在线服务
![]() |
| |||
![]() |
| |||
|
关于这个项目
简介
如果您在班加罗尔生活了几年,那么您对洪水并不陌生。每年在季风期间,我公寓的地下停车场都会积满水,以至于我的自行车发动机都无法启动。更糟糕的是,当水变干时,由于水损坏,我不得不将自行车带到技工处进行维修。今年我不会接受任何。所以我决定建立一个水位监测系统,如果停车场被淹,它会提醒我。
以下是启动和运行相同系统的方法。
安装所需的库
单击此处和此处下载 BoltIoT 的 BoltIoT-Arduino-Helper 库和 Erick Simoes 的 Ultrasonic 库。
要安装这些库,请转到 Arduino IDE,在“草图”下拉菜单中选择包括库> 添加.ZIP 库..
然后导航到下载库的文件夹,并选择它们。
上传Arduino代码
1. 打开Arduino IDE。

2.复制博文末尾的Arduino Code,将sketch里面的代码全部替换成复制的代码。


3.在widows和ubuntu上按'ctrl + s'保存Arduino草图,在Mac上按'cmd + s'。

4. 保存代码后,进入工具菜单,在板子部分下选择Arduino/Genuino Uno。

5. 使用 USB 数据线将 Arduino 或 Boltduino 连接到您的 PC。
6.在工具菜单下,在端口子菜单中选择末尾有Arduino/Genuino uno的端口。

7. 点击上传。

代码将上传到您的 Arduino 或 Boltduino。
硬件设置
按照下面的弗里茨图进行连接。
注意: 单击“>”以查看使用 Boltduino 而不是 Arduino 的 Fritzing 图。


如果您使用的是 Boltduino 而不是 Arduino,您将需要少做一些连接,因为 Bolt WiFi 模块直接安装在 Boltduino 上。
安装系统,使传感器面朝下,水会随着时间的流逝而停滞。


请记住,检测阈值将始终小于传感器高度。
使用 9v 或 12v 直流适配器为系统供电。
注意: 如果您还没有设置您还没有设置您的 Bolt,请按照此处给出的步骤操作:设置您的 Bolt .
设置 Integromat 场景以发送电子邮件警报
如果您还没有这样做,请在 Integromat 上创建一个帐户,单击此处转到其注册页面。如果您已有 Integormat 帐户,请登录 Integromat。
使用以下步骤克隆我创建的“水位检测”场景。
1、下载本项目代码部分附带的水位检测场景蓝图。请记住使用文件名“WaterLevelDetection.json”保存文件。
2. 创建一个场景,点击右上角的蓝色“创建一个新场景”按钮,然后点击继续。


3. 点击屏幕底部的“更多”按钮。

4. 选择“导入蓝图”并点击“选择文件”。


5. 导航到您将“WaterLevelDetection.json”文件下载到的文件夹,选择该文件并单击“打开”。完成后点击保存。将加载水位检测场景。



6. 点击场景名称,将其更改为“水位检测”。

使用以下步骤配置水位检测场景。
1. 单击此处获取您的 Bolt Cloud API 密钥。下图显示了如何启用和复制 API 密钥。

2. 回到Integromat场景,点击第一个BoltIoT气泡,然后点击“添加”按钮。

3. 粘贴您之前复制的 API 密钥,然后单击“继续”按钮。

3. 添加您设备的设备名称。您可以通过单击此处找到 Bolt WiFi 模块的设备名称。然后点击确定。

4. 对于第二个和第三个 BoltIoT 气泡,您可以单击下拉菜单并选择“我的 Bolt 连接”。请记住为每个设备添加正确的设备名称。


5. 单击数学气泡,将值 100 更改为您保持传感器的高度,以 cms 为单位。然后点击确定。

6.点击数学和gmail气泡之间的红点,将60替换为你想要提醒的水位高度,然后点击确定。


6. 点击 gmail 气泡,然后点击编辑按钮。


7. 添加您的电子邮件 ID,然后单击确定。

8. 单击“添加”按钮,然后单击“继续”按钮并允许 Integromat 访问您的 Gmail 帐户。


9. 您可以通过单击“添加收件人”按钮添加更多收件人,然后单击“确定”。

10. 确保您的电路已通电,并且传感器前面没有障碍物,然后单击“运行”按钮。该场景将在过滤器之前运行并等待,由思想泡泡中的“1”指示。如果您将手放在传感器前并运行该场景,则该场景将一直运行到 gmail 气泡,您将收到一封电子邮件。




11. 单击文本“关闭”旁边的按钮以打开场景。该场景现在将每 15 分钟自动运行一次。如果水位高于您设置的警报高度,您将收到并发出警报。


安装系统
完成此操作后,您所要做的就是安装系统,使传感器指向地板,启动系统并确保 Bolt 可以通过您的 WiFi 持续访问互联网。
应用程序
该系统可用于以下应用。
- 检测到您的停车场被淹。
- 在水箱满或空时收到警报。
- 如果您在海边有房子,可以检测涨潮。
更多基于 Bolt 的项目
想用 Bolt 构建另一个项目吗?以下是一些建议:
1. Bolt入门:温度监控系统
2. 家庭自动化
代码
- 使用超声波 HC-SR04 的水位检测系统
- 水位检测
使用超声波HC-SR04的水位检测系统C/C++
#include#include #define ULTRASONIC_TRIG_PIN 12#define ULTRASONIC_ECHO_PIN 13超声波超声波(ULTRASONIC_TRIG_PIN,ULTRASONIC_ECHO_PIN);int distance=0;String getDistance(String *ar) =超声波.read(); String returnString=""+String(distance); return returnString;}void setup() { boltiot.begin(Serial); // 把你的设置代码放在这里,运行一次: boltiot.setCommandString("RD\r",getDistance); boltiot.setCommandString("GetDistance",getDistance);}void loop() { boltiot.handleCommand(); // 把你的主要代码放在这里,重复运行:}
WaterLevelDetectionJSON
这是一个包含 Integromat 场景蓝图的 json 文件。{ "name":"Water Level Detection", "flow":[ { "id":15, "module":"app#bolt-iot:executeCommand", "version":1, "parameters":{ "__IMTCONN__":445281 }, "mapper":{ "command":"serialBegin", "parameters":{ "baud":"9600", "deviceName" :"" } }, "metadata":{ "designer":{ "x":8, "y":-3 }, "restore":{ "command":{ "label":"初始化串行通信" } , "__IMTCONN__":{ "label":"My Bolt connection" } }, "parameters":[ { "name":"__IMTCONN__", "type":"account", "label":"Connection", "required ":true } ], "expect":[ { "name":"command", "type":"select", "label":"Command", "required":true, "validate":{ "enum" :[ "digitalWrite", "digitalRead", "analogRead", "analogWrite", "serialBegin", "serialWrite", "serialRead", "version", "restart", "isAlive" ] } }, { "name":"参数", "spec":[ { "name":"deviceName", "type":"text", "label":"设备名称", "required":true }, { "name":"baud" , “类型”: ” number", "label":"Baud", "required":true } ], "type":"collection", "label":"Parameters" } ] } }, { "id":1, "module":"app#bolt-iot:executeCommand", "version":1, "parameters":{ "__IMTCONN__":445281 }, "mapper":{ "command":"serialWrite", "parameters":{ "data":"GetDistance", "deviceName":"" } }, "metadata":{ "designer":{ "x":300, "y":0 }, "restore":{ "command":{ "label":"发送串行数据输出" }, "__IMTCONN__":{ "label":"My Bolt connection" } }, "parameters":[ { "name":"__IMTCONN__", "type":"account", "label" :"Connection", "required":true } ], "expect":[ { "name":"command", "type":"select", "label":"Command", "required":true, "验证”:{“枚举”:[“digitalWrite”,“digitalRead”,“analogRead”,“analogWrite”,“serialBegin”,“serialWrite”,“serialRead”,“version”,“restart”,“isAlive”]} }, { "name":"parameters", "spec":[ { "name":"deviceName", "type":"text", "label":"设备名称", "required":true }, { “名称”:“数据”,“类型”:“文本”,“标签”:“数据”, "required":true } ], "type":"collection", "label":"Parameters" } ] } }, { "id":14, "module":"app#bolt-iot:executeCommand", " version":1, "parameters":{ "__IMTCONN__":445281 }, "mapper":{ "command":"serialRead", "parameters":{ "till":"10", "deviceName":"" } }, "metadata":{ "designer":{ "x":600, "y":0 }, "restore":{ "command":{ "label":"读取传入的串行数据" }, "__IMTCONN__" :{ "label":"My Bolt connection" } }, "parameters":[ { "name":"__IMTCONN__", "type":"account", "label":"Connection", "required":true } ], "expect":[ { "name":"command", "type":"select", "label":"Command", "required":true, "validate":{ "enum":[ "digitalWrite ", "digitalRead", "analogRead", "analogWrite", "serialBegin", "serialWrite", "serialRead", "version", "restart", "isAlive" ] } }, { "name":"parameters", "spec":[ { "name":"deviceName", "type":"text", "label":"Device name", "required":true }, { "name":"till", "type" :"number", "label":"Till", "required":true, "validate":{ "max":127, "min":0 } } ], "type":"collection", "label":"Parameters" } ] } }, { "id":18, "module":"math:EvaluateExpression", "version":1, "parameters":{}, "mapper":{ "expression":"100-{{parseNumber(14.value)}}" }, "metadata":{ "designer":{ "x":869, "y":-2 }, "expect":[ { "name":"expression", "type":"text", "label":"Expression", "required":true } ] } }, { "id":13, "module":"google-email:ActionSendEmail", "version":1, "parameters":{ "account":445282 }, "filter":{ "name" :"检查水位是否高", "conditions":[ [ { "a":"{{18.result}}", "b":"60", "o":"number:greater" } ] ] }, "mapper":{ "cc":[], "to":[ ], "bcc":[], "html":"水位已达到{{18.result}}cms.", "主题":"警告!水位太高!!", "attachments":[] }, "metadata":{ "designer":{ "x":1145, "y":-3 }, "restore":{ "cc":{ "mode":"choose", "items":[] }, "to":{ "mode":"choose", "items":[ "undefined" ] }, "bcc":{ "mode":“选择”,“项目”:[]},“帐户”:{“标签”:“”},“附件”:{“模式”:“选择”,“项目”:[]}},“参数” :[ { "name":"account", "type":"account", "label":"Connection", "required":true } ], "expect":[ { "name":"to", " spec":{ "name":" ", "type":"email", "label":"Email address", "required":true }, "type":"array", "label":"To" , "labels":{ "add":"添加收件人", "edit":"编辑收件人" }, "required":true }, { "name":"subject", "type":"text" , "label":"Subject" }, { "name":"html", "type":"text", "label":"Content" }, { "name":"attachments", "spec":[ { "name":"fileName", "type":"filename", "label":"文件名", "required":true, "semantic":"file:name" }, { "name":"data ", "type":"buffer", "label":"Data", "required":true, "semantic" :"file:data" }, { "name":"cid", "type":"text", "label":"Content-ID" } ], "type":"array", "label":"附件", "标签":{ "add":"添加附件", "edit":"编辑附件" } }, { "name":"cc", "spec":{ "type":"email ", "label":"电子邮件地址" }, "type":"array", "label":"复制收件人", "labels":{ "add":"添加复制收件人", "edit":"编辑副本收件人" } }, { "name":"bcc", "spec":{ "type":"email", "label":"Email address" }, "type":"array", "label ":"密件复制收件人", "labels":{ "add":"添加密件收件人", "edit":"编辑密件收件人" } } ] } } ], "metadata":{ "version ":1, "scenario":{ "roundtrips":1, "maxErrors":3, "autoCommit":false, "sequential":false, "confidential":false, "dataloss":false, "dlq":false }, "designer":{ "orphans":[] }, "zone":"eu1.integromat.com" }}
示意图


制造工艺