Перейти к содержанию
    

Vix

Участник
  • Постов

    47
  • Зарегистрирован

  • Посещение

Весь контент Vix


  1. С сервером io.adafruit.com ограничение на количество publish не наблюдается. Но есть ограничение по частоте. В итоге LwIP - PPPoS - MQTT работает, продолжаю тестировать.
  2. Такс, параллельно принимал данные MQTT клиентом с LWIP и приложением на Windows. Оба перестают принимать после 20-го publish. Причем клиент, публикующий топик, получает подтверждение, а подписчики ничего. Похоже, сервер с какими-то ограничениями.
  3. В моем LWIP (предположительно версия 2.0.x) нет встроенного MQTT, не знаю почему, брал из примера. Подключал библиотеку вручную, т.к. мой МК STM32F413 не имеет ethernet, так бы через CubeMX все подключилось. Код MQTT взял на просторах интернета из проекта ATmega16_GPRS_MQTTClient. С этим кодом написал клиента в виде Windows приложения, работает нормально. С него же и обновляю топик. Сервер MQTT - mqtt.by. Подозрение на утечку памяти в недрах TCP. Как отловить? СИМ мультиоператорная, подключается как правило к МТС или Мегафон.
  4. Запустил самопальный MQTT клиент. После 20 приемов обновления топика связь замирает, прием прекращается. Где что включить/посмотреть?
  5. Была проблема с выводом логов, я вывожу через 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 ?
  6. Спасибо! Спрашивал, потому что смутила строчка 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 эти команды неуместны?
  7. Похоже, сайт ADD Semiconductor более не существует, переадресация на Atmel. У меня есть datasheet на ADD1021, и brief datasheet на ADD1022.
  8. ST7540 применяю два года. Хочется большей скорости и надежности.
  9. shamrel, до прошивки дело не дошло... Может стоит у Atmel посмотреть ? http://electronix.ru/forum/index.php?showt...t&p=1191246
  10. YITRAN IT700 - скорость не фонтан в режимах "надежный" и "совсем надежный" (для моего проекта). ST до сих пор жмотит "all_inclusive" ST7590 (VFQFPN 48). А вот Atmel уже продает ATPL210A и ATPL220A, и скоро появится ATSAM4SP32A. Для ATPL210A и ATPL220A есть описание регистров. Но нет схем. просят подписать NDA. Но есть проверенная информация, что в ATPL210A и ADD1021 (ADD Semiconductor) - один и тот же модем. И в документации к ADD1021 есть схема включения. Если кто-то имел опыт использования ATPL210A/ATPL220A - отпишитесь...
  11. TigerSHARC, вы не ошиблись в названии FT7570 (может ST7570)? Выбор зависит от условий - спектр помех, трафик данных... В PLC модемах используются различные виды модуляции. Самые простые с FSK, самые сложные - COFDM. Если объем данных небольшой, и кол-во пакетов несколько в секунду (при этом допустимы повторы), то подойдет и FSK. Но опять же лучше знать спектр помех, что бы правильно выбрать рабочие частоты. Решения от TI: DSP + AFE + крутой услитель мощности. ПО прилагается, но много обновлений, пока одно делаете, они выпускают другое, а старое исчезает с сайта. К тому же AFE031 еще не выпускается. Варианты с ШИМ ущербны изначально. Решения от MAXIM: PLC модем + AFE + крутой услитель мощности. Интерфейс по PRIME. Громоздко, как у TI. Про монстров в BGA-корпусах и со скоростями в десятки Мбит говорить не буду. Есть интересные варианты у STM, но они жмоты по документации именно в области PLC модемов.
  12. Ура! В STM родили маломальский даташит по ST7590. В корпусе TQFP100 данному чипу требуется внешняя энергонезависимая память с прошивкой. Я же собирал макет без "лишних" компонентов. Вообщем ждем вариант в корпусе VFQFPN48, который будет работать без внешней памяти.
  13. У кого есть EVALST7590 - можете проверить работу модема без сигнала ZC_IN ? (Придется убрать резистор, через который идет сигнал на ногу чипа).
  14. Скажу сразу - с документацией для этого чипа полная засада. Тем не менее, собрал макет: ST7590 + обвязка по питанию и фильтры для RX и TX. Кварц дышит (8 МГц) . Связь с хостом через UART, скорость 57600. В независимости от того, правильный ли пакет, или просто произвольный байт записывается в модем, в ответ приходит пачка или единичный байт со значением 0x01. Кто-то из практикующих с ST7590 напрямую или с EVALST7590 стакивался с таким поведением модема?
  15. В природе существует модем SIG60: "The SIG60 is a second generation transceiver for digital communication over battery powerline. It allows the powerline to be employed for both power and communication, thus eliminating the need for special wires for carrying control and data. The SIG60 uses a unique multiplex digital signaling technology that overcomes the powerline noisy environment. A small footprint integrates most of the external components needed for its operation. A sleep mode puts the device in a power saving mode while it is still capable of sensing the bus for remote wakeup messages from other devices. "
  16. to Glitko читаете данные каким образом?
  17. Zliva 1 Подключите плату к питанию через миллиамперметр. Если TST замкнут при включении, то примерно на восьмой секунде ток возрастает на несколько мА, и сразу возвращается обратно. значит бутлоадер скопировался. 2 USB кабель нормальный?
  18. Причину не понял, происходит следующее: после записи или чтения массива в/из шины I2C, линия SDA остается в нуле. Вылечил путем принудительной выдачи импульсов на линию SCL. Схема: ATmega128 (master) + FM24CL64 + DS1307. Скорость 100 кбод. void i2cSendStop(void) { TWCR = (i2cCheck() & TWCR_CMD_MASK) | _BV(TWINT) | _BV(TWEA) | _BV(TWSTO); } uint8_t i2cCheck(void){ uint8_t temp = TWCR; if(!(PIND & _BV(PD1))){ TWCR = 0; uint8_t i = 0; PORTD &= ~_BV(PD0); while(!(PIND & _BV(PD1))){ DDRD |= _BV(PD0); Delay_5us(); DDRD &= ~_BV(PD0); Delay_5us(); i++; if(i > 15) break; //Fatal error, число 15 от фонаря. В моем случае i не более 2 } PORTD |= _BV(PD0); } return temp; }
  19. Маловероятно. Пробуйте. А лучше в более старой студии создайте аналогичную DLL. USB_CY_DLL.zip
  20. Итак, снова о CodeGear 2007 и Builder6. Исключительную ситуацию в CodeGear 2007 вызывают следующие коды 1) ... = new CCyUSBDevice(...); 2) USBDevice->Open(...); Чтобы использовать CyAPI в CodeGear 2007, необходимо написать простую DLL в Builder6. В DLL передается VID & PID, а возвращается указатель на CCyUSBDevice. Далее работаем с CyAPI как обычно. Пример функции из DLL extern "C" __declspec(dllexport) CCyUSBDevice* IUSBDeviceOpen(int VID,int PID){ CCyUSBDevice *USBDevice = new CCyUSBDevice(NULL); int i; int USBDevCount = USBDevice->DeviceCount(); if (USBDevCount == 0) return NULL; for (i = 0; i < USBDevCount; i++) { USBDevice->Open(i); if((USBDevice->VendorID == VID) && (USBDevice->ProductID == PID)) break; } if(i == USBDevCount) return NULL;//"No USB device found"; if(!USBDevice->EndPoints) { USBDevice->ReConnect(); return NULL; } return USBDevice; } Если нужна готовая DLL (со стандартным GUID), могу выложить.
  21. Модуль SPK-BTM401 (профиль SPP), на чипе BC417. К PIO7 подключен светодиод. При подаче питания светодиод мигает. При установке соединения (с компом, или мобильником) светодиод горит постоянно, канал передачи работает (хоть сколько угодно долго). Но в режиме ожидания соединения (когда мигает светодиод), если соединения не происходит в течении 45-50 сек., модуль засыпает (видимо), светодиод гаснет. После этого невозможно соединиться с модулем, только питание дергать. Какой PSKEY нужно изменить и на какое значение, чтобы вообще исключить такое засыпание по таймауту?
  22. Lunatik, спасибо! Интегрировать в систему готовые приборы такого типа проблематично. Быстродействие MLX90614 зависит от параметров встроенного цифрового фильтра. Доставабельность матричного приемника видимо стремится к нулю, если вы не работаете на спец. службы.
  23. На сайте Melexis на форуме есть топик "MLX90614 Update rate", оттуда посылают к апликухе "Application Note Understanding MLX90614 on-chip digital signal filters".
  24. Подскажите, пожалуйста, быстродействие LMX90614. В описании нашел только готовность данных 0,15 сек. после POR.
×
×
  • Создать...