STM Урок 87. LAN. ENC28J60. TCP WEB Server. Передаём страницу побольше. Часть 2

 

 

 

 

Урок 87

 

Часть 2

 

LAN. ENC28J60. TCP WEB Server. Передаём страницу побольше

 

 

В предыдущей части урока мы провели определённую оптимизацию проекта и написали код, который отличает запрос клинетном главной страницы от остальных запросов, а также передали ответ на запрос клиентом несуществущего документа. Также мы передали клиенту страницу, состоящую из двух пакетов TCP.

 

Дальнейшая работа предстоит над передачей документа в три и более пакета. Для этого создадим функцию для передачи одного из средних пакетов документа. Добавим её между функциями передачи первого и последнего пакетов

 

//--------------------------------------------------

/*Отправка среднего пакета многопакетного ответа HTTP*/

uint8_t tcp_send_http_middle(enc28j60_frame_ptr *frame, uint8_t *ip_addr, uint16_t port)

{

  uint8_t res=0;

  uint16_t len_tcp=0, len=0;

  ip_pkt_ptr *ip_pkt = (void*)(frame->data);

  tcp_pkt_ptr *tcp_pkt = (void*)(ip_pkt->data);

  return res;

}

//--------------------------------------------------

 

Вызовем данную функцию в последнем условии функции tcp_read

 

else if (tcp_pkt->fl == TCP_ACK)

{

  if (tcpprop.data_stat==DATA_END)

  {

    tcp_send_http_dataend(frame, ip_pkt->ipaddr_src, tcpprop.port_dst);

  }

  else if (tcpprop.data_stat==DATA_MIDDLE)

  {

    tcp_send_http_middle(frame, tcpprop.ipaddr_dst, tcpprop.port_dst);

  }

  else if (tcpprop.data_stat==DATA_LAST)

 

Продолжим писать нашу функцию.

Как всегда, вычислим номер сегмента и сохраним его в структуре в соответствующем поле, а также занесём длину заголовка TCP в соответствующую переменную

 

tcp_pkt_ptr *tcp_pkt = (void*)(ip_pkt->data);

//Отправляем одну из средних частей страницы

//Заполним заголовок пакета TCP

tcpprop.seq_num = be32todword(be32todword(tcpprop.seq_num)+tcp_mss);

len_tcp = sizeof(tcp_pkt_ptr);

 

Затем заполним поле данных, применяя операции копирования из FLASH-памяти, а также применяя хитрый расчёт смещения по массиву с документом, зависящий от общего количества частей и оставшегося количества частей (для чего мы в начале заниятия и придумывали новое поле в структуре). Также представим, что страница с ошибкой у нас тоже очень большая. Хоть это и не так, но возможно в будущем нам это пригодится для отправки больших документов, не являющихся главной страницей

 

len_tcp = sizeof(tcp_pkt_ptr);

if (tcpprop.http_doc==INDEX_HTML)

{

  memcpy((void*)tcp_pkt->data,(void*)(index_htm+(tcp_mss*(tcpprop.cnt_data_part-tcpprop.cnt_rem_data_part))-strlen(http_header)),tcp_mss);

}

else

{

  memcpy((void*)tcp_pkt->data,(void*)(e404_htm+(tcp_mss*(tcpprop.cnt_data_part-tcpprop.cnt_rem_data_part))-strlen(error_header)),tcp_mss);

}

 

Далее подсчитываем длину для расчёта контрольной суммы и вызываем функцию подготовки пакета TCP

 

  memcpy((void*)tcp_pkt->data,(void*)(e404_htm+(tcp_mss*(tcpprop.cnt_data_part-tcpprop.cnt_rem_data_part))-strlen(error_header)),tcp_mss);

}

len=len_tcp + tcp_mss;

tcp_header_prepare(tcp_pkt, port, TCP_ACK, len_tcp, len);

 

Затем готовим пакет IP, затем пакет Ethernet, последний передаём клиенту

 

tcp_header_prepare(tcp_pkt, port, TCP_ACK, len_tcp, len);

len+=sizeof(ip_pkt_ptr);

ip_header_prepare(ip_pkt, ip_addr, IP_TCP, len);

//Заполним заголовок Ethernet

memcpy(frame->addr_dest,tcpprop.macaddr_dst,6);

eth_send(frame,ETH_IP,len);

 

Уменьшим оставшееся количество пакетов для передачи клиенту

 

eth_send(frame,ETH_IP,len);

//будем считать, что ещё одну часть отправили, поэтому количество оставшихся частей декрементируем

tcpprop.cnt_rem_data_part--;

 

 

А по окончанию функции определимся в том, последний ли будет у нас следующий пакет или нет, в соответствии с этим примем нужное решение

 

  tcpprop.cnt_rem_data_part--;

  if(tcpprop.cnt_rem_data_part>1)

  {

    tcpprop.data_stat=DATA_MIDDLE;

  }

  else

  {

    tcpprop.data_stat=DATA_LAST;

  }

  return res;

}

 

Подготовим теперь страничку, которая вместе с заголовком влезет в три пакета, и изменим наш массив с главной страницей

 

index_htm 3 пакета

const uint8_t index_htm[] = {

0x3c,0x68,0x74,0x6d,0x6c,0x3e,0x3c,0x62,0x6f,0x64,0x79,0x3e,0x3c,0x68,0x31,0x20,

0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x61,0x6c,0x69,0x67,

0x6e,0x3a,0x20,0x63,0x65,0x6e,0x74,0x65,0x72,0x3b,0x22,0x3e,0x53,0x54,0x4d,0x33,

0x32,0x46,0x31,0x30,0x33,0x78,0x38,0x3c,0x62,0x72,0x3e,0x3c,0x62,0x72,0x3e,0x57,

0x45,0x42,0x20,0x53,0x65,0x72,0x76,0x65,0x72,0x3c,0x2f,0x68,0x31,0x3e,0x0a,0x3c,

0x70,0x3e,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x68,0x32,0x3e,0x46,0x65,0x61,0x74,0x75,

0x72,0x65,0x73,0x3c,0x2f,0x68,0x32,0x3e,0x0a,0x3c,0x70,0x3e,0x41,0x52,0x4d,0xae,

0x20,0x33,0x32,0x2d,0x62,0x69,0x74,0x20,0x43,0x6f,0x72,0x74,0x65,0x78,0xae,0x2d,

0x4d,0x33,0x20,0x43,0x50,0x55,0x20,0x43,0x6f,0x72,0x65,0x3c,0x2f,0x70,0x3e,0x0a,

0x3c,0x70,0x3e,0x3c,0x75,0x6c,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x37,0x32,0x20,

0x4d,0x48,0x7a,0x20,0x6d,0x61,0x78,0x69,0x6d,0x75,0x6d,0x20,0x66,0x72,0x65,0x71,

0x75,0x65,0x6e,0x63,0x79,0x2c,0x20,0x31,0x2e,0x32,0x35,0x20,0x44,0x4d,0x49,0x50,

0x53,0x2f,0x4d,0x48,0x7a,0x20,0x28,0x44,0x68,0x72,0x79,0x73,0x74,0x6f,0x6e,0x65,

0x20,0x32,0x2e,0x31,0x29,0x20,0x70,0x65,0x72,0x66,0x6f,0x72,0x6d,0x61,0x6e,0x63,

0x65,0x20,0x61,0x74,0x20,0x30,0x20,0x77,0x61,0x69,0x74,0x20,0x73,0x74,0x61,0x74,

0x65,0x20,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x20,0x61,0x63,0x63,0x65,0x73,0x73,0x3c,

0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x53,0x69,0x6e,0x67,0x6c,0x65,

0x2d,0x63,0x79,0x63,0x6c,0x65,0x20,0x6d,0x75,0x6c,0x74,0x69,0x70,0x6c,0x69,0x63,

0x61,0x74,0x69,0x6f,0x6e,0x20,0x61,0x6e,0x64,0x20,0x68,0x61,0x72,0x64,0x77,0x61,

0x72,0x65,0x20,0x64,0x69,0x76,0x69,0x73,0x69,0x6f,0x6e,0x3c,0x2f,0x6c,0x69,0x3e,

0x0a,0x3c,0x2f,0x75,0x6c,0x3e,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x70,0x3e,0x4d,0x65,

0x6d,0x6f,0x72,0x69,0x65,0x73,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x70,0x3e,0x3c,0x75,

0x6c,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x36,0x34,0x20,0x6f,0x72,0x20,0x31,0x32,

0x38,0x20,0x4b,0x62,0x79,0x74,0x65,0x73,0x20,0x6f,0x66,0x20,0x46,0x6c,0x61,0x73,

0x68,0x20,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,

0x6c,0x69,0x3e,0x32,0x30,0x20,0x4b,0x62,0x79,0x74,0x65,0x73,0x20,0x6f,0x66,0x20,

0x53,0x52,0x41,0x4d,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x3c,0x2f,0x75,0x6c,0x3e,0x3c,

0x2f,0x70,0x3e,0x0a,0x3c,0x70,0x3e,0x43,0x6c,0x6f,0x63,0x6b,0x2c,0x20,0x72,0x65,

0x73,0x65,0x74,0x20,0x61,0x6e,0x64,0x20,0x73,0x75,0x70,0x70,0x6c,0x79,0x20,0x6d,

0x61,0x6e,0x61,0x67,0x65,0x6d,0x65,0x6e,0x74,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x70,

0x3e,0x3c,0x75,0x6c,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x32,0x2e,0x30,0x20,0x74,

0x6f,0x20,0x33,0x2e,0x36,0x20,0x56,0x20,0x61,0x70,0x70,0x6c,0x69,0x63,0x61,0x74,

0x69,0x6f,0x6e,0x20,0x73,0x75,0x70,0x70,0x6c,0x79,0x20,0x61,0x6e,0x64,0x20,0x49,

0x2f,0x4f,0x73,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x50,0x4f,

0x52,0x2c,0x20,0x50,0x44,0x52,0x2c,0x20,0x61,0x6e,0x64,0x20,0x70,0x72,0x6f,0x67,

0x72,0x61,0x6d,0x6d,0x61,0x62,0x6c,0x65,0x20,0x76,0x6f,0x6c,0x74,0x61,0x67,0x65,

0x20,0x64,0x65,0x74,0x65,0x63,0x74,0x6f,0x72,0x20,0x28,0x50,0x56,0x44,0x29,0x3c,

0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x34,0x2d,0x74,0x6f,0x2d,0x31,

0x36,0x20,0x4d,0x48,0x7a,0x20,0x63,0x72,0x79,0x73,0x74,0x61,0x6c,0x20,0x6f,0x73,

0x63,0x69,0x6c,0x6c,0x61,0x74,0x6f,0x72,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,

0x6c,0x69,0x3e,0x49,0x6e,0x74,0x65,0x72,0x6e,0x61,0x6c,0x20,0x38,0x20,0x4d,0x48,

0x7a,0x20,0x66,0x61,0x63,0x74,0x6f,0x72,0x79,0x2d,0x74,0x72,0x69,0x6d,0x6d,0x65,

0x64,0x20,0x52,0x43,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x49,

0x6e,0x74,0x65,0x72,0x6e,0x61,0x6c,0x20,0x34,0x30,0x20,0x6b,0x48,0x7a,0x20,0x52,

0x43,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x50,0x4c,0x4c,0x20,

0x66,0x6f,0x72,0x20,0x43,0x50,0x55,0x20,0x63,0x6c,0x6f,0x63,0x6b,0x3c,0x2f,0x6c,

0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x33,0x32,0x20,0x6b,0x48,0x7a,0x20,0x6f,

0x73,0x63,0x69,0x6c,0x6c,0x61,0x74,0x6f,0x72,0x20,0x66,0x6f,0x72,0x20,0x52,0x54,

0x43,0x20,0x77,0x69,0x74,0x68,0x20,0x63,0x61,0x6c,0x69,0x62,0x72,0x61,0x74,0x69,

0x6f,0x6e,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x3c,0x2f,0x75,0x6c,0x3e,0x3c,0x2f,0x70,

0x3e,0x0a,0x3c,0x70,0x3e,0x4c,0x6f,0x77,0x2d,0x70,0x6f,0x77,0x65,0x72,0x3c,0x2f,

0x70,0x3e,0x0a,0x3c,0x70,0x3e,0x3c,0x75,0x6c,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,

0x53,0x6c,0x65,0x65,0x70,0x2c,0x20,0x53,0x74,0x6f,0x70,0x20,0x61,0x6e,0x64,0x20,

0x53,0x74,0x61,0x6e,0x64,0x62,0x79,0x20,0x6d,0x6f,0x64,0x65,0x73,0x3c,0x2f,0x6c,

0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x56,0x42,0x41,0x54,0x20,0x73,0x75,0x70,

0x70,0x6c,0x79,0x20,0x66,0x6f,0x72,0x20,0x52,0x54,0x43,0x20,0x61,0x6e,0x64,0x20,

0x62,0x61,0x63,0x6b,0x75,0x70,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,

0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x3c,0x2f,0x75,0x6c,0x3e,0x3c,0x2f,0x70,0x3e,0x0a,

0x3c,0x70,0x3e,0x32,0x20,0x78,0x20,0x31,0x32,0x2d,0x62,0x69,0x74,0x2c,0x20,0x31,

0x20,0x3f,0x73,0x20,0x41,0x2f,0x44,0x20,0x63,0x6f,0x6e,0x76,0x65,0x72,0x74,0x65,

0x72,0x73,0x20,0x28,0x75,0x70,0x20,0x74,0x6f,0x20,0x31,0x36,0x20,0x63,0x68,0x61,

0x6e,0x6e,0x65,0x6c,0x73,0x29,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x70,0x3e,0x3c,0x75,

0x6c,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x43,0x6f,0x6e,0x76,0x65,0x72,0x73,0x69,

0x6f,0x6e,0x20,0x72,0x61,0x6e,0x67,0x65,0x3a,0x20,0x30,0x20,0x74,0x6f,0x20,0x33,

0x2e,0x36,0x20,0x56,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x44,

0x75,0x61,0x6c,0x2d,0x73,0x61,0x6d,0x70,0x6c,0x65,0x20,0x61,0x6e,0x64,0x20,0x68,

0x6f,0x6c,0x64,0x20,0x63,0x61,0x70,0x61,0x62,0x69,0x6c,0x69,0x74,0x79,0x3c,0x2f,

0x6c,0x69,0x3e,0x0a,0x3c,0x2f,0x75,0x6c,0x3e,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x2f,

0x62,0x6f,0x64,0x79,0x3e,0x3c,0x2f,0x68,0x74,0x6d,0x6c,0x3e};

 

Соберём код, прошьём контроллер и проверим, что наша страница отображается в браузере на запрос клиента. Показывать я это здесь уже не буду, думаю, вы поверите мне на слово.

Теперь проделаем те же действия со страницами в 4, 5 и 6 частей (пакетов).

Приведу составы их массивов

 

index_htm 4 пакета

const uint8_t index_htm[] = {

0x3c,0x68,0x74,0x6d,0x6c,0x3e,0x3c,0x62,0x6f,0x64,0x79,0x3e,0x3c,0x68,0x31,0x20,

0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x61,0x6c,0x69,0x67,

0x6e,0x3a,0x20,0x63,0x65,0x6e,0x74,0x65,0x72,0x3b,0x22,0x3e,0x53,0x54,0x4d,0x33,

0x32,0x46,0x31,0x30,0x33,0x78,0x38,0x3c,0x62,0x72,0x3e,0x3c,0x62,0x72,0x3e,0x57,

0x45,0x42,0x20,0x53,0x65,0x72,0x76,0x65,0x72,0x3c,0x2f,0x68,0x31,0x3e,0x0a,0x3c,

0x70,0x3e,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x68,0x32,0x3e,0x46,0x65,0x61,0x74,0x75,

0x72,0x65,0x73,0x3c,0x2f,0x68,0x32,0x3e,0x0a,0x3c,0x70,0x3e,0x41,0x52,0x4d,0xae,

0x20,0x33,0x32,0x2d,0x62,0x69,0x74,0x20,0x43,0x6f,0x72,0x74,0x65,0x78,0xae,0x2d,

0x4d,0x33,0x20,0x43,0x50,0x55,0x20,0x43,0x6f,0x72,0x65,0x3c,0x2f,0x70,0x3e,0x0a,

0x3c,0x70,0x3e,0x3c,0x75,0x6c,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x37,0x32,0x20,

0x4d,0x48,0x7a,0x20,0x6d,0x61,0x78,0x69,0x6d,0x75,0x6d,0x20,0x66,0x72,0x65,0x71,

0x75,0x65,0x6e,0x63,0x79,0x2c,0x20,0x31,0x2e,0x32,0x35,0x20,0x44,0x4d,0x49,0x50,

0x53,0x2f,0x4d,0x48,0x7a,0x20,0x28,0x44,0x68,0x72,0x79,0x73,0x74,0x6f,0x6e,0x65,

0x20,0x32,0x2e,0x31,0x29,0x20,0x70,0x65,0x72,0x66,0x6f,0x72,0x6d,0x61,0x6e,0x63,

0x65,0x20,0x61,0x74,0x20,0x30,0x20,0x77,0x61,0x69,0x74,0x20,0x73,0x74,0x61,0x74,

0x65,0x20,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x20,0x61,0x63,0x63,0x65,0x73,0x73,0x3c,

0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x53,0x69,0x6e,0x67,0x6c,0x65,

0x2d,0x63,0x79,0x63,0x6c,0x65,0x20,0x6d,0x75,0x6c,0x74,0x69,0x70,0x6c,0x69,0x63,

0x61,0x74,0x69,0x6f,0x6e,0x20,0x61,0x6e,0x64,0x20,0x68,0x61,0x72,0x64,0x77,0x61,

0x72,0x65,0x20,0x64,0x69,0x76,0x69,0x73,0x69,0x6f,0x6e,0x3c,0x2f,0x6c,0x69,0x3e,

0x0a,0x3c,0x2f,0x75,0x6c,0x3e,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x70,0x3e,0x4d,0x65,

0x6d,0x6f,0x72,0x69,0x65,0x73,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x70,0x3e,0x3c,0x75,

0x6c,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x36,0x34,0x20,0x6f,0x72,0x20,0x31,0x32,

0x38,0x20,0x4b,0x62,0x79,0x74,0x65,0x73,0x20,0x6f,0x66,0x20,0x46,0x6c,0x61,0x73,

0x68,0x20,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,

0x6c,0x69,0x3e,0x32,0x30,0x20,0x4b,0x62,0x79,0x74,0x65,0x73,0x20,0x6f,0x66,0x20,

0x53,0x52,0x41,0x4d,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x3c,0x2f,0x75,0x6c,0x3e,0x3c,

0x2f,0x70,0x3e,0x0a,0x3c,0x70,0x3e,0x43,0x6c,0x6f,0x63,0x6b,0x2c,0x20,0x72,0x65,

0x73,0x65,0x74,0x20,0x61,0x6e,0x64,0x20,0x73,0x75,0x70,0x70,0x6c,0x79,0x20,0x6d,

0x61,0x6e,0x61,0x67,0x65,0x6d,0x65,0x6e,0x74,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x70,

0x3e,0x3c,0x75,0x6c,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x32,0x2e,0x30,0x20,0x74,

0x6f,0x20,0x33,0x2e,0x36,0x20,0x56,0x20,0x61,0x70,0x70,0x6c,0x69,0x63,0x61,0x74,

0x69,0x6f,0x6e,0x20,0x73,0x75,0x70,0x70,0x6c,0x79,0x20,0x61,0x6e,0x64,0x20,0x49,

0x2f,0x4f,0x73,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x50,0x4f,

0x52,0x2c,0x20,0x50,0x44,0x52,0x2c,0x20,0x61,0x6e,0x64,0x20,0x70,0x72,0x6f,0x67,

0x72,0x61,0x6d,0x6d,0x61,0x62,0x6c,0x65,0x20,0x76,0x6f,0x6c,0x74,0x61,0x67,0x65,

0x20,0x64,0x65,0x74,0x65,0x63,0x74,0x6f,0x72,0x20,0x28,0x50,0x56,0x44,0x29,0x3c,

0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x34,0x2d,0x74,0x6f,0x2d,0x31,

0x36,0x20,0x4d,0x48,0x7a,0x20,0x63,0x72,0x79,0x73,0x74,0x61,0x6c,0x20,0x6f,0x73,

0x63,0x69,0x6c,0x6c,0x61,0x74,0x6f,0x72,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,

0x6c,0x69,0x3e,0x49,0x6e,0x74,0x65,0x72,0x6e,0x61,0x6c,0x20,0x38,0x20,0x4d,0x48,

0x7a,0x20,0x66,0x61,0x63,0x74,0x6f,0x72,0x79,0x2d,0x74,0x72,0x69,0x6d,0x6d,0x65,

0x64,0x20,0x52,0x43,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x49,

0x6e,0x74,0x65,0x72,0x6e,0x61,0x6c,0x20,0x34,0x30,0x20,0x6b,0x48,0x7a,0x20,0x52,

0x43,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x50,0x4c,0x4c,0x20,

0x66,0x6f,0x72,0x20,0x43,0x50,0x55,0x20,0x63,0x6c,0x6f,0x63,0x6b,0x3c,0x2f,0x6c,

0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x33,0x32,0x20,0x6b,0x48,0x7a,0x20,0x6f,

0x73,0x63,0x69,0x6c,0x6c,0x61,0x74,0x6f,0x72,0x20,0x66,0x6f,0x72,0x20,0x52,0x54,

0x43,0x20,0x77,0x69,0x74,0x68,0x20,0x63,0x61,0x6c,0x69,0x62,0x72,0x61,0x74,0x69,

0x6f,0x6e,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x3c,0x2f,0x75,0x6c,0x3e,0x3c,0x2f,0x70,

0x3e,0x0a,0x3c,0x70,0x3e,0x4c,0x6f,0x77,0x2d,0x70,0x6f,0x77,0x65,0x72,0x3c,0x2f,

0x70,0x3e,0x0a,0x3c,0x70,0x3e,0x3c,0x75,0x6c,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,

0x53,0x6c,0x65,0x65,0x70,0x2c,0x20,0x53,0x74,0x6f,0x70,0x20,0x61,0x6e,0x64,0x20,

0x53,0x74,0x61,0x6e,0x64,0x62,0x79,0x20,0x6d,0x6f,0x64,0x65,0x73,0x3c,0x2f,0x6c,

0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x56,0x42,0x41,0x54,0x20,0x73,0x75,0x70,

0x70,0x6c,0x79,0x20,0x66,0x6f,0x72,0x20,0x52,0x54,0x43,0x20,0x61,0x6e,0x64,0x20,

0x62,0x61,0x63,0x6b,0x75,0x70,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,

0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x3c,0x2f,0x75,0x6c,0x3e,0x3c,0x2f,0x70,0x3e,0x0a,

0x3c,0x70,0x3e,0x32,0x20,0x78,0x20,0x31,0x32,0x2d,0x62,0x69,0x74,0x2c,0x20,0x31,

0x20,0x3f,0x73,0x20,0x41,0x2f,0x44,0x20,0x63,0x6f,0x6e,0x76,0x65,0x72,0x74,0x65,

0x72,0x73,0x20,0x28,0x75,0x70,0x20,0x74,0x6f,0x20,0x31,0x36,0x20,0x63,0x68,0x61,

0x6e,0x6e,0x65,0x6c,0x73,0x29,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x70,0x3e,0x3c,0x75,

0x6c,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x43,0x6f,0x6e,0x76,0x65,0x72,0x73,0x69,

0x6f,0x6e,0x20,0x72,0x61,0x6e,0x67,0x65,0x3a,0x20,0x30,0x20,0x74,0x6f,0x20,0x33,

0x2e,0x36,0x20,0x56,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x44,

0x75,0x61,0x6c,0x2d,0x73,0x61,0x6d,0x70,0x6c,0x65,0x20,0x61,0x6e,0x64,0x20,0x68,

0x6f,0x6c,0x64,0x20,0x63,0x61,0x70,0x61,0x62,0x69,0x6c,0x69,0x74,0x79,0x3c,0x2f,

0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x54,0x65,0x6d,0x70,0x65,0x72,0x61,

0x74,0x75,0x72,0x65,0x20,0x73,0x65,0x6e,0x73,0x6f,0x72,0x3c,0x2f,0x6c,0x69,0x3e,

0x0a,0x3c,0x2f,0x75,0x6c,0x3e,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x70,0x3e,0x44,0x4d,

0x41,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x70,0x3e,0x3c,0x75,0x6c,0x3e,0x0a,0x09,0x3c,

0x6c,0x69,0x3e,0x37,0x2d,0x63,0x68,0x61,0x6e,0x6e,0x65,0x6c,0x20,0x44,0x4d,0x41,

0x20,0x63,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x3c,0x2f,0x6c,0x69,0x3e,

0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x50,0x65,0x72,0x69,0x70,0x68,0x65,0x72,0x61,0x6c,

0x73,0x20,0x73,0x75,0x70,0x70,0x6f,0x72,0x74,0x65,0x64,0x3a,0x20,0x74,0x69,0x6d,

0x65,0x72,0x73,0x2c,0x20,0x41,0x44,0x43,0x2c,0x20,0x53,0x50,0x49,0x73,0x2c,0x20,

0x49,0x32,0x43,0x73,0x20,0x61,0x6e,0x64,0x20,0x55,0x53,0x41,0x52,0x54,0x73,0x3c,

0x2f,0x6c,0x69,0x3e,0x0a,0x3c,0x2f,0x75,0x6c,0x3e,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,

0x70,0x3e,0x55,0x70,0x20,0x74,0x6f,0x20,0x38,0x30,0x20,0x66,0x61,0x73,0x74,0x20,

0x49,0x2f,0x4f,0x20,0x70,0x6f,0x72,0x74,0x73,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x70,

0x3e,0x3c,0x75,0x6c,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x32,0x36,0x2f,0x33,0x37,

0x2f,0x35,0x31,0x2f,0x38,0x30,0x20,0x49,0x2f,0x4f,0x73,0x2c,0x20,0x61,0x6c,0x6c,

0x20,0x6d,0x61,0x70,0x70,0x61,0x62,0x6c,0x65,0x20,0x6f,0x6e,0x20,0x31,0x36,0x20,

0x65,0x78,0x74,0x65,0x72,0x6e,0x61,0x6c,0x20,0x69,0x6e,0x74,0x65,0x72,0x72,0x75,

0x70,0x74,0x20,0x76,0x65,0x63,0x74,0x6f,0x72,0x73,0x20,0x61,0x6e,0x64,0x20,0x61,

0x6c,0x6d,0x6f,0x73,0x74,0x20,0x61,0x6c,0x6c,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,

0x3c,0x6c,0x69,0x3e,0x35,0x20,0x56,0x2d,0x74,0x6f,0x6c,0x65,0x72,0x61,0x6e,0x74,

0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x3c,0x2f,0x75,0x6c,0x3e,0x3c,0x2f,0x70,0x3e,0x0a,

0x3c,0x70,0x3e,0x37,0x20,0x74,0x69,0x6d,0x65,0x72,0x73,0x3c,0x2f,0x70,0x3e,0x0a,

0x3c,0x70,0x3e,0x3c,0x75,0x6c,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x2d,0x62,0x69,

0x74,0x20,0x74,0x69,0x6d,0x65,0x72,0x73,0x2c,0x20,0x65,0x61,0x63,0x68,0x20,0x77,

0x69,0x74,0x68,0x20,0x75,0x70,0x20,0x74,0x6f,0x20,0x34,0x20,0x49,0x43,0x2f,0x4f,

0x43,0x2f,0x50,0x57,0x4d,0x20,0x6f,0x72,0x20,0x70,0x75,0x6c,0x73,0x65,0x20,0x63,

0x6f,0x75,0x6e,0x74,0x65,0x72,0x20,0x61,0x6e,0x64,0x20,0x71,0x75,0x61,0x64,0x72,

0x61,0x74,0x75,0x72,0x65,0x20,0x28,0x69,0x6e,0x63,0x72,0x65,0x6d,0x65,0x6e,0x74,

0x61,0x6c,0x29,0x20,0x65,0x6e,0x63,0x6f,0x64,0x65,0x72,0x20,0x69,0x6e,0x70,0x75,

0x74,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x31,0x36,0x2d,0x62,

0x69,0x74,0x2c,0x20,0x6d,0x6f,0x74,0x6f,0x72,0x20,0x63,0x6f,0x6e,0x74,0x72,0x6f,

0x6c,0x20,0x50,0x57,0x4d,0x20,0x74,0x69,0x6d,0x65,0x72,0x20,0x77,0x69,0x74,0x68,

0x20,0x64,0x65,0x61,0x64,0x74,0x69,0x6d,0x65,0x20,0x67,0x65,0x6e,0x65,0x72,0x61,

0x74,0x69,0x6f,0x6e,0x20,0x61,0x6e,0x64,0x20,0x65,0x6d,0x65,0x72,0x67,0x65,0x6e,

0x63,0x79,0x20,0x73,0x74,0x6f,0x70,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,

0x69,0x3e,0x32,0x20,0x77,0x61,0x74,0x63,0x68,0x64,0x6f,0x67,0x20,0x74,0x69,0x6d,

0x65,0x72,0x73,0x20,0x28,0x49,0x6e,0x64,0x65,0x70,0x65,0x6e,0x64,0x65,0x6e,0x74,

0x20,0x61,0x6e,0x64,0x20,0x57,0x69,0x6e,0x64,0x6f,0x77,0x29,0x3c,0x2f,0x6c,0x69,

0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x53,0x79,0x73,0x54,0x69,0x63,0x6b,0x20,0x74,

0x69,0x6d,0x65,0x72,0x20,0x32,0x34,0x2d,0x62,0x69,0x74,0x20,0x64,0x6f,0x77,0x6e,

0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x3c,0x2f,0x75,

0x6c,0x3e,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x2f,0x62,0x6f,0x64,0x79,0x3e,0x3c,0x2f,

0x68,0x74,0x6d,0x6c,0x3e};

 

index_htm 5 пакетов

const uint8_t index_htm[] = {

0x3c,0x68,0x74,0x6d,0x6c,0x3e,0x3c,0x62,0x6f,0x64,0x79,0x3e,0x3c,0x68,0x31,0x20,

0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x61,0x6c,0x69,0x67,

0x6e,0x3a,0x20,0x63,0x65,0x6e,0x74,0x65,0x72,0x3b,0x22,0x3e,0x53,0x54,0x4d,0x33,

0x32,0x46,0x31,0x30,0x33,0x78,0x38,0x3c,0x62,0x72,0x3e,0x3c,0x62,0x72,0x3e,0x57,

0x45,0x42,0x20,0x53,0x65,0x72,0x76,0x65,0x72,0x3c,0x2f,0x68,0x31,0x3e,0x0a,0x3c,

0x70,0x3e,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x68,0x32,0x3e,0x46,0x65,0x61,0x74,0x75,

0x72,0x65,0x73,0x3c,0x2f,0x68,0x32,0x3e,0x0a,0x3c,0x70,0x3e,0x41,0x52,0x4d,0xae,

0x20,0x33,0x32,0x2d,0x62,0x69,0x74,0x20,0x43,0x6f,0x72,0x74,0x65,0x78,0xae,0x2d,

0x4d,0x33,0x20,0x43,0x50,0x55,0x20,0x43,0x6f,0x72,0x65,0x3c,0x2f,0x70,0x3e,0x0a,

0x3c,0x70,0x3e,0x3c,0x75,0x6c,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x37,0x32,0x20,

0x4d,0x48,0x7a,0x20,0x6d,0x61,0x78,0x69,0x6d,0x75,0x6d,0x20,0x66,0x72,0x65,0x71,

0x75,0x65,0x6e,0x63,0x79,0x2c,0x20,0x31,0x2e,0x32,0x35,0x20,0x44,0x4d,0x49,0x50,

0x53,0x2f,0x4d,0x48,0x7a,0x20,0x28,0x44,0x68,0x72,0x79,0x73,0x74,0x6f,0x6e,0x65,

0x20,0x32,0x2e,0x31,0x29,0x20,0x70,0x65,0x72,0x66,0x6f,0x72,0x6d,0x61,0x6e,0x63,

0x65,0x20,0x61,0x74,0x20,0x30,0x20,0x77,0x61,0x69,0x74,0x20,0x73,0x74,0x61,0x74,

0x65,0x20,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x20,0x61,0x63,0x63,0x65,0x73,0x73,0x3c,

0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x53,0x69,0x6e,0x67,0x6c,0x65,

0x2d,0x63,0x79,0x63,0x6c,0x65,0x20,0x6d,0x75,0x6c,0x74,0x69,0x70,0x6c,0x69,0x63,

0x61,0x74,0x69,0x6f,0x6e,0x20,0x61,0x6e,0x64,0x20,0x68,0x61,0x72,0x64,0x77,0x61,

0x72,0x65,0x20,0x64,0x69,0x76,0x69,0x73,0x69,0x6f,0x6e,0x3c,0x2f,0x6c,0x69,0x3e,

0x0a,0x3c,0x2f,0x75,0x6c,0x3e,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x70,0x3e,0x4d,0x65,

0x6d,0x6f,0x72,0x69,0x65,0x73,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x70,0x3e,0x3c,0x75,

0x6c,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x36,0x34,0x20,0x6f,0x72,0x20,0x31,0x32,

0x38,0x20,0x4b,0x62,0x79,0x74,0x65,0x73,0x20,0x6f,0x66,0x20,0x46,0x6c,0x61,0x73,

0x68,0x20,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,

0x6c,0x69,0x3e,0x32,0x30,0x20,0x4b,0x62,0x79,0x74,0x65,0x73,0x20,0x6f,0x66,0x20,

0x53,0x52,0x41,0x4d,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x3c,0x2f,0x75,0x6c,0x3e,0x3c,

0x2f,0x70,0x3e,0x0a,0x3c,0x70,0x3e,0x43,0x6c,0x6f,0x63,0x6b,0x2c,0x20,0x72,0x65,

0x73,0x65,0x74,0x20,0x61,0x6e,0x64,0x20,0x73,0x75,0x70,0x70,0x6c,0x79,0x20,0x6d,

0x61,0x6e,0x61,0x67,0x65,0x6d,0x65,0x6e,0x74,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x70,

0x3e,0x3c,0x75,0x6c,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x32,0x2e,0x30,0x20,0x74,

0x6f,0x20,0x33,0x2e,0x36,0x20,0x56,0x20,0x61,0x70,0x70,0x6c,0x69,0x63,0x61,0x74,

0x69,0x6f,0x6e,0x20,0x73,0x75,0x70,0x70,0x6c,0x79,0x20,0x61,0x6e,0x64,0x20,0x49,

0x2f,0x4f,0x73,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x50,0x4f,

0x52,0x2c,0x20,0x50,0x44,0x52,0x2c,0x20,0x61,0x6e,0x64,0x20,0x70,0x72,0x6f,0x67,

0x72,0x61,0x6d,0x6d,0x61,0x62,0x6c,0x65,0x20,0x76,0x6f,0x6c,0x74,0x61,0x67,0x65,

0x20,0x64,0x65,0x74,0x65,0x63,0x74,0x6f,0x72,0x20,0x28,0x50,0x56,0x44,0x29,0x3c,

0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x34,0x2d,0x74,0x6f,0x2d,0x31,

0x36,0x20,0x4d,0x48,0x7a,0x20,0x63,0x72,0x79,0x73,0x74,0x61,0x6c,0x20,0x6f,0x73,

0x63,0x69,0x6c,0x6c,0x61,0x74,0x6f,0x72,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,

0x6c,0x69,0x3e,0x49,0x6e,0x74,0x65,0x72,0x6e,0x61,0x6c,0x20,0x38,0x20,0x4d,0x48,

0x7a,0x20,0x66,0x61,0x63,0x74,0x6f,0x72,0x79,0x2d,0x74,0x72,0x69,0x6d,0x6d,0x65,

0x64,0x20,0x52,0x43,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x49,

0x6e,0x74,0x65,0x72,0x6e,0x61,0x6c,0x20,0x34,0x30,0x20,0x6b,0x48,0x7a,0x20,0x52,

0x43,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x50,0x4c,0x4c,0x20,

0x66,0x6f,0x72,0x20,0x43,0x50,0x55,0x20,0x63,0x6c,0x6f,0x63,0x6b,0x3c,0x2f,0x6c,

0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x33,0x32,0x20,0x6b,0x48,0x7a,0x20,0x6f,

0x73,0x63,0x69,0x6c,0x6c,0x61,0x74,0x6f,0x72,0x20,0x66,0x6f,0x72,0x20,0x52,0x54,

0x43,0x20,0x77,0x69,0x74,0x68,0x20,0x63,0x61,0x6c,0x69,0x62,0x72,0x61,0x74,0x69,

0x6f,0x6e,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x3c,0x2f,0x75,0x6c,0x3e,0x3c,0x2f,0x70,

0x3e,0x0a,0x3c,0x70,0x3e,0x4c,0x6f,0x77,0x2d,0x70,0x6f,0x77,0x65,0x72,0x3c,0x2f,

0x70,0x3e,0x0a,0x3c,0x70,0x3e,0x3c,0x75,0x6c,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,

0x53,0x6c,0x65,0x65,0x70,0x2c,0x20,0x53,0x74,0x6f,0x70,0x20,0x61,0x6e,0x64,0x20,

0x53,0x74,0x61,0x6e,0x64,0x62,0x79,0x20,0x6d,0x6f,0x64,0x65,0x73,0x3c,0x2f,0x6c,

0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x56,0x42,0x41,0x54,0x20,0x73,0x75,0x70,

0x70,0x6c,0x79,0x20,0x66,0x6f,0x72,0x20,0x52,0x54,0x43,0x20,0x61,0x6e,0x64,0x20,

0x62,0x61,0x63,0x6b,0x75,0x70,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,

0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x3c,0x2f,0x75,0x6c,0x3e,0x3c,0x2f,0x70,0x3e,0x0a,

0x3c,0x70,0x3e,0x32,0x20,0x78,0x20,0x31,0x32,0x2d,0x62,0x69,0x74,0x2c,0x20,0x31,

0x20,0x3f,0x73,0x20,0x41,0x2f,0x44,0x20,0x63,0x6f,0x6e,0x76,0x65,0x72,0x74,0x65,

0x72,0x73,0x20,0x28,0x75,0x70,0x20,0x74,0x6f,0x20,0x31,0x36,0x20,0x63,0x68,0x61,

0x6e,0x6e,0x65,0x6c,0x73,0x29,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x70,0x3e,0x3c,0x75,

0x6c,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x43,0x6f,0x6e,0x76,0x65,0x72,0x73,0x69,

0x6f,0x6e,0x20,0x72,0x61,0x6e,0x67,0x65,0x3a,0x20,0x30,0x20,0x74,0x6f,0x20,0x33,

0x2e,0x36,0x20,0x56,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x44,

0x75,0x61,0x6c,0x2d,0x73,0x61,0x6d,0x70,0x6c,0x65,0x20,0x61,0x6e,0x64,0x20,0x68,

0x6f,0x6c,0x64,0x20,0x63,0x61,0x70,0x61,0x62,0x69,0x6c,0x69,0x74,0x79,0x3c,0x2f,

0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x54,0x65,0x6d,0x70,0x65,0x72,0x61,

0x74,0x75,0x72,0x65,0x20,0x73,0x65,0x6e,0x73,0x6f,0x72,0x3c,0x2f,0x6c,0x69,0x3e,

0x0a,0x3c,0x2f,0x75,0x6c,0x3e,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x70,0x3e,0x44,0x4d,

0x41,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x70,0x3e,0x3c,0x75,0x6c,0x3e,0x0a,0x09,0x3c,

0x6c,0x69,0x3e,0x37,0x2d,0x63,0x68,0x61,0x6e,0x6e,0x65,0x6c,0x20,0x44,0x4d,0x41,

0x20,0x63,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x3c,0x2f,0x6c,0x69,0x3e,

0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x50,0x65,0x72,0x69,0x70,0x68,0x65,0x72,0x61,0x6c,

0x73,0x20,0x73,0x75,0x70,0x70,0x6f,0x72,0x74,0x65,0x64,0x3a,0x20,0x74,0x69,0x6d,

0x65,0x72,0x73,0x2c,0x20,0x41,0x44,0x43,0x2c,0x20,0x53,0x50,0x49,0x73,0x2c,0x20,

0x49,0x32,0x43,0x73,0x20,0x61,0x6e,0x64,0x20,0x55,0x53,0x41,0x52,0x54,0x73,0x3c,

0x2f,0x6c,0x69,0x3e,0x0a,0x3c,0x2f,0x75,0x6c,0x3e,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,

0x70,0x3e,0x55,0x70,0x20,0x74,0x6f,0x20,0x38,0x30,0x20,0x66,0x61,0x73,0x74,0x20,

0x49,0x2f,0x4f,0x20,0x70,0x6f,0x72,0x74,0x73,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x70,

0x3e,0x3c,0x75,0x6c,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x32,0x36,0x2f,0x33,0x37,

0x2f,0x35,0x31,0x2f,0x38,0x30,0x20,0x49,0x2f,0x4f,0x73,0x2c,0x20,0x61,0x6c,0x6c,

0x20,0x6d,0x61,0x70,0x70,0x61,0x62,0x6c,0x65,0x20,0x6f,0x6e,0x20,0x31,0x36,0x20,

0x65,0x78,0x74,0x65,0x72,0x6e,0x61,0x6c,0x20,0x69,0x6e,0x74,0x65,0x72,0x72,0x75,

0x70,0x74,0x20,0x76,0x65,0x63,0x74,0x6f,0x72,0x73,0x20,0x61,0x6e,0x64,0x20,0x61,

0x6c,0x6d,0x6f,0x73,0x74,0x20,0x61,0x6c,0x6c,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,

0x3c,0x6c,0x69,0x3e,0x35,0x20,0x56,0x2d,0x74,0x6f,0x6c,0x65,0x72,0x61,0x6e,0x74,

0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x3c,0x2f,0x75,0x6c,0x3e,0x3c,0x2f,0x70,0x3e,0x0a,

0x3c,0x70,0x3e,0x37,0x20,0x74,0x69,0x6d,0x65,0x72,0x73,0x3c,0x2f,0x70,0x3e,0x0a,

0x3c,0x70,0x3e,0x3c,0x75,0x6c,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x62,0x69,0x74,

0x20,0x74,0x69,0x6d,0x65,0x72,0x73,0x2c,0x20,0x65,0x61,0x63,0x68,0x20,0x77,0x69,

0x74,0x68,0x20,0x75,0x70,0x20,0x74,0x6f,0x20,0x34,0x20,0x49,0x43,0x2f,0x4f,0x43,

0x2f,0x50,0x57,0x4d,0x20,0x6f,0x72,0x20,0x70,0x75,0x6c,0x73,0x65,0x20,0x63,0x6f,

0x75,0x6e,0x74,0x65,0x72,0x20,0x61,0x6e,0x64,0x20,0x71,0x75,0x61,0x64,0x72,0x61,

0x74,0x75,0x72,0x65,0x20,0x28,0x69,0x6e,0x63,0x72,0x65,0x6d,0x65,0x6e,0x74,0x61,

0x6c,0x29,0x20,0x65,0x6e,0x63,0x6f,0x64,0x65,0x72,0x20,0x69,0x6e,0x70,0x75,0x74,

0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x31,0x36,0x2d,0x62,0x69,

0x74,0x2c,0x20,0x6d,0x6f,0x74,0x6f,0x72,0x20,0x63,0x6f,0x6e,0x74,0x72,0x6f,0x6c,

0x20,0x50,0x57,0x4d,0x20,0x74,0x69,0x6d,0x65,0x72,0x20,0x77,0x69,0x74,0x68,0x20,

0x64,0x65,0x61,0x64,0x74,0x69,0x6d,0x65,0x20,0x67,0x65,0x6e,0x65,0x72,0x61,0x74,

0x69,0x6f,0x6e,0x20,0x61,0x6e,0x64,0x20,0x65,0x6d,0x65,0x72,0x67,0x65,0x6e,0x63,

0x79,0x20,0x73,0x74,0x6f,0x70,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,

0x3e,0x32,0x20,0x77,0x61,0x74,0x63,0x68,0x64,0x6f,0x67,0x20,0x74,0x69,0x6d,0x65,

0x72,0x73,0x20,0x28,0x49,0x6e,0x64,0x65,0x70,0x65,0x6e,0x64,0x65,0x6e,0x74,0x20,

0x61,0x6e,0x64,0x20,0x57,0x69,0x6e,0x64,0x6f,0x77,0x29,0x3c,0x2f,0x6c,0x69,0x3e,

0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x53,0x79,0x73,0x54,0x69,0x63,0x6b,0x20,0x74,0x69,

0x6d,0x65,0x72,0x20,0x32,0x34,0x2d,0x62,0x69,0x74,0x20,0x64,0x6f,0x77,0x6e,0x63,

0x6f,0x75,0x6e,0x74,0x65,0x72,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x3c,0x2f,0x75,0x6c,

0x3e,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x70,0x3e,0x55,0x70,0x20,0x74,0x6f,0x20,0x39,

0x20,0x63,0x6f,0x6d,0x6d,0x75,0x6e,0x69,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x69,

0x6e,0x74,0x65,0x72,0x66,0x61,0x63,0x65,0x73,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x70,

0x3e,0x3c,0x75,0x6c,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x55,0x70,0x20,0x74,0x6f,

0x20,0x32,0x20,0x78,0x20,0x49,0x32,0x43,0x20,0x69,0x6e,0x74,0x65,0x72,0x66,0x61,

0x63,0x65,0x73,0x20,0x28,0x53,0x4d,0x42,0x75,0x73,0x2f,0x50,0x4d,0x42,0x75,0x73,

0x29,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x55,0x70,0x20,0x74,

0x6f,0x20,0x33,0x20,0x55,0x53,0x41,0x52,0x54,0x73,0x20,0x28,0x49,0x53,0x4f,0x20,

0x37,0x38,0x31,0x36,0x20,0x69,0x6e,0x74,0x65,0x72,0x66,0x61,0x63,0x65,0x2c,0x20,

0x4c,0x49,0x4e,0x2c,0x20,0x49,0x72,0x44,0x41,0x20,0x63,0x61,0x70,0x61,0x62,0x69,

0x6c,0x69,0x74,0x79,0x2c,0x20,0x6d,0x6f,0x64,0x65,0x6d,0x20,0x63,0x6f,0x6e,0x74,

0x72,0x6f,0x6c,0x29,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x55,

0x70,0x20,0x74,0x6f,0x20,0x32,0x20,0x53,0x50,0x49,0x73,0x20,0x28,0x31,0x38,0x20,

0x4d,0x62,0x69,0x74,0x2f,0x73,0x29,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,

0x69,0x3e,0x43,0x41,0x4e,0x20,0x69,0x6e,0x74,0x65,0x72,0x66,0x61,0x63,0x65,0x20,

0x28,0x32,0x2e,0x30,0x42,0x20,0x41,0x63,0x74,0x69,0x76,0x65,0x29,0x3c,0x2f,0x6c,

0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x55,0x53,0x42,0x20,0x32,0x2e,0x30,0x20,

0x66,0x75,0x6c,0x6c,0x2d,0x73,0x70,0x65,0x65,0x64,0x20,0x69,0x6e,0x74,0x65,0x72,

0x66,0x61,0x63,0x65,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x3c,0x2f,0x75,0x6c,0x3e,0x3c,

0x2f,0x70,0x3e,0x0a,0x3c,0x2f,0x62,0x6f,0x64,0x79,0x3e,0x3c,0x2f,0x68,0x74,0x6d,

0x6c,0x3e};

 

index_htm 6 пакетов

const uint8_t index_htm[] = {

0x3c,0x68,0x74,0x6d,0x6c,0x3e,0x3c,0x62,0x6f,0x64,0x79,0x3e,0x3c,0x68,0x31,0x20,

0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x61,0x6c,0x69,0x67,

0x6e,0x3a,0x20,0x63,0x65,0x6e,0x74,0x65,0x72,0x3b,0x22,0x3e,0x53,0x54,0x4d,0x33,

0x32,0x46,0x31,0x30,0x33,0x78,0x38,0x3c,0x62,0x72,0x3e,0x3c,0x62,0x72,0x3e,0x57,

0x45,0x42,0x20,0x53,0x65,0x72,0x76,0x65,0x72,0x3c,0x2f,0x68,0x31,0x3e,0x0a,0x3c,

0x70,0x3e,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x68,0x32,0x3e,0x46,0x65,0x61,0x74,0x75,

0x72,0x65,0x73,0x3c,0x2f,0x68,0x32,0x3e,0x0a,0x3c,0x70,0x3e,0x41,0x52,0x4d,0xae,

0x20,0x33,0x32,0x2d,0x62,0x69,0x74,0x20,0x43,0x6f,0x72,0x74,0x65,0x78,0xae,0x2d,

0x4d,0x33,0x20,0x43,0x50,0x55,0x20,0x43,0x6f,0x72,0x65,0x3c,0x2f,0x70,0x3e,0x0a,

0x3c,0x70,0x3e,0x3c,0x75,0x6c,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x37,0x32,0x20,

0x4d,0x48,0x7a,0x20,0x6d,0x61,0x78,0x69,0x6d,0x75,0x6d,0x20,0x66,0x72,0x65,0x71,

0x75,0x65,0x6e,0x63,0x79,0x2c,0x20,0x31,0x2e,0x32,0x35,0x20,0x44,0x4d,0x49,0x50,

0x53,0x2f,0x4d,0x48,0x7a,0x20,0x28,0x44,0x68,0x72,0x79,0x73,0x74,0x6f,0x6e,0x65,

0x20,0x32,0x2e,0x31,0x29,0x20,0x70,0x65,0x72,0x66,0x6f,0x72,0x6d,0x61,0x6e,0x63,

0x65,0x20,0x61,0x74,0x20,0x30,0x20,0x77,0x61,0x69,0x74,0x20,0x73,0x74,0x61,0x74,

0x65,0x20,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x20,0x61,0x63,0x63,0x65,0x73,0x73,0x3c,

0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x53,0x69,0x6e,0x67,0x6c,0x65,

0x2d,0x63,0x79,0x63,0x6c,0x65,0x20,0x6d,0x75,0x6c,0x74,0x69,0x70,0x6c,0x69,0x63,

0x61,0x74,0x69,0x6f,0x6e,0x20,0x61,0x6e,0x64,0x20,0x68,0x61,0x72,0x64,0x77,0x61,

0x72,0x65,0x20,0x64,0x69,0x76,0x69,0x73,0x69,0x6f,0x6e,0x3c,0x2f,0x6c,0x69,0x3e,

0x0a,0x3c,0x2f,0x75,0x6c,0x3e,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x70,0x3e,0x4d,0x65,

0x6d,0x6f,0x72,0x69,0x65,0x73,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x70,0x3e,0x3c,0x75,

0x6c,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x36,0x34,0x20,0x6f,0x72,0x20,0x31,0x32,

0x38,0x20,0x4b,0x62,0x79,0x74,0x65,0x73,0x20,0x6f,0x66,0x20,0x46,0x6c,0x61,0x73,

0x68,0x20,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,

0x6c,0x69,0x3e,0x32,0x30,0x20,0x4b,0x62,0x79,0x74,0x65,0x73,0x20,0x6f,0x66,0x20,

0x53,0x52,0x41,0x4d,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x3c,0x2f,0x75,0x6c,0x3e,0x3c,

0x2f,0x70,0x3e,0x0a,0x3c,0x70,0x3e,0x43,0x6c,0x6f,0x63,0x6b,0x2c,0x20,0x72,0x65,

0x73,0x65,0x74,0x20,0x61,0x6e,0x64,0x20,0x73,0x75,0x70,0x70,0x6c,0x79,0x20,0x6d,

0x61,0x6e,0x61,0x67,0x65,0x6d,0x65,0x6e,0x74,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x70,

0x3e,0x3c,0x75,0x6c,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x32,0x2e,0x30,0x20,0x74,

0x6f,0x20,0x33,0x2e,0x36,0x20,0x56,0x20,0x61,0x70,0x70,0x6c,0x69,0x63,0x61,0x74,

0x69,0x6f,0x6e,0x20,0x73,0x75,0x70,0x70,0x6c,0x79,0x20,0x61,0x6e,0x64,0x20,0x49,

0x2f,0x4f,0x73,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x50,0x4f,

0x52,0x2c,0x20,0x50,0x44,0x52,0x2c,0x20,0x61,0x6e,0x64,0x20,0x70,0x72,0x6f,0x67,

0x72,0x61,0x6d,0x6d,0x61,0x62,0x6c,0x65,0x20,0x76,0x6f,0x6c,0x74,0x61,0x67,0x65,

0x20,0x64,0x65,0x74,0x65,0x63,0x74,0x6f,0x72,0x20,0x28,0x50,0x56,0x44,0x29,0x3c,

0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x34,0x2d,0x74,0x6f,0x2d,0x31,

0x36,0x20,0x4d,0x48,0x7a,0x20,0x63,0x72,0x79,0x73,0x74,0x61,0x6c,0x20,0x6f,0x73,

0x63,0x69,0x6c,0x6c,0x61,0x74,0x6f,0x72,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,

0x6c,0x69,0x3e,0x49,0x6e,0x74,0x65,0x72,0x6e,0x61,0x6c,0x20,0x38,0x20,0x4d,0x48,

0x7a,0x20,0x66,0x61,0x63,0x74,0x6f,0x72,0x79,0x2d,0x74,0x72,0x69,0x6d,0x6d,0x65,

0x64,0x20,0x52,0x43,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x49,

0x6e,0x74,0x65,0x72,0x6e,0x61,0x6c,0x20,0x34,0x30,0x20,0x6b,0x48,0x7a,0x20,0x52,

0x43,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x50,0x4c,0x4c,0x20,

0x66,0x6f,0x72,0x20,0x43,0x50,0x55,0x20,0x63,0x6c,0x6f,0x63,0x6b,0x3c,0x2f,0x6c,

0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x33,0x32,0x20,0x6b,0x48,0x7a,0x20,0x6f,

0x73,0x63,0x69,0x6c,0x6c,0x61,0x74,0x6f,0x72,0x20,0x66,0x6f,0x72,0x20,0x52,0x54,

0x43,0x20,0x77,0x69,0x74,0x68,0x20,0x63,0x61,0x6c,0x69,0x62,0x72,0x61,0x74,0x69,

0x6f,0x6e,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x3c,0x2f,0x75,0x6c,0x3e,0x3c,0x2f,0x70,

0x3e,0x0a,0x3c,0x70,0x3e,0x4c,0x6f,0x77,0x2d,0x70,0x6f,0x77,0x65,0x72,0x3c,0x2f,

0x70,0x3e,0x0a,0x3c,0x70,0x3e,0x3c,0x75,0x6c,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,

0x53,0x6c,0x65,0x65,0x70,0x2c,0x20,0x53,0x74,0x6f,0x70,0x20,0x61,0x6e,0x64,0x20,

0x53,0x74,0x61,0x6e,0x64,0x62,0x79,0x20,0x6d,0x6f,0x64,0x65,0x73,0x3c,0x2f,0x6c,

0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x56,0x42,0x41,0x54,0x20,0x73,0x75,0x70,

0x70,0x6c,0x79,0x20,0x66,0x6f,0x72,0x20,0x52,0x54,0x43,0x20,0x61,0x6e,0x64,0x20,

0x62,0x61,0x63,0x6b,0x75,0x70,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,

0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x3c,0x2f,0x75,0x6c,0x3e,0x3c,0x2f,0x70,0x3e,0x0a,

0x3c,0x70,0x3e,0x32,0x20,0x78,0x20,0x31,0x32,0x2d,0x62,0x69,0x74,0x2c,0x20,0x31,

0x20,0x3f,0x73,0x20,0x41,0x2f,0x44,0x20,0x63,0x6f,0x6e,0x76,0x65,0x72,0x74,0x65,

0x72,0x73,0x20,0x28,0x75,0x70,0x20,0x74,0x6f,0x20,0x31,0x36,0x20,0x63,0x68,0x61,

0x6e,0x6e,0x65,0x6c,0x73,0x29,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x70,0x3e,0x3c,0x75,

0x6c,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x43,0x6f,0x6e,0x76,0x65,0x72,0x73,0x69,

0x6f,0x6e,0x20,0x72,0x61,0x6e,0x67,0x65,0x3a,0x20,0x30,0x20,0x74,0x6f,0x20,0x33,

0x2e,0x36,0x20,0x56,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x44,

0x75,0x61,0x6c,0x2d,0x73,0x61,0x6d,0x70,0x6c,0x65,0x20,0x61,0x6e,0x64,0x20,0x68,

0x6f,0x6c,0x64,0x20,0x63,0x61,0x70,0x61,0x62,0x69,0x6c,0x69,0x74,0x79,0x3c,0x2f,

0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x54,0x65,0x6d,0x70,0x65,0x72,0x61,

0x74,0x75,0x72,0x65,0x20,0x73,0x65,0x6e,0x73,0x6f,0x72,0x3c,0x2f,0x6c,0x69,0x3e,

0x0a,0x3c,0x2f,0x75,0x6c,0x3e,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x70,0x3e,0x44,0x4d,

0x41,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x70,0x3e,0x3c,0x75,0x6c,0x3e,0x0a,0x09,0x3c,

0x6c,0x69,0x3e,0x37,0x2d,0x63,0x68,0x61,0x6e,0x6e,0x65,0x6c,0x20,0x44,0x4d,0x41,

0x20,0x63,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x6c,0x65,0x72,0x3c,0x2f,0x6c,0x69,0x3e,

0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x50,0x65,0x72,0x69,0x70,0x68,0x65,0x72,0x61,0x6c,

0x73,0x20,0x73,0x75,0x70,0x70,0x6f,0x72,0x74,0x65,0x64,0x3a,0x20,0x74,0x69,0x6d,

0x65,0x72,0x73,0x2c,0x20,0x41,0x44,0x43,0x2c,0x20,0x53,0x50,0x49,0x73,0x2c,0x20,

0x49,0x32,0x43,0x73,0x20,0x61,0x6e,0x64,0x20,0x55,0x53,0x41,0x52,0x54,0x73,0x3c,

0x2f,0x6c,0x69,0x3e,0x0a,0x3c,0x2f,0x75,0x6c,0x3e,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,

0x70,0x3e,0x55,0x70,0x20,0x74,0x6f,0x20,0x38,0x30,0x20,0x66,0x61,0x73,0x74,0x20,

0x49,0x2f,0x4f,0x20,0x70,0x6f,0x72,0x74,0x73,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x70,

0x3e,0x3c,0x75,0x6c,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x32,0x36,0x2f,0x33,0x37,

0x2f,0x35,0x31,0x2f,0x38,0x30,0x20,0x49,0x2f,0x4f,0x73,0x2c,0x20,0x61,0x6c,0x6c,

0x20,0x6d,0x61,0x70,0x70,0x61,0x62,0x6c,0x65,0x20,0x6f,0x6e,0x20,0x31,0x36,0x20,

0x65,0x78,0x74,0x65,0x72,0x6e,0x61,0x6c,0x20,0x69,0x6e,0x74,0x65,0x72,0x72,0x75,

0x70,0x74,0x20,0x76,0x65,0x63,0x74,0x6f,0x72,0x73,0x20,0x61,0x6e,0x64,0x20,0x61,

0x6c,0x6d,0x6f,0x73,0x74,0x20,0x61,0x6c,0x6c,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,

0x3c,0x6c,0x69,0x3e,0x35,0x20,0x56,0x2d,0x74,0x6f,0x6c,0x65,0x72,0x61,0x6e,0x74,

0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x3c,0x2f,0x75,0x6c,0x3e,0x3c,0x2f,0x70,0x3e,0x0a,

0x3c,0x70,0x3e,0x37,0x20,0x74,0x69,0x6d,0x65,0x72,0x73,0x3c,0x2f,0x70,0x3e,0x0a,

0x3c,0x70,0x3e,0x3c,0x75,0x6c,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x62,0x69,0x74,

0x20,0x74,0x69,0x6d,0x65,0x72,0x73,0x2c,0x20,0x65,0x61,0x63,0x68,0x20,0x77,0x69,

0x74,0x68,0x20,0x75,0x70,0x20,0x74,0x6f,0x20,0x34,0x20,0x49,0x43,0x2f,0x4f,0x43,

0x2f,0x50,0x57,0x4d,0x20,0x6f,0x72,0x20,0x70,0x75,0x6c,0x73,0x65,0x20,0x63,0x6f,

0x75,0x6e,0x74,0x65,0x72,0x20,0x61,0x6e,0x64,0x20,0x71,0x75,0x61,0x64,0x72,0x61,

0x74,0x75,0x72,0x65,0x20,0x28,0x69,0x6e,0x63,0x72,0x65,0x6d,0x65,0x6e,0x74,0x61,

0x6c,0x29,0x20,0x65,0x6e,0x63,0x6f,0x64,0x65,0x72,0x20,0x69,0x6e,0x70,0x75,0x74,

0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x31,0x36,0x2d,0x62,0x69,

0x74,0x2c,0x20,0x6d,0x6f,0x74,0x6f,0x72,0x20,0x63,0x6f,0x6e,0x74,0x72,0x6f,0x6c,

0x20,0x50,0x57,0x4d,0x20,0x74,0x69,0x6d,0x65,0x72,0x20,0x77,0x69,0x74,0x68,0x20,

0x64,0x65,0x61,0x64,0x74,0x69,0x6d,0x65,0x20,0x67,0x65,0x6e,0x65,0x72,0x61,0x74,

0x69,0x6f,0x6e,0x20,0x61,0x6e,0x64,0x20,0x65,0x6d,0x65,0x72,0x67,0x65,0x6e,0x63,

0x79,0x20,0x73,0x74,0x6f,0x70,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,

0x3e,0x32,0x20,0x77,0x61,0x74,0x63,0x68,0x64,0x6f,0x67,0x20,0x74,0x69,0x6d,0x65,

0x72,0x73,0x20,0x28,0x49,0x6e,0x64,0x65,0x70,0x65,0x6e,0x64,0x65,0x6e,0x74,0x20,

0x61,0x6e,0x64,0x20,0x57,0x69,0x6e,0x64,0x6f,0x77,0x29,0x3c,0x2f,0x6c,0x69,0x3e,

0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x53,0x79,0x73,0x54,0x69,0x63,0x6b,0x20,0x74,0x69,

0x6d,0x65,0x72,0x20,0x32,0x34,0x2d,0x62,0x69,0x74,0x20,0x64,0x6f,0x77,0x6e,0x63,

0x6f,0x75,0x6e,0x74,0x65,0x72,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x3c,0x2f,0x75,0x6c,

0x3e,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x70,0x3e,0x55,0x70,0x20,0x74,0x6f,0x20,0x39,

0x20,0x63,0x6f,0x6d,0x6d,0x75,0x6e,0x69,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x69,

0x6e,0x74,0x65,0x72,0x66,0x61,0x63,0x65,0x73,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x70,

0x3e,0x3c,0x75,0x6c,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x55,0x70,0x20,0x74,0x6f,

0x20,0x32,0x20,0x78,0x20,0x49,0x32,0x43,0x20,0x69,0x6e,0x74,0x65,0x72,0x66,0x61,

0x63,0x65,0x73,0x20,0x28,0x53,0x4d,0x42,0x75,0x73,0x2f,0x50,0x4d,0x42,0x75,0x73,

0x29,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x55,0x70,0x20,0x74,

0x6f,0x20,0x33,0x20,0x55,0x53,0x41,0x52,0x54,0x73,0x20,0x28,0x49,0x53,0x4f,0x20,

0x37,0x38,0x31,0x36,0x20,0x69,0x6e,0x74,0x65,0x72,0x66,0x61,0x63,0x65,0x2c,0x20,

0x4c,0x49,0x4e,0x2c,0x20,0x49,0x72,0x44,0x41,0x20,0x63,0x61,0x70,0x61,0x62,0x69,

0x6c,0x69,0x74,0x79,0x2c,0x20,0x6d,0x6f,0x64,0x65,0x6d,0x20,0x63,0x6f,0x6e,0x74,

0x72,0x6f,0x6c,0x29,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x55,

0x70,0x20,0x74,0x6f,0x20,0x32,0x20,0x53,0x50,0x49,0x73,0x20,0x28,0x31,0x38,0x20,

0x4d,0x62,0x69,0x74,0x2f,0x73,0x29,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x09,0x3c,0x6c,

0x69,0x3e,0x43,0x41,0x4e,0x20,0x69,0x6e,0x74,0x65,0x72,0x66,0x61,0x63,0x65,0x20,

0x28,0x32,0x2e,0x30,0x42,0x20,0x41,0x63,0x74,0x69,0x76,0x65,0x29,0x3c,0x2f,0x6c,

0x69,0x3e,0x0a,0x09,0x3c,0x6c,0x69,0x3e,0x55,0x53,0x42,0x20,0x32,0x2e,0x30,0x20,

0x66,0x75,0x6c,0x6c,0x2d,0x73,0x70,0x65,0x65,0x64,0x20,0x69,0x6e,0x74,0x65,0x72,

0x66,0x61,0x63,0x65,0x3c,0x2f,0x6c,0x69,0x3e,0x0a,0x3c,0x2f,0x75,0x6c,0x3e,0x3c,

0x2f,0x70,0x3e,0x0a,0x3c,0x70,0x3e,0x43,0x52,0x43,0x20,0x63,0x61,0x6c,0x63,0x75,

0x6c,0x61,0x74,0x69,0x6f,0x6e,0x20,0x75,0x6e,0x69,0x74,0x2c,0x20,0x39,0x36,0x2d,

0x62,0x69,0x74,0x20,0x75,0x6e,0x69,0x71,0x75,0x65,0x20,0x49,0x44,0x3c,0x2f,0x70,

0x3e,0x0a,0x3c,0x70,0x3e,0x50,0x61,0x63,0x6b,0x61,0x67,0x65,0x73,0x20,0x61,0x72,

0x65,0x20,0x45,0x43,0x4f,0x50,0x41,0x43,0x4b,0xae,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,

0x68,0x32,0x3e,0x31,0x2e,0x20,0x49,0x6e,0x74,0x72,0x6f,0x64,0x75,0x63,0x74,0x69,

0x6f,0x6e,0x3c,0x2f,0x68,0x32,0x3e,0x0a,0x3c,0x70,0x3e,0x54,0x68,0x69,0x73,0x20,

0x64,0x61,0x74,0x61,0x73,0x68,0x65,0x65,0x74,0x20,0x70,0x72,0x6f,0x76,0x69,0x64,

0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x6f,0x72,0x64,0x65,0x72,0x69,0x6e,0x67,0x20,

0x69,0x6e,0x66,0x6f,0x72,0x6d,0x61,0x74,0x69,0x6f,0x6e,0x20,0x61,0x6e,0x64,0x20,

0x6d,0x65,0x63,0x68,0x61,0x6e,0x69,0x63,0x61,0x6c,0x20,0x64,0x65,0x76,0x69,0x63,

0x65,0x20,0x63,0x68,0x61,0x72,0x61,0x63,0x74,0x65,0x72,0x69,0x73,0x74,0x69,0x63,

0x73,0x20,0x6f,0x66,0x20,0x74,0x68,0x65,0x20,0x53,0x54,0x4d,0x33,0x32,0x46,0x31,

0x30,0x33,0x78,0x38,0x20,0x61,0x6e,0x64,0x20,0x53,0x54,0x4d,0x33,0x32,0x46,0x31,

0x30,0x33,0x78,0x42,0x20,0x6d,0x65,0x64,0x69,0x75,0x6d,0x2d,0x64,0x65,0x6e,0x73,

0x69,0x74,0x79,0x20,0x70,0x65,0x72,0x66,0x6f,0x72,0x6d,0x61,0x6e,0x63,0x65,0x20,

0x6c,0x69,0x6e,0x65,0x20,0x6d,0x69,0x63,0x72,0x6f,0x63,0x6f,0x6e,0x74,0x72,0x6f,

0x6c,0x6c,0x65,0x72,0x73,0x2e,0x3c,0x2f,0x70,0x3e,0x0a,0x3c,0x2f,0x62,0x6f,0x64,

0x79,0x3e,0x3c,0x2f,0x68,0x74,0x6d,0x6c,0x3e};

 

После каждого изменения проверяем результат в браузере и в Wireshark.

А вот и наша самая большая страница, которая состоит из 6 пакетов (нажмите на картинку для увеличения изображения)

 

image05_0500

 

Посмотрим также процесс передачи клиента нашего последнего документа в WireShark (нажмите на картинку для увеличения изображения)

 

image06_0500

 

Также убедимся, что наш документ состоит именно из 6 частей, заглянув в вывод данных в терминальной программе

 

image07

 

Таким образом, в нашем уроке нам удалось передать, пользуясь протоколом HTTP, документ, состоящий, можно сказать из неограниченного количества пакетов. Также, не нарушая традиций, мы ещё немного прооптимизировали наш проект, что сэкономило нам немного памяти, а также сделало наш проект более читабельным.

Спасибо за внимание!

 

Предыдущая часть Программирование МК STM32 Следующий урок

 

Исходный код

 

 

Отладочную плату можно приобрести здесь STM32F103C8T6

Ethernet LAN Сетевой Модуль можно купить здесь ENC28J60 Ethernet LAN

Переходник USB to TTL можно приобрести здесь USB to TTL ftdi ft232rl

 

 

Смотреть ВИДЕОУРОК (нажмите на картинку)

 

STM LAN. ENC28J60. TCP WEB Server. Передаём страницу побольше

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*