Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить

Re: W5500_client+Atmega8_для самых начинающих.

Ср авг 04, 2021 03:12:17

Ночь плохо спал. Думки покоя не давали.
Утром пришел на работу и опять попробовал установить соединение с удаленным сервером, в надежде, что не я виноват. Но нет. Не прошло....
Стал пересматривать еще раз и код программы и все написанное Романом с самого начала.
Пока не дошел до строк:
- пишем IP (Destination), порт (Destination) сервера
(для сервера HTTP порт 80, для сервера HTTPS порт 443, и т.д.)

Поменял с 80 на 443 и все заработало...
Сегодня не получится вечером протестировать модель на соединение, а завтра наверняка смогу.
По поводу напряжения питания 5V модуля....
На схеме стоит стабилизатор.
Сегодня переключил его на 3.3V
На анализаторе ничего не вижу. Выставляю фильтр по ip = 192.168.0.110 (модуля) и пусто.
Без фильтра много чего есть, но не разберусь что к чему. Выкладываю данные анализатора в момент соединения модуля с сервером:
ip_192_168_0_110.png
(116.43 KiB) Скачиваний: 260


Спасибо Роману!!!

Re: W5500_client+Atmega8_для самых начинающих.

Ср авг 04, 2021 16:15:06

kondeg писал(а):Пока не дошел до строк:
Цитата:
- пишем IP (Destination), порт (Destination) сервера
(для сервера HTTP порт 80, для сервера HTTPS порт 443, и т.д.)

:shock:
Странный сервер))
Должно быть так:
Сайт http://www.pogoda19.ru/ - это протокол HTTP порт 80.
Сайт https://www.pogoda19.ru/ - это протокол HTTPS порт 443.
:tea:

Добавлено after 2 minutes 59 seconds:
По поводу напряжения питания 5V модуля....
На схеме стоит стабилизатор.
Сегодня переключил его на 3.3V

У меня больше не стоит)) У меня W5500 подключён к роутеру. А в роутере свой стабилизатор (импульсный, с высоким КПД) 3.3V ))

Добавлено after 9 minutes 17 seconds:
На анализаторе ничего не вижу. Выставляю фильтр по ip = 192.168.0.110 (модуля) и пусто.

Ничего и не будет. W5500 надо подключать к анализатору. А у Вас W5500 подключён к шлюзу (роутеру).

Перед соединением с сервером W5500 отправляет ARP запрос на шлюз (роутер) для определения MAC-адреса шлюза (роутера).
Пакет ARP запроса использует бродкаст адреса (MAC-адрес FF:FF:FF:FF:FF:FF)
Поэтому анализатор видит ARP запрос.
ip_192_168_0_110.jpg
(94.55 KiB) Скачиваний: 246

А дальше шлюз (роутер) отправляет ARP ответ на MAC-адрес W5500.
Поэтому анализатор не видит ARP ответ шлюза (роутера).

А дальше W5500 отправляет все пакеты шлюзу (роутеру) с MAC-адресом шлюза (роутера).
Поэтому анализатор не видит пакеты W5500.
:roll:

Лучше сначала подключиться к сайту браузером и посмотреть как работает браузер.
1- браузер передаёт ARP запрос на шлюз (роутер) для определения MAC-адреса шлюза (роутера).
2- браузер передаёт DNS запрос на DNS сервер для определения IP сервера http://www.pogoda19.ru/ = 31.31.196.28.
3- браузер передаёт SYN запрос для подключения к серверу IP сервера = 31.31.196.28.
Screenshot_1.jpg
(101.71 KiB) Скачиваний: 251

Теперь, когда мы знаем как работает браузер надо в точности скопировать работу браузера в W5500. Кроме DNS запроса.))

Скопировать в W5500 всё что передаёт браузер.
HTTP.jpg
(151.46 KiB) Скачиваний: 246

Чтобы сервер http://www.pogoda19.ru/ думал что W5500 это браузер.
Тогда всё должно работать чётко.
:tea:
А какой порт отправителя (Source Port) использует браузер ? Точно не 80. )) Source Port = 80 - это для HTTP Серверов.
На примере выше браузер использует Source Port = 34348.
Почему это может быть важно ? Я не знаю как настроен шлюз на предприятии)) Многие шлюзы на предприятии фильтруют трафик...
Поэтому лучше сделать порт (Source Port) в W5500 такой же как в браузере.

Меняем порт (Source Port) в настройках W5500... На всякий случай))

Далее открываем сокет.
Например откроем сокет номер 2.
Для этого надо прописать регистр сокета номер 2.
Регистр сокета номер 2 находится в блоке 0x09.
Записываем в него протокол TCP и порт (например как выше Source Port = 34348):

// Протокол: пишем протокол TCP Socket_2:
PORTB.6=0; // SS W5500
tx=0x00; SPI(); tx=0x00; SPI(); tx=0x4C; SPI(); // Address + Control Registers
tx=0x01; SPI(); // Data -0x01 (protocol TCP).
PORTB.6=1; // SS W5500
// Порт: пишем Socket_2 Source Port:
PORTB.6=0; // SS W5500
tx=0x00; SPI(); tx=0x04; SPI(); tx=0x4C; SPI(); // Address + Control Registers
tx=0x68; SPI(); // Data -0x68 (порт 34348)
tx=0x2C; SPI(); // Data -0x2C (порт 34348)
PORTB.6=1; // SS W5500
:tea:

Чтоб посмотреть все пакеты W5500 на анализаторе можно сделать все пакеты W5500 бродкаст.
Теоретически должно работать... зависит от шлюза (роутера). Не помню... Надо проверить))
2.jpg
(71.02 KiB) Скачиваний: 240

Только по даташиту протокол TCP в W5500 не поддерживает бродкаст. Не знаю... не пробовал)) Надо проверить))

Знаю что протокол UDP поддерживает бродкаст. Это я пробовал))

Чтоб W5500 передавал все пакеты с бродкаст по UDP надо сделать две вещи:
1- Перед отправкой пакета по протоколу UDP надо указать MAC-адрес (Destination).
2- Для передачи пакета использовать другую команду - вместо SEND использовать SEND_MAC.

1-
// (для команды SEND_MAC без автоматического ARP-запроса)
tx=0x00; SPI(); tx=0x06; SPI(); tx=0x4C; SPI(); // MAC, IP, порт

// MAC адрес - бродкаст :
tx=0xFF; SPI(); // Data // Destination Hardware Address (Sn_DHAR0)(0x0006 - Address)
tx=0xFF; SPI(); // Data // Destination Hardware Address (Sn_DHAR1)(0x0007 - Address)
tx=0xFF; SPI(); // Data // Destination Hardware Address (Sn_DHAR2)(0x0008 - Address)
tx=0xFF; SPI(); // Data // Destination Hardware Address (Sn_DHAR3)(0x0009 - Address)
tx=0xFF; SPI(); // Data // Destination Hardware Address (Sn_DHAR4)(0x000A - Address)
tx=0xFF; SPI(); // Data // Destination Hardware Address (Sn_DHAR5)(0x000B - Address)

// IP адрес:
tx=31; SPI(); // Data // Destination IP Address (Sn_DIPR0)(0x000C - Address)
tx=31; SPI(); // Data // Destination IP Address (Sn_DIPR1)(0x000D - Address)
tx=196; SPI(); // Data // Destination IP Address (Sn_DIPR2)(0x000E - Address)
tx=28; SPI(); // Data // Destination IP Address (Sn_DIPR3)(0x000F - Address)

// порт:
tx=0x00; SPI(); // Data // Destination Port (Sn_DPORT0) (0x0010 - Address) -порт 80
tx=0x50; SPI(); // Data // Destination Port (Sn_DPORT1) (0x0011 - Address) -порт 80
...
...
...
2-
//Пишем команду передачи SEND_MAC Socket 2 Command:
PORTB.2=0; // SS W5500
tx=0x00; SPI(); tx=0x01; SPI(); tx=0x4C; SPI(); // Address + Control Registers
tx=0x21; SPI();// Data -0x21 (команда SEND_MAC без автоматического ARP-запроса)
PORTB.2=1; // SS W5500
:tea:

Ну или другой вариант сделать все пакеты бродкаст - использовать в W5500 режим MACRAW.
Режим MACRAW поддерживает любые протоколы. Вообще любые))
Только придётся писать все протоколы (включая TCP протокол) вручную)) А это долго...
:tea:

Добавлено after 1 hour 36 minutes 2 seconds:
Ну или третий вариант - запустить на своём компе свой сервер (аналог http://www.pogoda19.ru/) и подключаться к нему.
Вон я запустил у себя на компе простой Java сервер
Screenshot_1.jpg
(105.89 KiB) Скачиваний: 318

И подключаюсь к нему как браузером так и с помощью W5500
дом_2.jpg
(196.83 KiB) Скачиваний: 264

Через всякие VPN...
Screenshot_2.jpg
(186.04 KiB) Скачиваний: 227

Тогда анализатор работает и всё чётко видно. ))
:tea:
Короче... вариантов много))

Re: W5500_client+Atmega8_для самых начинающих.

Чт авг 05, 2021 03:18:15

Рома привет.
Попробовал сегодня , по твоему совету , на своем локальном сервере поработать с подключением к нему и посмотреть через анализатор.
В общем все прошло хорошо и на 80 и 443 портах.
прикрепляю снимки анализатора.
port_80.png
(96.27 KiB) Скачиваний: 232

port_443.png
(107.74 KiB) Скачиваний: 237

На 443 порту W5500 подключается ко все, которые я пробовал (google, yandex, pogoda19) сайтам,
а по 80 никак.
Пока все на этом.
Должен уже два дня как отдыхать, но напарник попросил подменить.
До встречи в следующую среду.
С уважением к тебе Константин.

Re: W5500_client+Atmega8_для самых начинающих.

Чт авг 05, 2021 12:47:20

google, yandex, vk и т.д. все работают изначально по HTTPS - порт 443.
HTTPS - протокол с шифрованием.
Подключиться к ним можно.
>SYN
>SYN ACK
>ACK
А передавать ничего нельзя. Потому что HTTPS попросит протокол шифрования TLS.
Протокол шифрования TLS для Ардуины слишком сложный.
Хотя не знаю. Не пробовал))
:tea:
Хотел использовать облачный сервер для хранения данных... типа Яндекс диск и т.д.
Но протокол шифрования TLS для МК слишком сложный.
А облачный сервер для хранения данных без шифрования (HTTP - порт 80) я не нашёл...
Жаль...
:(

Re: W5500_client+Atmega8_для самых начинающих.

Вс авг 08, 2021 04:57:53

Рома здравствуй.
Привет всем.
Решил в воскресенье поработать немного с модулем.
Подправил код для теста соединения и передачи данных.
Теперь могу наблюдать на мобильнике есть передачи (соответственно и соединение с сайтом) или нет.
Передача идет с интервалом в 50 секунд.
Если без сбоев со стороны хоста отработает несколько суток, то думаю и дальше будет работать.
Немного по другому сконфигурировал socket_2. Прописал в конфигурации порт 443, а в конфигурации адреса назначения передачи прописал порт 80.
Будем наблюдать.
Всем хороших выходных.

Re: W5500_client+Atmega8_для самых начинающих.

Пн авг 09, 2021 00:04:23

kondeg писал(а):Теперь могу наблюдать на мобильнике есть передачи (соответственно и соединение с сайтом) или нет.

На мобильнике ? Чисто интересно...
А как W5500 подключён к мобильнику ? Там приложение какое на мобильнике ?

порт назначения для сайтов с HTTP должен быть порт 80.
порт отправителя может быть любой разрешённый от 1000 до 65535.
https://ru.wikipedia.org/wiki/Список_портов_TCP_и_UDP

Вообще мне не нравится протокол TCP. Слишком сложно и ненадёжно.
Лучше всё делать по UDP. Проще и надёжней))
:tea:

Re: W5500_client+Atmega8_для самых начинающих.

Ср авг 11, 2021 01:56:28

Вообще мне не нравится протокол TCP. Слишком сложно и ненадёжно.
Лучше всё делать по UDP. Проще и надёжней))

Да Рома, это так. Но что есть, то есть. Буду "добивать" эту тему до логического конца.
На мобильнике ? Чисто интересно...
А как W5500 подключён к мобильнику ? Там приложение какое на мобильнике ?

:)) Нет. Приложений нет, передаю на страницу сайта термометра тестовый счет числа от 0 до 10.
порт назначения для сайтов с HTTP должен быть порт 80.

Когда в конфигурации сокета указываю 80 порт, то модуль никак не переходит в ESTABLISHED (статус 0x17)
Вот такие дела.

Re: W5500_client+Atmega8_для самых начинающих.

Чт авг 12, 2021 12:54:11

kondeg писал(а):Приложений нет, передаю на страницу сайта термометра тестовый счет числа от 0 до 10.

Лучше сделать свой сайт)) Там возможностей больше...
kondeg писал(а):Когда в конфигурации сокета указываю 80 порт, то модуль никак не переходит в ESTABLISHED (статус 0x17)

При порт Destination 80 модуль никак не переходит в ESTABLISHED (статус 0x17) ?
Странный какой-то сайт))
kondeg писал(а):Буду "добивать" эту тему до логического конца.

Так там больше нечего добивать)) Разве что добавить тайм-аут на каждое действие. Чтоб модуль не "зависал".
Больше там добивать нечего))
К стати в W5500 есть встроенный тайм-аут. Но я им не пользуюсь. проще делать программно в Ардуино (или МК).

Лучше подумать как добавить в Ардуино (или МК) протокол TLS 1.2 для работы с сайтами по протоколу HTTPS.
Это будет интересней))
В принципе можно. Только алгоритм RSA с AES256 и SHA256 ещё не готов...))

Интересней другое - убрать из схему модуль W5500 и сделать всё на Ардуино (или МК).
Вот к примеру я сделал UDP на простом МК.
Ethernet-Atmega8-тр.jpg
(200.93 KiB) Скачиваний: 214

Добавить в схему ещё несколько деталей и получится аналог W5500 на простом МК.
Причём с лучшими параметрами чем у модуля W5500)) В частности с меньшим потреблением. это важно для автономной работы. Например если датчик температуры работает автономно. И т.д. и т.п.
:tea:

Re: W5500_client+Atmega8_для самых начинающих.

Пт авг 13, 2021 10:52:18

Рома привет.
Сегодня "пересадил" всю программу из ардуино в свой W5500+Atmega_8.
Данные отправляются, температура на страничке меняется-отображается...
Красота... :))

При порт Destination 80 модуль никак не переходит в ESTABLISHED (статус 0x17) ?
Странный какой-то сайт))

Интересно то, что модуль на 80_м порту не соединяется ни с одним сайтом за пределами моего предприятия.. Грешу все таки на сервер нашего предприятия.. Попробую дома соединиться на 80_м порту.
Хотя с локальным сервером, который стоит на моем ноутбуке, соединяется по 80_му порту.

Разве что добавить тайм-аут на каждое действие.

Тайм аут как использовать? Команду в модуль отправлять? Честно говоря слышал про него, но как задействовать не знаю.

Добавить в схему ещё несколько деталей и получится аналог W5500 на простом МК.
Причём с лучшими параметрами чем у модуля W5500)) В частности с меньшим потреблением. это важно для автономной работы. Например если датчик температуры работает автономно. И т.д. и т.п.

Рома. Я так далек от таких знаний, если бы только знал...
Если бы не ты, так бы и отправлял данные через ардуинку.
А так хоть немного "пощупал" W5500 изнутри :))
За что тебе огромное спасибо !!!

Re: W5500_client+Atmega8_для самых начинающих.

Пт авг 13, 2021 20:17:24

kondeg писал(а):Интересно то, что модуль на 80_м порту не соединяется ни с одним сайтом за пределами моего предприятия.. Грешу все таки на сервер нашего предприятия..

Грешить не надо)) Надо включить анализатор и всё будет понятно.

1- Включаем анализатор.
2- Подключаемся к серверу с помощью браузера (по умолчанию браузер отправляет запрос на порт 80, если не указано другое).

На анализаторе должно быть примерно вот так:
браузер HTTP порт 80.jpg
(153.66 KiB) Скачиваний: 179

На анализаторе чётко видно, что браузер подключился к серверу с IP адресом 64.74.98.80 по протоколу HTTP на порт 80.
Значит порт 80 работает))
Если браузер на порт 80 к серверу подключился, значит и W5500 сможет))
Всё просто))
:tea:

Добавлено after 3 minutes 56 seconds:
РТайм аут как использовать? Команду в модуль отправлять? Честно говоря слышал про него, но как задействовать не знаю.

У модуля W5500 есть куча регистров настройки...
Среди кучи регистров настройки есть и регистр тайм-аута...
Сейчас не вспомню)) Надо глянуть даташит...
Я им никогда не пользовался. Мне он не нужен)) У меня всё программно.
:tea:

Re: W5500_client+Atmega8_для самых начинающих.

Сб авг 14, 2021 02:53:27

Рома здравствуй.
1- Включаем анализатор.
2- Подключаемся к серверу с помощью браузера (по умолчанию браузер отправляет запрос на порт 80, если не указано другое).

Браузер с сервером соединяется. И обмен данными идет.
браузер_сервер_.jpg
(249.94 KiB) Скачиваний: 154

У меня проблема вот где:
- сконфигурировали socket_2
Код:
// конфигурация socket №_2
void Init_Socket2(void)
{
   //// протокол TCP
   SS_0;
   SPI(0x00); SPI(0x00); SPI(0x4C);
   SPI(0x01);
   SS_1;
   //// порт 80 или 433
   // устанавливается до открытия socket
   SS_0;
   SPI(0x00); SPI(0x04); SPI(0x4C); //socket source port / запись
   //SPI(0x00); SPI(0x50);//port 80
   SPI(0x01); SPI(0xBB);//port 443
   SS_1;
}

Открываем socket_2
Код:
// открываем socket №_2
void Open_Socket2(void)
{
   SS_0;
   SPI(0x00); SPI(0x01); SPI(0x4C); //команда socket_2 / запись в sock_2
   SPI(0x01); //data = открыть socket команда OPEN (стр.46)
   SS_1;
}


И затем подключаемся к серверу
(проверяем подключен или нет):

Код:
//подключаемся к server(conect)+
uint8_t Connect_client_server(void)
{
   Open_Socket2(); //открыли сокет

   SS_0;
   //Подключение к серверу. Команда conect
   SPI(0x00); SPI(0x01); SPI(0x4C); //команда CONECT
   SPI(0x04);
   SS_1;
                      // проверка (ожидание) подключения к серверу
                      for (uint8_t count =0; count<100; count++)
                      {
                     SS_0;
                     SPI(0x00); SPI(0x03); SPI(0x48);
                     SPI2(0x00);  //rx2
                     SS_1;
                     
                            if (rx2==23)  // 0x17  если есть подключение к серверу
                            {
                             return 1; // если есть подключение к серверу
                            }
                  _delay_ms(100);       
                      }                  
   return 0; // если за 10 секунд не удалось подключится               
}

И вот когда в конфигурации socket_2 указан порт 80, тогда модуль никак не хочет менять свой статус на 0x17.
Ну а если порт указан 443, тогда соединяется без проблем.
А вот передача данных на сервер идет по 80-му порту.
Но это уже после того как W5500 изменил статус на 0x17
Код:
//ip и port назначения (server)
void Destination_Ip_Port_Server(void)
{
   SS_0;
   SPI(0x00); SPI(0x0C); SPI(0x4C);
   //ip
        SPI(31); SPI(31); SPI(196); SPI(28); //pogoda19.ru
   SPI(0x00); SPI(0x50);//port 80
   SS_1;
}

Рома. Может быть я по невнимательности где то в настройках ошибку допустил?

Re: W5500_client+Atmega8_для самых начинающих.

Сб авг 14, 2021 16:24:53

kondeg писал(а):Может быть я по невнимательности где то в настройках ошибку допустил?

Угу))
когда в конфигурации socket_2 указан порт 80, тогда модуль никак не хочет менять свой статус на 0x17.
Ну а если порт указан 443, тогда соединяется без проблем.
А вот передача данных на сервер идет по 80-му порту.

Угу))
Когда в конфигурации socket_2 указан порт 80, тогда модуль никак не хочет менять свой статус на 0x17.
Потому что порт 80 - только для сервера. А у Вас W5500 в режиме клиента. В режиме клиента нужен другой порт.

Ну а если порт указан 443, тогда соединяется без проблем.
При этом передача данных на сервер идет по 80-му порту.
А приём данных с сервера идет по 443-му порту.
Это тоже не правильно. Порт 443 - тоже только для сервера.

Выше уже писал что могут быть проблемы с портами... Точнее с сервером и шлюзом предприятия...
порт назначения Destination для сайтов с HTTP должен быть порт 80.
порт отправителя Source может быть любой разрешённый от 1000 до 65535.
https://ru.wikipedia.org/wiki/Список_портов_TCP_и_UDP

W5500 в режиме клиента:
порт Destination - должен быть 80.
порт Source - должен быть от 1000 до 65535.

На фото у браузера так:
Screenshot_1.jpg
(116.49 KiB) Скачиваний: 157

Браузер это клиент.
Браузер передаёт (Destination) данные на сервер по 80-му порту.
А принимает (Source) данные с сервера по 57670-му порту.
Браузер работает правильно.
:tea:
Сделайте чтобы у W5500 в режиме клиента было точно так же как у браузера.

Для этого в настройках сокета пишем Source 57670 порт:

// конфигурация socket №_2
void Init_Socket2(void)
{
//// протокол TCP
SS_0;
SPI(0x00); SPI(0x00); SPI(0x4C);
SPI(0x01);
SS_1;
//// Source порт 57670
// устанавливается до открытия socket
SS_0;
SPI(0x00); SPI(0x04); SPI(0x4C); //socket source port / запись
SPI(0xE1); SPI(0x46);//Source port 57670
SS_1;
}
Всё))
:tea:

P.S.
Должно быть так:

1- Для W5500 в режиме сервера (W5500_server) в настройках сокета пишем Source порт 80:
// конфигурация socket №_2
void Init_Socket2(void)
{
//// протокол TCP
SS_0;
SPI(0x00); SPI(0x00); SPI(0x4C);
SPI(0x01);
SS_1;
//// Source порт 80
// устанавливается до открытия socket
SS_0;
SPI(0x00); SPI(0x04); SPI(0x4C); //socket source port / запись
SPI(0x00); SPI(0x50);// Source port 80
SS_1;
}

2- Для W5500 в режиме клиента (W5500_klient) в настройках сокета пишем Source порт 57670:
// конфигурация socket №_2
void Init_Socket2(void)
{
//// протокол TCP
SS_0;
SPI(0x00); SPI(0x00); SPI(0x4C);
SPI(0x01);
SS_1;
//// Source порт 57670
// устанавливается до открытия socket
SS_0;
SPI(0x00); SPI(0x04); SPI(0x4C); //socket source port / запись
SPI(0xE1); SPI(0x46);// Source port 57670
SS_1;
}
Всё))
:tea:

Re: W5500_client+Atmega8_для самых начинающих.

Вс авг 15, 2021 01:44:04

Рома спасибо тебе огромное.
Разъяснил.
Браузер это клиент.
Браузер передаёт (Destination) данные на сервер по 80-му порту.
А принимает (Source) данные с сервера по 57670-му порту.

Все это на слуху у меня было, а вот понимание пришло только с совершенными мной ошибками.
Опять-же если бы не твои разъяснения, Рома, то до этого бы не додумался.
Указал в настройках порт 57670 - все работает.
Еще раз спасибо тебе огромное Рома.

Re: W5500_client+Atmega8_для самых начинающих.

Вс авг 15, 2021 12:26:16

))
Я думал что все знают как работает протокол TCP.
https://ru.wikipedia.org/wiki/Transmiss ... l_Protocol
Формат TCP
slide-29.jpg
(85.12 KiB) Скачиваний: 156

К стати... в разных виртуальных машинах
windows-socket-programming-l.jpg
(80.53 KiB) Скачиваний: 146

алгоритм работы сокета такой же как в W5500))
TCP+States+in+Normal+Connection+Lifetime.jpg
(78.26 KiB) Скачиваний: 137

Разберётесь как работает W5500, научитесь писать приложения на языках высокого уровня... Python... Java... и т.д.))
Всё везде работает одинаково))
:tea:

Re: W5500_client+Atmega8_для самых начинающих.

Пн авг 16, 2021 03:33:18

Я думал что все знают как работает протокол TCP

Ну уж я то точно не знал. Вернее знал на уровне пользователя браузером. :))
Но до общения с тобой о многих вещах даже не догадывался. Спасибо Рома тебе большое!!!
Теперь читая документацию уже понимаю о чем речь.
И естественно дальше буду читать. :))

Re: W5500_client+Atmega8_для самых начинающих.

Вт авг 17, 2021 08:20:31

Как и обещал выкладываю свой проект полностью (вместе с web_сайтом).
Может быть кому и интересно будет.
Распространяется совершенно свободно.
Три архива.

-Для микроконтроллера (постарался максимально описать код комментариями). Если что то не понятно будет, по мере сил буду отвечать на вопросы.

-Вся папка для сайта. Определяется с мобильного зашли на сайт или с компьютера. В мобильник выводится тестовый счет от 1 до 10, для контроля(передаются данные с модуля или нет (может интернет овалился или еще какая причина))

-И код для определения ROM_кода датчика. Используемые там функции полностью описаны в коде для Atmega_8

Принимаются все замечания по коду (читабельность, скорость и вес).

Ну и самое главное: огромная благодарность Роману ( roman.com ) Если бы не он, так бы и пользовался arduino особо не вникая, что делает та или иная функция.
Занимался со мной как с малым ребенком.
Рома спасибо Вам огромное!!!
Атмега_8_W5500_client.rar
(248.18 KiB) Скачиваний: 205

web_site.rar
(209.34 KiB) Скачиваний: 203

ROM_code_чтение.rar
(354 байт) Скачиваний: 189

Re: W5500_client+Atmega8_для самых начинающих.

Вт авг 17, 2021 11:37:37

Осталось только сделать из W5500 свой домашний Сервер. Чтобы не пользоваться сторонними сайтами.
Всё что нужно - иметь дома белый IP.
:tea:

Re: W5500_client+Atmega8_для самых начинающих.

Ср авг 18, 2021 12:06:20

Рома очень заманчиво, и главное выполнимо, но пока так.
Спасибо тебе Роман за обучение огромное!!!!

Re: W5500_client+Atmega8_для самых начинающих.

Ср авг 18, 2021 15:49:07

roman.com, или научиться работать с DDNS

Re: W5500_client+Atmega8_для самых начинающих.

Ср авг 18, 2021 19:15:05

GoldenAndy писал(а):или научиться работать с DDNS

И шо ? )) Это решает все проблемы ?
Где-то мы это уже обсуждали... как это неудобно и тормознуто и т.д. и т.п.
:roll:
И самое главное - как и при каких условиях это будет работать. И будет ли вообще ))
:tea:
Ответить