Отговори на тема  [ 12 мнения ] 
Quectel M66-M95 проблем с командата AT+QIRD 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение Quectel M66-M95 проблем с командата AT+QIRD
Здравейте,
разцъквам въпросните модем и се натъкнах на проблем.
Командата AT+QIRD=0,1,0,1024 не взема под внимание последния параметър, дължината на данните които се четат. Парсва го, и ако не е в допустимия интервал дава грешка. Но независимо от стойността му, връща всичко което е в буфера.
А ако е 0 връща допълнително след като се изпратят данните +IRQD: xxx, xxx, 0 където xxx са сумарно приетите данни през сесията.

Някой да знае нещо по въпроса?
Няколко пъти минавам чарашафите по въпроса но нямам обяснение защо така се случва.


Нед Юни 04, 2017 1:37 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 12:48 pm
Мнения: 6107
Мнение Re: Quectel M66-M95 проблем с командата AT+QIRD
5.3.2. Retrieve the received data via AT command
The module in this mode, compared with the above mode, outputs a URC ‘+QIRD:’ to inform the user that
TCP/UDP data has been received and user can retrieve the data by command AT+QIRD. This mode is not
supported by default. Execute command AT+QINDI=1 to enable this mode before the TCP/UDP
connection is established. An example when the module receives the data in this mode is shown as below.
Suppose the module receives the TCP data below from the remote end:
"1234567890abcdefghijklmnopqrstuvwxyz"
+QIRDI:0,1,0 //The module receives the data based on Context 0, and the module acts as
the client.
Now retrieve data by the following command.
AT+QIRD=0,1,0,1024 //Retrieve the data from the module’s socket buffer. The maximum length to
retrieve is 1024. If the data length in the buffer is less than 1024, retrieve all
the data from the buffer.
+QIRD:116.228.146.250:7070,TCP,36<CR><LF>
1234567890abcdefghijklmnopqrstuvwxyz
It is recommended to use AT+QIRD to read all received data when there is ‘+QIRD:’ arrived.
5.4. Close connection
When AT+QIMUX=0, after establishing TCP or UDP connection, close connection as below.
AT+QICLOSE // Close the session with the remote server.
CLOSE OK
When AT+QIMUX=1, after establishing TCP or UDP connection, use AT+QICLOSE=<index> to close
one connection as below.
AT+QICLOSE=0 // Close the session with the remote server.
0, CLOSE OK
Note:
When connection is established as a server, it is needed to select and control server connection or client
contention by AT+QISRVC.
5.5. Deactivate PDP context
Use AT+QIDEACT command to deactivate current PDP context.
AT+QIDEACT // If the context will not be used in a long period (for example more
than one hour), it’s recommended to close this context by
command AT+QIDEACT. Normally the response time for this
command is about 2-5 seconds. But when the network is very

_________________
main[-1u]={1};


Нед Юни 04, 2017 4:24 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение Re: Quectel M66-M95 проблем с командата AT+QIRD
Уф мерси,
ще се гръмна. Събрали са се два фактора.

Вместо AT+QINDI=1 съм пращал AT+QINDI=0.

При тази ситуация данните ми излизат директно на порта. Ама ги прочитам чак като почна да чакам отговора на AT+QIRD=0,1,0,1024.

Експериментирам с една малко изчанчена организация на работата с модема, че затова.


Нед Юни 04, 2017 4:30 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение Re: Quectel M66-M95 проблем с командата AT+QIRD
Да не отварям нова тема.
С AT+QIFGCNT си избирам активния контекст. И си работя с него нататък.
Но не схващам защо имам 2 контекста и на практика за какво може да бъде ползвано това.


Пон Юни 05, 2017 10:34 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11278
Местоположение: Добрич
Мнение Re: Quectel M66-M95 проблем с командата AT+QIRD
Nikola Kirov написа:
Но не схващам защо имам 2 контекста и на практика за какво може да бъде ползвано това.


Някой ден може да ти се наложи да ползваш 2 или повече различни връзки едновременно. Примерно през различни APN-и. Ако не на теб, на други понякога им се налага. За по-лесно в стековете се ползват контексти.
Избираш един контекст, настройваш си го, вдигаш някаква връзка... Ако искаш да вдигнеш втори, избираш друг свободен, настройваш си го него като междувременно първия си бачка и по всяко време може да ги превключваш (ако искаш).
Просто с контексти е по-лесно, защото в тях се запомнят разни настройки...

едит: Между другото Quectel имат малко различно виждане на тема как се буферират и затватят сокети. В случай че ползваш буферите им, да знаеш че отстреща сървъра като затвори сокета и пристигне нотификацията модема си чисти буферите... (освен ако учтиво не ги помолиш да не го правят).


Пон Юни 05, 2017 11:03 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 12:48 pm
Мнения: 6107
Мнение Re: Quectel M66-M95 проблем с командата AT+QIRD
Миро, нящо не разбрах едита - след FIN-ASK за какво са ти буферите и сокета

_________________
main[-1u]={1};


Пон Юни 05, 2017 3:37 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11278
Местоположение: Добрич
Мнение Re: Quectel M66-M95 проблем с командата AT+QIRD
те самите буфери на мен не ми трябва, трябват ми данните в тях ;-)
Примерно не всички HTTP сървъри признават connection: keep-alive. Като получат заявка, връщат ти отговора и ти затварят сокета. Това си е съвсем легално поведение... При тая ситуация куйктела забърсва буферираните данни и ти казва "чао-чао". Дефактно така направено не може да ползваш буфериране, защото има ситуации в които изобщо не виждаш никакви данни. Примерно тествали сме го и с малко данни и изобщо не идва никаква нотификация за данни, вижда се само чао-чао и толкоз ;-)


Пон Юни 05, 2017 4:00 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение Re: Quectel M66-M95 проблем с командата AT+QIRD
Това беше интересно инфо. Вероятно щях да я настъпя тази мотика :)


Пон Юни 05, 2017 4:17 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 12:48 pm
Мнения: 6107
Мнение Re: Quectel M66-M95 проблем с командата AT+QIRD
значи специално за M95, M66:
Правил съм HTTP и HTTP Long Polling с MCU + АТ команди ,
и с OpenCPU ( и през RIL и през Socket API ) и всичко си е било наред при условие, че апача "винаги" затваря (ако не го "помоля")
Настъпил съм само на една мотика: POST с дължина 0 (а това си е прост GET) - дава грешка

_________________
main[-1u]={1};


Пон Юни 05, 2017 4:23 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11278
Местоположение: Добрич
Мнение Re: Quectel M66-M95 проблем с командата AT+QIRD
TheWizard написа:
и всичко си е било наред при условие, че апача "винаги" затваря


мда, ако не ползваш буфериране (AT+QINDI=0 мисля беше) може и да работи. Всъщност имаше и други предложения на съпорта, но не сме тествали и не знам дали работят. Нас ни кефи повече с буфериране ;-)


Пон Юни 05, 2017 4:36 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 12:48 pm
Мнения: 6107
Мнение Re: Quectel M66-M95 проблем с командата AT+QIRD
а за някой "прости" HTTP заявки има и такива решения:
AT+QHTTPURL Set HTTP Server URL
AT+QHTTPGET Send HTTP GET Request
AT+QHTTPREAD Read HTTP Server Response
AT+QHTTPPOST Send HTTP POST Request
AT+QHTTPDL Download file from HTTP server

_________________
main[-1u]={1};


Пон Юни 05, 2017 6:02 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение Re: Quectel M66-M95 проблем с командата AT+QIRD
Да не отварям нова тема.
Сблъсках се със следния проблем.
Конекция с индекс 0 не може да отвори SSL връзка с авторизация. На всички останали индекси 1..5 си работи.
SSL без авторизация работи без проблем на индекс 0.
Някой да знае нещо по въпроса?


Съб Сеп 23, 2017 1:00 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 12 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни