家居安防报警器,参考程序。

火灾报警

涉及用sim800c发短信,拨打电话通知。

接线:

Sim800c 3.3V -> Arduino 3.3V
Sim800c GND -> Arduino GND
Sim800c RX -> Arduino TX
Sim800c TX -> Arduino RX
#include <SoftwareSerial.h>        // 采用软件的串口
#define Infrared 7 //启动开关 SoftwareSerial SIM800C(10, 11); // Serial RX, TX
boolean bState, bOldState;
int incomingByte = 0; // for incoming serial data
int Infrared_NUM = 0; void setup() {
// put your setup code here, to run once:
// Open serial communications and wait for port to open
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(Infrared,INPUT_PULLUP);
digitalWrite(13,LOW);
digitalWrite(12,LOW); Serial.begin(9600);
while (!Serial) { // wait for serial port to connect. Needed for native USB port only
} Serial.println("Good Morning, my old friend!"); SIM800C.begin(9600);
SIM800C.println("AT+CMGF=1"); } void loop() {
// put your main code here, to run repeatedly:
if (SIM800C.available()) {
Serial.write(SIM800C.read());
digitalWrite(13, HIGH);// 如果通信成功,则把Arduino上面的L13 LED 灯打开
}
if (Serial.available()) {
SIM800C.write(Serial.read());
// incomingByte = Serial.read();
// Serial.print("I received: ");
// Serial.println(incomingByte, DEC);
// digitalWrite(13, !digitalRead(13));
} Infrared_NUM = digitalRead(Infrared);//检测启动开关
if(Infrared_NUM == LOW){
// sendMeg();//发送短信例程代码
SIM800C.println("AT");
delay(2000);
SIM800C.println("ATD12345678900;\r");//12345678900改成你要拨打的电话号码
digitalWrite(12,HIGH);
delay(5000);
while(!digitalRead(Infrared));
digitalWrite(12,LOW);
//SIM800C.println("ATH");
delay(1000);
}
} //发送短信例程代码
void sendMeg()
{ SIM800C.println("AT");
delay(2000);
SIM800C.println("AT+CMGF=1");
delay(2000);
SIM800C.println("AT+CMGS=\"12345678900\"");//这里改成你的号码
delay(2000);
SIM800C.print("Test\r\n");//这里写内容
delay(2000);
SIM800C.write(0x1A);//发送:0x1A,即“CTRL+Z”的键值,用于告诉 SIM800C,要执行发送操作
//发送: 0x1B,即“ESC”的键值,用于告诉 SIM800C,取消本次操作,不执行发送。
}

在这里我们发送了一个AT命令,SIM800C返回一个Ok。再发送一个AT+GSV,返回:

  13:33:20.943 -> SIMCOM_Ltd

  13:33:20.943 -> SIMCOM_SIM800C

  13:33:20.979 -> Revision:1418B06SIM800C24

  通讯成功。任务初步完成。

//参考资料

//指令https://blog.csdn.net/cqdawnxsg/article/details/80680270

//https://www.cnblogs.com/xiaqiuchu/p/11568269.html

//https://www.arduino.cn/thread-6985-1-1.html

Arduino+sim800C家居安防火灾报警 拨打电话 发送短信例程程序的更多相关文章

  1. Android-读取操作系统通话记录并/拨打电话/发送短信/复制号码到拨号盘

    apps目录的contacts应用(有读取通话记录功能),是访问provider目录的provider.contacts应用(有暴露通话记录),所以要阅读Android操作系统源码-->pack ...

  2. iOS_拨打电话/发送短信

    GitHub address : https://github.com/mancongiOS/makeACallAndSendMessage.git 功能一: 拨打电话 1.可以有提示框.提示该电话号 ...

  3. android 入门 002 (拨打电话,发送短信)

    一.拨打电话 1.首先做好界面,代码如下: layout =>activity_main.xml 中 <LinearLayout xmlns:android="http://sc ...

  4. 调用 url_launcher 模块打开外部浏 览器 打开外部应用 拨打电话 发送短信

    1.Flutter url_launcher 模块    Flutter url_launcher 模块可以让我们实现打开外部浏览器.打开外部应用.发送短信.拨打电话等功能.    https://p ...

  5. IOS中调用系统拨打电话发送短信

    一.调用打电话界面 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat ...

  6. android使用Intent操作拨打号码发送短信

    Activity程序Activity.java package com.example.intentcaseproject; import android.net.Uri; import androi ...

  7. html5 安卓拨打电话 发短信

    方法一: <input name=”phone_no” format=”*m” value=”13″/> <do type=”option” label=”呼出号”> < ...

  8. zabbix实现电话、短信、邮件报警

    该报警方式提前说明:(1)该方式可以实现zabbix免费电话报警以及微信.短信.邮件报警,但有数量限制.详见如下:如数量不能满足需要以及人员需要,可以考虑购买收费版.(2)毕竟是免费版,电话通知要省着 ...

  9. ios调用本地拨打电话,发送短信

    电话.短信是手机的基础功能,iOS中提供了接口,让我们调用.这篇文章简单的介绍一下iOS的打电话.发短信在程序中怎么调用. 1.打电话   [[UIApplication sharedApplicat ...

随机推荐

  1. 【Mac】anaconda安装xgboost(原创)

    1.下载并安装官网最新版anaconda Anaconda3-2020.02-MacOSX-x86_64.pkg 2.conda config --set channel_priority flexi ...

  2. Pyqt5_QtextEdit

    QtextEdit QTextEdit类是一个多行文本框控件,可以显示多行文本内容,当文本内容超出控件显示范围时,可以显示水平个垂直滚动条,Qtextedit不仅可以用来显示文本还可以用来显示HTML ...

  3. WordPress 伪静态规则(IIS/Apache/Nginx)

    不少朋友总是询问 WordPress 如何添加伪静态规则,今天倡萌就总结一下 Apache/Nginx 三种环境下的伪静态规则,希望对大家有所帮助. 检测主机是否支持伪静态的方法:在WP后台 > ...

  4. MySQL常见6个考题在实际工作中的运用

    题目一 MyISAM和InnoDB的区别,什么时候选择MyISAM 参考回答 InnoDB是目前MySQL主流版本(5.6.5.7.8.0)默认的存储引擎,支持事务.外键.行级锁,对于并发条件下要求数 ...

  5. SOFA入门

    简介 scalable open financial architecture stack , 可扩展开放的金融架构栈: github: https://github.com/sofastack/so ...

  6. 项目工程化之git提交规范以及 CHANGELOG生成

    事先声明,本文是参考了其他大神的博客之后自己尝试的记录,具体可以参考如下 链接 先说说git 提交规范把,这里基本都是这个工具 cz-customizable 1,安装 npm install cz- ...

  7. Vue 百度地图显示规划路线

    Vue 百度地图显示规划路线 1.首选引入相应的文件(建议单页面引入)(如有问题找上一篇博客园) 2.区别就是需要多引入几根不同的文件 import { BaiduMap, BmScale, BmGe ...

  8. 【转】shell的反引号、单引号、双引号的作用

    Linux Shell中有三种引号,分别为双引号(" ").单引号(' ')以及反引号(` `). 其中双引号对字符串中出现的$.''.`和\进行替换:单引号不进行替换,将字符串中 ...

  9. java方式实现归并排序

    一.基本思想 归并排序是建立在归并操作上的一种排序算法,该算法是采用分治法的一个典型应用.具体操作如下:所谓的分治就是分而治之,以一分为二的原则,先把序列平均分解成二个左右子序列,然后递归左右二个子序 ...

  10. MySQL8.0 忘记密码、重置密码

    修改my.cnf [mysqld] 域中添加skip-grant-tables 重启mysqld服务 systemctl restart mysqld 重新使用空密码登录,直接敲回车 mysql -u ...