小米路由器魔改报警器+老人求助按钮-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4346|回复: 1

小米路由器魔改报警器+老人求助按钮

[复制链接]
发表于 2018-8-7 12:21 | 显示全部楼层 |阅读模式
IMG_20180806_192341.jpg
IMG_20180806_193314.jpg
使用说明:
按下盒子上唯一的按钮后内置的ESP8266-01会使led会进入闪烁启动状态表示正在联网,网络MQTT连上后变为常亮状态.

连接网络后会发送一条短信到手机提醒按钮按下。当屋子另一端的小米路由器检测到求助按钮上线后拉低GPIO26 使蜂鸣器报警


代码:
*将使用 [数据删除] 替换掉敏感内容
小米路由器端:
[mw_shl_code=bash,true]#!/bin/sh
gpioctl set 26
while :
do
  host=[数据删除]
  ping -c2 $host >>/dev/null
  if [ $? -eq 0 ];then
    gpioctl clear 26
    gpioctl set 29
    sleep 1
    gpioctl clear 29
    sleep 1
  else
    gpioctl set 26
    gpioctl set 29
fi
done[/mw_shl_code]

ESP8266-01端:
[mw_shl_code=cpp,true]#define BLINKER_PRINT Serial
#define BLINKER_MQTT
#include <Blinker.h>

char auth[] = "[数据删除]";
char ssid[] = "[数据删除]";
char pswd[] = "[数据删除]";
bool SendSMS = false;
#define BUTTON_1 "ButtonKey"

void setup()
{
  Serial.begin(115200);
  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, LOW);
  Blinker.begin(auth, ssid, pswd);
  Blinker.wInit(BUTTON_1, W_BUTTON);
}

void loop()
{
  Blinker.run();
  if (Blinker.connect()) {
    digitalWrite(LED_BUILTIN, HIGH);
    if (SendSMS == false) {
      Blinker.sms("True");
      SendSMS = true;
    }
  } else {
    digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
  }
  ESP.wdtFeed();//周期喂狗
}[/mw_shl_code]

感谢Blinker,让我们每天有10次机会发送短信


版权声明:本文使用「署名-相同方式共享 4.0 国际」创作共享协议,转载或使用请遵守署名协议。
发表于 2019-2-11 10:20 | 显示全部楼层
这个有点6,我也有一样的路由器,焊下flash重刷救活过
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 14:54 , Processed in 0.110791 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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