0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于SIM800LV2SMS控制器的制作

454398 ? 来源:工程师吴畏 ? 2019-08-09 09:58 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

规格 SIM800L V2.0 GSM/GPRS模块

SIM800L V2.0 GSM/GPRS模块有多种规格,您可以在下面查看:

TTL串行接口兼容3.3V和5V微控制器,与arduino兼容。

此SIM800L模块有一组TTL电平串行接口,一组电源接口。

此外,还有一套天线接口。模块。

网络支持:四频850/900/1800/1900 MHz,可以低功耗传输语音,短信和数据信息

VDD TTL UART接口TTL UART串行接口,可以直接连接51MCUARMMSP430等MCU。 VDD的引脚用于匹配TTL的电压。

型号:SIMCOM SIM800L

工作电压:3.7V至5V-尺寸:40mm x 28mm x 3mm

GPRS多插槽类12/10

GPRS移动台B类

符合GSM阶段2/2 +

4类(2 W) @ 850/900MHz)

1级(1 W @ 1800/1900MHz)

第1步:您需要的材料

您需要:

SIM800L V2.0 GSM/GPRS模块

Arduino Uno

4通道5伏继电器模块

跳线

步骤2:设置

连接每个组件后,创建一个程序,然后将其上传到您的arduino上。但首先,您必须安装可在此处下载的GPRS库文件。

步骤3:代码

一旦你‘已将SIM800L,4通道中继模块和ARduino插入您的计算机,运行以下代码即可完成。

#include

#include

#define TIMEOUT 5000

#define ACTIVE LOW

#define OFF HIGH

byte Relay [] = {A0,A1,A2, A3};

字节StatRelay [4];

char buffNumber [20];

char currentLine [500] =“”;

int currentLineIndex = 0;

bool nextLineIsMessage = false;

String replyNumber =“089510863958”;

GPRS gprs;

void setup(){

for(int i = 0; i 《4; i ++){

pinMode(Relay [i],OUTPUT);

digitalWrite(Relay [i],MATI);

StatRelay [i] = MATI;

}

Serial.begin(9600);

while(!Serial);

Serial.println(“激活SIM800L V2 》》》自动读取短信”);

gprs.preInit();

延迟(1000);

while(0!= gprs.init()){

延迟(1000);

Serial.print(“init errorrn”);

}

//管理消息到模式ASCII

if(0!= gprs.sendCmdAndWaitForResp(“AT + CMGF = 1rn”,“OK”,TIMEOUT)){

错误(“错误:CNMI”);

返回;

}

//读取传入短信

if(0!= gprs.sendCmdAndWaitForResp(“AT + CNMI = 1,2,0,0,0nn”,“OK”,TIMEOUT)){

ERROR(“ERROR:CNMI”) ;

return;

}

int pjg = replyNumber.length()+ 1;

buffNumber [pjg];

replyNumber.toCharArray(buffNumber,pjg);

Serial.print(“Send reply to number =》”);

Serial.println(buffNumber);

Serial.println(“Initialization Done”);

Serial.println(“====================== =======================================“);

}

void loop(){

//更改状态继电器ON/OFF

for(int i = 0;我《4; i ++){

digitalWrite(Relay [i],StatRelay [i]);

}

//如果有来自SIM800的输入数据

if(gprs.serialSIM800.available()){

char lastCharRead = gprs.serialSIM800.read();

//保存lastCharRead上的所有数据,如果有r或n,作为传入消息的最终信号

if(lastCharRead ==’r‘|| lastCharRead ==’n‘){

String lastLine = String( currentLine);

//如果最后一条消息+ CMT表示新消息到达

if(lastLine.startsWith(“+ CMT:”)){

Serial.println(lastLine);

nextLineIsMessage = true;

}否则if(lastLine.length()》 0){

if(nextLineIsMessage){

Serial.println(lastLine);

//============================================= =================== 》》继电器控制器的功能

//继电器1控制器

if(lastLine.indexOf( “Relay 1 ON”)》 = 0){

StatRelay [0] = AKTIF;

Serial.print(“Reply ==== 》》》》”);

Serial.println(“Relay 1 Status Active”);

gprs.sendSMS(buffNumber,“Relay 1 Status Active”);

}

else if(lastLine.indexOf(“Relay 1 OFF”)》 = 0){

StatRelay [0] = MATI;

Serial.print(“Reply =” === 》》》》“);

Serial.println(”Relay 1 Status Off“);

gprs.sendSMS(buffNumber,”Relay 1 Status Off“);

}

//中继2控制器

if(lastLine.indexOf(“Relay 2 ON”)》 = 0){

StatRelay [1] = AKTIF;

Serial.print(“Reply ==== 》》》》”);

Serial.println(“Relay 2 Status Active”) ;

gprs.sendSMS(buffNumber,“Relay 2 Status Active”);

}

否则if(lastLine.indexOf(“Relay 2 OFF”)) 》 = 0){

StatRelay [1] = MATI;

Serial.print(“回复==== 》》》》”);

Serial.pri ntln(“继电器2状态关闭”);

gprs.sendSMS(buffNumber,“继电器2状态关闭”);

}

//继电器3控制器

if(lastLine.indexOf(“Relay 3 ON”)》 = 0){

StatRelay [2] = AKTIF;

Serial.print( “回复==== 》》》》”);

Serial.println(“Relay 3 Status Active”);

gprs.sendSMS(buffNumber,“Relay 3 Status Active” “);

}

否则if(lastLine.indexOf(”Relay 3 OFF“)》 = 0){

StatRelay [2] = MATI;

Serial.print(“Reply ==== 》》》》”);

Serial.println(“Relay 3 Status Off”);

gprs.sendSMS(buffNumber,“Relay 3 Status Off”);

}

//Relay 4 Controller

if(lastLine.indexOf(“Relay 4”) ON“)》 = 0){

StatRelay [3] = AKTIF;

Serial.print(”回复==== 》》》》“);

Serial.println(“Relay 4 Status Active”);

gprs.sendSMS(buffNumber,“Relay 1 Status Active”);

}

else if(lastLine.indexOf(“Relay 4 OFF”)》 = 0){

StatRelay [3] = MATI;

Serial.print(“回复==== 》》》》“);

Serial.println(”Rela y 4状态关闭“);

gprs.sendSMS(buffNumber,”继电器4状态关闭“);

}

nextLineIsMessage = false;

}

//==================================== ============================== 》》

}

//清除用于下一行读取的char数组

for(int i = 0; i

currentLine [i] =(char)0;

}

currentLineIndex = 0;

}

else {

currentLine [currentLineIndex ++] = lastCharRead;

}

}

}

第4步:试一试!

此工具的工作原理是在SIM800L上发送带有某些关键字的短信。在此,要打开继电器1,请使用“继电器1接通”命令,并使用“继电器1关闭”命令将其关闭。对于其他几乎相同的继电器命令,只需根据受控继电器的序列号替换数字即可。在自动发送消息后,SIM800将以每张SIM的状态消息的形式发送回复。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    114

    文章

    17286

    浏览量

    185729
  • SIM800
    +关注

    关注

    1

    文章

    8

    浏览量

    6235
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    LV5144 95V同步降压控制器技术解析与应用指南

    Texas Instruments LV5144 95V同步降压控制器旨在对高输入电压源或会发生高电压瞬变的输入电源轨进行电压调节,从而尽可能地减少对外部浪涌抑制元件的需求。45ns的高侧开关超短导
    的头像 发表于 08-15 14:25 ?150次阅读
    <b class='flag-5'>LV</b>5144 95V同步降压<b class='flag-5'>控制器</b>技术解析与应用指南

    车载整机控制器 工程机械主机控制器#硕博电子#国产控制器

    控制器
    长沙硕博电子科技股份有限公司
    发布于 :2025年05月26日 09:09:02

    工程机械控制器厂家 控制器国产替代 #国产控制器#控制器厂家#控制器品牌

    控制器
    长沙硕博电子科技股份有限公司
    发布于 :2025年04月29日 14:15:05

    MCXC243微控制器的代码文件,无法生成时钟怎么解决?

    在这里, MCXC243(48 pin) 微控制器的代码文件,我无法生成时钟,请任何人给我提供并更正代码 在给定的代码中,代码在给定函数的下方中断 静态的 内嵌 void
    发表于 04-11 06:14

    LV5144 系列 95V 同步直流/直流降压控制器数据手册

    LV5144 95V 同步降压控制器由高输入电压源或受高压瞬变影响的输入轨进行调节,从而最大限度地减少了对外部浪涌抑制元件的需求。45ns 的高压侧开关最小导通时间可提供较大的降压比,从而实现
    的头像 发表于 03-19 17:28 ?571次阅读
    <b class='flag-5'>LV</b>5144 系列 95V 同步直流/直流降压<b class='flag-5'>控制器</b>数据手册

    工程机械控制器如何选型?控制器选型指南 #控制器 #车载控制器 #整车控制器 #控制器选型

    控制器
    长沙硕博电子科技股份有限公司
    发布于 :2025年03月14日 10:54:24

    低压单/双路比较-AiP331LV/AiP393LV

    低压单/双路比较-AiP331LV/AiP393LV
    的头像 发表于 02-25 10:20 ?497次阅读
    低压单/双路比较<b class='flag-5'>器</b>-AiP331<b class='flag-5'>LV</b>/AiP393<b class='flag-5'>LV</b>

    Y1620工程机械主机控制器 车载智能控制器 CAN总线 #工程机械控制器 #整车控制器 #车载控制器

    控制器
    长沙硕博电子科技股份有限公司
    发布于 :2025年02月10日 15:32:21

    ST7789V2单芯片控制器/驱动英文手册

    电子发烧友网站提供《ST7789V2单芯片控制器/驱动英文手册.pdf》资料免费下载
    发表于 11-24 15:42 ?20次下载

    如何选择合适的PID控制器

    在工业自动化领域,PID控制器因其简单、高效和广泛应用而备受青睐。PID代表比例(Proportional)、积分(Integral)和微分(Derivative)三个控制作用,它们共同作用于系统
    的头像 发表于 11-13 14:34 ?1392次阅读

    什么是PID控制器的原理 PID算法在自动化中的应用

    (Derivative)三个单词的首字母缩写,分别对应控制器的三种基本控制作用。 PID控制器的原理 比例(P)控制 :比例控制是PID
    的头像 发表于 11-13 14:27 ?3065次阅读

    用TPA2005D1做SIM800C的音频输出功放,然后接喇叭一点声音都没有,为什么?

    你好,我选用TPA2005D1做SIM800C的音频输出功放,然后接喇叭,一点声音都没有 如果SIM800C直接接喇叭,是有声音的,声音很小,电路图如下,请大神帮忙看看
    发表于 10-18 06:38

    国产控制器厂家 整车控制器 以太网控制器 CAN控制器 国产化替代

    控制器
    长沙硕博电子科技股份有限公司
    发布于 :2024年09月03日 09:15:51

    车载智能控制器 工程机械控制器 CAN总线控制器 硕博电子 #控制器 #can总线 #国产化替代

    控制器总线
    长沙硕博电子科技股份有限公司
    发布于 :2024年08月29日 10:43:57