Например TDA7294

Форум РадиоКот • Просмотр темы - Умный дом своими руками
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вс апр 28, 2024 00:55:35

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 190 ]     ... , , , 7, , ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Умный дом своими руками
СообщениеДобавлено: Пн янв 13, 2020 02:16:26 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6892
Откуда: .ru
Рейтинг сообщения: 0
Праздники закончились... можно продолжать)) :tea:

короче... нарисовали в браузере умный дом.
Вложение:
браузер_1.jpg [179.81 KiB]
Скачиваний: 354

подключаемся к серверу умного дома по локалке / интерету с помощью браузера...
Вложение:
анализатор_1.jpg [161.67 KiB]
Скачиваний: 340

Всё работает.
Пароли... ключи доступа... генерируются генератором случайных чисел и сохраняются на флешке.
Вторая копия Пароли... ключи доступа... сохраняются на любом гаджите (ПК... телефоне...), с которого мы управляем умным домом.
Ещё можно загружать на сервер и скачивать любые файлы... Тоже всё должно сохраняться на флешке.
Можно подключить видеокамеру (с поддержкой JPG). Тоже можно всё сохранять на флешке.
Ещё сервер показывает все ошибки... Тоже всё сохраняется на флешке и в епром.
Ещё надо добавить .log файлы. Тоже всё должно сохраняться на флешке.
Сервер определяет с какого IP было подключение. Дату, время подключения... может сохранять все команды... и т.д.
Еще наверное надо добавить белый / чёрный список IP адресов доступа к серверу... Тоже всё должно сохраняться на флешке.
Не знаю что ещё добавить... :roll:

Всё это прекрасно, но есть одна проблема... Не очень удобно работать через браузер. Для постоянного контроля за умным домом, браузер должен постоянно опрашивать сервер умного дома. Сейчас опрос делается автоматически, по таймеру (можно опрашивать каждую секунду, каждый час, каждые сутки... и т.д.). Только при слишком частом опросе сервера умного дома получаем большой трафик. Это хорошо когда интернет безлимитный... а если нет ? )) Можно конечно опрашивать сервер реже, например раз в час... но тогда в случае аварии в доме мы об этом узнаем через час)) Да и чтоб постоянно работал браузер... тоже идея не супер.

Короче... надо организовать связь с умным домом по другому. С автоматическим оповещением в случае аварий и т.д.
В общем переходим к плану "Б")) :)
И тут нам на помощь приходит Java машина. ))

Проблема в том, я не очень хорошо разбираюсь в Java... поэтому сразу может не всё получится))

Интересно... тут на сайте есть Java-программисты ??? Если что поправьте меня)) :tea:

Короче.. качаем вот такую интересную программку...
Вложение:
1.jpg [23.01 KiB]
Скачиваний: 321

Запускаем программку... Java работает по протоколу TCP и UDP. А так же с COM портами всякими... и т.д.
Нам нужен протокол UDP.
Подключаем библиотеки всякие для UDP. Открываем сокет... Добавляем окна всякие...
Вложение:
2.jpg [147.47 KiB]
Скачиваний: 311

Компилируем...
Вложение:
3.jpg [152.2 KiB]
Скачиваний: 337

Получаем вот такую штуку))
Вложение:
4.jpg [88.7 KiB]
Скачиваний: 299

Переключаем сервер умного дома на протокол UDP... Открываем сокет сервера умного дома... И смотрим что получится))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Умный дом своими руками
СообщениеДобавлено: Пн янв 13, 2020 17:29:03 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6892
Откуда: .ru
Рейтинг сообщения: 0
Далее... добавляем библиотеки всякие...
java.awt.*;
javax.swing.*;
Получилось типа простенькое Java приложение... типа "мессенджер"...)) для связи с сервером Умного Дома))
Проверяем как всё работает... Пишем Hello и нажимаем кнопку отправить...
Вложение:
1_2.jpg [92.37 KiB]
Скачиваний: 321

Сервер отвечает...
Вложение:
2_2.jpg [98.43 KiB]
Скачиваний: 298

Работает))
И далее...
Вложение:
3_2.jpg [158.18 KiB]
Скачиваний: 316

АААААА... !!!! Говорящий Умный Дом !!! :shock:
:)))
Не Алиса пока... но считать уже умеет)) :))) (Яндекс.Станция — умная колонка с голосовым помощником Алисой).

Да, с протокол UDP трафик намного меньше. И работает заметно быстрей)) Экономит время и деньги))
Не зря ещё в далёком 2012 году Гугл решил выпустить браузер с протоколом UPD.
https://ru.wikipedia.org/wiki/QUIC

:tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Умный дом своими руками
СообщениеДобавлено: Пн янв 13, 2020 20:40:41 
Друг Кота
Аватар пользователя

Карма: 74
Рейтинг сообщений: 607
Зарегистрирован: Ср дек 24, 2008 09:58:58
Сообщений: 3715
Рейтинг сообщения: 0
Медали: 3
Мявтор 1-й степени (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
Цитата:
Для постоянного контроля за умным домом, браузер должен постоянно опрашивать сервер умного дома.

Неясно зачем. Трудно представить, что кто-то будет держать на компе всегда открытое окно связи с сервером дома. Почему пользователю просто не запросить состояние сервера, явно послав в него соответствующий запрос? А в случае аварии сервер может послать емайл и/или SMS пользователю. Если у Вас другая идея коммуникации с пользователем, полезно здесь её изложить, иначе понятно только Вам чего добиваетесь.

Насчёт UDP также неясно чего добиваетесь. Если сервер на WIZnet чипе или ESP32, ему всё-равно что обрабатывать - UDP или TCP. Или обслуживающая программа в Мегу не влезает? Если так, давно пора уйти от игрушечных МК. С точки зрения Java приложений - тоже разница небольшая. Я прикрепил простенькие Java программки TCP/UDP сервера/клиента. Сократить объём траффика? Если комп в домашней и лимитной сети, то внутренние соединения на трату лимита не влияют. Если внешний, то разница в траффике между UDP или TCP также небольшая. Да, в UDP нет пакетов подтверждения, установки/разрыва соединения и пр., но это мелочи. Да, TCP хедер использует 20 байт против 8 у UDP, но это тоже мелочи, т.к. в любом случае к пакету добавится ещё хедер IP (20 байт) и хедеры нижних урвней стека, ещё меньше снижающие экономию. Зато при UDP лишитесь многих преимуществ TCP. Для управления сервером из домашней сети это скорее всего не важно, но если соединитесь извне, то многие Firewalls в организациях блокируют UDP пакеты, если только они не жизненно необходимы (например, DNS или NTP). Многие internet-radio станции, вначале вещающие на UDP с развитием сетей давно перешли на TCP. Вообще, UDP имеет смысл для приложений, толерантных к потере отдельных пакетов. Если это недопустимо, то функции надёжной передачи пакетов при UDP должно взять на себя приложение.

... забыл архив приложить...
Вложение:
UDP.zip [2.59 KiB]
Скачиваний: 282


Последний раз редактировалось Ser60 Пн янв 13, 2020 23:27:36, всего редактировалось 1 раз.

Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Умный дом своими руками
СообщениеДобавлено: Пн янв 13, 2020 21:06:27 
Говорящий с текстолитом
Аватар пользователя

Карма: 4
Рейтинг сообщений: 86
Зарегистрирован: Пт янв 20, 2012 16:25:02
Сообщений: 1565
Рейтинг сообщения: 0
А вот мои наработки :))
https://www.youtube.com/watch?v=YFDLVT8QkcU
Как будем совмещать.?

_________________
И опыт сын ошибок трудных и гений парадоксов друг


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Умный дом своими руками
СообщениеДобавлено: Вт янв 14, 2020 04:04:16 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6892
Откуда: .ru
Рейтинг сообщения: 0
UDP или TCP... этот спор длится уже много лет)) Но наука не стоит на месте... ))
https://habr.com/ru/company/infopulse/blog/315172/
Ser60 писал(а):
Если у Вас другая идея коммуникации с пользователем, полезно здесь её изложить, иначе понятно только Вам чего добиваетесь.

Идея простая - всегда быть на связи с домом. ))
Сейчас у меня сервер на WIZnet чипе. Моему серверу без разницы UDP или TCP... и МК тоже без разницы))
Траффик - это не самое важное. Хотя тоже важно))
Но мне больше нравится UDP, потому что с ним проще работать и UDP протокол не чувствителен к задержкам. Можно передавать быстро... а можно меееееееееееееееедленно... хоть целый день)) Например по радиоканалу...
Тайминги, и ACK мы устанавливаем сами - программно. Это не проблема.
Ser60 писал(а):
А в случае аварии сервер может послать емайл и/или SMS пользователю.

На первом месте связь по Интернет. Потом GSM, емайл и/или SMS... и т.д.
Ser60 писал(а):
Трудно представить, что кто-то будет держать на компе всегда открытое окно связи с сервером дома.

Не обязательно держать на компе всегда открытое окно связи с сервером дома. Java может работать и в "фоновом режиме".
И в этом "фоновом режиме" Java может сама следить за связью с домом. И сообщать нам при потери связи с домом...

Вот я для примера написал простенькое Java приложение... в качестве эксперимента)).
Java запускается в ручную или автоматически при загрузке WINDOWS на компе.

Как это работает (пока просто мысли): :roll:
1- Сижу я значит за компом (дома или на работе или в другом месте) и читаю "радиокот", а в это время Java слушает порты компа в "фоновом режиме". Это видно в диспетчере задач. Никаких окон нет))
Вложение:
1.jpg [186.13 KiB]
Скачиваний: 296

2- И тут вдруг дома что-то случилось... Тут же прилетает UDP пакет на IP моего компа (дома или на работе или в другом месте). Java переходит в "активный режим" и появляется БОЛЬШОЕ ОКНО на весь экран монитора )) АВАРИЯ !!! Такое сообщение трудно не заметить )) :)))
Вложение:
2.jpg [107.79 KiB]
Скачиваний: 306

3- Далее... Нажимаем кнопочку "OK". Java отправляет UDP пакет серверу умного дома - "сообщение получено".
Вложение:
3.jpg [120.17 KiB]
Скачиваний: 301

Затем нажимаем кнопочку "В фоне" и Java переходит в "фоновый режим". И я дальше читаю "радиокот", а в это время Java слушает порты компа в "фоновом режиме".
Вложение:
4.jpg [205.07 KiB]
Скачиваний: 289

Если не нажать кнопочку "OK", то сервер умного дома не получит подтверждения и будет дальше отправлять UDP пакеты по всем IP адресам... из списка))
- IP ..... дом
- IP ..... работa
- IP ..... телефон
Если сервер умного дома не получит ответа по IP, то будет звонить мне на телефон... из списка))
+7......... дом
+7......... работa
+7......... телефон
и т.д.

Кратко как-то так)) Браузер так не умеет)) :tea:

К стате... Java кушаем совсем мало ресурсов системы... в 10 раз меньше браузера. Вообще не нагружает систему...
Вложение:
5.jpg [49.2 KiB]
Скачиваний: 347

Значит заряда батареи телефона хватит на долго))

P.S. Ещё можно сделать всплывающие окна... типа как в старых аськах... скайпах... и т.д)) Вариантов много...
Вложение:
аська.jpg [68.85 KiB]
Скачиваний: 298

Лучше подумать как добавить звук. Чтоб при АВАРИИ телефон и ПК ещё и пикали... жжужали... мигали... ))
А вот мои наработки. Как будем совмещать.?

Совмещать будем как обычно... по Ethernet))
Лучше бы включил анализатор... Не понятно как у тебя там всё работает...


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Умный дом своими руками
СообщениеДобавлено: Чт янв 16, 2020 00:36:48 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6892
Откуда: .ru
Рейтинг сообщения: 0
Продолжим..)) :tea: Провозился с портами всякими.. оказывается Java не может одновременно оправлять и принимать на один порт... А наш сервер может. Ну и ладно)) Откроем разные порты... на приём и передачу...

Короче... добавил всплывающие окна)) Алгоритм простой: запускаем приложение... появляется консоль... Это Java слушает входящий порт...)) можно что-нибудь написать серверу... ))
Вложение:
1_1.jpg [41.12 KiB]
Скачиваний: 296

Когда дома что-то происходит, то нам прилетает UDP пакет. Автоматом открывается окно "входящие сообщения".
Вложение:
2_1.jpg [49.02 KiB]
Скачиваний: 279

При этом Java автоматом отравляет серверу подтверждение что сообщение получено не ещё не прочитано.
Вообще окон может быть бесконечно много... Java парсит все входящие сообщения и решает что делать... открыть отдельное окно "сообщение" , "авария" , "срочно !"... или может перенаправить пакет дальше (режим ретранслятора). Короче любые сценарии))
Далее пишем что-нибудь серверу... бла-бла-бла... )) Или просто нажимаем кнопочку "прочитано". Отправляем серверу подтверждение, чтобы сервер знал что сообщение прочитано и не волновался )) Иначе сервер начнёт нам звонить на телефон... +7... ))
Далее приходит подтверждение от сервера. Сервер нас услышал))
Вложение:
3_1.jpg [58.06 KiB]
Скачиваний: 304

И т.д. и т.п.
Короче... Java может обрабатывать любые сценарии... алгоритмы...
Может работать как простой мессенджер... как скайп))
Может работать как ретранслятор пакетов... Как сервер...
Можно подключить все устройства в доме: телефон <> ПК <> планшет <> сервер. Все устройства будут общаться между собой. Получится большой Java чат ! :)))
и т.д. и т.п.
Короче фиг его знает что ещё придумать)) Такая вот умная у нас Java машина)) :tea:
Хотя наш сервер всё равно умнее))

Надо ещё подумать... а что если IP динамический ? Тут будет свой, отдельный сценарий))

sashamelja а у тебя там что интересного ? ))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Умный дом своими руками
СообщениеДобавлено: Чт янв 16, 2020 01:48:29 
Друг Кота
Аватар пользователя

Карма: 74
Рейтинг сообщений: 607
Зарегистрирован: Ср дек 24, 2008 09:58:58
Сообщений: 3715
Рейтинг сообщения: 0
Медали: 3
Мявтор 1-й степени (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
Цитата:
Java не может одновременно оправлять и принимать на один порт...

На самом деле может, т.к. сокеты full-duplex. Для этого следует сделать multi-threaded Java application.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Умный дом своими руками
СообщениеДобавлено: Чт янв 16, 2020 16:42:12 
Говорящий с текстолитом
Аватар пользователя

Карма: 4
Рейтинг сообщений: 86
Зарегистрирован: Пт янв 20, 2012 16:25:02
Сообщений: 1565
Рейтинг сообщения: 0
Если коротко, я сейчас нахожусь на стадии тестирования
Варианта 1
Сервер на esp8266 (комуникация с хозяином через телеграм)информирование+управление
(с остальными устройствами через mqtt)
Остальные устройства esp 8266(разних назначений)

Может и в mqtt есть свои недостатки (но простота понимания-применения их всех затмивает)
Потому если глобально посмотреть, надо делать комуникацию всех машин сугубо через Mqtt.

Потому я сейчас провожу разного рода експеременты с готовыми fbd пользовательскими блоками под 8266.
Пробую утопить esp в кучи разного рода задач (пока не могу)
Время покажет,пока нету задачи которую я не смог выполнить
(позавчера захотел погноз погоды в телеграм по запросу)
Нашол блок, зарегилса на сайте, добавил в проэкт и все заработало с пол пинка.

Я не знаю на щот слейвов, но мастер только на FLprog+8266
Потому что если писать все то что я сейчас имею и могу с нуля надо писец сколь ко времени и нервов.
А это как раз то что не вернешь и не востановишь ни когда :cry:

_________________
И опыт сын ошибок трудных и гений парадоксов друг


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Умный дом своими руками
СообщениеДобавлено: Чт янв 16, 2020 22:03:17 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6892
Откуда: .ru
Рейтинг сообщения: 0
Ser60 писал(а):
следует сделать multi-threaded Java application

Открыл несколько потоков... https://habr.com/ru/post/164487/
Java слушает несколько входящих портов одновременно и выполняет соответствующие действия, в зависимости от того, на какой порт прилетел UDP пакет. Можно сделать разные службы... https://ru.wikipedia.org/wiki/Список_по ... тные_порты

Но одновременно на приём и передачу один сокет не работает... Не возможно вызвать sock.send(); пока работает sock.receive();...
sashamelja писал(а):
FLprog

Всё квадратики рисуем... )) https://habr.com/ru/company/flprog/blog/389727/
sashamelja писал(а):
Нашол блок, зарегилса на сайте, добавил в проэкт и все заработало...

зарегилса на сайте ? у тебя всё через посторонний сайт работает ? Это же ужасно.

через телеграм прикольно... но не супер надёжно))

mqtt... https://habr.com/ru/company/advantech/blog/452904/
тоже что ли через сайт ? )) брокеры всякие... почему всё так сложно ?))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Умный дом своими руками
СообщениеДобавлено: Чт янв 16, 2020 23:35:59 
Говорящий с текстолитом
Аватар пользователя

Карма: 4
Рейтинг сообщений: 86
Зарегистрирован: Пт янв 20, 2012 16:25:02
Сообщений: 1565
Рейтинг сообщения: 0
Я сейчас вижу все так, будет брокер в этом зверьке
https://item.taobao.com/item.htm?spm=a1 ... 1674155711
https://www.youtube.com/watch?v=ADBct61 ... ex=15&t=0s
_____
А дальше можно по разному,я сейчас пробую и так и сяк.(подбираю по надежности и по удобности)
_____
Разного рода боты, телеграм-вайбер, сейчас очень популярны и пипец какие удобные.
_____
Esp8266-нормально прошивается по воздуху,имеет стабильную веб морду во внутриней памяти.
(с кучей всего внутри забито всего половина памяти)и то что она забита никак не влияет на работу.
_____
Mqtt-ещо удобен тем что под андроид есть кучя удобных, интуитивно понятных клиентов.
_____
Кароче говоря, планов много времени мало.

_________________
И опыт сын ошибок трудных и гений парадоксов друг


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Умный дом своими руками
СообщениеДобавлено: Пт янв 17, 2020 16:38:48 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6892
Откуда: .ru
Рейтинг сообщения: 0
брокеры... топики... мало информации))
MQTT брокера Mosquitto (кратко) - https://yandex.ua/video/preview/?filmId ... 79266848.1
Такую фигню можем сделать сами))

а дальше ? )) анализатор посмотри и всю будет ясно))

Всякие веб морды... не лучшая идея...

телеграм-вайбер... прикольно)) но не ясно как это работает.

Например как там вообще работает шифрование ? анализатор посмотри ))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Умный дом своими руками
СообщениеДобавлено: Пт янв 17, 2020 18:23:54 
Друг Кота
Аватар пользователя

Карма: 74
Рейтинг сообщений: 607
Зарегистрирован: Ср дек 24, 2008 09:58:58
Сообщений: 3715
Рейтинг сообщения: 0
Медали: 3
Мявтор 1-й степени (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
Но одновременно на приём и передачу один сокет не работает... Не возможно вызвать sock.send(); пока работает sock.receive();...

Неверно. Вы если чего-то не понимаете или не знаете, сформулируйте Ваши высказывания в виде вопроса. Иначе кто-то может воспринять Ваши заблуждения как истину в первой инстанции. Я выше подал идею насчёт потоков, но Вы не неправильно её имплементировали. Интернет забит дискуссий на тему full-duplex приложений на Java сокетах. См., например, здесь


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Умный дом своими руками
СообщениеДобавлено: Пн янв 20, 2020 03:17:43 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6892
Откуда: .ru
Рейтинг сообщения: 0
Всё что я пишу... не может быть истиной в первой инстанции. Тут экспериментальный форум))
Неверно. Вы если чего-то не понимаете или не знаете, сформулируйте Ваши высказывания в виде вопроса.

Как вызвать sock.send(); пока работает sock.receive();... ? ))
Вызов метода receive () блокирует выполнение программы на неопределенный срок до получения пакета...
IOException: Address already in use: Cannot bind (Адрес уже используется: не удается привязать).
Интернет забит дискуссий на тему full-duplex приложений на Java сокетах. См., например,

Это для TCP. А UDP работает иначе...

А пока работает так: есть два независимых сокета (условно):
- сокет 1 работает на передачу (в потоке Thread 1).
- сокет 2 работает на приём (в потоке Thread 2).
Т.к. сокеты и потоки независимы, то один другому не мешает))
Вложение:
1.jpg [205.85 KiB]
Скачиваний: 338

Правда могут быть проблемы с NAT... т.к. исходящие и входящие порты не совпадают)) а могут и не быть)) Надо проверять...
А вообще надо более подробно изучить работу сокетов в Java.
Как работают сокеты в W5500 я знаю точно и подробно, а как работают сокеты в Java... я представляю пока ещё не до конца...
:roll:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Умный дом своими руками
СообщениеДобавлено: Вт янв 21, 2020 16:50:53 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6892
Откуда: .ru
Рейтинг сообщения: 0
Короче... нигде вразумительного ответа по сокетам не нашёл... Это надо ковырять библиотеки Java...
Ну ладно))
Тогда будем использовать отдельные сокеты на приём и передачу... в отдельном потоке))
В Java количество сокетов и потоков - не ограничено))
В W5100 - 4 независимых сокета. full-duplex
В W5500 - 8 независимых секетов. full-duplex
Короче... с количеством сокетов у нас проблем нет))

Добавим часики... ))
Java принимает все входящие пакеты... Автоматом всплывают разные окна... К пакетам автоматом добавляется IP, порт, дата и время когда был отправлен / принят пакет (всё берём из компа).
Вложение:
1.jpg [166.65 KiB]
Скачиваний: 313


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Умный дом своими руками
СообщениеДобавлено: Ср янв 22, 2020 01:16:20 
Друг Кота
Аватар пользователя

Карма: 74
Рейтинг сообщений: 607
Зарегистрирован: Ср дек 24, 2008 09:58:58
Сообщений: 3715
Рейтинг сообщения: 0
Медали: 3
Мявтор 1-й степени (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
Роман - я боюсь опять понять Вас неправильно. Чего Вы хотите добиться? Использовать один и тот-же Java UDP сокет независимо на приём и передачу?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Умный дом своими руками
СообщениеДобавлено: Ср янв 22, 2020 11:21:15 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6892
Откуда: .ru
Рейтинг сообщения: 0
Да, хочу использовать один и тот-же Java UDP сокет независимо на приём и передачу.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Умный дом своими руками
СообщениеДобавлено: Ср янв 22, 2020 17:27:58 
Друг Кота
Аватар пользователя

Карма: 74
Рейтинг сообщений: 607
Зарегистрирован: Ср дек 24, 2008 09:58:58
Сообщений: 3715
Рейтинг сообщения: 0
Медали: 3
Мявтор 1-й степени (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
Я не видел полного кода, но полагаю, что у Вас имеется один поток на приём и другой - на передачу. Это правильно. Однако, неясно почему в одном потоке задействован номер порта 80, а в другом 81. Согласен, что если создавать сокеты в потоках, то их нельзя будет назначить на один и тот-же порт. Значит, следует создать один сокет в стартовой программе вне потоков и передать его потокам, например чераз паракетр конструктора потока. Таким образом, управляющая программа содзаст сокет и потоки на приём и передачу, запустит их и потом terminate. А оба потока будут продолжать использовать созданный ей сокет. Я попробовал таким образом, у меня всё работает.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Умный дом своими руками
СообщениеДобавлено: Пт янв 24, 2020 21:45:07 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6892
Откуда: .ru
Рейтинг сообщения: 0
Идея интересная... Осталось придумать как это сделать))

Заменил Windows XP на Windows 7... Всё работает.

Прикол)) Windows 7 не считает контрольные суммы пакетов Ethernet...
Вложение:
Screenshot_1.jpg [158.51 KiB]
Скачиваний: 311

протоколы UDP, DHCP, DNS, TCP... Windows 7 не считает контрольные суммы.
Вложение:
Screenshot_5.jpg [27.9 KiB]
Скачиваний: 300

-контрольная сумма заголовка протоколов UDP, DHCP, DNS, TCP... 0000.
-контрольная сумма самих протоколов UDP, DHCP, DNS, TCP... False.
При этом всё работает.))
Остаётся только контрольная сумма самого Ethernet пакета (CRC-32), но в этом Windows не участвует. Этим занимается сетевая карта компа.
Мда... я так понял все дружно забили на спецификацию Ethernet)) и в первую очередь сам Microsoft))
Ну и ладно. Тогда и мы можем отключить контрольные суммы в нашем сервере)) Нашему серверу меньше работы.
:tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Умный дом своими руками
СообщениеДобавлено: Вс янв 26, 2020 12:07:45 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6892
Откуда: .ru
Рейтинг сообщения: 0
Ser60 писал(а):
Я попробовал таким образом, у меня всё работает.

а пример кода можно ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Умный дом своими руками
СообщениеДобавлено: Вс янв 26, 2020 19:28:15 
Друг Кота
Аватар пользователя

Карма: 74
Рейтинг сообщений: 607
Зарегистрирован: Ср дек 24, 2008 09:58:58
Сообщений: 3715
Рейтинг сообщения: 0
Медали: 3
Мявтор 1-й степени (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
Вот пример кода UDP сервера и клиента. Сервер в main() создаёт сокет и placeholder пакета для передачи клиенту и передаёт это потокам приёмника и передатчика. Таким образом, они используют один и тот-же сокет. Приёмный поток по приёму пакета клиента формирует в общей области памяти пакет для передачи передающему потоку. Передающий поток сканирует длину пакета раз в секунду и как только она станет ненулевой, передаЁт пакет обратно клиенту. Приложение клиента однопотоковое. В цикле оно запрашивает пользователя ввести строку для передачи серверу. После передачи переключается на приём ответа от сервера с выдачей номера порта полученного пакета на передающей стороне, из которого следует, что клиент передаёт пакет и получает ответ с того-же порта сервера. Номер рабочего порта сервера для демонстрации выбран фиксированным (=9876).
Вложение:
UDP.zip [1.6 KiB]
Скачиваний: 260


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 190 ]     ... , , , 7, , ,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 29


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y