Запоминание значения номера телефона

Тема в разделе "Arduino & Shields", создана пользователем Роман Боженов, 8 фев 2018.

  1. Всем привет! С помощью какого оператора С++ контроллер может запомнить номер телефона?
    Суть в следующем. В данной функции: gprs.readSMS(message, phone, datetime); мы получаем значение (в том числе) номера телефона, от которого приходит СМС-сообщение. Хочу сделать так, чтобы контроллер "запомнил" номер телефона, от которого получит СМС с определенным текстом.
    Заранее спасибо!
     
  2. // если пришло новое сообщение
    if (gprs.ifSMSNow()) {
    // читаем его
    gprs.readSMS(message, phone, datetime);

    // выводим номер, с которого пришло смс
    Serial.print("From number: ");
    Serial.println(phone);

    // выводим дату, когда пришло смс
    Serial.print("Datetime: ");
    Serial.println(datetime);

    // выводим текст сообщения
    Serial.print("Recieved Message: ");
    Serial.println(message);


    Получил я номер телефона и текст СМС, а как запомнить номер телефона, при условии, что сообщение содержало определенный текст?
     
  3. vvr

    vvr Инженерище

    запоминать можно в память дуни и на сим карту.
     
  4. ostrov

    ostrov Гуру

    Читаем про EEPROM.
     
  5. b707

    b707 Гуру

    уточните - что значит "запомнить"? - оно у вас и так запомнено в переменной phone
     
  6. OlegROA

    OlegROA Нерд

    Если Вы хотите помнить эти номера только на время, пока на ардуино подается питание, то объявляете массив строк достаточно большого размера (но не превышающий размер памяти контроллера!) и записываете значение переменной phone в этот массив.
    Если Вы хотите собирать базу таких телефонов что бы она была доступна и после перезапуска контроллера, то смотрите в сторону подключения внешней карты памяти, на которую и будете сохранять эти телефоны.
     
  7. b707

    b707 Гуру

    Зачем обязательно карту? - имхо, не самое лучшее решение, так как требует дополнительного железа. Я всегда, когда есть выбор - препочитаю программные средства. Для начала можно сохранять номера в EEPROM - поместится порядка сотни номеров. А еще можно эти номера складывать по GPRS в облако в инете.
     
  8. OlegROA

    OlegROA Нерд

    EEPROM - решение не масштабируется и при превышении нужного кол-ва номеров придется переписывать программу.
    GPRS - дополнительное время на проверку существования такого номера в базе, лишний внешний трафик и, в некоторых случаях, лишние расходы.
    Решение с картой является самодостаточным и автономным. В случае необходимости можно накопленную базу сбрасывать разработчику по любому доступному каналу связи.
     
  9. ostrov

    ostrov Гуру

    EEPROM установить внешний, он больше, надежнее, можно наращивать. Флешка как вариант, но не факт что лучший.
     
  10. Я хочу, чтобы контроллер "запомнил" номер телефона (телефонов), с которых придет СМС с кодовым словом. Таких номеров будет максимум пять.
    Я понимаю, что значение номера уже "запомнено" в переменную phone, но при моем раскладе будет "запоминаться" номер любого номера, с которого придет СМС с любым содержанием.
     
  11. Получается, мне надо объявить глобальную переменную с кодовым словом и при получении СМС с помощью логических операторов производить сравнение переменных?
     
  12. Airbus

    Airbus Радиохулиган Модератор

    В СИМ можно сразу писать
     
  13. vvr

    vvr Инженерище

    парсите смс, если нашли кодовое слово - определяетесь с адресом в EEPROM и записываете номер в память