Акции
Блог
О 3DiY
  • О компании
  • Реквизиты
  • Партнеры
  • Клиенты
  • Вакансии
Оплата
Доставка
Гос. закупки
Товары под заказ
ВК Видео
Отзывы
Услуги
  • 3D печать
    • 3D печать пластиком FDM/FFF
    • 3D печать фотополимером
Контакты
  • Как до нас добраться
    8 (800) 500-45-93
    8 (800) 500-45-93отдел продаж Россия
    8 (495) 565-35-93отдел продаж Москва
    E-mail
    info@3d-diy.ru — отдел продаж

    print@3d-diy.ru — 3D печать на заказ

    support@3d-diy.ru — тех. поддержка

    buh@3d-diy.ru — Бухгалтерия
    Адрес
    Москва, Павелецкая набережная, 2с1
    Как до нас добраться, см. тут
    Режим работы
    пн - пт 09:00—18:00
    3DIY
    Войти
    0Сравнение
    0Избранное
    0Корзина
    3D принтеры3D сканерыПластик для 3D принтераФотополимерыКомплектующие 3DКомплектующие ЧПУЗапчасти 3D принтеров по брендам3D печать на заказ
    3DIY
    Войти
    0Сравнение
    0Избранное
    0Корзина
    3DIY
    Телефоны
    8 (800) 500-45-93отдел продаж Россия
    8 (495) 565-35-93отдел продаж Москва
    E-mail
    info@3d-diy.ru — отдел продаж

    print@3d-diy.ru — 3D печать на заказ

    support@3d-diy.ru — тех. поддержка

    buh@3d-diy.ru — Бухгалтерия
    Адрес
    Москва, Павелецкая набережная, 2с1
    Как до нас добраться, см. тут
    Режим работы
    пн - пт 09:00—18:00
    0
    0
    0
    • Кабинет
    • 0Сравнение
    • 0Избранное
    • 0Корзина
    • Бренды
    • Акции
    • Услуги
      • Услуги
      • 3D печать
        • 3D печать
        • 3D печать пластиком FDM/FFF
        • 3D печать фотополимером
    • Компания
      • Компания
      • О компании
      • Реквизиты
      • Партнеры
      • Клиенты
      • Вакансии
    • Блог
    • Информация
      • Информация
      • Гарантия на товар
      • Возврат товара
      • Положение о персональных данных
      • Политика конфиденциальности
      • Согласие на получение рекламы
      • Пользовательское соглашение
      • Согласие на обработку персональных данных
      • Использование cookie-файлов
      • Договор-оферта
    • Контакты
      • Контакты
      • Как до нас добраться
    8 (800) 500-45-93отдел продаж Россия
    • Телефоны
    • 8 (800) 500-45-93 отдел продаж Россия
    • 8 (495) 565-35-93 отдел продаж Москва
    • info@3d-diy.ru — отдел продаж

      print@3d-diy.ru — 3D печать на заказ

      support@3d-diy.ru — тех. поддержка

      buh@3d-diy.ru — Бухгалтерия
    • Москва, Павелецкая набережная, 2с1
      Как до нас добраться, см. тут
    • пн - пт 09:00—18:00
    Главная
    Блог
    Модули
    GSM GPRS SIM900 Shield

    GSM GPRS SIM900 Shield

    GSM GPRS SIM900 Shield
    Модули 1 января 2024

    Содержание

    • Обзор платы GSM/GPRS SIM900 Shiel
    • Подключение к плате Arduino
    • Управление модулем GSM GPRS SIM900 с помощью AT-команд
    • Пример отправки sms-сообщений с платы Arduino
      Часто задаваемые вопросы

    Обзор платы GSM/GPRS SIM900 Shield

    Плата Arduino GPRS/GSM Shield (рисунок 1) предоставляет нам возможность использовать для удаленного приема и передачи данных мобильной GSM-связи. Осуществить это можно тремя способами:

    • используя отправку/прием коротких текстовых сообщений (SMS);

    • отправкой голосовых (аудио) команд на основе технологий CSD (стандартная технология передачи данных в сети GSM) и/или DTMF (двухтональный многочастотный аналоговый сигнал, используемый для набора телефонного номера);

    • используя пакетную передачу данных на основе технологии GPRS.

    • Плата построена на базе модуля SIMCom SIM900.

    Также на ней расположены:

    • слот для SIM-карты;

    • джек 3,5 мм для аудио-входа и выхода;

    • разъём для внешней антенны.

    Общение с платой производится через serial-соединение с помощью набора AT-команд. С помощью перемычек на плате возможно установить используемые для коммуникации контакты: аппаратные 0- 1-й или 2-3 (на некоторых платах) 7- 8-й для работы через SoftwareSerial.

    gsm-gprs-shield-sim900-01.jpg

    Рисунок 1. GPS GPRS shield.

    Плату GSM GPRS SIM900 Shield можно включить двумя способами:

    • аппаратным (нажатие кнопки PWRKEY);

    • программным.


    Подключение к плате Arduino 

    Плата GSM GPRS SIM900 Shield сделана в формате шилда для плат Ардуино. Контакты шилда (гребенки) легко вставляются в разъемы платы, образуя при этом "бутерброд" (рисунок 2).

    gsm-gprs-shield-sim900-02.jpg

    Рисунок 2. Установка GPS GPRS shield на плату Arduino. 


    Управление модулем GSM GPRS SIM900 с помощью AT-команд

    Рассмотрим управление модулем GSM GPRS shield с помощью AT-команд. Для этого установим модуль на плату Arduino и подключим её к компьютеру. Arduino-скетч отправки и получения данных между компьютером и модулем GSM GPRS shield через плату показан в листинге 1.


    Листинг 1

    #include <SoftwareSerial.h>

    // создание объекта

    SoftwareSerial grs(7, 8); // RX, TX

    // скорость обмена

    #define GSMbaud 9600

    String str1;

    char buff[100];  

    void setup() {

    Serial.begin(9600);

    gsm.begin(GSMbaud);

    Serial.println("Start");

    }  

    void loop() {

    if (Serial.available()) {

        str1 = Serial.readStringUntil('\n');

        str1.toCharArray(buffer, hh.length() + 1);

        gsm.write(buffer);

        gsm.board.write('\n');

    }

    if (gsm.available()) {

        Serial.write(gprs.read());

    }

    }

    Загружаем скетч на плату ардуино, открываем монитор последовательного порта и набираем команды установки режима:

    AT+CREG=1

    AT+CREG?

    Команда проверки подключения модуля к GPRS-сети, которую при ответе COMMAND NO RESPONSE необходимо постоянно повторять

    AT + CGATT=1

    AT + CGATT?

    Подключаемся к точке доступа оператора связи. Для Билайн:

    AT + CGDCONT = 1, "IP", "internet.beeline.ru"

    AT + CSTT = "internet.beeline.ru","", ""

    Установка интернет-соединения:

    AT + CGACT = 1,1

    Обращение к интернет-ресурсу

    AT + CIPSTART = "TCP", www.yandex.ru ", 80

    Весь процесс подключения представлен на рисунке 3.

    gsm-gprs-shield-sim900-03.jpg

    Рисунок 3. Процесс работы с модулем GSM GPRS SIM800 в мониторе последовательного порта.


    Пример отправки sms-сообщений с платы Arduino

    Рассмотрим пример использования отправки sms-сообщений при уменьшении температуры воздуха в помещении ниже определенного значения. Нам потребуются следующие детали:

    • плата Arduino Uno – 1 шт;

    • плата прототипирования – 1 шт;

    • модуль GSM GPRS Shield – 1 шт;

    • sim-карта сотового оператора с положительным балансом;

    • модуль датчика DHT11 – 1 шт;

    • блок питания 12В – 1 шт;

    • провода.

    Схема подключения показана на рисунке 4.

    gsm-gprs-shield-sim900-04.jpg

    Рисунок 4. Схема подключения для отправки sms-сообщений при низких значениях температуры воздуха.

    Приступим к написанию скетча. Каждые 30 секунд получаем данные влажности и температуры с датчика DHT11. Используем библиотеку DHT. При значении температуры ниже критического отправляем sms на номер указанный в константе PHONE. И делаем паузу на 10 минут.

    Содержимое скетча показано в листинге 2.


    Листинг 2

    // подключение библиотек

    #include <SoftwareSerial.h>

    #include "DHT.h"

    // телефон для отправки sms

    #define PHONE_NUMBER "+7928222222"

    // создание объектов

    SoftwareSerial gsm(7, 8);

    DHT sensorDHT(2, DHT22);

    // пороговое значение температуры

    #define TEMPP 18

    unsigned long millissend;

    void setup() {

       // запуск последовательного порта

       Serial.begin(9600);

       // запуск датчика DHT

       sensorDHT.begin();

       // запуск SoftwareSerial

       gsm.begin(9600);

    }

    void loop() {

       if (millis()-millissend>30*1000) { // показания каждые 30 секунд?

          // получение данных с датчика DHT

          int h = sensorDHT.readHumidity();

          int t = sensorDHT.readTemperature();

          if(t<TEMPP) {

             // отправить sms

             SendSMS(t);

             // ждем 10 минут

             delay(10*60*1000);   

          }

          millissend=millis();

       }

    }

    // отправка sms

    void SendSMS(int t) {

       // установка text mode

       gsm.print("AT+CMGF=1\r");

       delay(100);

       // телефон

       gsm.println("AT + CMGS = \"");

       gsm.println(PHONE_NUMBER);

       gsm.println("\"");

       delay(50);

       // отправить данные t

       gsm.println(t);

       delay(50);

       // окончание передачи

       gsm.println((char)26);

       delay(50);

       gsm.println();

    }

    Загружаем скетч, проверяем событие прихода sms-сообщения на выбранный номер телефона при критическом значении температуры.

    gsm-gprs-shield-sim900-05.jpg

    Рисунок 5. Схема в сборе.

    Создадим прошивку получения данных при отправке sms-сообщения на sim-карту, находящийся в модуле GSM GPRS shield. Содержимое скетча показано в листинге 3.


    Листинг 3

    // подключение библиотек

    #include <SoftwareSerial.h>

    #include "DHT.h"

    // создание объектов

    SoftwareSerial gsm(7, 8);

    DHT sensorDHT(2, DHT22);

    // переменные

    String phone = ""

    String str1 = ""; //

    boolean isSMS = false;

    void setup() {

       // подключение последовательного порта

       Serial.begin(9600);

       // запуск датчика DHT

       dht.begin();

       // запуск SoftwareSerial

       gsm.begin(9600);

       // Настройка приёма сообщений

       gsm.print("AT+CMGF=1\r");

       delay(500);

       gsm.print("AT+IFC=1, 1\r");

       delay(500);

       gsm.print("AT+CPBS=\"SM\"\r");

       delay(500);

       gsm.print("AT+CNMI=1,2,2,1,0\r");

       delay(500);

    }  

    void loop() {

       if (gsm.available()) {

          char c = gsm.read();

          if ('\r' == c) {

             if (isSMS) { // текущая строка - sms-сообщение,

                if (!str1.compareTo("tmp")) { // текст sms - tmp

                   // отправить sms на приходящий номер

                   // получение данных

                   int t = dht.readTemperature();

                   // AT-команда установки text mode

                   gsm.print("AT+CMGF=1\r");

                   delay(100);

                   // номер телефона получателя

                   gsm.println("AT + CMGS = \"");

                   gsm.println(phone);

                   gsm.println("\"");

                   delay(50);

                   // сообщение – данные температуры

                   gsm.println(t);

                   delay(50);

                   // окончание передачи

                   gsm.println((char)26);

                   delay(50);

                   gsm.println();

                }

                Serial.println(currStr);

                isSMS = false;

             }

             else {

                if (str1.startsWith("+CMT")) {

                   Serial.println(str1);

                   // выделить из сообщения номер телефона

                   phone=str1.substring(7,19);

                   Serial.println(phone);

                   // если текущая строка начинается с "+CMT",

                   // то следующая строка является сообщением

                   isSMS = true;

                }

             }

             str1 = "";

          }

          else if ('\n' != c) {

             str1 += String(c);

          }

       }

    }

    Загружаем скетч на плату, отправляем sms-сообщение с текстом tmp на sim-карту и получаем в ответ sms-сообщение с данными температуры.


    Часто задаваемые вопросы FAQ

    1. Нет связи с Arduino по последовательному порту.

    • Проверьте питание платы.

    • Проверьте правильность установки перемычек.

    2. Не отправляются sms-сообщения

    • Проверьте наличие внешнего питание GSM GPRS shield.

    • Проверьте баланс sim-карты.

    Документы

    sim900-shield-listing-01.ino
    529 байт
    sim900-shield-listing-02.ino
    1,2 Кб
    sim900-shield-listing-03.ino
    1 Кб

    Это интересно

    Драйвер шагового двигателя A4988
    Модули
    Драйвер шагового двигателя A4988
    1 января 2024
    RFID-модуль RC522
    Модули
    RFID-модуль RC522
    1 января 2024
    Реле электромеханическое 10А 5В
    Модули
    Реле электромеханическое 10А 5В
    1 января 2024
    Драйвер двигателя L9110S
    Модули
    Драйвер двигателя L9110S
    1 января 2024
    Nodemcu Lua Wi-Fi на Esp8266
    Модули
    Nodemcu Lua Wi-Fi на Esp8266
    1 января 2024
    Wi-Fi модуль ESP-01
    Модули
    Wi-Fi модуль ESP-01
    1 января 2024
    • Комментарии
    Загрузка комментариев...
    Назад к списку
    • Все публикации277
      • 3D принтеры59
      • 3D печать64
      • ЧПУ10
      • Датчики27
      • Модули38
      • 3D сканеры1
      • Arduino механика6
      • Arduino платы8
      • Дисплеи6
      • Кейсы1
      • Компоненты13
      • Мировые новости35
      • Проекты7
      • Сопутствующие2
    Связаться с нами
    8 (800) 500-45-93
    8 (800) 500-45-93отдел продаж Россия
    8 (495) 565-35-93отдел продаж Москва
    E-mail
    info@3d-diy.ru — отдел продаж

    print@3d-diy.ru — 3D печать на заказ

    support@3d-diy.ru — тех. поддержка

    buh@3d-diy.ru — Бухгалтерия
    Адрес
    Москва, Павелецкая набережная, 2с1
    Как до нас добраться, см. тут
    Режим работы
    пн - пт 09:00—18:00
    info@3d-diy.ru — отдел продаж

    print@3d-diy.ru — 3D печать на заказ

    support@3d-diy.ru — тех. поддержка

    buh@3d-diy.ru — Бухгалтерия
    Москва, Павелецкая набережная, 2с1
    Как до нас добраться, см. тут
    Магазин
    Бренды
    Акции
    Каталог
    Услуги
    Компания
    О компании
    Реквизиты
    Партнеры
    Клиенты
    Вакансии
    Информация
    Гарантия на товар
    Возврат товара
    Положение о персональных данных
    Политика конфиденциальности
    Согласие на получение рекламы
    Пользовательское соглашение
    Согласие на обработку персональных данных
    Использование cookie-файлов
    Договор-оферта
    Помощь
    Условия оплаты
    Условия доставки
    Товары под заказ
    Гос. закупки
    Как сделать заказ
    Вопрос-ответ
    2013 - 2026 © 3DiY (Тридиай) - интернет-магазин комплектующих для 3D принтеров, ЧПУ станков и робототехники
    Конфиденциальность
    Оферта
    ГлавнаяКаталог0Корзина0ИзбранныеКабинет0Сравнение
    d =
    Наш сайт использует куки. Продолжая им пользоваться, вы соглашаетесь на обработку персональных данных в соответствии с политикой конфиденциальности.
    Согласен