LINUX.ORG.RU

Openwrt


82

6

Всего сообщений: 7

Дошли руки до умной дачи

 , , , ,

Занесло во времена масочного режима в деревню, туда, где тихо и спокойно, птички щебечут, лоси, зайцы и полудикие лошадки гуляют. В общем обстановка настраивает на творческий лад. Да так там и остался (шутка, но отчасти)))). Не думал, что решусь попробовать что-то автоматизировать, учитывая, что ближайшие базовые станции находятся примерно в 20км и первое время пришлось пришлось разбираться как работает мобильная связь, какие и где стандарты используются и какие антенны бывают. После очень долгих экспериментов заново изобрел антенны и для звонков с медленным 2g интернетом на частоте 900Mhz, и для более быстрого, но не всегда стабильного 4g интернета на частоте 800Mhz (band20). Такая же антенна почти без изменений используется и для цифрового ТВ DVB-T2. Кстати, интернет одно время ловился просто на смартфон, лежащий внутри такой антенны. И это при расстоянии до БС 20км. Но потом, что-то поменялось и помех стало больше, пришлось ставить самодельную вышку и покупать модем.

Из железа в наличии:

Старый нетбук без экрана с CRUX и такой же старый монитор. Но встроенный PATA SSD диск накрылся окончательно, как собственно и CRUX для старых компьютеров, требуя для сборки 64 битное мощное железо. Теперь работаю с флешки на PorteusOS и подобных дистрибутивах.

Одноплатник Onion Omega2 с OpenWRT 23.05. Пока используется как повторитель сигнала и собирает данные с вебкамеры с дальнейшей пересылкой данных в облачный диск.

Роутер Билайн N300 прошитый на модифицированную прошивку OpenWRT планируется тоже для чего-то, так как работает нормально, но проблема с обновлениями и установкой модулей ядра. Подключен 3G модем к ещё одному оператору, но нужно ещё одну антенну изобретать под 1700-1800Mhz для стабильной связи.

Контроллер NodeMCU v3 на чипе ESP8266 с WiFi. Планируется использовать по максимуму, так как идеально цепляются датчики и низкое потребление.

Разные датчики в процессе доставки

Проблемы, с которыми уже посчастливилось столкнуться:

Оказывается веб камеры бывают UVC и non-UVC. Но своей наивности начал использовать попавшую под руку non-UVC камеру и это отправило меня в накаут на пару недель, чтобы понять что такое UVC и в попытках запустить такую камеру на OpenWRT. В итоге взял почти даром другую, но UVC камеру и без проблем подключил её к одноплатнику Onoion Omega2 с выведенным USB.

Куча стандартов и решений. Зачем нужен этот Зигбии (ZIGbee) для меня непонятно. Видимо его решения потребляют меньше энергии на сколько-то процентов. Из ZIGbee у меня только датчик температуры и влажности с дисплеем, но без хаба он бесполезен.

Проблемы с разницей напряжений у датчиков и устройств, к которым они подключаются. Может быть 3.3v, 3.0v, 5v и тому подобное. Такую мелочь нужно как-то решать, иначе может не заработать.

Проблемы со связью. БС настроены и обслуживают только ближайших абонентов, а они соревнуются в каких-то невероятных скоростях. Когда других хотя бы почту проверить нужно. Но настройки БС таковы, что удаленные абоненты «сбрасываются». Кстати, во многих удаленных местах есть оптоволокно от ростелеком для проведения выборов и прочего, но нет БС. Как-то нелогично.

Что уже понравилось:

Ардуино подобные контроллеры годятся теперь не только для школьных поделок, но и для серьезных вещей. NodeMCU v3 (ESP8266 с WiFi на борту) был прошит прямо через сайт проекта TASMOTA их прошивкой и без проблем начал передавать данные с подключенного датчика температуры и влажности DH11 на поднятый по такому случаю сервер MOSQUITTO. Сервер поднят на VPS. С одноплатником Omega2 датчик не заработал, требую, вероятно, дополнительных манипуляций с резисторами или ещё чем-то.

Очень понравилась концепция MQTT. Это просто песня, чем-то похоже на блокчейн. Есть даже мессенджеры, использующие брокеров MQTT. То есть вещь простая и очень универсальная. Зачем вообще нужны решения от корпораций с их отдельными экосистемами, если можно большинство задач решить при помощи MQTT и сценариев. Чтобы добавить в Алису не поддерживаемое устройство нужно буквально на голову встать и напечатать так левой рукой навыки, ну и так далее.

Конечно, OpenWRT. Хотя у дистрибутива были проблемы с концепцией дальнейшего развития, но они миновали сложные времена. На мой взгляд на данный момент OpenWRT - самый трушный Linux, работающий на множестве платформ и не превратившийся в громоздкую ОСь для датацентров.

Чего хотелось бы

1 Полив и набор воды для него автоматический. 
2 Обязательно автоматическое проветривание теплиц путем открытия окон и/или вентиляторами, а теплиц уже три. 
3 Также в перспективе подогрев и подсветка в зимней заглубленной теплице в виде землянки.
4 Безопасность в доме.
5 Умное освещение по периметру.
6 Прочее, прочее, прочее.

P.S. Выбираются максимально дашманвские решения в силу текущих, да и будущих приоритетов.

poshat
()

DIY «Собери свой роутер»

 

На фото самосборный роутер. Стоит матплата из серии pc engines, 2 mpcie модуля Mikrotik для обеспечения wifi сети 5Ghz и 2.4 Ghz. Загружается и работает на openwrt ( хотя любой линукс поддерживается тоже ). Из напильника - пришлось просверлить 3 доп. отверстия для антенны ( непонятно почему не сделали это по умолчанию ). Как бонус можно добавить еще 2 ethernet порта через mcpie карту.

Цена получилась немного больше стоимости топовых роутеров.

Jopich1
()

OpenWRT и Unifi AP LR

 , ,

Все та же кухня, но:
1. Системник переехал на подоконник
2. Оживленный Asus eeepc-1101ha (Fedora 24 minimal + openbox)
3. Главный герой: Ubiquiti Unifi AP LR со слетевшей стоковой прошивкой.
4. Матрешка
5. Конфетки «Коровка»

В неспешном режиме, со множеством пыток и попыток ставлю OpenWRT на Unifi. Стоковые обкирпичивают пациента. Перевел в режим просто точки, ибо весь функционал роутера не требуется. Имел ли кто опыт в данной связке? На данный момент добился работы только в режиме 11g.

v0mqfish
()

Корпусируем BPi R1 (ака Lamobo-R1)

 , ,

Просили рассказать что и как, как приедет железяка. Собственно, спустя полтора месяца приехала. Брал на адиэкспрессе, рассказываю.

TL;DR: Косяков в дизайне навалом, акриловый корпус убог, OpenWRT пашет с QoS'ами и VLAN'ами, при правильном приготовлении - лютый вин.

Теперь подробнее. Что мне не понравилось - нет в комплекте IPX<-->SMA косичек и антенн. Для меня не критично, я человек запасливый, но для многих может оказаться шоустоппером.

Вот все, что приехало

Начнем с хорошего. Бредкомовский свитч, которого я опасался внезапно работает, и вроде бы неплохо. Есть VLAN'ы, QoS и прочие радости. Есть поддержка всего этого добра в транке OpenWRT. OpenWRT вообще на выхлопе генерит образ для SD карточки, что не может не радовать. Ядро 3.18.6, мейнлайн. Работает SATA, есть разъем для LiPo батарейки. Если вырубают на даче свет - у этой штуки, считайте, встроенный бесперебойник. rtl8192cu завелся без проблем, в том числе и в режиме точки доступа в N режиме с полосой 40Mhz, сигнал отличный.

Корпус из акрила убог. Очень Убог.

Я даже не стал снимать защитную пленку с акрила, так что если кому нужен такой корпус - отдам ровно за столько, засколько сам взял у китайцев.

Теперь о косяках.

  • Аккумулятор (в комплекте нет, сойдет любой LiIon на 3.7 В) сажается в XH-2 2.54mm разъем. Если HDD воткнут - аккум уже не воткнуть, надо разбирать. Положение разъема очень неудачное. В стоковом корпусе под него нет места.
  • Жесткий диск не вытащить не снимая боковую стенку корпуса.
  • Питание исключительно через microusb разъем. Нет ОТК на этих содомитов. Даже если разъем протянет 2А (В жидком азоте если только), (грубо) 500мА жрет зарядка аккума, 500мА по спекам что-то воткнутое в USB (а их там у нас 2, считая OTG), еще 500-600мА жесткий диск. И это не считая broadcom'овского свитча с интегрированной физикой. 5 гигабитных портов это вам не диодиком мигнуть и сам SoC. Впрочем, при питании через microusb у меня даже жесткий диск не раскрутился из-за падения на проводах. Поскреб напильником плату, подпаял JST шнурок, все заработало.
  • Родной корпус не обеспечивает нормального охлаждения свитча, а он греется весьма, даже без трафика. Гигабит же!
  • Плата крайне тонкая и будет деформироваться, особенно под весом жесткого диска!
  • Sysupgrade на OpenWRT при загрузке с SD (ext4) не работает. squashfs образ не делает по дефолту rw оверлея, с этим еще предстоит разобраться.
  • Пин который управляет питанием HDD по дефолту в режиме «вход», в нем и остается, HDD без хаков не раскручивается.

С этим надо было как-то бороться, потому я быстро и решительно взял припасенный для другого проекта корпус из люминия и начал экзекучию. Посадил 3 отрезных диска для гравера, покрылся стружкой - но сделал вырез для ethernet'ов сбоку. На оба microusb забил - все равно на мейнлайне inventra'вский musb заводится с кровавыми патчами и без DMA.

Разметил боковую стенку, засверлил и смотрировал туда два SMA разъема. Встали как родные.

Далее по месту засверлил корпус, нарезал резьбу и вкрутил стойки, шедшие в комплекте. С обратной стороны торчащую резьбу срезал гравером и подшлифовал, чтобы не торчало.

Все, конструкцию можно собирать. Свитч расположен снизу, потому я в этом месте сделал охлаждение на корпус. Заодно еще одна точка опоры в центре - не будет так прогибаться от жесткого диска. Так как одного USB мне показалось мало, а хаб был под рукой только на 4 (мало) и 13 портов, после процедуры укорочения кабеля приклеил на двусторонний скотч 13-портовый хаб.

TODO:

  • Починить sysupgrade.
  • Вывести уровень заряда батареи на dashboard в OpenWRT
  • Подобрать и вывести разъем для питания и батареи на торец. Есть шальная мысля заюзать PS/2 со старой материнки, который с клеплением к корпусу, на него же вывести и UART. Но это надо будет еще думать.
  • Настроить OpenVPN, pppoe, и прочие радости жизни, прогнать iperf.
  • Придумать для чего использоваться место на этом жестком диске. Пока напрашивается туда повесить apt-cacher или squid.

Задавайте свои вопросы. Больше фоток - тут http://pics.ncrmnt.org/index.php?album=junk/lamobo-r1/ Качество некоторых фоток фиговое - их снимал на голову ведьмы старый китафон.

ncrmnt
()

5 вольт - не влезай убьёт!

 , ,

Долго использовал старый нетбук в качестве домашнего сервера, точки доступа. Но стал барахлить и блок питания и аккумулятор и usb. Попробовал сделать замену из легендарного роутера tp-link mr3020 и уложиться в 5 вольт для питания нового сервера, т.к. именно пятивольтовые зарядки доступны везде и найти замену в случае выхода из строя не составит проблем.

Но, как оказалось, главная проблема - это подбор блока питания и вообще организация электропитания. Ещё влияет длина провода, сечение, качество соединения и прочее. Испортил дюжину зарядок, которые могут тянуть роутер с флешкой плюс adsl модем (~1-2A + 1A). Даже самые дешёвые могут пару дней/недель тянуть оба устройства, но потом начинаются сбои, появляется запах у блока питания, и странные волны, уже явно недостаточных милиампер. Подскажите что в них нужно менять, чтобы вернуть в работу.

На серваке последняя версия Openwrt 14.09 с поддержкой из коробки ipv6, pppoe. Т.е без задействования флешки можно поднять сеть pppoe с поддержкой ipv6 (провайдер даёт подсеть глобальную). Ещё на сервере ftp, samba, mini_http, transmission, p910 (принт-сервер с лазерным принтером). На всех домашних устройствах глобальный ipv6, что с учётом повсеместно серых ipv4 большой плюс. У кого-то даже виден сайт на серваке http://poshat.dhis.org (ipv6).

Openwrt 14.09 более стабильна и заточена под ipv6. Сложности были с поиском в путаном wiki нужных опций для ipv6.

config interface 'loopback'
	option ifname 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config interface 'wan'
	option ifname 'eth0'
	option proto 'pppoe'
	option username '***'
	option password '***'
	option ipv6 '1'
	option mtu '1452'
	option accept_ra '1'
	option send_rs '1'

config interface 'wan6'
	option ifname '@wan'
	option proto 'dhcpv6'

config interface 'wlan'
	option proto 'static'
	option ipaddr '192.168.1.11'
	option netmask '255.255.255.0'
	option ip6assign '64'

Стоит всё это чудо приблизительно в центре квартиры на шкафу, для наилучшего WiFi сигнала повсюду. Если стану уверен, что всё работает стабильно, то конечно буду думать как ещё загрузить сервачок ( вебкамера, DLNA, rsync и прочее).

poshat
()

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

 , , , ,

Собственно, приспичило сделать себе на даче сделать для небольшой нагрузки розетки, которые можно включать/выключать/ребутить с компа. Покопавшись в хламе откопал релешки, тайни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.

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

AiFiLTr0
()

Микро-серверная

 , , , ,

Сегодня установили шкаф, в котором соорудил микро-серверную.

Итого имеется:

- Toshiba Satellite A40 на котором крутится Убунту 11.04. Так как петли вылетели, решено было монитор вывести на дверцу шкафа для вывода всякой полезной инофрмации. На данные момент стоят скринлеты часов и погоды. Ноут ремотно управляется по ssh/RDP/веб-клиентом Трансмиссии. Шары с NAS подключены по nfs.

- Promise Smartstore NS4300n в котором стоят 4 диска WD 750Gb RE2 в двух RAID1 массивах. Шары раздаются по ftp/smb/nfs

- Buffalo WHR-G54S с OpenWRT. Кастомная прошивка стоит по причине того, что у прова Инет по PPPoE плюс внутренние сервера.

В квартире наконец то стало тихо по ночам. :-)

Mr_Alone
()