Что нужно сделать, чтобы связаться с GSM-модулем?
Извините, я новичок. Я пытался запрограммировать автоматический дверной замок с помощью SMS. Но не понимаю, что происходит с этой ошибкой. Что мне делать? Добавить библиотеку? Ошибка говорила, что Pstring не объявлен, но я не знаю, как это сделать.
#include <LiquidCrystal.h>
#include "SIM900.h"
#include "sms.h"
#include "SoftwareSerial.h"
#include "sms.h"
SMSGSM sms;
boolean started=false;
char buffer[160];
char smsbuffer[160];
char n[20];
int pintu=5;
int buttonState;
int lastButtonState = LOW;
long lastDebounceTime = 0;
long debounceDelay = 50;
boolean st=false;
int buzzer=6;
void setup()
{
pinMode(pintu,OUTPUT);
pinMode(buzzer,OUTPUT);
digitalWrite(pintu,LOW);
if (gsm.begin(9600))
{
started=true;
digitalWrite(buzzer,HIGH);
delay(100);
digitalWrite(buzzer,LOW);
delay(100);
digitalWrite(buzzer,HIGH);
delay(100);
digitalWrite(buzzer,LOW);
delay(100);
digitalWrite(buzzer,HIGH);
delay(100);
digitalWrite(buzzer,LOW);
delay(100);
}
if(started)
{
delsms();
sms.SendSMS("08970869443","Pintu SMS Menyala");
}
else{digitalWrite(buzzer,HIGH); delay(2000); digitalWrite(buzzer,LOW);
}
}
void loop()
{
int pos=0;
if (gsm.begin(9600))
{
if (started){
pos=sms.IsSMSPresent(SMS_ALL);
if(pos)
{
sms.GetSMS(pos,n,smsbuffer,100);
delay(2000);
if(!strcmp(smsbuffer,"bukapintu"))
{
PString str(buffer, sizeof(buffer));
str.begin();
str.print("Pintu Dibuka");
digitalWrite(pintu,HIGH);
// String a=str
sms.SendSMS(n,buffer);
}
if(!strcmp(smsbuffer,"tutuppintu"))
{
PString str(buffer, sizeof(buffer));
str.begin();
str.print("Kunci Pintu Ditutup");
digitalWrite(pintu,LOW);
// String a=str
sms.SendSMS(n,buffer);
}
delsms();
}
}
}
}
void delsms()
{
for (int i=0; i<10; i++)
{
int pos=sms.IsSMSPresent(SMS_ALL);
if (pos!=0)
{
if (sms.DeleteSMS(pos)==1){}else{}
}
}
}
Сообщение об ошибке:
Arduino: 1.6.7 (Windows 10), Board: "Arduino/Genuino Uno"
D:\Kuliah\Project\Skripsi\pintu_sms\pintu_sms.ino: In function 'void loop()':
pintu_sms:67: error: 'PString' was not declared in this scope
PString str(buffer, sizeof(buffer));
^
pintu_sms:67: error: expected ';' before 'str'
PString str(buffer, sizeof(buffer));
^
pintu_sms:68: error: 'str' was not declared in this scope
str.begin();
^
pintu_sms:76: error: 'PString' was not declared in this scope
PString str(buffer, sizeof(buffer));
^
pintu_sms:76: error: expected ';' before 'str'
PString str(buffer, sizeof(buffer));
^
pintu_sms:77: error: 'str' was not declared in this scope
str.begin();
^
exit status 1
'PString' was not declared in this scope
0
Смотрите также:
- Получить массив символов с помощью модуля SIM900
- avrdude ser_open() can't set com-state
- Float печатается только 2 десятичных знака после запятой
- ошибка: espcomm_upload_mem failed при загрузке скетча
- Печать массива байтов на экране последовательного монитора Arduino IDE
- Программа Arduino работает только при запуске от имени root
- Проблема с получением SMS - GSM-модуль Arduino Uno и SIM900A
- Мини-модем SIM900a, IMEI 0, помощь с контактами TX RX