Skip navigation.
Home

Про банан.

...а если быть точным, то про одноплатный компьютер banana pi pro.

Для тех, кто не совсем в теме: banana pi - это сильно улучшенное подражание одноплатному компьютеру raspberry pi. Для чего этот компьютер нужен?

Во-первых, он очень маленький: вся плата - размер кредитной карты.

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

В-третьих у него совершенно смешное энергопотребление: что-то около 3 ватт. Даже вместе с внешними дисками получается сильно меньше, нежели у "взрослого" компьютера. Это позволяет держать такой компьютер включенным в режиме 24x7, не особо заботясь о счетах за электричество.

В четвертых, это вполне себе компьютер, и он отлично справляется с ролью файлового сервера, принт-сервера, сервера закачек и сканер-сервера.

В пятых у него есть не только сетевой разъем RJ-45, но и нормальный, полноценный wi-fi. Если живете в большом доме, то машинка может работать как вторая точка доступа.

Но. Всегда есть "но", и далеко не всегда они описаны в документации. Про парочку таких моментов я бы хотел рассказать.

1. usb-порты.

У бананы, как и у raspberry, два usb-порта. Банана в состоянии тянуть один внешний usb-диск, но вот два и более дисков - уже облом, нужен usb-хаб. Причем активный хаб, с независимым питанием. С usb-хабом засада: если хаб неправильный, то диски, воткнутые в такой хаб, не распознаются, либо, что гораздо хуже, теряются системой случайным образом. Выглядит это как "полчаса нормально работаем, потом диски исчезают из /dev/disk как класс". (Да, я забыл упомянуть, что операционной системой для бананы является линукс).

Выход из положения: я купил переходник SATA-USB, у которого было свое, собственое гнездо для штекера питания. Теперь один usb-диск кормится с пассивного хаба, второй имеет свое, независимое питание.

2. nfs-сервер.

Возжелалось мне сделать файловый сервер на протоколе nfs. Прописываю в /etc/exports:

/mnt/disk1/directory1 12.168.1.0/24 (rw,......)
/mnt/disk2/directory2 12.168.1.0/24 (rw,......)

на клиенте, как водится, пишем в /etc/fstab/

xxx.xxx.xxx.xxx:/mnt/disk1/directory1 /mnt/mountpoint1 nfs .....
xxx.xxx.xxx.xxx:/mnt/disk2/directory2 /mnt/mountpoint2 nfs .....

первая по счету шара монтируется без проблем:

sudo mount /mnt/mountpoint1

пытаемся монтировать вторую шару:

sudo mount /mnt/mountpoint2

Смонтировалась. Смотрим внутрь каталога. Оппаньки... показывается содержимое /mnt/disk1/directory/1, т.е. ПЕРВОЙ шары, а не второй. ОК, меняем местами строки в /etc/exports на сервере, повторяем эксперимент. Аналогичная ситуация: видна только запись теперь уже о второй (первой по счету) шаре, все записи после нее - игнорируются. Смотрим showexport на клиенте - честно показывает то, что прописано на сервере, т.е. ДВЕ разных шары.

Я на эти эксперменты убил часов 5, пытаясь различным образом комбинировать ключи экспорта, ключи монтирования, играясь с правами доступа на сервере и пр. Были подтянуты специально обученные люди, понимающие поболее меня в вопросе. Вердикт оказался грустным: банана умеет по nfs шарить только одну запись. Понятно, что это элементарно объезжается, и в природе существует не только один nfs, но как-то разочаровывает.

Со всем остальным пока проблем вроде бы как нет: по шине i2c подцепил универсальный датчик bmp180 (давление, температура, влажность воздуха), подключил несколько реле по GPIO, сейчас собираюсь LED-дисплей подцепить и сделать по радиоканалу интеграцию с контроллером ардуино, который будет стоять в ванной: хочу сделать автоматическое управление системой вентиляции воздуха в ванной, а чуть позже - автоматическое управление обогревом квартиры.