Что-то тут в галерее стало уныло, посему решил я это поправить. В продолжение темы.
Появилась минутка, и наконец-то доделал и теперь могу похвастаться своим небольшим дачным серверочком, в который я превратил cubieboard. Собственно, прежде чем монтировать конструкцию, я ее существенно доработал, в том числе и напильником.
Для начала добавил самодельный док для HDD и крепление для хаба на стенку.
Дизайны и первого и второго можно скачать бесплатно, без смс и регистрации на github'e (сделано в OpenSCAD, нарезано slic3r'ом, отпечатано на 3д принтере).
Сама кубя крепится на стенку при помощи монтажного уголка. Кстати, если кто будет повторять конструкцию - ОБЯЗАТЕЛЬНО при креплении монтажного уголка к пластику проложить шайбу гровера, иначе от вибрации веника оно рано или поздно может открутиться. Ну и выставить, как следует по уровню, как сделал я - будет уж точно не во вред жесткому.
Собственно, большая часть переферии подцепляется к USB, это:
- ITшный тюнер для приема зомбо-тв (промазал на алиэкспрессе, внутри оказалась не RTL-SDR-совместимая связка). Работает в фоне, пробрасывая через mumudvb мультиплекс с DVB-T в IP.
- RTL-SDR совместимый донгл. на cubie работает rtl-tcp, в виде службы так что, могу всегда подцепиться gqrx'ом с любого компьютера. Антенна (на фотографии отсутствует) пока - весьма убогий штырь, который несмотря на свою убогость (китайцы вместо коаксиала взяли обычный кабель на 2 жилы) ловит на ура все что есть в FM диапазоне, и даже любителей на ~435Mhz, из разговоров которых летом всегда можно узнать новости политики, спорта, факт наличия или отсутствия грибов в подмосковье и т.п. Из всех донглов выдрал ИК приемники, так как один уже есть в cubie, а в хозяйстве, хехе, сгодятся.
- 4g/3g/2g модем от мегафона, с которого и раздаются на сеть интернеты. Раздаются они через cdc_ncm, который, как показала практика работает быстрее и стабильнее, чем pppd, без внезапных фризов. Через /dev/ttyUSB* на модеме висит gammu-smsd, который переправляет все входящие сообщения мне на почту, есть возможность и отправлять сообщения, хотя на практике я ей не пользуюсь. Пока. Простым хаком через AT команды получилось сделать 2 юзабельных ком-порта, на одном висит smsd, на другом самописный костыль. Последний мониторит качество соединения и может AT-командами менять режимы 2g/3g/4g.
- (в планах) Камеры. Так как веб-камеры, которые вещают в MJPEG'е/RGB/YUV даже при цене в 50 баксов имеют архихреновую матрицу и дают черный квадрат в сумерках и белый квадрат летним днем, я разжился 4х канальной усб картой захвата и аналоговыми камерами. У них, несмотря на их цену в 7 баксов/штука матрица нормально видит и ночью и днем. Из примеров нашел h264_encode на cedarx'е, что спасло оный от выпила из ядра, пример правда пока заработать не удалось, сильно любви просит, так что его еще предстоит доработать напильником.
Система стоит на SD карте на 8GiB, внутренний нанд я переразбил одним разделом и подмонтировал для статических веб страниц, ибо особо большую нагрузку давать на него не хочу - поменять сложнее, чем SD, если скопытится, а то, как там китаезы реализовали wear leveling проверять не хочу. Весь их sunxi-nand драйвер это адовый треш, который едва ли попадет в апстрим, потому все сделал так, чтобы быть готовым к тому, что с очередным апдейтом ядра он внезапно «пропадет».
Для остальных данных (dlna, логи уровня говна в отстойнике и т.п.) используется SATA винт, 250GiB, пока более чем хватает. Потенциально можно запихнуть еще одну microsd в 4g модем, но повода это сделать пока не было.
Софт
На борту стоит Debian Wheezy (armhf), и ядро от linux-sunxi, ветка основанная на 3.4, с небольшой стопкой патчей, а именно:
- Поддержка светодиодов на cubieboard (зеленый зажигается когда система полностью запустилась, синий - когда есть интернеты)
- Бэкпорт изменений в cdc_ncm из 3.7 для полноценной поддержки моего модема
- Заготовка для подключения модуля UPS.
- Мелкие косметические фиксы.
- В конфиге выпилен в реактор mali, ump, и вообще все, что связано с графикой, ибо не нужно (tm), а память пытается зарезервировать.
На сервере крутится обычная связка самого необходимого:
- dnsmasq
- lighttpd
- minidlna
- mumudvb
- phantomjs
- git
- rtl-tcp сервер
- smsd
- VPN до VPS, ибо внешнего IP нет и не надо
- Несколько самописных приблуд разной степени стремности
Потребление. При напряжении 5 вольт: Жесткий диск: 200-250мА в рабочем режиме, 400-500мА пиково при спинапе
Cubie: 250-360мА, без и под нагрузкой соответственно. 3g модем - 400-500мА
Все остальное - в пределах 200мА.
ИТОГО: Укладываюсь легко в 10 ватт потребляемой мощности, что можно считать лютым вином.
В планах:
- Переделать по-человечески антенны
- Второй RTL-SDR донгл, с хаком для приема <30Mhz и человеческой антенной
- Доразвести, вывести и подключить камеры наблюдения. (не раньше лета)
- Допаять и подцепить к усб AM детектор грозы.
- Модуль UPS - в формфакторе для накручивания на этот бутерброд. На паре дешевых импульсников (LM2596) получаем автономное питание от свинцового 7Ah аккумулятора от бесперебойника. Оный втыкается в балластном режиме. При моем потреблении хватит на долго.
- Ноутбучный, 20-вольтовый блок питания, вместо текущего (5в 2А). Сразу как приедут платы под UPS.
uname -a:
Linux frostblade 3.4.29-frostblade+ #13 PREEMPT Wed Feb 20 18:32:26 MSK 2013 armv7l GNU/Linux
cpuinfo
Processor : ARMv7 Processor rev 2 (v7l)
BogoMIPS : 59.63
Features : swp half thumb fastmult vfp edsp neon vfpv3 tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x3
CPU part : 0xc08
CPU revision : 2
Hardware : sun4i
Revision : 0000
Serial : 0000000000000000
Бонус: Мой phantomjs скрипт для проверки траффика мегафона. Так же сообщаяет остаток на балансе. http://p.ncrmnt.org/show.php?id=17
>>> Просмотр (562x1000, 896 Kb)