Отправка и получение текстовых сообщений (SMS) с помощью GSM SIM900 Shield
Компоненты и расходные материалы
![]() |
| × | 1 | |||
| × | 1 |
Приложения и онлайн-сервисы
![]() |
| |||
![]() |
|
Об этом проекте

Один из важнейших элементов построения Интернета вещей проект - это возможность подключения устройств. Wi-Fi и Bluetooth - хорошие недорогие варианты, но они работают только на близком расстоянии или в зонах доступа. Когда устройству необходимо находиться в удаленном месте GSM - хороший и простой в настройке вариант.
В этом руководстве я покажу вам, как легко отправлять и получать SMS . сообщения через GSM с Arduino .
В следующих руководствах я также покажу вам, как подключиться через GSM . к Интернету и серверам доступа, а также как вы можете обрабатывать голосовые вызовы.
Шаг 1. Компоненты


- Один Arduino Mega (Вы можете использовать другие платы, но лучше всего использовать плату с 2 или более последовательными портами. Проект может быть изменен для использования программного последовательного порта, но рекомендуется использование аппаратного последовательного порта)
- Один GSM Shield на базе SIM900 или совместимый щит или модуль с установленной SIM-картой ( Рисунок 2 ) (Я использовал GSM / GPRS Shield версии 1.0 от Seeed Studio)
- 2 Женщина-Мужчина перемычки
Шаг 2. Подключите GSM Shield к Arduino





- Удалить перемычки из GSM Shield Перемычки выбора RX и TX ( Изображение 1 )
- Подключите GSM Shield в верхней части Arduino Mega
- Подключите мужской конец Мужчина-Женщина перемычка ( Оранжевый провод ) к RX1 Контактный разъем Arduino Mega ( Рисунки 2 и 3 )
- Подключите мужской конец Мужчина-Женщина перемычка ( Коричневый провод ) в TX1 Контактный разъем Arduino Mega ( Рисунки 2 и 3 )
- Подключите женский конец RX1 . провод ( Оранжевый провод ) к центральному штифту перемычки выбора RX GSM Shield ( Изображение 4 )
- Подключите женский конец TX1 . провод ( Коричневый провод ) к центральному штифту перемычки выбора передачи GSM Shield ( Изображение 4 )
- Изображение 5 показывает установленный и подключенный GSM Shield
Шаг 3. Запустите Visuino и выберите тип платы Arduino


Чтобы начать программировать Arduino, вам понадобится Arduino IDE . устанавливается отсюда:http://www.arduino.cc/.
Убедитесь, что вы установили 1.6.7 более поздней версии, иначе это руководство не будет работать!
Visuino :https://www.visuino.com также необходимо установить.
- Запустите Visuino как показано на первом рисунке
- Нажмите " Инструменты . "на компоненте Arduino ( Изображение 1 ) в Visuino
- В открывшемся диалоговом окне выберите « Arduino Mega 2560 . "как показано на рисунке 2
Шаг 4. В Visuino:установите скорость канала Serial 1 на 19200



GSM Shield по умолчанию настроен на скорость последовательного порта 19200. Нам нужно настроить последовательный порт 1 для этой скорости:
- В инспекторе объектов разверните " Последовательный "свойство, затем" Item [1] "Вложенное свойство и выберите его" Скорость . "Дополнительное свойство ( Изображение 1 )
- В Инспекторе объектов нажмите " Стрелка вниз . "рядом со значением" Скорость "Дополнительное свойство ( Изображение 1 )
- Из раскрывающегося списка в списке выберите " 19200 "( Изображение 2 ), чтобы изменить значение свойства ( Рисунок 3 )
Шаг 5. В Visuino:добавьте и подключите последовательный компонент GSM / GPRS




Нам нужно добавить компонент для управления модулем GSM. Модуль управляется через последовательный канал, поэтому нам нужно его подключить. Цифровой PIN-код 9 используется для включения / выключения Модуль:
- Введите " GSM "в поле" Фильтр "на панели инструментов компонентов, затем выберите" Последовательный порт GSM / GPRS "компонент ( Изображение 1 ) и поместите его в область дизайна ( Изображение 2 )
- Подключите " Выход "выходной контакт GSM1 компонент " In "входной контакт" Последовательный [1] "канал Arduino компонент ( рисунок 2 )
- Подключите " Питание "выходной контакт GSM1 компонент " Цифровой "входной контакт" Цифровой [9] "канал Arduino компонент ( рисунок 3 ). Эта булавка будет включать / выключать . мощность модуля GSM
Шаг 6. В Visuino:добавьте, настройте и подключите компонент "Текстовое значение"




Инициализация модуля GMS занимает некоторое время. Хорошо, если у нас есть какие-то признаки того, что модуль готов. Для этого мы отправим текст «GSM Ready» на последовательный порт, когда модуль будет готов:
- Введите " текстовое значение "в поле" Фильтр "на панели инструментов компонента, затем выберите" Текстовое значение "компонент ( Изображение 1 ) и поместите его в область дизайна ( Изображение 2 )
- В инспекторе объектов установите значение " Значение ". "свойство" Готовность к GSM "( Изображение 2 )
- Подключите « Готово "выходной контакт GSM1 компонент " In "входной контакт TextValue1 компонент ( рисунок 3 )
- Подключите " Выход "выходной контакт TextValue1 компонент " In "входной контакт" Последовательный [0] "канал Arduino компонент ( рисунок 4 )
Шаг 7. В Visuino:добавьте элемент короткого сообщения в компонент GSM, а затем функцию отправки сообщения в элемент




Компонент GSM состоит из множества модулей, выполняющих разные задачи. Поскольку мы будем использовать только SMS, нам нужно добавить только модуль «Короткое сообщение», а затем добавить к нему одну функцию «Отправить SMS»:
- В области дизайна выберите GSM1 компонент ( Изображение 1 )
- В Инспекторе объектов нажмите " ... "рядом со значением" Модуль "свойство GSM1 компонент ( Изображение 1 )
- В редакторе модулей выберите « Короткое сообщение . », А затем нажмите кнопку« »( Изображение 2 ), чтобы добавить один ( Изображение 3 )
- В Инспекторе объектов нажмите " ... "рядом со значением" Функции "свойство" короткого сообщения "модуль ( Изображение 3 )
- В редакторе функций выберите « Отправить SMS . », А затем нажмите кнопку« »( Изображение 2 ), чтобы добавить один
Шаг 8:В Visuino:настройте функцию отправки SMS и подключите информацию о полученном сообщении к последовательному порту




- В инспекторе объектов установите значение " Адрес "свойство" Отправить SMS "элемент к номеру телефона куда вы хотите отправить сообщение (в моем случае для проверки я ввел номер своей SIM-карты, чтобы модуль получал и распечатывал сообщения, которые он отправляет) ( Рисунок 1 - показывает вымышленное число)
- В инспекторе объектов выберите " Текст "свойство ( Изображение 2 )
- Нажмите " Закрепить "перед кнопкой" Текст "свойство ( Изображение 2 )
- Из раскрывающегося списка в списке выберите " String SinkPin "( Изображение 3 ). Это добавит новый " Текст "прикрепить к" Отправить SMS "функция ( Изображение 4 )
- Закройте диалоговые окна редактора элементов ( рисунок 4 . )
- Подключите " Выход "выходной контакт" MessageInfo "блок GSM1 компонент " In "входной контакт" Последовательный [0] "канал Arduino компонент ( рисунок 4 )
Шаг 9. В Visuino:добавьте и подключите компонент "Символ к тексту"



Последовательный порт получает по одному символу за раз. Чтобы отправить SMS-сообщение, нам нужно получить все символы из строки, создать из нее текст и отправить его в модуль GSM:
- Введите " символ "в поле" Фильтр "на панели инструментов компонента, затем выберите" Преобразование символа в текст ". "компонент ( Изображение 1 ) и поместите его в область дизайна ( Изображение 2 )
- Подключите " Выход "выходной контакт" Последовательный [0] "канал Arduino компонент " In "входной контакт CharToText1 компонент ( рисунок 2 )
- Подключите " Выход "выходной контакт CharToText1 компонент " Текст "входной контакт" Отправить SMS "элемент GSM1 компонент ( рисунок 3 )
Шаг 10:В Visuino:добавьте, настройте и подключите компонент задержки




Нам нужно убедиться, что мы отправляем SMS после того, как текст был правильно обновлен. Для этого мы можем использовать компонент Delay с короткой задержкой:
- Введите " задержка . "в поле" Фильтр "на панели инструментов компонентов, затем выберите" Задержка "компонент ( Изображение 1 ) и поместите его в область дизайна ( Изображение 2 )
- В инспекторе объектов установите значение « Интервал "свойство" 100 "( Изображение 2 )
- Подключите " Выход "выходной контакт CharToText1 компонент " In "входной контакт Delay1 компонент ( рисунок 3 )
- Подключите " Выход "выходной контакт Delay1 компонент " Часы "входной контакт" Отправить SMS "элемент GSM1 компонент ( рисунок 4 )
Шаг 11. Сгенерируйте, скомпилируйте и загрузите код Arduino


- В Visuino , Нажмите F9 или нажмите кнопку, показанную на Рисунке 1 для генерации кода Arduino и открытия IDE Arduino
- В Arduino IDE , нажмите Загрузить кнопку, чтобы скомпилировать и загрузить код ( Изображение 2 )
Шаг 12:И играем ...





Поздравляем! Вы завершили проект.
Изображение 1 показывает подключенный и включенный проект. На изображении 2 вы можете увидеть полную версию Visuino диаграмма. Если вы подключитесь с помощью последовательного терминала к Arduino, примерно через 30 секунд вы увидите сообщение « GSM Ready появляется сообщение ( Изображение 3 )
Если после появления сообщения вы наберете текст и нажмете " Отправить ". "( Изображение 4 ), текст будет отправлен в виде SMS-сообщения. Если вы выбрали номер телефона на шаге 8 к телефону SIM-карты на Shield, через некоторое время вы получите сообщение, и оно отобразится на последовательном терминале ( Рисунок 5 ). Если вы установили номер другого устройства на шаге 8 , сообщения будут отправлены на это устройство.
Вы можете отправлять SMS-сообщения на номер телефона с других телефонов и устройств, и они также будут отображаться в последовательном терминале.
Также прилагается Visuino проект, который я создал для этого учебника. Вы можете скачать и открыть его в Visuino . :https://www.visuino.com
F1FP7L0IQS4L35B.zip
Производственный процесс
- Система посещаемости с использованием Arduino и RFID с Python
- Датчик DHT11 со светодиодами и пьезо-динамиком
- Arduino Temp. Монитор и часы реального времени с дисплеем 3.2
- Управление роботом Roomba с помощью Arduino и устройства Android
- DIY вольтметр с Arduino и дисплеем Nokia 5110
- Управление серводвигателем с помощью Arduino и MPU6050
- Система мониторинга и обнаружения лесных пожаров (с SMS-оповещениями)
- u-blox LEA-6H 02 GPS-модуль с Arduino и Python
- Как читать температуру и влажность на Blynk с DHT11
- Распознавание и синтез речи с помощью Arduino