Обновить
3

Пользователь

Отправить сообщение

Нулевой рабочий (нейтральный) - это проводник вместе с фазовым проводником по которым проходит рабочий ток.

Защитное заземление - проводник по которому в нормальном режиме работы тока не течёт. Ток может протекать в аварийном режиме работы.

На той картинке рабочий ноль присоединен болтовым соединением к корпусу.

С права есть две клеммных колодки (с верху, и с низу), к которым подходят голубые проводники и желто-зеленый проводник защитного заземления. Очевидно, что это клеммная колодка рабочего нуля. Этот желто-зеленый провод защитного заземления идет НЕ из под того же болта к которому подсоединен рабочий ноль, и данное подключение НЕ правильное. Потому, что при таком подключении по корпусу электрощита будет протекать рабочий ток. Чтобы исправить необходимо добавить отдельный проводник от болта до клеммных колодок, а существующее подключение желто-зеленого проводника убрать совсем.

Статья сподвигла глянуть что да как с загрузкой CPU. Благо у меня чистый ESP-IDF, так что включил без приседаний. Всё казалось, что там серьезная нагрузка.

А оказалось...

Скрытый текст

twaiCtrlTask 711 <1%
IDLE1 301186298 99%
IDLE0 296722385 98%
telnet 685233 <1%
tiT 492071 <1%
ledTask 6394 <1%
fp2CheckAliveAv 2691 <1%
main 449385 <1%
relayTask 1285 <1%
twaiTxTask 12283 <1%
powerMeterTask 10 <1%
logToFileTask 294137 <1%
mdns 60982 <1%
ipc1 463250 <1%
ipc0 220077 <1%
sys_evt 15305 <1%
httpd 883169 <1%
wifi 2719499 <1%
twaiRxTask 103842 <1%
esp_timer 315391 <1%
Tmr Svc 13 <1%

Все, что вы написали давно обсосано и пережевано в профильных исследованиях. А ваше высказывание очень похоже на высказывания одного всем известного вождя "чудо", "выявить", "надо", "нужно", "ставить", "в школе", "церковь". Вроде бы и вы и он ГОВОРИТЕ правильные слова... А исполнительная власть "15 лет", "запрет пропаганды", "скрепы", "целомудрие", "нежелательная организация". Вижу в ваших и его словах единственную цель получить одобрение и рейтинг.

Перелез с samba на ksmbd. Все равно он уже есть в ядре, да и контроллер домена и все такое мне без надобности.

А еще полезно поставить пакет wsdd2 тогда на компьютерах с windows файловые сервера будут отображаться в сетевом окружении.

От поверхности земли до точки максимального натяжения 35 786 км. Башня высотой 10 км уменьшит длину троса на 0,0279%. "busted" - MythBusters.

"Плотность воздуха на уровне моря (1,225кг/м3):

Ветровое давление = 0.5 * 1,225 * (15)^2 ≈ 137,06 Па"

при 90 м/с (324кмч) ≈ 4960Па, правда таких ветров не бывает на Земле.

Как думаете, ветровое давление 4,96кПа на трос с прочностью на разрыв 120ГПа как-то вообще влияет? "busted" - MythBusters.

ЗЫ. Над тросом в космос великие умы думали, куда уж мне, а тем более Вам.)

Вы посмотрите иллюстрацию в статье и найдите там точку максимального натяжения троса. Эта точка не на поверхности земли и "башенку" там не построить.

Тоже иногда кажется, что в раст надергали самых вГлазаДолбительных практик с кучи языков. Вот как форматировать код который использует async await с безымянными функциями, да так чтобы он нормально читался? В этих случаях заставляю себя вспомнить трёхэтажные регэкспы в перле чтобы успокоиться.

Была идея сделать из андроид приставки подобие AirPlay. Подключал оптический выход приставки к оптическому входу ресивера с акустикой. Дебиан запускал с microSD и настраивал там PulseAudio для получения аудиопотока из сети и трансляцию его на оптический выход. Трансляция аудио с другой линукс машины без вопросов. С windows куча приседаний начиная от виртуальной звуковой карты, либо портированного PulseAudio, еще какой-то софт с гитхаба пробовал, всё не понравилось. Преследовали щелчки если буферизацию маленькую ставил, отставание звука от видео, отваливались клиенты если транслировал с двух источников, приставка не справлялась с передискретизацией аудио, и другие "прелести". Тогда отложил эту идею в долгий ящик, даже не опробовав трансляцию со смартфона. Ваша статья пробудила воспоминания, надо будет опять изучить вопрос.

Картинка с кабелями сгенерирована. Текст не читаем.

Огорчает (немножечко) отсутствие ASIC майнеров околокиловаттной мощности. Три киловатта это много.

Такой вариант предусмотрен, в ответ отправляется 302 Temporary Redirect.

Там еще есть предложение использовать в качестве IP адреса 8.8.8.8 ссылаясь на жестко заданный адрес DNS сервера в андроид. Но это получается то же самое, что и любой глобальный адрес. И не понятно что же тут конкретно сработало. А вот как перенаправить пакет с DNS запросом в адрес 8.8.8.8 на локальный DNS сервер на 192.168. на esp32 я чёт с наскока не придумаю.)

Касательно перехвата запросов, DNS server из примеров esp32 перехватывает вообще все запросы, в логах это видно. Это дело я первым делом проверил. Потом обратил внимание, что если адрес локальный у портала, то в настройках Wi-Fi в смартфоне есть кнопка "требуется настройка" (могу путать, уже подзабыл) и она ведет на портал, но сам портал, при подключении к точке доступа, не выскакивает. Если найдется в будущем решение этой заморочки, то я изменю адрес на локальный.

WiFiManager - отличный проект, он использует фреймворк Arduino, я фреймворк Arduino не использую. Есть еще менеджер Wi-Fi https://github.com/tonyp7/esp32-wifi-manager тоже очень хороший проект, использует парадигму очередей сообщений и базовый фреймворк ESP-IDF. Из-за этого исходники читаются не очевидно и кое где не используются возможности ESP-IDF фреймворка. Там некрасиво (по моему скромному мнению) написан обработчик http запросов. Ещё esp32-wifi-manager всегда запускается в полном объеме, с вебсервером, с очередями. Я решил чуток все это исправить и остановиться уже не смог.) Но за то изучил html с css и JS.

Такое поведение Captive Portal наблюдается на всех локальных адресах, на указанных вами Captive Portal тоже автоматически не вылезает. Поискал опять, и опять ничего толкового не нашел.

https://github.com/esp8266/Arduino/commit/adf2b14a6a1493b324d8e176a1519af76bd7e5fb

С андроид смартфонов Captive Portal на локальных адресах типа 192.168.4.1 сам не выскакивает. Но если адрес назначить глобальный, типа 200.200.200.1, то Captive Portal на андроид смартфоне выскочит сам. Исследовал этот вопрос пока писал https://github.com/uqfus/esp32-wifi-provision-care для esp32. С чем связано могу только догадываться, на стэкексчендже такое решение нашел без указания на источник, а конкретных руководящих документов на этот счет не нашел.

Ну и касательно прошивки через подключение устройства через USB, вам не лень подключать, и отключать, приносить, и уносить esp32? Можно добавить обработчик POST запроса и прошивать устройство по сети с использованием curl. Пример тут смотрите https://github.com/uqfus/esp32-wifi-provision-care/tree/main/examples/esp32-firmware-upload-ota-example

... только необходимо изучить язык разметки html, изучить стили css, ну и javascript. Учитывая их "совершенно не строгую типизацию" переменных, разработка интерфейса скатывается в "добавил свойство в css, перегрузил страницу в браузере, с удивлением обнаружил, что свойство не применимо в текущем контексте". Лыко и мочало начинай с начала. Но наше "наиболее" перевешивает все.

Стоит посмотреть сколько процессов вообще крутится на ESP32 uxTaskGetNumberOfTasks. У меня 11 показывает в скетче осуществляющем только соединение Wi-Fi.

Добавил анимации к кнопке по гайду https://habr.com/ru/companies/netologyru/articles/655337/ и получилось красиво.

Вы очень болезненно отреагировали на мой комментарий. Я тоже на критику болезненно реагировал сразу после вуза.)

Если вы пишете для себя то пишите как вам удобно и как вам красиво. А если пишете для других людей, а опубликованная статья подразумевает, что вы написали этот код не только для себя, то пишите код так, чтобы другим людям было приятно его читать. А то получится, что вы "изобрели вечный двигатель открытого типа", но никто не смог в документации разобраться как он работает.

Касательно комментирования кода. Многие имена переменных совершенно ни о чем не говорят при первом взгляде, когда в голове еще нет контекста. Я бы даже предложил провести минификацию исходного кода, и меньше объема занимать будет, и читаемость не ухудшится.)

О магических константах - 42. Вы сразу же должны понять что это за константа такая.)

Блокировки побудили меня наконец-то подключиться к туннельному брокеру и получить IPv6. В принципе настройки просты, но есть подводные камни. Конкретно у меня конфиг от туннельного брокера сразу не заработал, надо было убрать одну строку. Зато после запуска порадовала магия SLAAC. На всех компьютерах, виртуальных машинах, смартфонах, планшетах, умной колонке, и даже устройствах умного дома - появился IPv6 адрес. Проверил, все они стали доступны извне. Ютюб тоже стал загружаться.

Оптический кабель приходит в роутер от провайдера, и этот роутер работает в режиме бриджа. Просто роутер от провайдера устарел, но как преобразователь оптики в медь работает великолепно. Далее медным патчкордом до роутера основного. Потом медным патчкордом до сервера. На сервере крутится виртуалка. В виртуалке настроен сетевой интерфейс, создан туннельный интерфейс до туннельного брокера, настроен и запущен демон SLAAC. Ну и везде включена маршрутизация пакетов IPv6. Вот такая матрешка, работающая матрешка.

Лапша из if не читаема. Воспользовались бы switch-case вариантом.

Велосипедов полон код. Особенно доставило ваше "!0".

С комментариями переборщили, следует писать код так чтобы он был понятен с минимумом комментариев.

"Магических" констант в коде не должно быть, ваша переменная SostWiFi постоянно сравнивается с этими "магическими" константами.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность