LINUX.ORG.RU

220 вольт, Luci, OpenWRT и сильно кастомная хардваря

 , , , ,


4

1

Собственно, приспичило сделать себе на даче сделать для небольшой нагрузки розетки, которые можно включать/выключать/ребутить с компа. Покопавшись в хламе откопал релешки, тайни2313, и старенький wl520gu, куда вполне себе можно залить OpenWRT. Все это я укомплектовал парой самодельных печаток, щедро покрытых полиуретаном, и запихнул в пластиковый короб, который на аллюминиевых уголках уходит под полку, и становится вообще невидим. От него до розеток все идет в коробах. Итого, в коробе присутствуют: Блок реле, винтовая колодка для разводки 220 вольт, плата с attiny2313, 9-вольтовый блок питания (кишки оного). Пятивольтового не оказалось под рукой. зато валялся самопальный ненужный dc-dc настраиваемый на LM2596, его я туда и воткнул. Так же там сидит роутер. USB гнездо я отпаял, и поставил туда хаб. С боку я влепил гнездо под плавкий предохранитель (рыжее, советское).

У чипа brcm47xx, который стоит в wl520gU есть неприятный баг в кремнии, из-за которого нельзя работать с 1.1 usb девайсами - все повисает после пары транзакций. Говорят, проблема из-за того, что какой-то там клок неправильный идет на 1.1. Потому я поставил 2.0 хаб (под рукой оказался только самопальный брейкаут хаба Fe1.1s, который собирал для тестов этой микросхемы, сильно привередливая, как оказалось, работоспособность очень здорово зависит от положения развязки по питанию). Хаб делает TT (transaction translation) и бага успешно обходится.

Собственно, внутрь 2313 зашивается vusb стек и три строчки кастомного кода, уложился в 1700 байт из 2кб, а на хосте начинается шаманство. Так как писать под каждый проект заново комманд-лайн утилиту на С задалбывает, я заюзал lualibusb, и написал вот такой костыль: https://github.com/nekromant/lunartool он берет на себя рутину типа матчинга по vid/pid, разруливания случаев нескольких устройств, парсинг комманд-лайн опций и прочую рутину. А сам же код добавляется в виде аплетов вот такого содержания: https://github.com/nekromant/lunartool/blob/master/applets/pw-ctl.lua и это превращается в простую утилиту командной строки. Так как в самом OpenWRT активно юзается lua для LuCi, оверхед был минимальным, и я уместился в 3300 кбайт из 4х мегабайт флеша. Заниматься любовью с extroot совершенно не хочется, ибо гемор при обновлениях. Достаточно залогиниться по ссх, и вуоля:

pw-ctl --on=1
pw-ctl --off=4
pw-ctl --reboot=1

Ну и в виде последнего изыска, я наваял небольшой апликейшн для LuCi чтобы можно было щелкать питанием через веб гуй. Собственно он, и страшненький код его и представлены на скриншоте. LuCi с его cbi штукой оказался очень приятной и удобной. Жалко только документирован сам cbi не особенно хорошо, приходится в сырцы подглядывать.

В планах заменить хаб на более цивильный, выпилить dc-dc и блок 220-->9 вольт и заменить на один блок 220-->5.

Вот и все, осталось только смонтировать до конца.

>>> Просмотр (3000x1080, 495 Kb)

★★★★★

Проверено: DoctorSinus ()

Ответ на: комментарий от AiFiLTr0

Таких нет, конечно. Но у производителей есть. Правда под другие системы симуляции, как бинарные блобы, под NDA и за over9000 $. А ты собрался роутер сделать? :)

ktulhu666 ☆☆☆ ()
Ответ на: комментарий от ktulhu666

Уже запилили с другом пару прототипов. Это варианты для монтажа в герметичную антенну на столб, с питанием по PoE без вайфая.

http://pics.ncrmnt.org/junk/crap/IMG_2173.JPG.php - прототип айн
http://pics.ncrmnt.org/junk/crap/IMG_2200.JPG.php - прототип цвай (с мультиплексором симок)

Сча софт дебужу, OpenWRT на нем уже пашет, надо пару приблуд для люси дописать.

AiFiLTr0 ★★★★★ ()
Последнее исправление: AiFiLTr0 (всего исправлений: 1)
Ответ на: комментарий от ktulhu666

Сомневаюсь. Только для Mixed Signal. И то скорее всего только на заводе, где пекли чип.

AiFiLTr0 ★★★★★ ()

Прикольно, ещё не плохо бы схемками покидаться, что к чему подключено, а то не до конца понимаю, как взаимодействует роутер, usb и «силовой блок». Для конечного варианта можно заменить релюхи на симисторы с опторазвязкой - компактней, да и имхо безопасней.

xterro ★★★★★ ()
Ответ на: комментарий от xterro

Я выложу полную схематику в бложик, как закончу. У меня там в усб планируется еще контроллер на освещение стола, и еще пара приблуд. Stay Tuned. Сюда тоже, наверное закину еще один «скриншот», как готово будет.

AiFiLTr0 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.