Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: GE863-GPS
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
mempfis_
Добрый день.
Есть модем GE863-GPS. Подскажите как наладить с помощью него приём и передачу бинарных посылок (просто данных вида 0x12, 0x34...).
написал простой скрипт который позволяет читать данные с сервера в текстовом режиме:

Код
def readsocket():

    # ##################################
    #print 'Context 1 configuration'
    res = MDM.send('AT+CGDCONT=1,"IP","internet"\r',0)
    res = MDM.receive(50)
    print res
    # ##################################

    # ##################################
    #print 'Socket1 configuration'
    res = MDM.send('AT#SCFG=1,1,1000,120,1200,50\r',0)
    res = MDM.receive(50)
    print res
    # ##################################    

    # ##################################
    #print 'Context 1  activation'
    res = MDM.send('AT#SGACT=1,1\r',0)
    res = MDM.receive(50)
    print res
    # ##################################


    # ##################################
    #print 'Get Socket dial'
    res = MDM.send('AT#SD=1,0,13,"192.43.244.18",255,0,0\r',0)
    res = MDM.receive(50)
    print res
    #print '\n'
    # ##################################


Меняю сервер на другой (который передаёт бинарные данные) бриходит какаято белеберда в которой ни малейшего намёка на исходные данные (должно быть 0xAA, 0x01 а приходят буквы которые никак связать с исходной посылкой не удаётся)

Покопался в ат-командах нашёл такую:
АТ#SCFGEXT=<connId>,
<srMode>,
<dataMode>,
<keepalive>
[,<unused_A>
[,<unused_B>]]

где <dataMode>: “data view mode” presentation format
0 - data represented as text (default)
1 - data represented as sequence of hexadecimal numbers (from 00 to FF)

Кто может подсказать модем вообще поддерживает эту команду (у меня постоянно выдаёт на неё error) и этот dataMode определяет режим передачи данных в модеме или просто режим отображения в терминале?

Буду благодарен за любую помощь в этом вопросе smile.gif
mempfis_
Неужели никто никогда не передавал или принимал с помощью GPRS-модема данные через сокеты? 07.gif
Интересует как это можно сделать с помощью данного модема или где об этом почитать (в доках телита ничего по этому поводу не нашёл кроме неподдерживаемой ат-команды)
bolmoe
Цитата(mempfis_ @ Dec 25 2008, 12:04) *
Неужели никто никогда не передавал или принимал с помощью GPRS-модема данные через сокеты? 07.gif
Интересует как это можно сделать с помощью данного модема или где об этом почитать (в доках телита ничего по этому поводу не нашёл кроме неподдерживаемой ат-команды)


Скорее всего сервер производит преобразование символов автоматически, не преобразовывает только символы латиницы A-Z, a-z и цифры 0-9 и еще некоторые символы (точно не помню). Попробуй перекодировать при получении данных, к примеру байт = 0х00 будет преобразован сервером в %00, 0х01 - %01, % - %25 и т.д., тебе надо их обратно. Другой способ чтения, не через сёкет, а через FTP соединение, тогда преобразовывать не надо, читает бинарники как положено.
Почитай книжку к примеру по PHP, там есть немного про кодирование и декодирование - то, что делает сервер автоматически.
В браузере при поиске через яндекс или другой поисковик наверняка видел что руский текст запроса преобразовывается в ..... к пр. "поиск"="%EF%EE%E8%F1%EA" - просто заменяет на шестнадцатиричные значения только в текстовом виде, соответственно объем файла вырастает....
mempfis_
Оказалось что приходит именно то что нужно, просто терминал не отображал бинарные данные.
А вообще стоит мне почитать об этих соккетах и принципе передачи данных через них. Буду благодарен если дадите пару ссылок на соответствующую литературу smile.gif
Или в двух словах расскажете к какой области это относится smile.gif
(Для меня модем это микросхема которой я управляю - учился на электронщика - а по каким протоколам она там передаёт это для меня тёмный лес 07.gif )
bolmoe
Цитата(mempfis_ @ Dec 26 2008, 20:00) *
Оказалось что приходит именно то что нужно, просто терминал не отображал бинарные данные.
А вообще стоит мне почитать об этих соккетах и принципе передачи данных через них. Буду благодарен если дадите пару ссылок на соответствующую литературу smile.gif
Или в двух словах расскажете к какой области это относится smile.gif
(Для меня модем это микросхема которой я управляю - учился на электронщика - а по каким протоколам она там передаёт это для меня тёмный лес 07.gif )



))))) Сам такой же))))) электронщик))). Честно говоря, по поводу литературы - со всего понемногу. Почитал из инета по поводу TCP/IP, PHP5(книгу купил), сети.... - вроде немного понятнее стало. Со всем остальным познакомился по мере решения задачи, которую должен выполнять терминал GT863-PY.
Спрашивай, если что, если знаю - подскажу. Я так тут по форуму полазил, тех, кто на телит подсел, не очень много.... На майл кидай вопросы bolmoe mail ru, а там потом можно и по аське
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.