Какую статью добавить следующей?

Рассмотрим как связать Адруино с GSM модулем SIM800L. Существуют GSM шилды специально для Ардуино, но по цене они достаточно дороги, потому решил приобрести бюджетный вариант. Статья может быть полезна так же для подключения модуля SIM900, NEOWAY M590, и некоторых сотовых телефонов. Неудобный нюанс в том, что этот модуль требует нестандартное для Ардуино питание 3.7В, поэтому запитывать пришлось отдельно через понижающий преобразователь напряжения.

Подключение

Для подключения я использовал следующие компоненты:

  1. Контроллер Arduino UNO R3 + USB кабель
  2. GSM модуль SIM800L (питание от 3.7В до 4.2В)
  3. Преобразователь напряжения понижающий (DC-DC step-down converter)
  4. Батарея 12В (или любой источник питания от 6В до 20В)
  5. Соединительные провода

Соединяем Ардуино с компьютером через USB кабель.

gsm scheme thumbДаем питание к GSM модулю от батареи 12В через преобразователь:

  • от 12В "минус" идет на ардуино в "GND", от "GND" в преобразователь напряжения во "входящий минус".
  • от 12В "плюс" идет в преобразователь напряжения во "входящий плюс".

Возникает вопрос: можно ли подать питание от самой Ардуино от 5В? Напрямую не рисковал бы. Но можно подобрать диод или стабилизатор напряжения.

Перед подключением к преобразователю напряжения необходимо его настроить выставив выходное напряжение на любое в диапазоне 3.7В - 4.2В. От преобразователя напряжения выходящие контакты подключаем к GSM модулю, соблюдая полярность.

TX и RX контакты на GSM модуле соединяем с 2 и 3 цифровыми контактами на Ардуино. Если необходимо подключить несколько GSM модулей к Arduino, то используйте другие пины и прописывайте в скетче через SoftwareSerial.

 

Скетч

#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3); // RX, TX
void setup() {
  Serial.begin(19200);  //Скорость порта для связи Arduino с компьютером
  Serial.println("Goodnight moon!");
  mySerial.begin(19200);  //Скорость порта для связи Arduino с GSM модулем
  mySerial.println("AT");
}

void loop() {
  if (mySerial.available())
    Serial.write(mySerial.read());
  if (Serial.available())
    mySerial.write(Serial.read());
}

 

 Процедура для отправки СМС

void sms(String text, String phone) {
  Serial.println("SMS send started");
  mySerial.println("AT+CMGS=\"" + phone + "\"");
  delay(1000);
  mySerial.print(text);
  delay(300);
  mySerial.print((char)26);
  delay(300);
  Serial.println("SMS send finish");
  delay(3000);
}

Процедуру добавлять в конец скетча и вызывать её из основного цикла так:  sms(String("текст СМС на англ."),String("+791212345678"));

Только отправлять СМС рекомендую по какуму нибудь событию и не просто так в цикле, а то бесконечно будет отправлять и деньги все съест с СИМки. Подключите датчик температуры или кнопку и по ее срабатывании отправляйте смс.

Проверка

Включаем питание затем через монитор порта, выставив скорость 19200 и обязательно опцию "новая строка".

Вводите команду "ATI" и нажмите ENTER. Должна появиться информация от модели модуля.

Пробовал отправить на модуль СМСку через бесплатный сервис от Теле2, приходят непонятные строки. Пробовал в модуле сменить кодировки. Вопрос пока не решен.

 

Видео

Комментарии  
+6 # Андрей 17.12.2015 16:29
В даташите пишут напряжение serial port = 2.8 вольт, а вы от пяти питаете, даже схемку на транзисторе и трех резисторах прилагают для ТХ а так же для RX...
как так?
Ответить | Ответить с цитатой | Цитировать
-1 # физ 17.12.2015 17:32
Сам не пойму ))
Ответить | Ответить с цитатой | Цитировать
+5 # Андрей 18.12.2015 13:00
Спасибо автору за вводный урок!
Я все же побоялся спалить модуль который ждал месяц, и решил руководствоваться даташитом на модуль. TX модуля и RX ардуины соединил через резистор 1ком, а TX ардуины и RX модуля соединил через делитель 1ком + 1.2ком. Иначе с ардуины идет 5в что не есть хорошо. Теперь на ТХ и RX модуле как положено 2.8 вольт.
Все завелось с пол пинка на скетче в статье!
Ответить | Ответить с цитатой | Цитировать
0 # Дмитрий 23.12.2015 22:04
Сделал всё как в статье: питание 12В 2А скидывается до 4В, СИМ-ка стоит правильно (срезанным углом наружу), но всё ограничивается диалогом с модулем. Сеть не находит, диод мигает часто. Что может быть не так?
Ответить | Ответить с цитатой | Цитировать
-1 # физ 23.12.2015 22:22
1. симка в телефоне работает?
2. какой уровень сигнала в телефоне показывает (на модуле антенна может похуже быть)?
3. другого оператора симку попробовать.
Ответить | Ответить с цитатой | Цитировать
0 # Дмитрий 23.12.2015 23:38
1. Да, все три симки работают в телефонах
2. Уровень в норме, а на модуле внешняя антенна
3. Ну, Билайна, МТС и Теле2, думаю, достаточно

У меня, кстати, два таких модуля. Один как в статье, другой поменьше. С обоими одно и то же.

Кстати, скидывал до заводских настройки модуля через АТ-команды. Это могло повлиять?
Ответить | Ответить с цитатой | Цитировать
0 # Михаил 23.01.2016 00:45
Цитирую Дмитрий:
1. Да, все три симки работают в телефонах
2. Уровень в норме, а на модуле внешняя антенна
3. Ну, Билайна, МТС и Теле2, думаю, достаточно

У меня, кстати, два таких модуля. Один как в статье, другой поменьше. С обоими одно и то же.

Кстати, скидывал до заводских настройки модуля через АТ-команды. Это могло повлиять?


Вы как-то решили этот вопрос? У меня 2 модуля и оба не могут зарегистрироваться в сеть. С питанием все в порядке. Сами модули на АТ - команды дают отклик.
Ответить | Ответить с цитатой | Цитировать
0 # Дмитрий 23.01.2016 11:50
Нет, так и не смог. Но проблема смотрится похожей.
Ответить | Ответить с цитатой | Цитировать
0 # Alex 25.01.2016 17:02
PIN на симках то отключен? Чтобы автоматически подключалось к сети, надо отключить, но можно и через AT команды вводить PIN, есть какая-то команда, в инете можно найти.
Ответить | Ответить с цитатой | Цитировать
-2 # Дмитрий 25.01.2016 17:20
Кстати, резонно. На Теле2 дефолтный ПИН стоит. Вот только на Билайне ПИНа нет, но ведёт себя так же.
Ответить | Ответить с цитатой | Цитировать
-1 # Александр 23.05.2017 10:01
Если не жалко модуль - то можете попробовать (мне помогло - модуль зарегистрировался в сети, в таком режиме тестировал около 6 часов, модуль не сдох): увеличить питание до 5.2-5.5В (лучше плавно увеличивать до стабильной работы). Вольтаж проверять командой AT+CBC (выводит в милливольтах). Модуль у меня работает только на скорости 9600. Делитель напряжения на двух резисторах 4.7 и 5.6кОМ.
Ответить | Ответить с цитатой | Цитировать
+4 # Александр 23.05.2017 11:10
Если можете - попробуйте на оживленной дороге перейти на красный свет... я попробовал - мне повезло..
А лучше поперебегайте несколько раз туда-сюда...
на водителей не обращайте внимания, даташиты ведь не для нас...
Ответить | Ответить с цитатой | Цитировать
+1 # Николай 19.01.2016 15:41
Здравствуйте. Подскажите, поддерживает ли данный модуль стек протоколов TCP/IP?
Ответить | Ответить с цитатой | Цитировать
0 # физ 19.01.2016 16:10
Посмотрите в даташите к этому модулю на странице товара.
Ответить | Ответить с цитатой | Цитировать
+1 # Maxus 20.01.2016 11:24
Спасибо Вам за статью, подключил - заработало. Правда полдня убил, чтобы выяснить, что китайская перемычка папа-мама не рабочая попалась, как раз на TX пришлось у меня)
Ответить | Ответить с цитатой | Цитировать
+8 # Александр 24.01.2016 01:19
Скажите, вы хоть ктото читали мануал сим800????!!
там уровни сигналов 0-2,8В а у Ардуино 0-5В !!!
никаких мыслей не возникает?
Ответить | Ответить с цитатой | Цитировать
+2 # Александр 24.01.2016 02:37
а ничего что у сим800 - 2,8В уровень логический а у ардуино 5в ??!!
потом не стоит задавать вопросов - почему мол не работает..
Ответить | Ответить с цитатой | Цитировать
-3 # Алексей 13.03.2016 02:15
RX и TX подключил напрямую к ArduinoUno и все работает стабильно уже несколько суток. Настроена передача данных на FTP каждые 15 минут. Ни одного потерянного пакета.
Ответить | Ответить с цитатой | Цитировать
+1 # Тарас 22.02.2018 00:24
Цитирую Алексей:
RX и TX подключил напрямую к ArduinoUno и все работает стабильно уже несколько суток. Настроена передача данных на FTP каждые 15 минут. Ни одного потерянного пакета.

Не поделитесь скетчем как на фтп грузить через sim800l?
Ответить | Ответить с цитатой | Цитировать
0 # Alex 25.01.2016 17:05
Это что же получается этот модуль сам стартует после подачи питания, а то у других надо или АТ командой, или на определенные пины подать что-нибудь, или аппаратно включать...
Ответить | Ответить с цитатой | Цитировать
+1 # Maxus 26.01.2016 02:59
Сам стартует, помнит многие параметры, такие как выводить номер вызывающего например, есть встроенные часы реального времени (RTC)...
Ответить | Ответить с цитатой | Цитировать
+2 # Антон Арт 26.01.2016 13:35
ВАЖНО!!!

Поскольку промучался порядочно с таким же модулем,
очень рекомендую в void setup() добавить:
delay(2000); в самом начале

– примерно столько нужно времени gsm модулю, чтобы запуститься и быть готовым к командам после включения питания. Ардуино же стартует почти мгновенно.

Поэтому, если, например, послать какую-либо команду ДО того как модуль прогрузится – в serial.read интерфейсе можно увидеть всякие иероглифы и кракозяблики. Если же в этот момент отправить команду перевода модема в текстовый режим AT+CMGF=1 , то она просто не сработает и смс не будут отправляться.

---

А вообще спасибо большое автору :)
Ответить | Ответить с цитатой | Цитировать
-5 # Антон Арт 26.01.2016 13:39
C питанием разобрался так:
Зарядка от айпада или аналогичная 5 вольт 2 ампера.
Сначала питает ардуино, подключением к выходу 5v, затем через два последовательных толстых диода 1N5404 рассеиваем напряжение до примерно 4v и питаем модуль.
Ответить | Ответить с цитатой | Цитировать
0 # Михаил 03.02.2016 21:17
Скажите, а кто разабрался с тем, как отправлять данные с этого модуля? Не получается связаться с narodmon.ru.

Может кто-то поможет?
Ответить | Ответить с цитатой | Цитировать
0 # max 14.02.2016 06:18
Друзья этот блок использовать как телефон можно? На rx th цифровой сигнал или аналоговый.
Ответить | Ответить с цитатой | Цитировать
0 # armleo 07.07.2016 16:48
на RX,TX ТОЛЬКО цифровой
Ответить | Ответить с цитатой | Цитировать
0 # Виталий 17.02.2016 13:45
Почему то не сохраняется установленная скорость. Устанавливаю командой AT+IPR=9600, скорость устанавливается, но после выключения/включения модема сбрасывается на автоопределение. Не подскажите почему?
Ответить | Ответить с цитатой | Цитировать
0 # Виталий 18.02.2016 09:56
Проблему решил путём сброса на заводские настройки командами: AT&F, AT&W .
Ответить | Ответить с цитатой | Цитировать
+1 # Алексей 21.02.2016 00:20
Добрый день, Собрал схему, все работает, интресует как можно было бы получить смс в автоматизированном режиме (чтобы не руками вводить команды в Serial Monitor), а например раз в час программа их вытягивала и ложила в файл. Есть у кого-либо идеи? Я пытался использовать IDE Processing, там можно записать в файл то что пришло с Serial, но у меня никак не получается получить ответ от команд (Например та же АТI). Уже целый день просидел и безрезультатно
void draw()
{
if ( myPort.available() > 0)
{ // If data is available,
val =myPort.readString();
if (val != null) {
println(val); //print it out in the console
output.println( val );
}
}

if (mousePressed == true)
{
myPort.write("ATI");
println("ATI");
}
}
Если кто сталкивался с такой проблемой и решил ее, буду очень признателен.
Ответить | Ответить с цитатой | Цитировать
0 # Alex 23.02.2016 14:59
Подскажите , можно ли в SoftwareSerial mySerial(2, 3) поменять 2 и 3 иестами, сделать SoftwareSerial mySerial(3, 2) ?
Ответить | Ответить с цитатой | Цитировать
0 # физ 23.02.2016 18:15
Можно конечно.
Ответить | Ответить с цитатой | Цитировать
0 # AlexPC1 23.02.2016 18:18
Спасибо, а то всю голову сломал. Во всех примерах указано как у вас SoftwareSerial mySerial(2, 3), либо вообще другие выводы.
Ответить | Ответить с цитатой | Цитировать
0 # Михаил 24.02.2016 00:20
Может кто имел опыт работы с этим модулем через FTP?
Ответить | Ответить с цитатой | Цитировать
+1 # Павел 03.03.2016 23:56
Здравствуйте!
Люди добрые, у кого под рукой есть этот модуль, прозвоните, пожалуйста, вывод под аннтену относительно земли. А то у меня звонится короткое. Такого ведь не может быть.
Спасибо!
Ответить | Ответить с цитатой | Цитировать
-1 # Андрей 10.03.2016 01:34
Проверил на своем SIM800L pin NET и pin GND действительно замкнуты.
Встречная просьба: собрал схему сигналки с использованием arduino uno, pir sensor, SIM800L. Все хорошо работает. Экспериментирую со спящим режимом: перевожу в сон arduino, а по pin DTR модуль GSM (сеть не теряет, входящие звонки, смс принимает). Потом по наступившему прерывниям от pir сенсора или GSM модуля бужу всех обратно. Во сне arduino сама по себе ест 8mA, а SIM800L - 2mA. Но в собранном проекте arduino берет 20mA - получается подпитывает SIM800L. Собственно ищу почему так.
Может кто проверить. Что между пинами DTR и RI ? У меня коротыш.
Ответить | Ответить с цитатой | Цитировать
0 # Павел 10.03.2016 20:16
Цитирую Андрей:

Может кто проверить. Что между пинами DTR и RI ? У меня коротыш.


А RI это что?
Ответить | Ответить с цитатой | Цитировать
0 # Андрей 10.03.2016 21:51
RING и DTR - рядом находятся на стороне, где пины для микрофона и динамика
Ответить | Ответить с цитатой | Цитировать
0 # Павел 11.03.2016 20:55
У меня нет короткого между RING и DTR!








ng
Ответить | Ответить с цитатой | Цитировать
0 # Андрей 11.03.2016 23:34
Павел, спасибо большое!
Видимо, я замкнул при пайке, буду зачищать.
Ответить | Ответить с цитатой | Цитировать
0 # Андрей 10.03.2016 01:47
Подключал как указано по мануалу: RX модуля SIM800L к Arduino через резистовый делитель: R1 - 1k, R2 - 1K2 (получается 2.73V). TX подтянул резистором 1K, питание модуля от аккумулятора Li-Ion 3.7V, 1.2Ah. Хотя указано, что в пике может быть 2A, но у меня не поднималось выше 160mA - только принимаю и совершаю звонки, без поднятия трубки и без инета.
Ответить | Ответить с цитатой | Цитировать
0 # Павел 10.03.2016 13:29
Андрей спасибо, что откликнулись. Я щас на работе, вечером гляну и по меряю, ок.
Ответить | Ответить с цитатой | Цитировать
0 # Алексей 13.03.2016 02:11
Большое спасибо за данную статью. Запустил SIM800L. При запуске были разные проблемы. Например важно правильное напряжение питания - при установке GPRS-связи увеличивается потребление тока что в моем случае приводило к проседанию напряжения и перезагрузке модуля. В итоге успешно решил задачу по регулярной отправке данных по FTP, синхронизацию текущего времени с временем сети и т.д.
Ответить | Ответить с цитатой | Цитировать
0 # Андрей 14.03.2016 00:09
Здравсвуйте!
Может пояснить кто-нибудь следующую ситуацию. У меня модуль SIM800L Coreboard подключен к arduino по пинам rx, tx, reset, dtr, ring и общий gnd. Если первому подавать питание модулю, то видно как светодиод "on" на arduino тускло загорается, т.е. получается если бы напряжение было бы достаточное, то arduino завелась бы. И наоборот, когда при рабочей arduino отключить питание у модуля, то модуль продолжает работать, питаясь от arduino. Пин rx подключен через резистовый делитель, tx - резистор.
Нормально ли, что через сигнальные пины идёт взаимное питание arduino и модуля?
Ответить | Ответить с цитатой | Цитировать
0 # Elik745i 06.04.2016 13:40
В общем я тоже немного помучился с этим модулем, никак не хотела отзываться на АТ команды, оказалось работает модуль на скорости 115200 и моя оплошность, я не соединил провод земли, тх и рх соединил, а про землю забыл ))))
Ответить | Ответить с цитатой | Цитировать
0 # polsik 19.05.2016 20:15
парни как организовать проверку связи модуля с оператором, а при ее отсутствии перезагружать модуль.
Ответить | Ответить с цитатой | Цитировать
+3 # Андрей 21.05.2016 13:24
Наконец-то разобрался почему питание модуля проседало и модуль выдавал сообщение об этом и перезагружался. Для тестов собирал проект на китайской макетке (breadboard) и из-за видимо плохого контакта или дешевых токопроводящих материалов постоянно питание проседало. Как только дал питание на прямую к модулю - всё сразу заработало как часы!
Вообщем, как уже здесь ни раз упоминалось: главное наладить стабилизированное питание и хороший контакт.
Порадовало, что модуль в режиме сна ест 1-2 мА и без проблем просыпается при входящих звонков или смс.
Мой проект GSM сигнализация: arduino pro mini 328P (без led power и стабилизатора во сне меньше 1мА) + датчик движения + SIM800l + аккумулятор 3,7v 1200mA = минимум 20 дней автономной работы.
Ответить | Ответить с цитатой | Цитировать
+1 # Vladimir 26.06.2016 23:33
Цитирую Андрей:
Наконец-то разобрался почему питание модуля проседало и модуль выдавал сообщение об этом и перезагружался. Для тестов собирал проект на китайской макетке (breadboard) и из-за видимо плохого контакта или дешевых токопроводящих материалов постоянно питание проседало. Как только дал питание на прямую к модулю - всё сразу заработало как часы!
Вообщем, как уже здесь ни раз упоминалось: главное наладить стабилизированное питание и хороший контакт.
Порадовало, что модуль в режиме сна ест 1-2 мА и без проблем просыпается при входящих звонков или смс.
Мой проект GSM сигнализация: arduino pro mini 328P (без led power и стабилизатора во сне меньше 1мА) + датчик движения + SIM800l + аккумулятор 3,7v 1200mA = минимум 20 дней автономной работы.

Фотки и скетч в студию
Ответить | Ответить с цитатой | Цитировать
0 # Alarm 21.05.2016 15:43
В мониторе порта приходят ответы на команды иероглифы/кракозябры. SIM800L + FunduinoUno. Питание 4В через преобразователь(LM2596). TX от ардуины через делитель на резисторах(хотя и без него тоже самое). В void setup () {delay (2000); ...} . Скорости перебирал. Ответы на одни и те же команды одинаковые(те на ATI всегда ответ е~) - те видимо монитор порта не правильно декодирует ответы...Куда лезть и что смотреть?
Ответить | Ответить с цитатой | Цитировать
0 # Максим 12.06.2016 23:06
Такая же борода
Ответить | Ответить с цитатой | Цитировать
0 # Максим 01.06.2016 13:53
сим800л ,работает всё,но какой командой сделать сохранение настроек,а то после отключения питания всё сбрасывается
Ответить | Ответить с цитатой | Цитировать
0 # Максим 12.06.2016 22:45
Добрый день!
Не подскажите, у меня на команду AT приходит не ОК, а какие то непонятные символы (да еще и русские). Не сталкивались с таким?
Ответить | Ответить с цитатой | Цитировать
-1 # Александр 13.06.2016 15:35
скорость правильную не пробовали ставить??
попробуйте, удивитесь.
Ответить | Ответить с цитатой | Цитировать
0 # Максим 13.06.2016 17:20
Знать бы какая она привильная... :sad: Я все поочереди перебираю и ничего. Не подскажите как понять? Кстати на китайском ардуино myserial на 2 и 3 пине не работает. Проверял их замыканием. Там что модуль подключаю 1 и 0 пин на аппаратный интерфейс и вывожу на lcd дисплей. При замыкании контактов что отправляю то и вижу на экране. Значит работает. А с модуля какая то ерунда приходит. Сигналы согласовал. Но ОК на команду АТ так и не вижу :-?
Ответить | Ответить с цитатой | Цитировать
0 # Максим 13.06.2016 20:14
В общем, методом научного тыка я дошел до скорости 115200, и, вуаля!, все заработало!!! Да, еще нюанс, когда я подавал на модуль вроде бы допустимые для его питания 4В, он ругался. Два раза моргнет и все. Как только снизил питание до 3,7В - все как на видео! Большое спасибо за помощь и такую наглядную статью!
Ответить | Ответить с цитатой | Цитировать
+1 # Шура 27.06.2016 12:08
У меня с этим модулем заработала только сим Life. Из сим картами Киевстара и МТС модуль не регистрируется в сети. Хотя в телефоне все эти симки прекрасно работают.
Ответить | Ответить с цитатой | Цитировать
0 # Анатольевич 10.02.2017 08:41
Доброе время суток, подскажите пожалуйста, подключил все как в видео,нет регистрации в сети, подсоеденил к батареи 18650 словило сеть, но тх\rx никак! помогите кто знает,ответьте на мыло.заранее спасибо! :sad:
Ответить | Ответить с цитатой | Цитировать
0 # Александр 27.06.2016 12:23
Да все работает, со всеми операторами. Ставьте точку с запятой после номера, иначе инициируете цифровой звонок а не голосовой.

И еще - нужен ли вариант модуля уже с питанием на борту и установленной микросхемой 328 с цепями согласования уровней?
Ответить | Ответить с цитатой | Цитировать
0 # Шура 27.06.2016 15:49
Проблема не из-за точки с запятой. Частое моргание индикатора - не может зарегистрироваться в сети.
Ответить | Ответить с цитатой | Цитировать
0 # Александр 27.06.2016 16:01
а в терминалку при этом пишет "СПИН нот реади" ??
это проблема питания.
низкий уровень сети и питание дергает сильнее, там нужно сетные 2А -4В. и ставить низкоимпендансную емкость 4700х6,3в..
Ответить | Ответить с цитатой | Цитировать
0 # Шура 27.06.2016 16:11
Вечером проверю, спасибо. Питание - напрямую подключен аккумулятор от мобилки без конденсатора.
Ответить | Ответить с цитатой | Цитировать
0 # Элик 28.06.2016 01:13
Если долго использовать модуль без согласования сигналлов rx и tx, то начинаются проблемы с поиском сети. В этом можно убедиться отключив RX/TX от микропроцессора отсоединить модуль оставив на несколько минут без питания и подключить заново, после нескольких раз, либо сразу модуль находит сеть. Лечится заменой модуля с согласованием линий RX/TX простыми делителями на сопротивлениях. Уже месяц так использую без проблем! И никаких там конденсаторов и литиевых аккумуляторов (хотя они не помешают).
Ответить | Ответить с цитатой | Цитировать
-1 # Александр 28.06.2016 11:10
не смешите: "хотя конденсаторы и не помешают"..
Без них - НЕЛЬЗЯ!! а то что вы 5в тх рх подавали - так и спилить могли. у модуля внутренние линии 2,8в. !!! и вообще : читайте даташит, не нужно чепуху выдумывать и нести сюда. В даташите все описанои подробно, что нельзя, что можно и как требуется делать.
Ответить | Ответить с цитатой | Цитировать
0 # Geniusltd 06.07.2016 02:44
Друзья помогите с написанием простейшего скетча по управлению реле с помощью входящего звонка + дтмф. (а также с проверкой номера звонящего, чтоб кто попало не звонил) Спасибо.
Ответить | Ответить с цитатой | Цитировать
0 # Андрей 07.07.2016 00:19
Модуля DTMF и реле у меня нет, поэтому не практиковался, но, думаю, что не сложно и примеры в интернете есть.
Предлагаю рассмотреть вариант как я работаю с номерами входящих звонков.
Если останутся вопросы - спрашивайте.
Ссылка:
https://cloud.mail.ru/public/7WsL/8jv34NMQz
Ответить | Ответить с цитатой | Цитировать
0 # Александр 07.07.2016 09:41
Ну и как вы считываете? банально просто коих примеров полно в интернет. и делей10 - вчерашний день...
Для модуля sim800 - не нужно иметь микросхему дтмф декодера. сим800 сам умеет дтмф принимать, примеры на раз ищутся в интернет.
Ответить | Ответить с цитатой | Цитировать
+1 # Андрей 07.07.2016 10:44
Александр, не совсем понял Ваш вопрос "Ну и как вы считываете?" И что такое "делей10"? Вероятно delay(10) ... и что?
По ссылке, которую я указал лежит файл со скетчем -полноценной программой приём входящих звонков с фильтрацией номеров. Там я каждую строчку прокомментировал.
Про DTMF не знал, что это уже есть в SIM800L, т.к. не было необходимости у меня в этом, но спасибо за подсказку, может понадобится.
Ответить | Ответить с цитатой | Цитировать
0 # hemix 23.07.2016 22:41
можно глупый вопрос? Зачем "минус" от 12В идет на землю ардуинки? Я сейчас делаю с другим МК, думал запитывать отдельно и контактироваль с управляющий МК только по UART.
Ответить | Ответить с цитатой | Цитировать
0 # Максим 29.08.2016 14:15
Добрый день! Не подскажите. Модуль нормально работал, смс- отправлял. Резисторы добавочные я ставил, чтоб на линиях 2.8 В было. Питание 3.7В.
Потом решил переделать проект, тра та та, собрал и... модуль перестал работать. То вроде бы включится, раза при моргнет и перестает, то раз шесть моргнёт и перестает. Не понимаю, провода позванивал, вроде бы норм. Что может быть? Ему явно что то не нравится. И еще вопрос. Если просто подать питание, он же должен работать? Регистрироваться в сети и тд.? Или должны быть подключены линии RX TX?
Ответить | Ответить с цитатой | Цитировать
+1 # физ 29.08.2016 14:19
Для проверки я подаю ему 4.1 вольта (от заряженного аккумулятора), жду пока медленно заморгает и пробую звонить на вставленную СИМку. Если ровно 3.7В, то думаю маловато.
Ответить | Ответить с цитатой | Цитировать
-1 # Андрей 29.08.2016 14:52
Если просто подать питание без подключения RX TX, то модуль будет работать. Проверял сам на двух своих. По Вашему описанию похоже, что модуль перезагружается. Лучше подключить к компу по RX TX и посмотреть, что в монитор выдается модулем. Скорее всего эти фразы UNDER-VOLTAGE WARNING и UNDER-VOLTAGE POWER DOWN - если так, то модуль сообщает о низком напряжении. Подаваемые 3,7V могут проседать при входящем/исходящем соединении. У меня на 0,5V меньше становится, у Вас может больше. Для проверки рекомендую подать питание непосредственно к контактам на модуле.

Пример сообщений модуля на плохое питание:
if Vcc voltage is = 4.4V:
OVER-VOLTAGE POWER DOWN

И для проверки
Ответить | Ответить с цитатой | Цитировать
0 # Максим 29.08.2016 14:22
Точно, можно же позвонить :-) . Спасибо за идею, попробую :-)
Ответить | Ответить с цитатой | Цитировать
0 # Александр 29.08.2016 14:28
вот и я не пойму, как так можно шаманить и даже не смотреть что модуль пытается сказать в порт???
выбросите бубен в мусорку и возьмите паяльник в руки:
там завышено напряжение питания, в порт кричит "андер вальтаж..." и три раза мигнет и выключится..
Ответить | Ответить с цитатой | Цитировать
0 # Максим 29.08.2016 22:28
А у меня похоже все печально. Подавал 3,7-4В напрямую на ноги питания. Один раз моргнул и больше не моргает... Не понимаю. Замучал я его что ли...
Ответить | Ответить с цитатой | Цитировать
0 # Олег 04.09.2016 15:04
Кто подскажет по SIM800?
Запросы AT отвечают, но в ответах лишние символы в виде буковок "я".
Скорость с модулем менял, сами модули менял, компьютеры менял. Кто то сталкивался?
Test
AяTя - это ответ AT
я
я
яOяKя
я
яAяTI
я
я
SIяMя8я00 яRя1я4.1я8я - Это название модуля
я

яOяK
Ответить | Ответить с цитатой | Цитировать
0 # Андрей 18.09.2016 17:37
У меня бывает такой мусор сыпится с одной ардуинкой, а с другими нет. Как вариант попробовать при возможности поменять ардуинку, пересоздать проект с другими проводами, контактами.
Ответить | Ответить с цитатой | Цитировать
0 # Линар 18.05.2017 22:47
у меня такое бывает при плохом питании,сд минает по 10раз
Ответить | Ответить с цитатой | Цитировать
0 # fefe 18.09.2016 14:25
SIM800L V2.0 подключаю в 5v от UNO, UNO к USB ПК. лампа RING горела, связь была. Но через минут 5 все потухло и больше не горит. ничего не менял в цепи ничего не запускал. Диоды что понижают напряжения годные. Удастся ли восстановить модуль? что можно сделать? выходит его не стоит через ардуино питать 500млА не хватает?
Ответить | Ответить с цитатой | Цитировать
0 # Андрей 18.09.2016 17:33
По даташиту модуля в пике может быть 2A. По моим замерам при исходящем/входящем звонке доходило до 120mA, при поднятой трубки до 60mA, в покое в основном 20mA, в режиме сна 1..2mA
По описанию arduino uno максимум может отдать 50mA.
Скорее всего сгорел стабилизатор напряжения на ардуинке, сам sim800l модуль должен работать.
Что Вам мешает для начала повторить приведённый здесь пример подключения от внешнего источника питания?
Ответить | Ответить с цитатой | Цитировать
0 # fefe 18.09.2016 18:46
от внешнего конечно пробовал. на 1,2А. не треакции. стабилизатор он где? реально заменить или обойти используя свой источник стабилизированный?
Ответить | Ответить с цитатой | Цитировать
-1 # Александр 18.09.2016 20:10
:lol:
Получится ли восстановить???
это скорее Кашпировскому вопрос нужно задать.
Но я вам отвечу - в мусорку... даташиты читайте внимательно, потом приборы включайте.
Ответить | Ответить с цитатой | Цитировать
0 # Евгений 22.09.2016 14:36
Добрый День. Подскажите в чем проблема 70% сообщений от ардуино приходит с неправильными символами.
Goodnight moon!
AT

OK
AT
O›
ATI

ЄRS‚‚’љrЃВj

OK
AT
OK
ATI
ЄRS‚‚’љrЃВj

OK
ATICЎЄRS‚‚’љr‚Вj

OK
ATI
SIM800 R11^08

все сделал как по схеме, отдельное питание от аккумулятора 4.0в(пробовал и 3.7) , tx подключил через резисторный делитель напряжения(1500ом и 1150ом) скорость 115200 (на других скоростях вообще одни иероглифы). Пробовал на разных выходы и разных ардуино уно...
Ответить | Ответить с цитатой | Цитировать
-1 # Петр 03.10.2016 22:38
115200 это ОЧЕНЬ много. Для первых примеров принудительно задайте 19200 (AT+IPR=19200). Если девайс по началу не отвечает попробуйте просто А в порт дать. Это согласно некоторой документации может активировать на стороны девайса автонастройку скорости. Если команда прошла - дайте принудительно AT+IPR=19200 и будет счастье.
Ответить | Ответить с цитатой | Цитировать
-1 # Александр 22.09.2016 14:58
ага... проблема в скорости и в софтвер сериал..
Читайте больше немного чем просто скетч вставить из интернета и все.
1) софтвер сериал выше 57600 глючит
2) уменьшите до 9600 и еще лучше обойтись без софтвер сериал..
как? -читайте в интернет
Ответить | Ответить с цитатой | Цитировать
0 # Макс 27.10.2016 06:42
Всем привет. Поделюсь своим опытом общения с Sim800L. Купил себе такой обрезок с Али экспресс. Пока баловался с отсылкой всяких смс себе на телефон по условиям работы всяких датчиков, вроде все шло без сбоев. Когда решил научить читать входящие смски, вот тут и выяснились подводные камни. Во первых, свой модем запитал от dc dc преобразователя, как по инструкции. Плюс для верности опытов купил пару таких обрезков sim800l. Так вот, когда в Setup прописаны команды (например установить скорость соединения, установить текстовый режим смс, установить программный контроль передачи данных, да и еще пару) на которые должны придти ответы ОК, у меня что один модуль, что второй выполняют пару строк а потом просто то ли зависают, то ли отказываются выполнять команды.
Ответить | Ответить с цитатой | Цитировать
-2 # Александр 28.10.2016 17:49
Цитирую Макс:
................. Плюс для верности опытов купил пару таких обрезков sim800l. Так вот, когда в Setup прописаны команды (например установить скорость соединения, установить текстовый режим смс, установить программный контроль передачи данных, да и еще пару) на которые должны придти ответы ОК, у меня что один модуль, что второй выполняют пару строк а потом просто то ли зависают, то ли отказываются выполнять команды.

уважаемый, для начала разберитесь как работает софтвер-сериал который вы наверняка используете, уточните размер буфера и т.д. Вы наверняка пихаете туда все подряд без остановки, без считывания ответа и потом удивляетесь такому результату. Модуль даже переживать не успевает как вы ему новое заталкиваете. Вот буфер и переполняется.
естественно будут проблемы и неработоспособность модуля и глюки..
Ответить | Ответить с цитатой | Цитировать
0 # Макс 07.11.2016 05:57
Не вопрос, парирую: между командами ставил по 5 сек паузы, что бы модем все разжевал, между каждой командой. Итог не утешителен.
Ответить | Ответить с цитатой | Цитировать
0 # Александр 07.11.2016 11:53
Цитирую Макс:
Не вопрос, парирую: между командами ставил по 5 сек паузы, что бы модем все разжевал, между каждой командой. Итог не утешителен.

ага, делей ставили?, и думаете что во время делей проц команды и отсылает и принимает?? ага... ну-ну..
Ответить | Ответить с цитатой | Цитировать
0 # Макс 27.10.2016 06:43
В итоге в мониторе такая картина:
AT+CMGF=1
OK
AT+IFC=1, 1
OK
AT+CB

На этом процесс установочных команд закончен. В чем кроется ответ ума не приложу. Менял преобразователь не помогло. Может кто сталкивался?
Ответить | Ответить с цитатой | Цитировать
0 # Петр 27.10.2016 09:05
Цитирую Макс:
В итоге в мониторе такая картина:
AT+CMGF=1
OK
AT+IFC=1, 1
OK
AT+CB

На этом процесс установочных команд закончен. В чем кроется ответ ума не приложу. Менял преобразователь не помогло. Может кто сталкивался?

Код в студию...
Ответить | Ответить с цитатой | Цитировать
0 # Vova 09.01.2017 23:31
Как сохранить на модуле заданную скорость порта н-р 9600бод? При отключении питания работает на 115200.
Ответить | Ответить с цитатой | Цитировать
0 # Петр 10.01.2017 10:47
Цитирую Vova:
Как сохранить на модуле заданную скорость порта н-р 9600бод? При отключении питания работает на 115200.

AT&W что говорит?
Ответить | Ответить с цитатой | Цитировать
+1 # Степан 31.01.2017 14:22
Привет всем 8)
Пробовал проверить работоспособность своего SIM 800 L через ардуино уно по схеме выше в сериал порте тишина и скорость разную задовал и общий ноль с ардуино и питание разное отдельное давал от 3,7 v- 4.2v
Попробовал просто подать питание от батареи телефона на 3,7 V вначале светодиод на SIM 800 L моргает часто ищет сеть видимо но через несколько секунд начинает мигать реже; 7 раз моргнет пауза потом опять 7 раз пауза ... дозвон на вставленную сим не проходит .Хотя изначально когда купил проверял таким же способом гудки проходили и светодиод моргал без паузы !
Подскажите может кто знает или сталкивался что может означать такое мигание светодиода
Ответить | Ответить с цитатой | Цитировать
0 # bigxman 05.02.2017 17:29
Ваш модуль пытается найти сеть. У меня была или есть аналогичная ситуация: живу в селе, в доме перепробывал три оператора - лайф, киевстар и мтс - ничего не ловит, делает как у Вас - 7 раз мигнет, пауза - и опять - т.е. пытается зарегистрироватся в сети. АТ командой AT+COPS=? - сети операторов видит. Что я сделал - для начала вышел на улицу и проверил ловит ли там - словило, про что свидетельствовало медленное моргание. После чего я купил антенку 3di (у нее на конце кусок текстолита :-) ) - в доме начало ловить, но все равно частенько переподключается, нашел место у окна.
Ответить | Ответить с цитатой | Цитировать
-1 # Анатольевич 10.02.2017 08:55
У МЕНЯ ТАКАЯ ЖЕ БЕДА, НО КОГДА ПОДКЛЮЧАЮ К БАТАРЕИ ВСЕ РАБОТАЕТ! НО ВОТ НЕМОГУ RX/TX СИГНАЛ НАЙТИ ПИШЕТ NO RESPOND
Ответить | Ответить с цитатой | Цитировать
0 # llaabbss 04.02.2017 04:28
Подскажите, пожалуйста, что может быть проблемой, если модуль все время выводит

RDY

+CFUN: 1

+CPIN: READY

(происходит это раз в 3-5 секунд)? И пока происходит ожидание нового вывода этой информации, через терминал невозможно передать никакие команды. Они просто теряются. Сами команды выдают ответы только когда происходит очередной вывод информации.

Такое ощущение, что SIM800L чем-то нагружен и только в свободные промежутки времени он воспринимает команды.

И вторая проблема: похоже, что модуль не регистрируется в сети оператора. Хотя симка абсолютно рабочая в мобильном телефоне и не требует ввода PIN номера. Что здесь можно сделать? Надо ли как-то перепрошивать сам SIM800L? Или какой АТ командой заставить модуль зарегистрироваться в сети оператора?

Всем заранее спасибо.
Ответить | Ответить с цитатой | Цитировать
0 # Sanych 08.02.2017 01:15
Такая же проблема, вы не нашли выход?
Ответить | Ответить с цитатой | Цитировать
+1 # Ondyon 04.04.2017 18:25
у меня та же проблема. Похоже, всё то же самое - питание
Ответить | Ответить с цитатой | Цитировать
+1 # Ondyon 05.04.2017 14:41
впаял ещё 1000 мкф после КРЕН
и ещё 100 мкф непосредственно на ногу питания
- стал ловить сеть :)
Надо будет получше блок питания поставить китайские 2A это, похоже не совсем 2A
Ответить | Ответить с цитатой | Цитировать
0 # bigxman 08.02.2017 12:06
С антенной ловит лучше, но возле окна, и то только Vodafone (MTC), Киевстар. Лайф - не хочет, но на улице ловит. Как вариант - рассмотреть более мощные антенны. Я уже подумываю прикупить с шилдом, например A6 или SIM900.
А так, в принципе, модуль sim800L - Хорош!, но с точки зрения приема сигнала - нужна антенна, может самому сделать не на 3db, а на больше или на али поискать
Ответить | Ответить с цитатой | Цитировать
0 # Sanych 13.02.2017 18:31
Проблему решил! Получше припаял ножку антенны к дорожке и вместо родной антенны припаял проводок.
Ответить | Ответить с цитатой | Цитировать
0 # Krimator 26.02.2017 00:47
Парни подскажите, модем не может сконнектица с сетью. Всё было норм (даже не знаю что случилось), моргает 6 раз, 1 раз в пол накала, потом опять таже история. И не в какую не хочет коннектица :sigh:
Ответить | Ответить с цитатой | Цитировать
+1 # Sanych 27.02.2017 10:45
Для начала посмотрите уровень сигнала, CSV или как-то так, если отвечает, что по нулям, то возможно дело в антенне, как было у меня. У меня первые пару минут тоже не может подключиться, потом норм. Попробуйте выпаять родную антенну, и припаять проводок подлиннее.Так же проверьте питание, возможен случай, когда модулю не хватает питания, и он постоянно перезагружается. есть команда, которая возвращается вольты.
Ответить | Ответить с цитатой | Цитировать
0 # Krimator 26.02.2017 19:46
Вот видос запилил https://www.youtube.com/watch?v=vYuRtmQLC_0
Ответить | Ответить с цитатой | Цитировать
+3 # Анатольевич 26.02.2017 23:31
Попробуй перенастроить напряжение, сделай 4.1, ну вобщем поменяй, если нет, попробуй подсоедени высокотоковую 18650, если от нее все работает, ищи проблему у себя в питании
Ответить | Ответить с цитатой | Цитировать
0 # Krimator 13.03.2017 20:58
Всем спасибо, разобрался! Проблема была в проводах питания, были длинные, и тонкие (от преобразователя до модуля). Но появилась другая проблема, не отзывается на команды с ардуины (но когда звонишь в мониторе порта пишет мой номер) значит информация в ардуинку идёт. Что-то с RXD, походу не работает.
Ответить | Ответить с цитатой | Цитировать
+1 # Александр 30.03.2017 02:26
У кого нибудь есть скетч с датчиком температуры и возможностью ее запроса по смс. Скиньте плиз.
Ответить | Ответить с цитатой | Цитировать
0 # Segey 03.04.2017 00:57
Я собрал сигнализацию на Ардуино UNO + GSM модуль. Хочу добавить в скетч DFPlayer который должен работать по второй паре Rx Tx. Добрые люди подскажите как это сделать. :lol:
Ответить | Ответить с цитатой | Цитировать
0 # Sergey 15.04.2017 10:39
Ладно. У меня все получилось (одновременно подключил два устройства по Rx Tx). По железу Ардуино UNO + GSM модуль + DFPlayer. SoftwareSerial myGSMSerial(2, 3); подключаем GSM модем через резисторы 200 Ом, GSM(Txd) - UNO(2), GSM(Rxd) - UNO(3). SoftwareSerial portDFPlayer(8, 9); UNO(8) - DFPlayer(Tx), UNO(9) - резистор 470 Ом - DFPlayer(Rx). Не забываем про корпус. Ребята пишем скетч и будет Вам чудо - сигналка кроме реветь может запускать любые МР3 файлы. На усилитель TDA 8560Q и акустику в гараже я поставил ужасные стерео звуки приведений. Ночью прикольно напрягает нервы. :-) :-) :-)
Ответить | Ответить с цитатой | Цитировать
+2 # Миха 20.10.2017 00:26
В Datasheet на sim800 - максимальное входное напряжение на линии RX 3.1 вольта, min 2.1
Подключайте линию RX через делитель напряжения
Ответить | Ответить с цитатой | Цитировать
0 # ladik 26.10.2017 23:35
Товарищи! Пытаюсь запустить SIM800C. На любой текст он отвечает эхом в терминал. Если меняешь скорость, при отправке мусора - не отвечает ничего. После нескольких отправок "АТ" сначала отвечает мусором, потом эхом. И далее на любой текст - эхом. Кто-нибудь сталкивался с этим?
Ответить | Ответить с цитатой | Цитировать
0 # Андрей 08.05.2018 15:37
У всех контакты GND и NET звонятся (замкнуты) между собой?
Ответить | Ответить с цитатой | Цитировать
0 # Андрей 08.05.2018 17:35
Простите, нашел ответ выше. -Да контакты звонятся (замкнуты).
Ответить | Ответить с цитатой | Цитировать
0 # Рустэм 16.11.2018 14:11
При работе с данным модулем необходимо учесть ряд особенностей его процессор питается от напряжения 3,3 вольт, чтобы он подключался к ардуино у которого питание 5 вольт, ставят последовательно по питанию диод, который понижает напряжение до 5-0,8=4,2вольта, источник питания должно обеспечивать возможность повышения тока до 2 ампер, во время включения модуля ток большой.
Ответить | Ответить с цитатой | Цитировать
0 # Антон 22.02.2021 13:17
По делителю подскжите. В даташит делитель выполнен на двух резисторах по 10 кОм. Это работает? Почему отписавшиеся выше ставили какието неравноплечные комбтнации типа 1 и 1.2 кОм?
Ответить | Ответить с цитатой | Цитировать
0 # Влад 11.03.2021 19:58
Ребята, подскажите пожалуйста, RING и DTR подключать к ардуино через делители напряжения? или можно на прямую? на ардуино 5 V. Спасибо.
Ответить | Ответить с цитатой | Цитировать
+2 # Админ 12.03.2021 10:05
Для RING достаточно 1К резистора, т.к. будете только принимать с него сигнал, а для DTR судя по даташиту нужно через делитель напряжения понижать до 2.7-2.8В (резисторы в делителе на 1К и 1.2К)
Ответить | Ответить с цитатой | Цитировать
+1 # Влад 12.03.2021 13:59
Большое спасибо за ответ.
Ответить | Ответить с цитатой | Цитировать
+1 # Василий 20.03.2021 22:42
Спасибо за статью и за комментарии. Подключал модуль SIM800L. Модуль чувствителен к напряжению. Питал от имульсного БП, пока не поменял несколько проводов-дюпон - не запускался модуль, хотя светодиод мигает 1 раз в сек. Нужно хорошо зажимать контакты питания или паять. Напряжение для модуля ставил 3,4-3,9В Скорость СОМ порта 9600, иначе иероглифы. В остальном нормально работает.
Ответить | Ответить с цитатой | Цитировать
+1 # Arang 18.05.2021 20:44
From 5v lower with diode 4001 its work fine to.but not all sim card operator can use.,
Ответить | Ответить с цитатой | Цитировать
Добавить комментарий


Защитный код
Обновить