Vix 0 28 июля, 2021 Опубликовано 28 июля, 2021 · Жалоба Сергей Борщ, модем и контроллер соединены только по RX, TX? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 28 июля, 2021 Опубликовано 28 июля, 2021 · Жалоба SIM800 подключал по RX,TX, с SIM7600 использовал еще и DTR, RTS, но что-то мне кажется, что не наблюдал на них шевеления. Т.е. модем на 115200 всегда успевал принять. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vix 0 28 июля, 2021 Опубликовано 28 июля, 2021 · Жалоба Спасибо! Спрашивал, потому что смутила строчка AT+IFC=2,2. Я так понял, что могут понадобиться еще линии управления потоком. В AT+CGDCONT указывается APN. А если понадобится логин и пароль, какие команды использовать? Ранее использовал такие команды: {"AT+SAPBR=3,1,\"APN\",\"internet.beeline.ru\""}; {"AT+SAPBR=3,1,\"USER\",\"beeline\""}; {"AT+SAPBR=3,1,\"PWD\",\"beeline\""}; Но для AT+CGDCONT эти команды неуместны? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 28 июля, 2021 Опубликовано 28 июля, 2021 · Жалоба 9 часов назад, Vix сказал: Но для AT+CGDCONT эти команды неуместны? Да, там все это происходит уже внутри ppp. У меня сделано так: void ppp_modem::set_auth(char const * user, char const * password) { if(strlen(user) == 0 || strlen(password) == 0) ppp_set_auth(PPP_pcb, PPPAUTHTYPE_NONE, nullptr, nullptr); else ppp_set_auth(PPP_pcb, PPPAUTHTYPE_ANY, user, password); } Проверить, к сожалению, возможности не было - у нас все операторы имя пользователя и пароль не проверяют, можно указать хоть "вася пупкин" и "слава мне, победителю драконов". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vix 0 2 августа, 2021 Опубликовано 2 августа, 2021 (изменено) · Жалоба Была проблема с выводом логов, я вывожу через USB-CDC, часть сообщений терялась, добавил задержку: void logger(const char *format, ...) { char buffer[MAX_STRING_SIZE]; va_list args; va_start (args, format); vsprintf(buffer, format, args); va_end(args); buffer[MAX_STRING_SIZE-1]=0; logger_Send(buffer, strlen(buffer)); } HAL_StatusTypeDef logger_Send(char* bArray, uint32_t size_bArray) { HAL_StatusTypeDef status = HAL_OK; if(CDC_Transmit_FS((uint8_t*)bArray, size_bArray) == USBD_BUSY){ osDelay(20); CDC_Transmit_FS((uint8_t*)bArray, size_bArray); } return status; } Сейчас прогресс такой Лог ppp phase changed[1]: phase=0 ppp_connect[1]: holdoff=0 ppp phase changed[1]: phase=3 pppos_connect: unit 1: connecting ppp_start[1] ppp phase changed[1]: phase=6 pppos_send_config[1]: out_accm=FF FF FF FF ppp_send_config[1] pppos_recv_config[1]: in_accm=FF FF FF FF ppp_recv_config[1] ppp: auth protocols: PAP=1 pppos_write[1]: len=24 ppp_start[1]: finished pppos_input[1]: got 64 bytes pppos_write[1]: len=22 pppos_input[1]: got 8 bytes pppos_write[1]: len=24 pppos_input[1]: got 48 bytes netif_set_mtu[1]: mtu=1500 pppos_send_config[1]: out_accm=0 0 A 0 ppp_send_config[1] pppos_recv_config[1]: in_accm=0 0 A 0 ppp_recv_config[1] ppp phase changed[1]: phase=7 pppos_write[1]: len=10 pppos_input[1]: got 27 bytes PAP authentication succeeded ppp phase changed[1]: phase=9 pppos_write[1]: len=20 pppos_write[1]: len=14 pppos_input[1]: got 16 bytes pppos_write[1]: len=14 13:07:09 pppos_input[1]: got 17 bytes pppos_write[1]: len=14 pppos_input[1]: got 17 bytes sifvjcomp[1]: VJ compress enable=0 slot=0 max slot=0 sifup[1]: err_code=0 ppp_link_status_cb: PPPERR_NONE our_ip4addr = 10.51.151.19 his_ipaddr = 192.168.254.254 netmask = 255.255.255.255 local IP address 10.51.151.19 remote IP address 192.168.254.254 ppp phase changed[1]: phase=10 В какой момент можно запускать своего TCP и т.п. клиентов? Когда err_code в ppp_link_status_cb стал равен PPPERR_NONE ? Изменено 2 августа, 2021 пользователем Vix Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vix 0 4 августа, 2021 Опубликовано 4 августа, 2021 · Жалоба Запустил самопальный MQTT клиент. После 20 приемов обновления топика связь замирает, прием прекращается. Где что включить/посмотреть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 12 4 августа, 2021 Опубликовано 4 августа, 2021 · Жалоба >>> Запустил самопальный MQTT клиент. После 20 приемов обновления топика связь замирает, прием прекращается. Где что включить/посмотреть? На каком модуле, кто оператор, чье облако..... И самое главное - зачем самопальный? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vix 0 4 августа, 2021 Опубликовано 4 августа, 2021 · Жалоба В моем LWIP (предположительно версия 2.0.x) нет встроенного MQTT, не знаю почему, брал из примера. Подключал библиотеку вручную, т.к. мой МК STM32F413 не имеет ethernet, так бы через CubeMX все подключилось. Код MQTT взял на просторах интернета из проекта ATmega16_GPRS_MQTTClient. С этим кодом написал клиента в виде Windows приложения, работает нормально. С него же и обновляю топик. Сервер MQTT - mqtt.by. Подозрение на утечку памяти в недрах TCP. Как отловить? СИМ мультиоператорная, подключается как правило к МТС или Мегафон. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vix 0 4 августа, 2021 Опубликовано 4 августа, 2021 · Жалоба Такс, параллельно принимал данные MQTT клиентом с LWIP и приложением на Windows. Оба перестают принимать после 20-го publish. Причем клиент, публикующий топик, получает подтверждение, а подписчики ничего. Похоже, сервер с какими-то ограничениями. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 4 августа, 2021 Опубликовано 4 августа, 2021 · Жалоба 02.08.2021 в 12:20, Vix сказал: В какой момент можно запускать своего TCP и т.п. клиентов? Когда err_code в ppp_link_status_cb стал равен PPPERR_NONE ? Пропустил вопрос. Вроде сразу запускаю. Пока сессия не поднялась - connect() будет возвращать ошибку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vix 0 4 августа, 2021 Опубликовано 4 августа, 2021 · Жалоба 5 hours ago, Vix said: Такс, параллельно принимал данные MQTT клиентом с LWIP и приложением на Windows. Оба перестают принимать после 20-го publish. Причем клиент, публикующий топик, получает подтверждение, а подписчики ничего. Похоже, сервер с какими-то ограничениями. С сервером io.adafruit.com ограничение на количество publish не наблюдается. Но есть ограничение по частоте. В итоге LwIP - PPPoS - MQTT работает, продолжаю тестировать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
megajohn 8 27 октября, 2021 Опубликовано 27 октября, 2021 · Жалоба 12.09.2019 в 16:46, Girnch сказал: Сегодня бился с такой же проблемой. Но похоже решение по ссылке уже не доступно. Совсем не понятно где идет этот аппаратный рассчет СRC вот правильная ссылка. Это так, на будущее - вдруг кому приспичит ковыряться с PPP Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dima83 1 11 февраля, 2022 Опубликовано 11 февраля, 2022 (изменено) · Жалоба 04.08.2021 в 22:13, Сергей Борщ сказал: Пропустил вопрос. Вроде сразу запускаю. Пока сессия не поднялась - connect() будет возвращать ошибку. вот - ознакомьтесь 00724c.pdf баловался как - скармливал модему Siemens MC35i пакеты, которые задампил при подключении с компа, в ответ на пакеты получал валидные ответы, так в конце концов поднял сокет через 628 пик... CRC16 в последних пакетах пришлось пересчитывать т.е. назначался разный IP адрес. Считаю PPP самой практичной реализацией, поскольку он обеспечивает прозрачный канал в отличие от зашитых в модем TCP стеков. Изменено 11 февраля, 2022 пользователем Dima83 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться