Форум на Kuban.ru (http://forums.kuban.ru/)
-   Радиолюбитель (http://forums.kuban.ru/f1060/)
-   -   Помогите разобраться с Arduino (http://forums.kuban.ru/f1060/pomogite_razobrat-sya_s_arduino-7875445.html)

SIT 07.07.2016 12:06

Помогите разобраться с 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]

samer 07.07.2016 21:02

Я в программе шлю вот такую строку после текста.
Serial.write(char(26));
Все работает отлично.

SIT 07.07.2016 23:50

так это в программе, мне нужно отправить смс через монитор порта с помощью ат команды, и это у меня не работает. Сегодня купил второй такой же модем, там та же фигня. Где-то я что-то делаю не так, пытаюсь понять где и что.

samer 08.07.2016 10:21

Я использую программу Terminal для связи с модулем sim900.
Вот перевод из проги :
В макросах Вы можете использовать все символы от клавиатуры и любого символа ASCII если Вы используете $xx или #xxx.
Где $xx - шестнадцатеричный и #xxx формат десятичный ASCII. Если Вы хотите использовать # или символ $ в макросе, Вы должны ввести его дважды ($$ = $ и ## =#).

Вбей в поле макроса строку #026 и отправь ( нажми на M1 )

Если будешь писать софт на ардуину для обработки инфы от модуля , то можно упростить настройку.
Допустим модуль шлет ринг , пишем эту строку в обычный текстовый файл . В место модуля к ардуине подключает прогу
Terminal и в ней через send file отправляем файл с нашей строкой. Софт который крутится в ардуине должен её обработать и выдать команду на проключение( к примеру )
Можно добавлять временные метки в софте на анализ информации
и выводить данный через WRITE и видеть их в терминале.
К примеру с рингом может идти А-номер , я его обрабатываю и через write повторяю .Так я проверяю правильность работы софта. В текстовом файле может быть куча разных строк ,
И можно отлаживать всю программу без участия модуля.
Еще к примеру в sim900 есть возможность заливать свои аудио дорожки и их проигрывать через АТ команды.

samer 08.07.2016 10:41

Вот код на отправку СМС
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));

SIT 08.07.2016 21:43

Из-под терминала смс отправляет без проблем! А команда вызова 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 , ничего не работает.

SIT 08.07.2016 21:47

Складывается ощущение, что модем не получат команды окончания текстового сообщения для дальнейшей его отправки.

И еще вопрос : какие книги вы можете посоветовать для начинающего программировать для ардуино ? Уровень - новичок, не занимавшийся программированием ранее.

kl023kd 08.07.2016 21:58

Есть программка FLProg, можно собрать схему и она сама генерирует скетч . Там есть уже готовый модуль М590 . [url]http://flprog.ru/index/uchebnyj_centr/0-12[/url]

samer 09.07.2016 13:24

Я изучал раскаль а потом dilphi и программирование на ардуино
проблем не было. Главное логика с математикой ,а потом реализация с помощью команд. С начала надо поставить в программировании задачу логически. Хоть своими словами описать процесс алгоритма и используя команды его реализовать.
Для отладки всего софта его надо разбивать на отдельные части. [url]https://www.arduino.cc/en/Reference/HomePage[/url]
[url]http://www.arduino.ru[/url]
Советую разобрать все команды языка на примерах и модифицировать по своему усмотрению.

samer 09.07.2016 13:32

И цель изучения GSM модуля ? Собрать сигнализацию . У меня с моим опытом ушло примерно 2 недели на написание софта. Чужие скетчи не использовал. С нуля сложную программу не напишешь. Надо тренироваться на простых и очень долго.


Текущее время: 03:45. Часовой пояс GMT +3.