Помогите разобраться с Arduino Помогите разобраться с Arduino! Есть GSM модуль NEOWAY M590, нужно научить его отправлять СМС. Работаю с модулем через ардуиновский монитор порта с помощью АТ команд . Модуль по командам звонит, на звонки на модуль откликается (RING RING RING), инфу о версии прошивки, статусе и прочем выдает,скорость порта меняет. Но смски не отправляет. Для отправки смс ввожу номер абонента AT+CMGS=+79618562051, он его принимает, показывает "> " Затем ввожу текст и нажимаю сочетание клавиш ctrl Z, и он мне снова выдает "> ". Видимо, что-то делаю неправильно, подскажите, где я ошибаюсь? [URL=http://radikal.ru/fp/46213af53fbe4288b8f06f6900d1f6ac][IMG]http://s011.radikal.ru/i316/1607/30/1adbf656a810t.jpg[/IMG][/URL] |
Я в программе шлю вот такую строку после текста. Serial.write(char(26)); Все работает отлично. |
так это в программе, мне нужно отправить смс через монитор порта с помощью ат команды, и это у меня не работает. Сегодня купил второй такой же модем, там та же фигня. Где-то я что-то делаю не так, пытаюсь понять где и что. |
Я использую программу Terminal для связи с модулем sim900. Вот перевод из проги : В макросах Вы можете использовать все символы от клавиатуры и любого символа ASCII если Вы используете $xx или #xxx. Где $xx - шестнадцатеричный и #xxx формат десятичный ASCII. Если Вы хотите использовать # или символ $ в макросе, Вы должны ввести его дважды ($$ = $ и ## =#). Вбей в поле макроса строку #026 и отправь ( нажми на M1 ) Если будешь писать софт на ардуину для обработки инфы от модуля , то можно упростить настройку. Допустим модуль шлет ринг , пишем эту строку в обычный текстовый файл . В место модуля к ардуине подключает прогу Terminal и в ней через send file отправляем файл с нашей строкой. Софт который крутится в ардуине должен её обработать и выдать команду на проключение( к примеру ) Можно добавлять временные метки в софте на анализ информации и выводить данный через WRITE и видеть их в терминале. К примеру с рингом может идти А-номер , я его обрабатываю и через write повторяю .Так я проверяю правильность работы софта. В текстовом файле может быть куча разных строк , И можно отлаживать всю программу без участия модуля. Еще к примеру в sim900 есть возможность заливать свои аудио дорожки и их проигрывать через АТ команды. |
Вот код на отправку СМС String ADMIN1="+7961ххххххх"; Serial.print("AT+CMGS="); Serial.write(char(34)); Serial.print(ADMIN1); Serial.write(char(34)); Serial.write(char(13)); delay(500); Serial.print("СМС ТЕКСТ ");Serial.write(char(13)); Serial.write(char(26)); В ардуине через принт нельзя отправить "" а в АТ команде с номером "" обязательны. И шлем эти символы отдельно Serial.write(char(34)); |
Из-под терминала смс отправляет без проблем! А команда вызова ATD+79618562051; работает только один раз, а дальше error. С ардуино смс отправка заработала только через скетч : [url]http://www.2150692.ru/faq/36-otpravka-sms-cherez-arduino-i-gsm-modul-neoway-m590[/url] Кстати, хороший скетч, можно GSM модемы проверять. Жаль, что в ручную так и не получилось смс отправить. Как еще можно ввести cntrl+z ? пробовал вводить #026, #26, \r, 0x1A , ничего не работает. |
Складывается ощущение, что модем не получат команды окончания текстового сообщения для дальнейшей его отправки. И еще вопрос : какие книги вы можете посоветовать для начинающего программировать для ардуино ? Уровень - новичок, не занимавшийся программированием ранее. |
Есть программка FLProg, можно собрать схему и она сама генерирует скетч . Там есть уже готовый модуль М590 . [url]http://flprog.ru/index/uchebnyj_centr/0-12[/url] |
Я изучал раскаль а потом dilphi и программирование на ардуино проблем не было. Главное логика с математикой ,а потом реализация с помощью команд. С начала надо поставить в программировании задачу логически. Хоть своими словами описать процесс алгоритма и используя команды его реализовать. Для отладки всего софта его надо разбивать на отдельные части. [url]https://www.arduino.cc/en/Reference/HomePage[/url] [url]http://www.arduino.ru[/url] Советую разобрать все команды языка на примерах и модифицировать по своему усмотрению. |
И цель изучения GSM модуля ? Собрать сигнализацию . У меня с моим опытом ушло примерно 2 недели на написание софта. Чужие скетчи не использовал. С нуля сложную программу не напишешь. Надо тренироваться на простых и очень долго. |
Текущее время: 03:45. Часовой пояс GMT +3. |