Gsm модуль neoway m590 - gprs команди, програмування мікроконтролерів pic

- назва файлу, до якого передаються дані
- формат передачі даних:
1 - символи ASCII
2 - двійкові дані

- режим передачі даних:
1 - створення документа на сервері для запису в нього даних, якщо документ вже існує, його вміст замінюється новими даними

2 - створення документа на сервері для запису в нього даних, якщо документ вже існує, дані додаються в кінець документа
3 - видалення документа, параметр має дорівнювати 0, після отримання запрошення у вигляді символу ">", необхідно відправити символ повернення каретки (0х0D) для завершення команди видалення

- довжина переданих даних, значення не повинно перевищувати 10240 байт

AT + FTPPUT = new.txt, 1,1,9
> radiolaba
+FTPPUT: OK, 9

Створення документа new.txt,
передача 9 байт даних (radiolaba)
в документ, формат даних ASCII символи

AT + FTPPUT = new.txt, 1,2,7
> zapis01
+FTPPUT: OK, 7

Додавання 7 байт даних
(Zapis01) в кінець документа new.txt,
формат даних ASCII символи


Для експериментів я підключив модуль до комп'ютера за допомогою USB-UART перетворювача, як термінальної програми використовував Terminal v1.9b by Bray. Для виходу в інтернет необхідно відправити модулю послідовність певних команд.

Спочатку відправляємо команду вибору внутрішнього стека протоколів TCP / IP: AT + XISP = 0, за замовчуванням модуль використовує зовнішній стек протоколів TCP / IP. Для введення команди не забуваємо в кінці додати символ повернення каретки , в термінальній програмі необхідно набрати $ 0D. Далі необхідно задати параметри PDP контексту, командою AT + CGDCONT. Параметр APN (ім'я точки доступу) залежить від мобільного оператора, для оператора МТС команда виглядає наступним чином: AT + CGDCONT = 1, "IP", "internet.mts.ru", для Beeline AT + CGDCONT = 1, "IP", "internet.beeline.ru", Tele2 - AT + CGDCONT = 1, "IP", "internet.tele2.ru".

Наступна команда аутентифікація PDP контексту, для оператора МТС команда виглядає наступним чином: AT + XGAUTH = 1,1, "mts", "mts", параметри ім'я і пароль для інших операторів можна знайти в мережі. Я пропускав цю команду, модуль при цьому без проблем виходив в інтернет.

Після успішного з'єднання з сервером можна починати процес передачі даних. Команда AT + TCPSEND відправляє дані на сервер по протоколу TCP / IP, ідентифікатор з'єднання в параметрах команди повинен відповідати значенням в попередній команді (AT + TCPSETUP). Крім цього в параметрах команди задається довжина переданих даних, після введення команди і отримання запрошення, необхідно ввести дані, для завершення процесу послати символ .

Але, передача довільного потоку даних не має сенсу, сервер з web-сайтом нічого не розпізнає, необхідно передавати дані по HTTP стандарту. В http для запиту даних використовують інструкцію GET, наприклад, щоб завантажити головну сторінку web-сайту, потрібно передати сервера наступний запит:

GET /index.php HTTP / 1.1 \ r \ n
Host: site.ru \ r \ n \ r \ n

де, \ r \ n це символи повернення каретки і переклади рядка . Файл index.php знаходиться на сервері відповідає за відображення головної сторінки сайту з доменним ім'ям site.ru. У терміналі даний запит буде виглядати у вигляді одного рядка:

GET /index.php HTTP / 1.1 $ 0D $ 0AHost: site.ru $ 0D $ 0A $ 0D $ 0A $ 0D

Останній символ повернення каретки $ 0D необхідний для завершення введення даних в команді AT + TCPSEND. Нижче подано неповний лог завантаження головної сторінки сайту:

У мене GPRS команди підтримувалися на ревізії 01.20n 01.30c. я Arduino НЕ програмую, щоб логи будувати графіками, на стороні сайту швидше за все потрібен php скрипт, а в php я не особливо розбираюся, так що поки підказати не можу.

як визначити координати з цього gprs

За допомогою даного модуля координати визначити неможливо, і GPRS тут ні до чого. Координати по мобільній мережі можна визначити за параметрами основний і сусідніх сот (станцій, вишок). Але в модулі Neoway M590 не передбачені команди за допомогою яких можна запросити параметри стільники.

купив тут
До Arduino Uno підключив. M590 працює нормально. Запускаю M590 програмно через boot. Швидкість міняю на 9600.

1. Хто знає - чи є крім миготливого діода спосіб дізнатися, що M590 готовий до прийому AT команд.
Може якась ніжка на M590.
2. І ще мучить питання чи може якось скинеться сама програмно встановлена ​​швидкість 9600 процесі роботи?

Я перевіряв готовність модуля до роботи за двома параметрами, це відстеження повідомлення MODEM: STARTUP після включення модуля, причому рекомендується витримати паузу не менше 2 секунд, після цього повідомлення, перш ніж відправляти команди. Крім цього включення модуля можна відстежувати за напругою VCCIO на 6-му виведення модуля, це напруга живлення для ліній вводу / виводу модуля, величина напруги 2,85В. Я підключав висновок VCCIO до будь-якої лінії мікроконтролера і відстежував стан (0 або 1). Напруга на VCCIO з'являється відразу після включення модуля, тут теж необхідно витримати паузу не менше 2 секунд, перед відправкою команд.

Швидкість UART-а запам'ятовується в модулі, і більше не скидається, команду настройки швидкості можна передати модулю один раз і більше не використовувати.

Подивіться уважно на фотографію на початку фоормуа, на ній відображено модем NeoWay M590 / M590E. Ваш модем відповідає фото? Команда «AT + TCPTRANS» підтримується модемом «M660» у версії прошивки НЕ НИЖЧЕ v3.1. Якщо у Вас прошивка нижче, раджу оновити її на останню.
Формат команди:
AT + TCPTRANS = ,.
П. С.
Але на жаль, NeoWay M590E не підтримує команду 🙁 принаймні до прошивки v «1103_C6C30000_V0130e»

Доброго вам дня!
Тут так запросто сказали «Якщо у Вас прошивка нижче, раджу оновити її на останню.»
Ні хто б не міг мене ткнути носом в місце, де цю оновлену прошивку взяти?
Як я зрозумів, це буде якийсь «.LOD» файл, який залити можна використовуючи «RDA download tool» ... У всякому суча так говорить сам neoway.

Добрий день.
Як послати POST запит підкажіть будь ласка.
Це правильний формат?

У відповідь отримую:
. OK .... + TCPSEND: 0,221 ..
. +TCPCLOSE: 0, Link Closed ..
Що я не правильно роблю?

Я POST запити відправляти не пробував, але в вашому запиті куди він спрямований? / Rpc / - це що таке? на мою запит повинен бути спрямований на html сторінку, або php файл.

Ще тут на мою помилка:
Content-Type: application / x-www-form-urlencoded / r / n
/ R / n
/ R / n
/ r

повинно бути так:
Content-Type: application / x-www-form-urlencoded / r / n
/ R / n
/ R / n

тільки от я точно не знаю після тексту запиту можливо треба два перекладу рядка / r / n / r / n

Не можу отримати відповідь від сервера 193.193.165.166 порт 20332. Якщо в будь-якому TCP клієнта під'єднатися до цього сервера і набрати команду # P # \ r \ n то отримаєте відповідь # AP #
У мене модуль NEOWAY M590 підключений через USB-UART до термінальній програмі
AL Terminal. На всі команди реагує без питань. Підключаючись до домашнього IP до програми SocketTest (як сервер) дані по TCP з модуля NEOWAY M590 йдуть і він їх приймає. З сервером 193.193.165.166:20332 ні як не виходить подружити, не спадає відповідь, таке відчуття, неначе на сервер надсилається рядок не того формату або кодування. Міняв сім карти побував Мегафон, МТС, TELE2 результат однаковий. Посилаю команди в наступних порядку.
AT + XISP = 0
OK
AT + CGDCONT = 1, "IP", "internet.tele2.ru»
OK
AT + XGAUTH = 1,1, »», »»
OK
AT + XIIC = 1
OK
AT + XIIC?
+XIIC: 1, 10.200.245.43
OK
AT + TCPSETUP = 0,193.193.165.166,20332
OK
+TCPSETUP: 0, OK
AT + TCPSEND = 0,7
> # P # \ r \ n
OK
+TCPSEND: 0,7

Відповіді від сервера немає, закриваю з'єднання
AT + TCPCLOSE = 0
+TCPCLOSE: 0, OK

Підкажіть, що не так з цим сервером, дуже важливо отримати з ним зв'язок. Спробуйте хто небудь зв'язатися з ним з допомогу такого модуля і послати йому запит виду # P # \ r \ n і отримати від нього відповідь # AP #.

Здрастуйте, у мене були проблеми при відправці символу # в термінальній програмі, модуль не розумів команду (команда перевірки балансу * 100 #), як виявилося термінальна програма неправильно інтерпретує символ # введений з клавіатури, замість нього я прописую в програмі $ 23 (код ASCII символу #), після цього модуль почав розуміти команду, може у вас така ж проблема?

Ні з # цим символом все в порядку, баланс теж проходить, # P # \ r \ n таку команду якщо надіслати на мій сервер то все приходить. Йдеться про сервер 193.193.165.166 він не приймає команду або не відповідає я не зрозумію, але він мені потрібен для створення трекера, це сервер ORANGE GPS. Якщо є можливість спробуйте зі свого модуля послати йому цю команду і отримати відповідь.