LINUX.ORG.RU

Небольшой сервер в чердачном исполнении

 , ,


7

2

Что-то тут в галерее стало уныло, посему решил я это поправить. В продолжение темы.

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

★★★★★

Проверено: DoctorSinus ()
Последнее исправление: AiFiLTr0 (всего исправлений: 3)

Ответ на: зачот от lazyklimm

И портировал. см. репозиторий openwrt-sunxi у меня на шитхабе. Просто phantomjs и еще пара тулов не захотели нормально работать с uclibc. Да и решил пощупать debian armhf, насколько оно быстро будет. Пощупал и в итоге остался, так как с OpenWRT большой гемор делать мехамизм sysupgrade

AiFiLTr0 ★★★★★
() автор топика

зачётненько.

не мокро там голой электронике на улице-то? может, хоть спреем каким облить?

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

Пощупал и в итоге остался

и всё прально сделал

lazyklimm ★★★★★
()

здорово. что бы не дрюкать сильно флешку, я запустил http://www.tremende.com/ramlog/ на своей клубничке. после допилки некоторых коясков, когда сервисы не могут разобраться, почему логи приподзаткнулись, а потом снова поехали, всё работает нормально - неистово экономит циклы записи на flash и не тормозит.

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

оно замечтаельно, пока не захочется узнать, что же происходило ДО необъяснимой перезагрузки. этот рамлог попытается при уходе в мир иной всё синхронизировать в диск.

hawai
()
Ответ на: комментарий от reddaemon

Не думал об этом, думаю реально. Но я думаю под нее по весне из листового люминия на заклепках корпус забабахать с дверцей.

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

По поводу веб-камер. Понадобилось как-то мне запечатлеть одного малолетнего укурка, бросающего бычки и все его курительные атрибуты мне на балкон. Плата захвата у меня имеет один вход, а надо было по-быстрому развернуть камеру и городить мультиплексор было долго. Я взял тогда старую вебку Logitech Webcam C120, разобрал и удалил из нее ИК фильтр, ну и обалдел от полученного, чуйка возросла очень сильно, перевел ее в ч/б, т.к. я всю «дурку» предпочитаю снимать в ч/б, это же не художественный фильм! Настроив фокус и поставив фильтр от солнца из пластины дискеты, мог снимать прямо со слепящим в глаз солнцем. Без этого фильтра в закрытой коробке на столе было видно все щели и структуру картона, благо фокус настраивался в широком диапазоне. В общем мне очень понравилось поведение вебки, дает она конечно чуть меньше FPS, чем аналоговая от KT&C, но отснятая «дурка» очень хороша. Работает через UVC, кабель получилось удлинить до 10 метров, правда кабель был качественный. В общем без фильтра от солнца можно снимать в очень темном помещении, и разобрать лица при этом можно. По поводу софта, motion под ARM интересно можно скомпилять?

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

Не думал об этом, думаю реально. Но я думаю под нее по весне из листового люминия на заклепках корпус забабахать с дверцей.

Готовые корпуса с дверцами продаются в магазинах типа «электро/сделайсам». У меня в шкафу такой лежит из 1мм стали + замок инклудед. 204х230х80. В такой ящик можно много чего запихать :)

nekosargot ★★★
()

Блок питалова на качество электричества не жалуется?

Допаять и подцепить к усб AM детектор грозы

Самоделка? Где про такое почитать?

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

Lennart

Самоделка? Где про такое почитать?

«Грозоотметчик» - первый приемник А. С. Попова.

Александр Степанович Попов использовал когерер в своём первом радиоприёмнике («грозоотметчике»), в котором усовершенствовал его конструкцию, введя в схему автоматическую обратную связь: от радиосигнала срабатывало реле, которое включало звонок, и одновременно срабатывал ударник, ударявший по стеклянной трубке с опилками.

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

Это очень мило, но хотелось бы увидеть нечто более удобоваримое, чем спешно нагугленная википедия :)

А именно - как сделать аппаратную часть на современной элементной базе (или предлагается из подручных элементов и какой-то матери когерер ваять? :), как настраивать, как связывать с компом, какой софт будет использоваться и т. д.

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

AM-приемник и вход на счетчик арвки, от аврки усб интерфейс. От разрядов в атмосфере на АМ характерный треск, который легко считается.

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

То есть срабатывание будет по определённой частоте на входе avr? Или по абсолютному значению счётчика в определённый промежуток времени? И где брать эти значения? Есть ли уже готовые схемы/софт?

Ну и самое любопытное - avr не задымится если этого самого треска станет слишком много?

Lennart
()
Ответ на: комментарий от freislot

Нахрена мне жрущий как пылесос шкаф? Я и дома от x86й железки скоро буду избавляться.

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