Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1160|回复: 0

blinker物联网教程——17、防疫隔离门磁

[复制链接]
发表于 2022-4-14 18:15 | 显示全部楼层 |阅读模式
本帖最后由 海神 于 2022-5-17 16:10 编辑

简介

最近几年里,新冠病毒肆虐全球,各个国家都遭受了疫情,而我们采取的措施是,找出传播链,从链条整个源头进行封控隔离,以阻断疫情的传播。我们应该坚持和维护国家的政策,新冠确诊者采取集中隔离的方式,而一些有风险的地区或者小区采取居家隔离的方式,以免未知情况下受到环境的病毒感染。而要保证居家隔离,我们会配合社区做好自我封控。所以防疫隔离门磁在此诞生~
20220414181443.png
隔离门磁的原理,就是在大门的两侧安装磁铁和霍尔检测器,当门关闭后,霍尔传感器检测到磁力,从而输出信号给主控器,而主控器上带wifi或者4g信号传输模块,这样就可以及时将开门与否的信息发送给社区网格员,网格员就会收到信息后会联系隔离人员并提供帮助。
所以本节,我们使用物联网板卡wifiduino配合blinker的短信功能来制作防疫隔离门磁。

硬件清单
霍尔传感器*1
磁铁*1
3P数据线*1

硬件连接
将扩展板堆叠在wifiduino主板上,并将霍尔传感器通过3P防反接转接线连接在扩展板上的D4(程序定义)接口中。
连接完成后,给wifiduino通电 ,wifiduino上电后会自动连接入网。 在实际安装过程中可以给wifiduino主板电池供电(7~9V),这样就可以脱离电源线。将主板及模块端安装在转动的门上,将磁铁安装在门框中。保证关门时,霍尔传感器探头尽量接触磁铁端。

隔离门磁连线图.png
blinker短信通知功能


短信通知 Blinker.sms
该功能仅限专业版用户使用 10条/天/人, 20字/条,1次/分钟,只能向注册手机号发送短信通知
设备通过 WiFi 接入时可以使用 Blinker.sms() 默认向该设备所属用户注册对应的手机发送一条短信.
  1. Blinker.sms("Hello blinker! Button pressed!");
复制代码
更多资料参考链接:https://diandeng.tech/doc/arduino-support?keyword=%E7%9F%AD%E4%BF%A1

示例代码

  1. #define BLINKER_WIFI
  2. #include <Blinker.h>

  3. #define ON HIGH
  4. #define OFF LOW
  5. #define dor_check_Pin D4

  6. BlinkerText Text1("TextKey");

  7. //#define Mode_RISING//上升沿
  8. #define Mode_FALLING//下降沿

  9. #ifdef Mode_RISING
  10.   #define State_front LOW
  11.   #define State_after HIGH
  12. #endif

  13. #ifdef Mode_FALLING
  14.   #define State_front HIGH
  15.   #define State_after LOW
  16. #endif

  17. char auth[] = "dexxxxxx94";
  18. char ssid[] = "oxxxxxxxxxxx6";
  19. char pswd[] = "ixxxxxxxxxx5";

  20. int flag = 0;//标识

  21. void setup()
  22. {
  23.     // 初始化串口
  24.     Serial.begin(115200);
  25.     BLINKER_DEBUG.stream(Serial);
  26.     BLINKER_DEBUG.debugAll();
  27.    
  28.     // 初始化有LED的IO
  29.     pinMode(LED_BUILTIN, OUTPUT);
  30.     digitalWrite(LED_BUILTIN, HIGH);
  31.     // 初始化blinker
  32.     Blinker.begin(auth, ssid, pswd);
  33. }

  34. void loop() {
  35.     Blinker.run();

  36.     bool result = Blinker.connected();//检测门磁网络连接状态
  37.     if(result){
  38.       digitalWrite(LED_BUILTIN, HIGH);//若连接成功,则关闭LED
  39.       }
  40.     else{
  41.       digitalWrite(LED_BUILTIN, LOW);
  42.       }

  43.     if(digitalRead(dor_check_Pin) == State_front)   //检测门的状态由关闭到打开这个过程
  44.       flag = 1;
  45.     if((digitalRead(dor_check_Pin) == State_after) && (flag == 1))
  46.     {
  47.        BLINKER_LOG("the dor is open!");
  48.        Text1.print("门打开了");
  49.        Blinker.sms("门打开了");
  50.        flag = 0;
  51.     }   

  52.     if(digitalRead(dor_check_Pin) == State_after)  ////检测门的状态由打开到关闭这个过程
  53.       flag = 0;
  54.     if((digitalRead(dor_check_Pin) == State_front) && (flag == 0))
  55.     {
  56.        BLINKER_LOG("the dor is close!");
  57.        Text1.print("门关闭了");
  58.        Blinker.sms("门关闭了");
  59.        flag = 1;
  60.     }
  61. }
复制代码

blinker配置
添加文本组件,将键名修改为程序里定义的“TextKey”,再添加一个调试组件。
门磁1(1).png 门磁2.png

效果展示
App中查看刚添加的设备,连接成功后,检测门磁,检测到开门就可以发送短信提示(短信提示功能 免费版中没有,需要专业版),blinker界面会显示“门打开了”

门磁3.png 门磁4.jpg
检测手机则会收到开门触发的短信
门磁1.png

视频展示


教程目录

blinker物联网教程——1、物联网及blinker介绍
blinker物联网教程——2、搭建编程环境
blinker物联网教程——3、主控硬件wifiduino
blinker物联网教程——4、控制开关灯
blinker物联网教程——5、认识传感器
blinker物联网教程——6、wifi智能插座
blinker物联网教程——7、室内温湿度计
blinker物联网教程——8、定时任务-定时震动器
blinker物联网教程——9、blinker语音识别-芝麻开门
blinker物联网教程——10、日照时间分析
blinker物联网教程——11、自动灌溉
blinker物联网教程——12、调色盘
blinker物联网教程——13、公园噪音监测
blinker物联网教程——14、智能停车场
blinker物联网教程——15、智能家居
blinker物联网教程——16、遥控机械臂
blinker物联网教程——17、防疫隔离门磁
blinker物联网教程——18、手机控制空调
blinker物联网教程——19、接入小度智能音箱
blinker物联网教程——20、语音氛围灯
blinker物联网教程——23、wifi智能小车
blinker物联网教程——24、智能宠物喂食器






您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|Arduino中文社区

GMT+8, 2022-10-7 20:49 , Processed in 0.030183 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表