Обсуждаем приемники, передатчики, радиомикрофоны, жучки, генераторы, ВЧ-усилители, антенны и прочее радиохозяйство
Ответить

Re: Радиоуправляемый кораблик своими руками.

Пн янв 31, 2022 01:29:26

больше никаких браузеров... только приложения))

с таким никогда не сталкивался... ну можно отдельно проверить физический уровень и ядро... они работают отдельно.
короче надо читать регистры статуса...
:roll:

Re: Радиоуправляемый кораблик своими руками.

Пн янв 31, 2022 12:51:38

Я сталкивался с подобным явлением когда строил цап на PCM2702. Там происходило тоже самое. Цап зависал от подобного рада помех и помогало только отключение питания.
Проблему решил более надежным питанием, и как мне показалось особенно помогло добавление синфазного дросселя с конденсаторами в цепь 220в.
Тут я тоже так сделаю, но пока все в виде макета. И мне стало интересно что может зависать в w5500.
Скажите пожалуйста какие мне необходимо проверять статус регистры что понять что конкретно зависло?
В идеале я думаю мы проблему с зависанием не решим..... Но мне бы отслеживать это зависание и потом перезагружать модуль целиком.


В дополнении могу сказать что модуль работает стабильно сутками. А может и зависнуть.... И 100% он зависает если большую нагрузку подключать в соседнюю розетку 220в.
Так же не исключаю брак самого модуля.
При зависании лампочки продолжают моргать.

Re: Радиоуправляемый кораблик своими руками.

Пн янв 31, 2022 19:08:22

делал ЦАП на R2R... и на быстрой ШИМ...
LEVV2006 писал(а):зависает если большую нагрузку подключать в соседнюю розетку 220в.

:roll:
LEVV2006 писал(а):какие мне необходимо проверять статус регистры что понять что конкретно зависло?

в идеале прочитать все регистры))

Добавлено after 17 minutes 12 seconds:
а по моему это глючная библиотека... которая не работает в условиях помех...

я не использую библиотек... у меня ничего никогда не зависает...

ну тогда надо сидеть и разбираться))
W5500 состоит из двух частей - физический уровень и ядро... для обработки пакетов...
почти все регистры поддерживают чтение / запись
выше кидал исходники
tcp_W5500.c
(16.77 KiB) Скачиваний: 216

регистр 0x2E отвечает за физический уровень.

////////////////////////////////////////////////////////////////// W5500 PHY:
// перед настройкой PHY сделать программный Cброс PHY:
PORTB.0=0; // SS W5500
tx=0x00; SPI(); tx=0x2E; SPI(); tx=0x04; SPI(); // Address Registers + Control Registers
tx=0x00; SPI(); // Data -0x00
tx=0x00; SPI(); // Data -0x00
PORTB.0=1; // SS W5500
// пишем режим PHY:
// 1... .... RST - 1.
// .1.. .... программная настройка режима - 1
// ..0. .... 10BT Full-duplex, Auto-negotiation disabled / Power Down mode
// ...0 .... 10BT Full-duplex, Auto-negotiation disabled / Power Down mode
// .... 1... 10BT Full-duplex, Auto-negotiation disabled / Power Down mode
// .... .1.. Duplex Status
// .... ..0. Speed Status
// .... ...1 Link Status
PORTB.0=0; // SS W5500
tx=0x00; SPI(); tx=0x2E; SPI(); tx=0x04; SPI(); // Address Registers + Control Registers
tx=0xC8; SPI(); // Data -0xC8 (10 Мбит/с, Full-duplex)
tx=0x00; SPI(); // Data -0x00
PORTB.0=1; // SS W5500
////////////////////////////////////////////////////////////////////////////////

можно его читать и контролировать Link. (Link дублируется жёлтым диодом).
когда отвалится Link мы об этом узнает прочитав этот регистр.
:tea:

дальше можно прочитать и остальные регистры...

////////////////////////////////////////////////////////// настройка W5500:

PORTB.0=0; // SS W5500
tx=0x00; SPI(); tx=0x01; SPI(); tx=0x04; SPI(); // Address Registers + Control Registers
// -шлюз
tx=192; SPI(); // Gateway Address (GAR0) (0x0001 - Address)
tx=168; SPI(); // Gateway Address (GAR1) (0x0002 - Address)
tx=0; SPI(); // Gateway Address (GAR2) (0x0003 - Address)
tx=1; SPI(); // Gateway Address (GAR3) (0x0004 - Address)
// -маска
tx=255; SPI(); // Subnet Mask Address (SUBR0) (0x0005 - Address)
tx=255; SPI(); // Subnet Mask Address (SUBR1) (0x0006 - Address)
tx=255; SPI(); // Subnet Mask Address (SUBR2) (0x0007 - Address)
tx=0; SPI(); // Subnet Mask Address (SUBR3) (0x0008 - Address)
// -MAC (Wiznet_01:02:03)
tx=0x00; SPI(); // Source Hardware Address (SHAR0) (0x0009 - Address)
tx=0x08; SPI(); // Source Hardware Address (SHAR1) (0x000A - Address)
tx=0xDC; SPI(); // Source Hardware Address (SHAR2) (0x000B - Address)
tx=0x01; SPI(); // Source Hardware Address (SHAR3) (0x000C - Address)
tx=0x02; SPI(); // Source Hardware Address (SHAR4) (0x000D - Address)
tx=0x03; SPI(); // Source Hardware Address (SHAR5) (0x000E - Address)
// -IP
tx=192; SPI(); // Source IP Address (SIPR0) (0x000F - Address)
tx=168; SPI(); // Source IP Address (SIPR1) (0x0010 - Address)
tx=0; SPI(); // Source IP Address (SIPR2) (0x0011 - Address)
tx=3; SPI(); // Source IP Address (SIPR3) (0x0012 - Address)
PORTB.0=1; // SS W5500

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


Socket_2_OPEN:
////////////////////////////////////////////////////////////////////////////////
// пишем команду OPEN Socket_2:
PORTB.0=0; // SS W5500
tx=0x00; SPI(); tx=0x01; SPI(); tx=0x4C; SPI(); // Address Registers + Control Registers
tx=0x01; SPI(); // Data -0x01 (OPEN)
PORTB.0=1; // SS W5500
////////////////////////////////////////////////////////////////////////////////
// пишем команду LISTEN Socket_2:
PORTB.0=0; // SS W5500
tx=0x00; SPI(); tx=0x01; SPI(); tx=0x4C; SPI(); // Address Registers + Control Registers
tx=0x02; SPI(); // Data -0x02 (LISTEN)
PORTB.0=1; // SS W5500
////////////////////////////////////////////////////////////////////////////////


Socket_2_LISTEN:
////////////////////////////////////////////////////////////////////////////////
// читаем статус Socket_2:
PORTB.0=0; // SS W5500
tx=0x00; SPI(); tx=0x03; SPI(); tx=0x48; SPI(); // Address Registers + Control Registers
tx=0x00; SPI(); x1 = rx; // Data -0x14 (SOCK_LISTEN)
PORTB.0=1; // SS W5500
///////////////////////////////////////////////////////// Socket_2_LISTEN: (Ждём SYN):
//0x14-LISTEN, 0x16-SYN, 0x17-ESTABLISHED, 0x11-DISCON,
//0x1C-CLOSE_WAIT, 0x18-FIN_WAIT, 0x00-FIN/ACK.
if (x1 != 0x14) goto Socket_2_ESTABLISHED; // > Socket_2_ESTABLISHED

goto Socket_2_LISTEN; // > Socket_2_LISTEN
////////////////////////////////////////////////////////////////////////////////
...

по этим регистрам можно определить в каком режиме находится W5500 в данный момент:
режим 0x14-LISTEN,
режим 0x16-SYN,
режим 0x17-ESTABLISHED,
режим 0x11-DISCON,
режим 0x1C-CLOSE_WAIT,
режим 0x18-FIN_WAIT,
режим 0x00-FIN/ACK.
...

может просто W5500 завис в одном из этих режимов... и дальше программа не работает))
:tea:

а можно прочитать и все остальные регистры... регистры дополнительной настройки... но это самые главные регистры.
:tea:

Re: Радиоуправляемый кораблик своими руками.

Вс фев 06, 2022 23:00:18

LEVV2006
купите есп32 там ничего не зависает и падайте в вифи сетку, нафига вам те провода)))
roman.com
Как там ваш деревяный комутатор пожевает? Чего там не хватает, на скольких бусенках авров остановились))
Вот мой тепловичок стал в строй..
https://www.youtube.com/watch?v=BnsEflNye0M

Re: Радиоуправляемый кораблик своими руками.

Пн фев 07, 2022 20:01:24

тепловик... прикольно)) только мне его ставить некуда)) соседи не поймут))
деревяный комутатор пожевает хорошо)) щас допишем приложение... и будет счастье))
есп32 не нужен. W5500 работает прекрасно. если не использовать дуратских библиотек))
:tea:

Добавлено after 48 seconds:
а самодельный изернет будет ещё лучше))
:tea:

Re: Радиоуправляемый кораблик своими руками.

Вс фев 13, 2022 00:03:33

))

Re: Радиоуправляемый кораблик своими руками.

Пн фев 14, 2022 00:59:02

https://www.youtube.com/watch?v=oauSBNNTOsI
надо сделать тоже самое но без LAN 8720
))

Re: Радиоуправляемый кораблик своими руками.

Вс фев 20, 2022 00:43:50

https://www.youtube.com/watch?v=zBWFUDOkxL0
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))

Re: Радиоуправляемый кораблик своими руками.

Чт мар 17, 2022 13:44:27

можно его читать и контролировать Link. (Link дублируется жёлтым диодом).
когда отвалится Link мы об этом узнает прочитав этот регистр.
дальше можно прочитать и остальные регистры...


Приветствую!
Добрался до проверки этого момента.
Все так как вы писали! При помехах в сети питания, модуль W5500 перезагружается сам. (Пропадает линк, а потом возобновляет моргание).
Решил вопрос просто. Каждую секунду читаю сетевую конфигурацию. И если она не совпадает с изначально запрограммированной, то инициализирую модуль заново.
Что интересно! после перезагрузки модуля WEB морда в браузере продолжает стабильно работать!

Оставлю ссылку где я взял код (в пару строк). Как считать и проверить конфигурацию.

Re: Радиоуправляемый кораблик своими руками.

Сб апр 30, 2022 19:26:05

https://russianblogs.com/article/4638152696/
Это нам не нужно. библиотеки мы не используем.

Добавлено after 12 minutes 50 seconds:
Продолжаем делать "кораблик/умный дом своими руками"

В прошлый раз мы делали такое управление...
scada-l.jpg
(119.11 KiB) Скачиваний: 86

использовали простенький сервер на ARV...
сервер.jpg
(135.11 KiB) Скачиваний: 84

получилось простенькое управление через браузер...
дом.jpg
(166.29 KiB) Скачиваний: 86

писали на JavaScript...
браузер.rar
(44.18 KiB) Скачиваний: 136

хотели делать по такой схеме...
схема_1.jpg
(196.87 KiB) Скачиваний: 144

потом всё переделали по другой схеме))

Добавлено after 9 minutes 8 seconds:
Для совместимости отформатировали флешку в FAT16/FAT32...
https://cxem.net/mc/mc435.php

Писали/читали на флешку через формы http://htmlbook.ru/samhtml5/formy/zagruzka-failov по AJAX
фото...
_фото.jpg
(137.29 KiB) Скачиваний: 75

видео...
_видео.jpg
(179.99 KiB) Скачиваний: 67

аудио...
_аудио.jpg
(187.65 KiB) Скачиваний: 77

получили неплохой результат))
дом_2.jpg
(104.62 KiB) Скачиваний: 78

:roll:

Добавлено after 5 minutes 28 seconds:
сделали шифрование на одноразовых блокнотах на флешке...
браузер_1.jpg
(179.81 KiB) Скачиваний: 142

получили абсолютно криптостойкий алгоритм))
анализатор_1.jpg
(161.67 KiB) Скачиваний: 130

8)
На этом с браузерами и блокнотами и флешками... закончили))
:tea:

Добавлено after 12 minutes 3 seconds:
далее... перешли на виртуальные машины...
вирт_машины.jpg
(105.89 KiB) Скачиваний: 73

тестировали разные схемы управления... по радио... по проводам...
Схема_5.jpg
(62.78 KiB) Скачиваний: 71

Схема_6.jpg
(70.25 KiB) Скачиваний: 72

Схема_8.jpg
(72.17 KiB) Скачиваний: 70

изменили протокол шифрования с одноразовых блокнотов на GOST...
Схема_GOST.jpg
(84.7 KiB) Скачиваний: 78

в перспективе переход на AES-128/256...

Добавлено after 1 hour 57 minutes 6 seconds:
А если мы захотим вернуться к браузерам... нам нужно будет сделать шифрование... как положено )) по TLS1.2 или TLS1.3...

Рассмотрим как работает шифрование сайта https://radiokot.ru
IP = 89.108.124.75 ))
радиокот_89.108.124.75.jpg
(131.35 KiB) Скачиваний: 81

подключаемся к серверу https://radiokot.ru по HTTPS...
1- передаём список методов шифрования TLS1.2...
2- сервер https://radiokot.ru выбирает из списка методов шифрования TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256...
3- подтверждаем выбор...
4- далее обмен данными с сервером https://radiokot.ru по HTTPS...
HTTPS.jpg
(181.57 KiB) Скачиваний: 94

надо сделать так же на нашем самодельном сервере )) осталось только разобраться с этим:

TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256

алгоритм Диффи-Хеллмана на эллиптических кривых, аутентификация сервера будет производится с помощью ECDSA, а в качестве алгоритма шифрования трафика будет использоваться AES с длиной ключа 128 бит в режиме GCM. В качестве алгоритма MAC используется SHA256.

Нуу... в общих чертах я понимаю как это работает... Но чтоб писать программу нужно знать точно (!), а не в общих чертах))
Остальное мелочи))
:tea:

Добавлено after 44 seconds:
Да... ещё забыли про сертификат)) Но это уже мелочи))

Re: Радиоуправляемый кораблик своими руками.

Вс май 08, 2022 16:24:44

сертификат забыли))
сертификат.jpg
(42.51 KiB) Скачиваний: 81

Re: Радиоуправляемый кораблик своими руками.

Вс май 08, 2022 21:48:35

сертификат забыли))

Старость не радость :))

Re: Радиоуправляемый кораблик своими руками.

Пн май 09, 2022 09:53:13

С праздником ! ))

гривны на рубли уже поменял ? ))
скоро будут только рубли...))
:tea:

Добавлено after 3 minutes 55 seconds:
Screenshot_1.jpg
(96.76 KiB) Скачиваний: 148

обновились))

Re: Радиоуправляемый кораблик своими руками.

Сб май 14, 2022 09:41:55

Старость не радость :))
Это точно, это подготовка к каменному веку !!!!

скоро будут только рубли...))
Послушай Высоцкого, "родился баобабом и будешь баобабом тыщу лет..........."

Re: Радиоуправляемый кораблик своими руками.

Сб май 14, 2022 19:19:03

на чём мы остановились...
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
вот это AES_128 надо сделать....
:tea:

Re: Радиоуправляемый кораблик своими руками.

Вс май 15, 2022 15:05:09

roman.com
AES_128
Шифруй не шифруй,,если там не ху_))

Ви лутше ваши деревяные,, на юани потехоньку меняли би))Фатазер я не могу блин..))..

Добавлено after 4 minutes 15 seconds:
Antoha 2000,
Я думаю там все хуже чем вы написали,,и будет на много хуже если чесно,,но надо время..

Re: Радиоуправляемый кораблик своими руками.

Вс май 15, 2022 16:25:39

зачем юани... надо рубли)) на Украине уже были рубли... 30 лет назад... это я прекрасно помню)) история повторяется...

Добавлено after 2 minutes 42 seconds:
далее...
шифр GOST работает хорошо... но есть замечания... малые блоки... медленно... и т.д.
Короче нужен новый))
AES обещает больше блоков... быстрей скорость... совместимость со всеми современными средствами связи... и т.д.
:roll:

Добавлено after 2 minutes 12 seconds:
Официальный документ https://csrc.nist.gov/csrc/media/public ... ps-197.pdf
:roll:

Добавлено after 52 seconds:
краткое руководство)) https://www.youtube.com/watch?v=CxU4ROAYGzs

Re: Радиоуправляемый кораблик своими руками.

Вс май 15, 2022 21:56:08

совместимость со всеми современными средствами связи... и т.д.
Прозреваете постепено,,но медлено..
.....................все...

Re: Радиоуправляемый кораблик своими руками.

Пн май 16, 2022 11:37:06

эх... я думал ты что-то умное скажешь... а тут опять... всё предсказуемо))
А я много лет прожил на Украине... а потом оказывается... я много лет прожил в Украине...))
каждый день новые открытия))
И да... хоть я давно уже и не живу на/в (теперь не важно) Украине... но осадок остался...
Ну и ладно.

далее...
мы изучаем разные варианты... от шифров с простым математическим описанием... к шифрам с более сложным математическим описанием...
:roll:

Добавлено after 1 minute 55 seconds:
в частности... вызывает вопросы вот это...
Screenshot_1.jpg
(21.97 KiB) Скачиваний: 77

:o
блин... это опять придётся вспоминать высшую математику... в институте))
:))

Добавлено after 57 minutes 38 seconds:
эх... советское образование хорошее... но это было очень давно))

обратимся за помощью... к нашим новым друзьям... китайцам)) :))

https://blog.csdn.net/shaosunrise/artic ... s/80174210

ааа... вон оно что)) ну теперь всё понятно)) :tea:

ещё один интересный вариант реализации алгоритма AES... https://habr.com/ru/post/212235/

короче... всё понятно.
осталось собрать всё в кучу))
:tea:

Re: Радиоуправляемый кораблик своими руками.

Ср май 18, 2022 01:12:47

AES-128 код
https://habr.com/ru/post/212235/
https://github.com/Skycker/AES
https://github.com/Skycker/AES/blob/master/aes128.py
https://github.com/Skycker/AES/blob/master/main.py
AES-128 пример
https://www.youtube.com/watch?v=CxU4ROAYGzs
AES-128 Java
https://www.youtube.com/watch?v=TU7NT6NqtSQ
:roll:

Добавлено after 4 hours 4 minutes 57 seconds:
зашифровались))
encrypt_AES128.jpg
(180.93 KiB) Скачиваний: 66

:tea:
Ответить