本帖最后由 海神 于 2022-5-17 16:10 编辑
简介
最近几年里,新冠病毒肆虐全球,各个国家都遭受了疫情,而我们采取的措施是,找出传播链,从链条整个源头进行封控隔离,以阻断疫情的传播。我们应该坚持和维护国家的政策,新冠确诊者采取集中隔离的方式,而一些有风险的地区或者小区采取居家隔离的方式,以免未知情况下受到环境的病毒感染。而要保证居家隔离,我们会配合社区做好自我封控。所以防疫隔离门磁在此诞生~
隔离门磁的原理,就是在大门的两侧安装磁铁和霍尔检测器,当门关闭后,霍尔传感器检测到磁力,从而输出信号给主控器,而主控器上带wifi或者4g信号传输模块,这样就可以及时将开门与否的信息发送给社区网格员,网格员就会收到信息后会联系隔离人员并提供帮助。
所以本节,我们使用物联网板卡wifiduino配合blinker的短信功能来制作防疫隔离门磁。
硬件清单 霍尔传感器*1
磁铁*1
3P数据线*1
硬件连接 将扩展板堆叠在wifiduino主板上,并将霍尔传感器通过3P防反接转接线连接在扩展板上的D4(程序定义)接口中。
连接完成后,给wifiduino通电 ,wifiduino上电后会自动连接入网。 在实际安装过程中可以给wifiduino主板电池供电(7~9V),这样就可以脱离电源线。将主板及模块端安装在转动的门上,将磁铁安装在门框中。保证关门时,霍尔传感器探头尽量接触磁铁端。
blinker短信通知功能
短信通知 Blinker.sms
该功能仅限专业版用户使用 10条/天/人, 20字/条,1次/分钟,只能向注册手机号发送短信通知
设备通过 WiFi 接入时可以使用 Blinker.sms() 默认向该设备所属用户注册对应的手机发送一条短信.
- Blinker.sms("Hello blinker! Button pressed!");
复制代码 更多资料参考链接:https://diandeng.tech/doc/arduino-support?keyword=%E7%9F%AD%E4%BF%A1
示例代码
- #define BLINKER_WIFI
- #include <Blinker.h>
- #define ON HIGH
- #define OFF LOW
- #define dor_check_Pin D4
- BlinkerText Text1("TextKey");
- //#define Mode_RISING//上升沿
- #define Mode_FALLING//下降沿
- #ifdef Mode_RISING
- #define State_front LOW
- #define State_after HIGH
- #endif
- #ifdef Mode_FALLING
- #define State_front HIGH
- #define State_after LOW
- #endif
- char auth[] = "dexxxxxx94";
- char ssid[] = "oxxxxxxxxxxx6";
- char pswd[] = "ixxxxxxxxxx5";
- int flag = 0;//标识
- void setup()
- {
- // 初始化串口
- Serial.begin(115200);
- BLINKER_DEBUG.stream(Serial);
- BLINKER_DEBUG.debugAll();
-
- // 初始化有LED的IO
- pinMode(LED_BUILTIN, OUTPUT);
- digitalWrite(LED_BUILTIN, HIGH);
- // 初始化blinker
- Blinker.begin(auth, ssid, pswd);
- }
- void loop() {
- Blinker.run();
- bool result = Blinker.connected();//检测门磁网络连接状态
- if(result){
- digitalWrite(LED_BUILTIN, HIGH);//若连接成功,则关闭LED
- }
- else{
- digitalWrite(LED_BUILTIN, LOW);
- }
- if(digitalRead(dor_check_Pin) == State_front) //检测门的状态由关闭到打开这个过程
- flag = 1;
- if((digitalRead(dor_check_Pin) == State_after) && (flag == 1))
- {
- BLINKER_LOG("the dor is open!");
- Text1.print("门打开了");
- Blinker.sms("门打开了");
- flag = 0;
- }
- if(digitalRead(dor_check_Pin) == State_after) ////检测门的状态由打开到关闭这个过程
- flag = 0;
- if((digitalRead(dor_check_Pin) == State_front) && (flag == 0))
- {
- BLINKER_LOG("the dor is close!");
- Text1.print("门关闭了");
- Blinker.sms("门关闭了");
- flag = 1;
- }
- }
复制代码
blinker配置 添加文本组件,将键名修改为程序里定义的“TextKey”,再添加一个调试组件。
效果展示 App中查看刚添加的设备,连接成功后,检测门磁,检测到开门就可以发送短信提示(短信提示功能 免费版中没有,需要专业版),blinker界面会显示“门打开了”
检测手机则会收到开门触发的短信
视频展示
教程目录
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、智能宠物喂食器
|