реклама на сайте
подробности

 
 
6 страниц V  < 1 2 3 4 5 > »   
Reply to this topicStart new topic
> GPRS для чайников
GeGeL
сообщение May 17 2015, 18:56
Сообщение #31


Местный
***

Группа: Свой
Сообщений: 403
Регистрация: 29-04-11
Из: Украина
Пользователь №: 64 682



Цитата
А зачем пинговать 8.8.8.8

Дело в том, что нет доверия к самому GSM-модулю: внутренний стек или GPRS может глюкнуть, тест состояния будет ОК, но пакеты не будут даже выходить. Контроллер будет считать, что умер сервер, и ждать, ситуация зациклиться. Если же после нескольких неудачных попыток получить ответ сервера пробовать пинговать что-то гарантийно работающее, то сразу ясно: причина в модуле или в сервере. И если в модуле, то можно перезапустить.
Причем 8.8.8.8 можно даже не пинговать, а отсылать в 51 порт UDP-пакет с DNS-запросом доменного имени, заведенного для вашего сервера, а по получению UDP-ответа парсить датаграмму и извлечь IP.
Сам запрос шаблонный: захватите снифером с РС и запишите в виде сonst в контроллер. С поиском IP в ответе сложнее: он не по фиксированному смещению, и есть два варианта упаковки. Если не лень, посмотрите мой ассемблерный код по ссылке выше и переведите на С. Или, лучше, почитайте rfc по DNS и напишите парсер сами.
Таким образом, убиваете сразу двух зайцев: убеждаетесь, что модуль не висит, и получаете новый IP сервера, если он изменился. Т.е. можно даже поднять сервер на динамическом IP c использованием DynDNS (правда, он сейчас полностью платный стал).
Go to the top of the page
 
+Quote Post
ISG2015
сообщение May 18 2015, 05:07
Сообщение #32


Участник
*

Группа: Участник
Сообщений: 33
Регистрация: 6-05-15
Пользователь №: 86 547



GeGeL, спасибо за советы. Да, может и стек в симкоме глюкнуть, и GPRS. Контроллер может ошибочно считатьчто умер сервер. Пингуя 8.8.8.8 (или не пингуя а запрашивая адрес, как Вы описали) можно убедиться в том что именно "висит", но при всем при этом выход из ситуации только один: перезагрузка модуля.
Но пинговать 8.8.8.8 безусловно может оказаться полезно, так как перегружать модуть бесконечно нет смысла. Нужно обдумать логику работы модуля, особенно если учесть, что у меня 2 SIM-карты.

Сейчас озадачился написанием "стека" АТ команд для модема. Как я погляжу народ все делает на задержках (функции Delay под различными соусами), но я думаю это не айс. Не хочется изобретать велосипед, но чувствую, что буду вынужден)
Go to the top of the page
 
+Quote Post
CADiLO
сообщение May 18 2015, 05:58
Сообщение #33


Гуру
******

Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988



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


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post
ISG2015
сообщение May 18 2015, 06:59
Сообщение #34


Участник
*

Группа: Участник
Сообщений: 33
Регистрация: 6-05-15
Пользователь №: 86 547



Цитата(CADiLO @ May 18 2015, 05:58) *
Пинг будет нужен еще по одной причине - некоторые операторы при отсутствии активности в соединении просто превращают соединение в черную дыру.
Данные уходят в никуда хотя коннект не разорван. Поэтому если соединение постоянное, то раз в несколько десятков секунд нужно или что-то отправлять или пинговать.



С периодом 20с отправлял 2е суток (UDP слот). Сейчас поставлю 60 с.

Сообщение отредактировал ISG2015 - May 18 2015, 07:03
Go to the top of the page
 
+Quote Post
CADiLO
сообщение May 18 2015, 07:56
Сообщение #35


Гуру
******

Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988



Думаю что перепроверить с разным временем лучший выход.

У нас, у Киевстара, нет такого глюка, а у Лайфа - 3-5 минут нет данных и все - большой шанс отправить "в никуда"


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post
ISG2015
сообщение May 18 2015, 08:55
Сообщение #36


Участник
*

Группа: Участник
Сообщений: 33
Регистрация: 6-05-15
Пользователь №: 86 547



Поставил на компьютер программу снифер/анализатор сетев. протоколов "Wireshark". Отправляю по UDP 1 байт. Получаю: "Frame Length: 60 bytes (480 bits)" о_О

Таким образом, отправляя на сервер пакетик раз в 5 минут и получая на него ответ (контроль канала) я в месяц попадаю на 1 Мбайт sad.gif
Что-то жирновастенько учитывая что мне бы хотелось чаще мониторить железку и канал связи.

Go to the top of the page
 
+Quote Post
p_kav
сообщение May 18 2015, 08:58
Сообщение #37


Местный
***

Группа: Участник
Сообщений: 294
Регистрация: 5-08-14
Из: Ярославль
Пользователь №: 82 466



Так провайдер тарифицирует трафик на 3 уровне, весь фрейм отбрасывается ещё на оборудовании оператора, остается только внутренность IP-пакета. Хотя, этот момент я бы уточнил у оператора, но весь фрейм 2 уровня целиком уж точно никто не тарифицирует.

А вообще, у многих провайдеров есть нетарифицируемые ресурсы. Напрмиер, Яндекс-Карты у Мегафона. Можно их опинговывать. Или можно попробовать непосредственный шлюз провайдера, биллинг может стоят за ним.

Сообщение отредактировал p_kav - May 18 2015, 09:01
Go to the top of the page
 
+Quote Post
GeGeL
сообщение May 18 2015, 14:18
Сообщение #38


Местный
***

Группа: Свой
Сообщений: 403
Регистрация: 29-04-11
Из: Украина
Пользователь №: 64 682



Цитата
Получаю: "Frame Length: 60 bytes (480 bits)"

Это проблема Ethernet - кадр дополняется нулями. В вашем случае внутреннего стека GSM-модуля оверхед будет 24 байта на пакет (на IP+UDP заголовки). Раньше они тарифицировались, сейчас не могу сказать, тем более по каждому оператору.
Цитата
я в месяц попадаю на 1 Мбайт Что-то жирновастенько

Эдуард, это то, о чем я писал. crying.gif И это только начало...
Go to the top of the page
 
+Quote Post
ISG2015
сообщение May 18 2015, 14:24
Сообщение #39


Участник
*

Группа: Участник
Сообщений: 33
Регистрация: 6-05-15
Пользователь №: 86 547



Эдуард? о_О

С Лайфом договорился, обещают завтра помочь с доступом к билинговой системе. Вот там и посмотрю ,что именно тарифицируется.
Go to the top of the page
 
+Quote Post
CADiLO
сообщение May 18 2015, 14:55
Сообщение #40


Гуру
******

Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988



>>> Эдуард? о_О

Да. А шо? sm.gif

Как мне сказал начальник Кемеровского ОРТПЦ
- Днепропетровца узнать легко - "шо", "га" и "тю" одновременно в лексиконе есть только там.

К сожалению это наша действительность - волкИ хотят "еды".



--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post
GeGeL
сообщение May 18 2015, 19:06
Сообщение #41


Местный
***

Группа: Свой
Сообщений: 403
Регистрация: 29-04-11
Из: Украина
Пользователь №: 64 682



Цитата
Эдуард

Это была реплика к CADiLO в продолжение нашей старой дискуссии. rolleyes.gif
Go to the top of the page
 
+Quote Post
RadikX
сообщение May 19 2015, 07:12
Сообщение #42


Частый гость
**

Группа: Участник
Сообщений: 125
Регистрация: 13-04-11
Из: Суровый Челябинск
Пользователь №: 64 337



Цитата(ISG2015 @ May 18 2015, 09:07) *
Сейчас озадачился написанием "стека" АТ команд для модема. Как я погляжу народ все делает на задержках (функции Delay под различными соусами), но я думаю это не айс. Не хочется изобретать велосипед, но чувствую, что буду вынужден)


Правильно думаете. Велосипед давно придуман - switch, описывающий состояния автомата. На Delay делают первокурсники - тошно видеть такое от многоопытных дядек.
Go to the top of the page
 
+Quote Post
p_kav
сообщение May 19 2015, 08:30
Сообщение #43


Местный
***

Группа: Участник
Сообщений: 294
Регистрация: 5-08-14
Из: Ярославль
Пользователь №: 82 466



То есть отправляем команду, и ждем пока не получим OK или не истечет таймаут, а дальше анализируем вывод команды или обрабатываем ситуацию таймаута?
А как реализуют обработку незапрошенного вывода? Например, модуль выводит текст длинного SMS, и в этот момент на него позвонили и он выводит RING прямо в середине текста, как это обрабатывают многоопытные дядьки?
Go to the top of the page
 
+Quote Post
CADiLO
сообщение May 19 2015, 08:51
Сообщение #44


Гуру
******

Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988



AT+GSMBUSY=1
-прочесть SMS
AT+GSMBUSY=0

это так - навскидку....


второй вариант
завести RI на контроллер, а URC RING отключить AT+CFGRI


кстати интересный момент - надо будет специально проверить
я что-то не видел чтобы в текст SMS вклинивались URC


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post
ISG2015
сообщение May 19 2015, 10:14
Сообщение #45


Участник
*

Группа: Участник
Сообщений: 33
Регистрация: 6-05-15
Пользователь №: 86 547



Сегодня таки выяснил какие накладные расходы на передачу 1 байта поверх сетей GSM (Life Украина) по технологии GPRS:
8 байт на UDP заголовки и 20 байт на IP. Итого 28 байт. Ну это уже нормальненько такsm.gif
Остается надеяться, что подобного рода расклады с тарификацией и у других операторов.
Go to the top of the page
 
+Quote Post

6 страниц V  < 1 2 3 4 5 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th April 2024 - 13:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01537 секунд с 7
ELECTRONIX ©2004-2016