Не получается отправить показания с датчика с помощью SMS, используя Sim800F
- Войдите на сайт для отправки комментариев
Чт, 06/05/2021 - 14:24
// для теста подключил потенциометр
val = analogRead(analogPin); // считываем значение с аналогового датчика
int t;
t = val / 4;
if(started)
{
// эта часть работает корректно
if (t>200)
{
if (sms.SendSMS("номер телефона", "AVARIA T>200"))
Serial.println("\nSMS sent OK");
}
//Считывание входящих SMS и отсылка его в Serial port
sms_position=sms.IsSMSPresent(SMS_UNREAD);
if (sms_position)
{
// прочитывание нового SMS
Serial.print("SMS postion:");
Serial.println(sms_position,DEC);
// Загрузка информации о SMS в массивы
sms.GetSMS(sms_position, phone_number, sms_text, 100);
delay(300);
// Отправка в Serial содержание SMS
Serial.println(phone_number);
Serial.println(sms_text);
// Проверка входящего SMS, на наличие ключей
if (!strcmp(admin,phone_number))
{
if (!strcmp(key,sms_text))
{
// тут собственно и зарыт сам вопрос... не могу понять как можно отправить показания с датчика
if (sms.SendSMS("номер телефона", "T='t'"))
Serial.println("\nSMS sent OK");
}
}
// очистка входящих SMS
for(i=1;i<=20;i++)
{
sms.DeleteSMS(i);
}
}
delay(300);
delay(1000);
Как написано выше... Интересно следующее... Как можно отослать в SMS показания датчика из массива "int", есть ли какой либо способ)
p.s. на скобки "{" прошу не обращать внимания... возможно неаккуратно копировал из кода)
Как можно отослать в SMS показания датчика из массива "int", есть ли какой либо способ)
p.s. на скобки "{" прошу не обращать внимания... возможно неаккуратно копировал из кода)
Способ есть, конечно. Вот так то делается
bool sendSMS(const char * nomer, const int * mas, const uint8_t len) { //... } void setup(void) { int massiv[] = { 1, 2, 3, 4 }; constexpr uint8_t len = sizeof(massiv)/sizeof(massiv[0]); Serial.begin(9600); const bool result = sendSMS("+79601234567",massiv,len); Serial.println(result ? "Успешно" : "Ошибка"); } void loop(void) {}P.S. на отсутствие тела функции прошу не обращать внимания... возможно неаккуратно копировал из кода)
Евгений, большое спасибо))
p.s. честное cлово)... даже не заметил XD
Здраствуйте, спустя долгое время, попробовал ваш код. При его реализации в порте возникает сообщение "Ошибка"... Интересует, как это можно исправить?...
Возможно ли, что проблема в отсутствии программы... в строке 01, необходимо ли заранее объявлять массивы/переменные "nomer","mas","uint8_t len". И в целом, хотелось бы узнать как работает данный вами участок кода :)