Модуль SIM800C не подключается к Arduino
- Войдите на сайт для отправки комментариев
Пт, 07/07/2017 - 16:06
Купил модуль SIM800C.
Подключил к Arduino Pro Mini (Leonardo)
Pin 0 (RX) -> TX
Pin 1 (TX) -> RX
VCC -> 5v
GND -> GND
Написал простой скетч
#include <SoftwareSerial.h> SoftwareSerial GSMport(0, 1); // RX, TX String ReadGSM() { //функция чтения данных от GSM модуля int c; String v; while (GSMport.available()) { //сохраняем входную строку в переменную v c = GSMport.read(); v += char(c); delay(10); } return v; } void setup() { delay(3000); //дадим время на инициализацию GSM модулю Serial.begin(9600); //скорость порта GSMport.begin(9600); int d = 500; int ATsCount = 8; String ATs[] = { //массив АТ команд "AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\"", //Установка настроек подключения "AT+SAPBR=3,1,\"APN\",\"internet.tele2.ru\"", "AT+SAPBR=3,1,\"USER\",\"tele2\"", "AT+SAPBR=3,1,\"PWD\",\"tele2\"", "AT+SAPBR=1,1", //Устанавливаем GPRS соединение "AT+SAPBR=2,1", //полученный IP адрес "AT+HTTPINIT", //Инициализация http сервиса "AT+HTTPPARA=\"CID\",1" //Установка CID параметра для http сессии int ATsDelays[] = {6, 1, 1, 1, 3, 3, 1}; //массив задержек Serial.println("GPRG init start"); for (int i = 0; i < ATsCount; i++) { Serial.println(ATs[i]); //посылаем в монитор порта GSMport.println(ATs[i]); //посылаем в GSM модуль delay(d * ATsDelays[i]); Serial.println(ReadGSM()); //показываем ответ от GSM модуля delay(d); } Serial.println("GPRG init complete"); }; } void loop() { }
Serial.println(ReadGSM()); //показываем ответ от GSM модуля
Должна показать ответ но ответа нет.
Не знаю, в курсе ли вы, но HardwareSerial тоже использует Pin 0 (RX) & Pin 1 (TX) . А когда два медведя лезут в одно гнездо - что бывает?
Переподключил на 5 и 4
Переписал скетч.
Но это не помогло.
Пробовал подключать через FTDI232 и посылать команды в терминал ответа не было
Может быть что именно SIM800C не поддерживает Serial Port?
На официальном сайте в документациях его нет в списках
Может быть что именно SIM800C не поддерживает Serial Port?
не может.
Не пишите скетчи, сначала подключите можем напрямую к компу и добейтесь от него ответа хотя бы на команду "AT" Обратите внимание на питание модема - серия SIM800/900 очень критична к напряжению и току, требует до 2А по даташиту и от ардуины и USB могут не работать.
Блок питания на 5V 2.5A не помог.
Может резисторы на 470 Ом поставить на RX TX?
Схему показывайте или фотографию. Ибо это гадание на кофейной гуще.
Вот у этого 800C вообще есть RS232 для коннекта к компьютеру: https://ru.aliexpress.com/item/SIM800-Development-Board-Module-Support-G...
А у вашего, может, даже TTL level shifter-a нет и вы ему запалили входы-выходы ардуиновскими 5V.
На 1 и 2 (UART_TXD, UART_RXD) Pin правда подавалюсь 5V, как проверить заполил я 1 и 2 выходы?
Есть еще 23 и 22 попробую, на них. Инструкция ниже
Подключил по схеме 3.3V не работает
Как проверить конкретно этот модем - я не знаю, если честно. Но, кроме возможности спалить ему выводы, еще есть такое понятие, как скорость порта... Подбирали вы ее или нет - никому неведомо.
Да подбирал, по документации поддерживает от 2400 до 115200
Да подбирал, по документации поддерживает от 2400 до 115200
это модем. Но у вас в скетче я вижу SoftwareSerial - ставьте скорость не выше 38400
Ок учту если победю :)
у SIM800C есть пин boot в противоположном ряду (который у ТС не подключен), если его замкнуть на землю, то замигает светодиод с интервалом раз в секунду, и пойдет активность в терминале среды Arduino IDE. У SIM800L такого пина нет. Заводится после подачи питания.
PS: вчера только получил этот модуль. Пока не победил: после замыкания boot на землю светодиод раз 7 мигает и перестает :( В интернетах глухо. У всех L версия (у нее меньше флэха и еще какие-то различия), там несколько иначе. Буду курить ман.
У меня точно-такая же проблема уже пару дней ищу ответ на этот вопрос, помогите)
напряжение питания 3.4 - 4.2 В при друго м он не заведется
напряжение логической 1 на вхоте РХ/ТХ не более 2.8 вольта иначе модуль автоматически отключится или тупо не ответит на запрос
SIM800C имеет встроенню флеш 24 или 32мб. SIM800L имеет встроенню флеш 24 или 16мб
SIM800L и SIM800C построеннны на разных процессорах MT6260 /MT6261 -основные отличия как для простого юзера это SIM800L есть CSD а у SIM800C нету
Да подбирал, по документации поддерживает от 2400 до 115200
тоесть, модуль нефига вам не пошлет пока вы ему не пошлете на любой скорости комманду AT или ATZ, после чего моуль автоматически подстроит скорость под вашу
Рад что тема ожила.
Питание пробывал в данном диапозоне, не помогло.
Penumbra а у вас есть опыт работы с SIM800C?
напряжение питания 3.4 - 4.2 В при друго м он не заведется
Спасибо! В моем случае так и произошло. Выставил 3.99- модуль завелся (продолжал мигать светодиодом более 7 раз).
Но есть 2 проблемы:
1) если вставлена симка, и подаем питание, то модуль снова мигает 7 раз и вырубается. Если же симку вставлять после того, как взбодрили модуль замуканием пина BOOT на землю, то светодиод мигает постоянно. Это как минимум странно.
2) Модуль НЕ регится в сети (не выводится инфа по AT+COPS?), причем выводит список доступных операторов по AT+COPS=?
напряжение питания 3.4 - 4.2 В при друго м он не заведется
Спасибо! В моем случае так и произошло. Выставил 3.99- модуль завелся (продолжал мигать светодиодом более 7 раз).
Но есть 2 проблемы:
1) если вставлена симка, и подаем питание, то модуль снова мигает 7 раз и вырубается. Если же симку вставлять после того, как взбодрили модуль замуканием пина BOOT на землю, то светодиод мигает постоянно. Это как минимум странно.
2) Модуль НЕ регится в сети (не выводится инфа по AT+COPS?), причем выводит список доступных операторов по AT+COPS=?
симку вынимать и вставлять на "горячую" нерекомендуется- можно спалить модуль или симку. когда вы вставили симку после включения то он всеравно ее не увидит пока вы не перегрузите модуль хотябы коммандой at+cfun=1,1
У коллеги есть 800L, так у него от этого же блока питания все заводится (вот сейчас прям тестим). Хотя как Вы правильно подметили- модули то разные. Да, кстати, изначально напряжение на DC-DC было 4.29, мой С не работал, а L коллеги работал.
После DC-DC кондера нет, я надеялся на то, что на самой плате впаян тантальчик на 470мкФ, и что он спасет.
А блок питания я попробую другой, вдруг в самом деле у меня из-за просадки все проблемы.
PS: специально купил (на свою голову) версию C, всё думал сравнить с тем, что у коллеги L ...сравнил блин :))))
И как я понял у него не только CSD (который по сути и не особо нужен), но и блютуза нет. В мануалах пишется, что необходима софтверная поддержка. Апгрейд, как я понял.
А вообще есть смысл брать версию C ? Вероятно как 99% интернета нужно купить L и не париться. Размер флэхи 24МБ в C версии не сильно пригодится вероятно.
Я понимаю, что из дешевых модулей только L и С, остальные ведь на Али дороже. Тот же H.
Вот что удалось АТ командами вытянуть о моем модуле:
Revision:1418B05SIM800C24_BT
SIM800 R14.18
Хотя вероятно блютуз еще поднять нужно командульками. Но пока не до добра, тут бы хоть как-то взлетело.
А вообще есть смысл брать версию C ? Вероятно как 99% интернета нужно купить L и не париться. Размер флэхи 24МБ в C версии не сильно пригодится вероятно.
1 отправка/ получение СМС для управления с телефона какойто хуе.. херней
2 отправна по GPRS на левые сайты температуру с датчиков
3 позвонить кому нибуть с ардуинки и сидеть тупо с этого ржать
и только 5% мучают остальные функции модуля, так сто для п1-3 пункта достаточно самого дешевого модуля
Поменял блок питания. Поставил тот, который 2.5А при зарядке планшета дает не просаживаясь ниже 5В, и кабель проверенный. При первом же старте все заработало, стало редкое мигание светодиода и при попытке позвонить на номер шли длинные гудки, лишний раз подтверждая нормальную регистрацию в сети. Но после вытыкания питания и повторного запуска снова отсутствие регистрации.
Следующим экспериментом проверил Li-Ion акум снять с мобилы (напряжение 3.8 без нагрузки было на нем), что бы без DC-DC. Но чуда не произошло :(
Итог: одна успешная регистрация в сети была. Модуль стало быть исправный. Вот только гораздо капризнее, чем L версия. Не факт, что запущу.
Планы: уже дома, где есть электролиты и паяльники, подключу от лабораторного БП, навешу по питанию керамику и электролит тыши на полторы мкФ, проверю. Если не взлетит, то ф топку! Пойду на Али за L версией.
Если есть еще идеи как запустить- прошу озвучить.
подключить модуль блоком питания от планшета, подключить usb-ttl к модулю , запустить терминальную программу типа гипертерминала или putty и смотреть что модуль выдает в терминал, включить вывод информации об ошибках коммандой AT+CMEE=1 и AT&W сохранить
если модуль выдает еррор 604 или unknow error то его надо перепрошить
возможно 39й пин (PWRKEY) дернуть на gnd в течении 1сек
чтоб модуль работал долго и правильно то его надо правильно выключать с помощью AT+CPOWD=1 или 0
возможно 39й пин (PWRKEY) дернуть на gnd в течении 1сек
39й пин у меня как раз таки идет на пин BOOT на гребенке, без замыкания на GND модуль вообще не запускается (в отличии от верчии L).
чтоб модуль работал долго и правильно то его надо правильно выключать с помощью AT+CPOWD=1 или 0
навело на мысль: я после удачного старта (выше писал) с мощным БП я дермул модуль по питанию, и больше успешных регистраций не было.
Попробую дома залогировать вывод ошибок в Putty, отпишусь.
В общем так: комманды AT+CMEE=1 и AT&W воспользоваться не удалось- устройство успевает уйти в защиту пока я в терминальное окно копипастю эти команды.
Но есть и положительные новости: после напайки 470мкФ на питание возле платы устройство стало нормально работать (последние 5-10 включений как часы), правда первые два включения было плохо. Вероятно еще кондер не прогрелся (шутка).
И еще одна положительная новость- удалось активировать блютуз и даже спарить его с мобилой.
PS: уж слишком капризный этот модуль. Куплю все равно семе 800L. А еще в C версии нету FM радио, а в L есть.
800C успешно отправил из UNO sms при условии, что RX TX подключены к ногам 10 и 11 как прописано в файле GSM.cpp
800C успешно отправил из UNO sms при условии, что RX TX подключены к ногам 10 и 11 как прописано в файле GSM.cpp
что такое "штатные ноги" и почему вас не устраивает 10 и 11?
штатные 0 и 1 для UNO.
я прокомментил тему потому что прочитал ее , не нашел ответ в ней. нашел решение сам и поделился решением.
штатные 0 и 1 для UNO.
я прокомментил тему потому что прочитал ее , не нашел ответ в ней. нашел решение сам и поделился решением.
на "штатных ногах" 0 и 1 как раз скорее всего не "поедет", потому что 0 и 1 заняты портом USB/
В итоге поехала 800с ?
У меня нет.
Rustam скажите пожалуйста а вы пин ttl куда нибудь подключали?
Просто на ваших фотографиях вижу 4 провода питание и рх тх... А в левом углу платки стоят два N канальных полевика оба сидят стоками через10 К на пин ttl а вот что мне непонятно на исток приходят к ним RX а на второй TX затвор получается притянут к плюсу ? Вобщем давайте ка тему поднимать .
Затворы притянуты напрямую к 40 пину vdd external по даташиту всё устроено совсем иначе похоже узкоглазые что то напутали...
Всё заработало просто нужно было подать питание на ttl
Ув. SherKhaN, удалось ли добиться устойчивой работы SIM800C ?
Если у кого то остались вопросы по работоспособности sim 800c посмотрите на драйве человек выложил проект "анатомия автозапуска 5.3" в этой версии он перешел на sim800c и отказался от sim800l и утверждает что она глючная плохо разведена ловит наводки и т.д и т.п .
У меня с SIM800L не заладилось. СМС нормально отправляет, звонки, DTMF тоже нет нареканий. А вот с GPRS через раз соединялся. Причем был интересный эффект, потключаешься первый раз, жду минуту не подключается, еще раз подключаю, все ок за 2-3 секунды есть соединение. Меня не устроили такие танцы с бубном. Решил сменить прошивку, чем и убил модуль.
Купил SIM800C на него хотя бы есть новые прошивки, ну и плюс что SIM800C можно распаять самому на плате. Нареканий к работе нет, смс отправляет принимает, gprs работает.
По наводкам пожаловаться не могу ни на один SIM.
За что купил за то и продаю l версии у меня не было .
У вас SIM800C случайно не на такой плате ? А то немного непонятна , логика работы пина V_TTL и куда подавать питание на пин V bat или 5V ?
Я так понял , что пока на ttl pin не подашь напряжение преобразователь уровней не работает ,питание я подал на ногу 5 v и ttl -4.2 v закоротив оба диода они там стоят как бы для того что бы понизить напряжение с 5v до 4
Подключаю SIM800L через UART, RX на нем бешено мигает, т.е. SIM800L что-то шлет не умолкая. Баракованый модуль?
p.s. Питание подаю от блока писания 5V 3 ампера через стабилизатор до 3.9В
Подключаю SIM800L через UART, RX на нем бешено мигает, т.е. SIM800L что-то шлет не умолкая.
а посмотреть что он шлет не судьба?
я например использую BlueTooth модуль подключенный к TX модема и на мобильнике смотрю что там идет....или к компьютеру через RS232(COM) - TTL переходник.
Непонятно что. На всех скоростях.
andycat будьте добры ссылочку либо название модуля и терминалку на андроид .
Спасибо!
Контакты проверьте если rx мигает то что то в порт должно падать.
https://play.google.com/store/apps/details?id=de.kai_morich.serial_bluet...
https://m.ru.aliexpress.com/item/32966055331.html
BT модуль обычный hc-05
Господа, ни к кого случайно нет прошивки 1418B08SIM800C24 для SIM800C?