GSM sim800L volanie ked stlacim tlacidlo
Napsal: 31 říj 2020, 10:50
Ahojte som tu novy a nedari sa mi spravit jednoducha konfiguracia podreboval by som ked jednim tlacidlom uskutocnit hovor na 2-3 telefone cisla najpr jedno potom druhe ale nedari sa mi skombinovat tieto dva kody sms nepotrebujem potrebujem iba cisto hovor ..samotne kody funguju dobre ale dokopy ich nevime dat
// Tlacitko
#include <SoftwareSerial.h>
SoftwareSerial sim(10, 11);
int tlacPin = 2; // číslo pinu připojeného tlačítka
int ledPin = 3; // číslo pinu připojené LED diody
int stavTlac = 0; // proměnná stavu tlačítka
void setup() {
// nastavení LED jako výstup
pinMode(ledPin, OUTPUT);
// nastavení tlačítka jako vstup
pinMode(tlacPin, INPUT);
}
void loop() {
// načtení stavu tlačítka a uložení do proměnné
stavTlac = digitalRead(tlacPin);
// kontrola stisku tlačítka
// pokud je stisknuto tlačítko, stav je HIGH - log. 1
if (stavTlac == HIGH) {
// zapne LED diodu
digitalWrite(ledPin, HIGH);
}
// pokud není stisknuto tlačítko, stav je LOW - log. 0
else {
// vypne LED diodu
digitalWrite(ledPin, LOW);
}
}
#include <SoftwareSerial.h>
SoftwareSerial sim(10, 11);
int _timeout;
String _buffer;
String number = "+cislo"; //-> change with your number
void setup() {
delay(7000); //delay for 7 seconds to make sure the modules get the signal
Serial.begin(9600);
_buffer.reserve(50);
Serial.println("Sistem Started...");
sim.begin(9600);
delay(1000);
Serial.println("Type s to send an SMS, r to receive an SMS, and c to make a call");
}
void loop() {
if (Serial.available() > 0)
switch (Serial.read())
{
case 's':
SendMessage();
break;
case 'r':
RecieveMessage();
break;
case 'c':
callNumber();
break;
}
if (sim.available() > 0)
Serial.write(sim.read());
}
void SendMessage()
{
//Serial.println ("Sending Message");
sim.println("AT+CMGF=1"); //Sets the GSM Module in Text Mode
delay(1000);
//Serial.println ("Set SMS Number");
sim.println("AT+CMGS=\"" + number + "\"\r"); //Mobile phone number to send message
delay(1000);
String SMS = "Hello, how are you?";
sim.println(SMS);
delay(100);
sim.println((char)26);// ASCII code of CTRL+Z
delay(1000);
_buffer = _readSerial();
}
void RecieveMessage()
{
Serial.println ("SIM800L Read an SMS");
delay (1000);
sim.println("AT+CNMI=2,2,0,0,0"); // AT Command to receive a live SMS
delay(1000);
Serial.write ("Unread Message done");
}
String _readSerial() {
_timeout = 0;
while (!sim.available() && _timeout < 12000 )
{
delay(13);
_timeout++;
}
if (sim.available()) {
return sim.readString();
}
}
void callNumber() {
sim.print (F("ATD"));
sim.print (number);
sim.print (F(";\r\n"));
_buffer = _readSerial();
Serial.println(_buffer);
}
// Tlacitko
#include <SoftwareSerial.h>
SoftwareSerial sim(10, 11);
int tlacPin = 2; // číslo pinu připojeného tlačítka
int ledPin = 3; // číslo pinu připojené LED diody
int stavTlac = 0; // proměnná stavu tlačítka
void setup() {
// nastavení LED jako výstup
pinMode(ledPin, OUTPUT);
// nastavení tlačítka jako vstup
pinMode(tlacPin, INPUT);
}
void loop() {
// načtení stavu tlačítka a uložení do proměnné
stavTlac = digitalRead(tlacPin);
// kontrola stisku tlačítka
// pokud je stisknuto tlačítko, stav je HIGH - log. 1
if (stavTlac == HIGH) {
// zapne LED diodu
digitalWrite(ledPin, HIGH);
}
// pokud není stisknuto tlačítko, stav je LOW - log. 0
else {
// vypne LED diodu
digitalWrite(ledPin, LOW);
}
}
#include <SoftwareSerial.h>
SoftwareSerial sim(10, 11);
int _timeout;
String _buffer;
String number = "+cislo"; //-> change with your number
void setup() {
delay(7000); //delay for 7 seconds to make sure the modules get the signal
Serial.begin(9600);
_buffer.reserve(50);
Serial.println("Sistem Started...");
sim.begin(9600);
delay(1000);
Serial.println("Type s to send an SMS, r to receive an SMS, and c to make a call");
}
void loop() {
if (Serial.available() > 0)
switch (Serial.read())
{
case 's':
SendMessage();
break;
case 'r':
RecieveMessage();
break;
case 'c':
callNumber();
break;
}
if (sim.available() > 0)
Serial.write(sim.read());
}
void SendMessage()
{
//Serial.println ("Sending Message");
sim.println("AT+CMGF=1"); //Sets the GSM Module in Text Mode
delay(1000);
//Serial.println ("Set SMS Number");
sim.println("AT+CMGS=\"" + number + "\"\r"); //Mobile phone number to send message
delay(1000);
String SMS = "Hello, how are you?";
sim.println(SMS);
delay(100);
sim.println((char)26);// ASCII code of CTRL+Z
delay(1000);
_buffer = _readSerial();
}
void RecieveMessage()
{
Serial.println ("SIM800L Read an SMS");
delay (1000);
sim.println("AT+CNMI=2,2,0,0,0"); // AT Command to receive a live SMS
delay(1000);
Serial.write ("Unread Message done");
}
String _readSerial() {
_timeout = 0;
while (!sim.available() && _timeout < 12000 )
{
delay(13);
_timeout++;
}
if (sim.available()) {
return sim.readString();
}
}
void callNumber() {
sim.print (F("ATD"));
sim.print (number);
sim.print (F(";\r\n"));
_buffer = _readSerial();
Serial.println(_buffer);
}