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

    

jenya7

Участник
  • Публикаций

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

  • Посещение

Репутация

0 Обычный

Информация о jenya7

  • Звание
    Профессионал

Посетители профиля

4 932 просмотра профиля
  1. На чем писать

    спасибо за подробное обяснение. последний вопрос - все модули нужно скачивать и устанавливать отдельно или можно одним пакетом все установить? я имею ввиду Распбери, потому что установка на виндоус и линукс разная.
  2. На чем писать

    так QtGui это и есть PyQt. нет?
  3. Размышления на тему TCP/IP.

    у меня тоже есть приложение с визнет (w5200) которое работает четко. но там все просто - подключение по UDP к стороннему модулю. ENC28J60 довольно геморойный, там тоже проблемы и не думаю что потянет сложные конфигурации.
  4. Размышления на тему TCP/IP.

    вобщем картина ясна. сложные конфигурации визнет может не потянуть.
  5. На чем писать

    а как портировать на Распбери? в Qt нет визуальных компонентов. или я ошибаюсь?
  6. Размышления на тему TCP/IP.

    ну пожалуй это самый сильный аргумент. остается подождать от визнетовских разработчиков новой версии с поддержкой фрагментации. Во - W5300 - вроде поддерживает фрагментацию. Нет, все таки IP Fragmentation is not supported. наверно это непросто реализовать.
  7. Размышления на тему TCP/IP.

    The W5500 SPI supports 80 MHz speed and the new efficient SPI protocol, so users can implement high speed network communication. А зачем открытый TCP стек? Я в LWIP никогда ничего не правил. Зачем IP Fragmentation нужна? для передачи web страниц? а что для вас поток? какие чудеса вы от него ждете?
  8. Размышления на тему TCP/IP.

    ок. это уже аргумент. осталось понять где тут жесткий однопоточный вариант int32_t WIZNET_Run(uint8_t sn, uint8_t* buf, uint16_t port) { int32_t ret; uint16_t size = 0, sentsize=0; #if _TCP_DEBUG_ uint8_t destip[4]; uint16_t destport; #endif uint8_t status = getSn_SR(sn); switch(status) { case SOCK_ESTABLISHED : //if(getSn_IR(sn) & Sn_IR_CON) if (status & Sn_IR_CON) { #if _TCP_DEBUG_ getSn_DIPR(sn, destip); destport = getSn_DPORT(sn); printf("%d:Connected - %d.%d.%d.%d : %d\r\n",sn, destip[0], destip[1], destip[2], destip[3], destport); #endif setSn_IR(sn, Sn_IR_CON); } if((size = getSn_RX_RSR(sn)) > 0) // Don't need to check SOCKERR_BUSY because it doesn't not occur. { if(size > DATA_BUF_SIZE) size = DATA_BUF_SIZE; ret = recv(sn, buf, size); if(ret <= 0) return ret; // check SOCKERR_BUSY & SOCKERR_XXX. For showing the occurrence of SOCKERR_BUSY. sentsize = 0; while(size != sentsize) { ret = send(sn, buf+sentsize, size-sentsize); if(ret < 0) { close(sn); return ret; } sentsize += ret; // Don't care SOCKERR_BUSY, because it is zero. } } break; case SOCK_CLOSE_WAIT : #if _TCP_DEBUG_ printf("%d:CloseWait\r\n",sn); #endif if((ret = disconnect(sn)) != SOCK_OK) return ret; #if _TCP_DEBUG_ printf("%d:Socket Closed\r\n", sn); #endif break; case SOCK_INIT : #if _TCP_DEBUG_ printf("%d:Listen, TCP server , port [%d]\r\n", sn, port); #endif if( (ret = listen(sn)) != SOCK_OK) return ret; break; case SOCK_CLOSED: #if _TCP_DEBUG_ printf("%d:TCP server start\r\n",sn); #endif if((ret = socket(sn, Sn_MR_TCP, port, 0x00)) != sn) return ret; #if _TCP_DEBUG_ printf("%d:Socket opened\r\n",sn); #endif break; default: break; } return 1; } код бежит в своем потоке. а как иначе должно быть?
  9. Размышления на тему TCP/IP.

    то что я привел выше это для W5500. Не знаю с чем у него совместимость, проект я писал в IAR под STM32F3. нормальная отладка, я могу спуститься на любой уровень. Зачем грузить сторонний стек? чем родной плох?
  10. Размышления на тему TCP/IP.

    у них есть примеры DHCP, DNS, FTPClient, FTPServer, httpServer, MQTT, SNMP, SNTP, TFTP. По моему все потребности покрыли. 8 сокетов RX и 8 сокетов TX. зачем писать с нуля? у них прекрасная библиотека и прекрасные отлаженные примеры. нужно написать только апликативный лэер. Вы транс и обвязку все равно будете ставить. Это не стоит денег? И камень вы можете взять дешевле без Eth . я понимаю это to good to be true вот пытаюсь понять где подвох.
  11. Размышления на тему TCP/IP.

    Wiznet поддерживает скорость до 80 мега.
  12. Размышления на тему TCP/IP.

    За два часа создал TCP сервер на Wiznet. Цена вопроса 3.5 долара – готовый демо борд – с одной стороны подключил контролер с другой воткнул кабель и готово. Возникает вопрос – зачем нужны навороченные камни с фаями и маками когда есть такое простое решение?
  13. На чем писать

    спасибо.
  14. На чем писать

    а С функцию нужно скомпилировать в dll?
  15. На чем писать

    а как вы вызываете С функции в питоне?