Banana PI BPi-R1 - poznámky při nasazíení

Zdroje - ne každý vyhovuje

Nevyhovuje - přestože údaje na zařízení jsou OK (5V 2A) zařízení se kousne převážně při práci se SATA diskem - http://www.dx.com/cs/p/universal-eu-plug-dual-usb-car-charger-for-iphone-ipad-ipod-5v-2a-238142?tc=CZK

Vyhovuje - http://powercube.cz/original-usb/

Je potřeba micro SD kartu o minimální velikosti 2 GB, menší nenabootuje.

Bananian lze stáhnout odsud a zapsat na SD kartu. https://www.bananian.org/download

Místo biosu je konfigurace zapsána na vlastním FAT32 oddíle

aptitude install gnu-fdisk
fdisk -l
Disk /dev/mmcblk0: 3 GB, 3948134400 bytes
255 heads, 63 sectors/track, 480 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
       Device Boot      Start         End      Blocks   Id  System 
/dev/mmcblk0p1               1           3       24066   83  Linux
Warning: Partition 1 does not end on cylinder boundary.
/dev/mmcblk0p2               3         231     1831410   83  Linux
Warning: Partition 2 does not end on cylinder boundary.
 
cd /mnt/
mkdir nahrada_biosu
mount /dev/mmcblk0p1 nahrada_biosu
cd nahrada_biosu
ls
fex  script.bin  uEnv.txt uEnv.txt.video-acc-off  uEnv.txt.video-acc-on  uImage

V adresáři fex jsou různé konfiguráky pro konkrétní typy hardwaru. script.fex lze na script.bin (který je ve zkutečnosti použit) převádět pomocí programů

bin2fex script.bin script.fex
fex2bin script.fex script.bin

zaměňte /mnt/nahrada_biosu/script.bin za verzi podle Vašeho hardwaru z adresáře /mnt/nahrada_biosu/fex. Pro model Banana PI BPi-R1 je to důležité, aby byl SATA disk byl napájen korektním napětím. Konfiguraci najdete v adresáři /mnt/nahrada_biosu/fex/BPI-R1

Po nahrání verze pro můj hardware rebootuji a pomocí fdisk -l se přesvědčím, že je SATA disk vidět. Překopírování systému na sata disk provedu následovně:

cd /mnt
mkdir root2
mount /dev/mmcblk0p2 root2
mkdir sda2
mount /dev/sda2 sda2
cp -a root2/* sda2

V mém případě jsem se rozhodl bananian umístit na oddíl SATA disku sda2, který je prázdný a obsahuje EXT4 souborový systém.

Pokud mám nedostatečný zdroj, nebo jsem nenahradil script.bin správnou verzí pro můj hardware, je možné, že místo kopírování banán zatuhne.

Nyní už jen zbývá nastavit, aby se při bootování použil správný diskový oddíl.

To provedete editací textového souboru /mnt/nahrada_biosu/uEnv.txt

Zshell se nelíbí?

Q: Why zsh as the default shell? A: Because zsh rocks! Just give it a try. Still want bash as the default? Type:

chsh -s /bin/bash

Banana integrovaný switch

Nastavení switche - jednotlivých vývodů se dělá pomocí souboru.

/etc/network/if-pre-up.d/swconfig

Příklad všechny vývody banánu fungují jako jeden obyčejný switch.

#!/bin/sh
 
#---------------------------#
# BPI-R1 VLAN configuration #
#---------------------------#
#
# This will create the following ethernet ports:
# - eth0.101 = WAN (single port)
# - eth0.102 = LAN (4 port switch)
#
# You have to adjust your /etc/network/interfaces
#
# Comment out the next line to enable the VLAN configuration:
#exit 0
 
ifconfig eth0 up
 
# The swconfig port number are:
# |2|1|0|4|  |3|
# (looking at front of ports)
 
swconfig dev eth0 set reset 1
swconfig dev eth0 set enable_vlan 1
#swconfig dev eth0 vlan 101 set ports '3 8t'
#swconfig dev eth0 vlan 102 set ports '4 0 1 2 8t'
swconfig dev eth0 vlan 100 set ports '4 0 1 2 3 8t'
swconfig dev eth0 set apply 1

Obsah /etc/network/interfaces

auto eth0.100

# dhcp configuration
iface eth0.100 inet dhcp

auto eth0.101
# static ip configuration
iface eth0.101 inet static
        address 192.168.6.241
        netmask 255.255.255.0
#       gateway 192.168.6.1
# pozor jen jedna brána smí existovat

http://www.root.cz/clanky/banana-pi-r1-moznosti-a-konfigurace-lan-a-ethernet-switche/

Jak zjistím rychlost etherentu a zdali má kontakt?

ethtool eth0

Jak zapnout USB - OTG

micro usb port, který je možné pomocí USB OTG redukce použít jako běžný USB port je defaultně vypnut. Prý kvůli tomu, že moc zatěžuje procesor. Nechápu jak může USB zatěžovat procesor, návod jak to zprovoznit - pokud potřebujete druhý usb port je zde. http://forum.lemaker.org/thread-2862-1-1-.html

Otg funguje, ale spomaluje/kouše se banán

usb_det_vbus_gpio = port:PH05<0><0><default><default>
usb_restric_gpio = port:PH00<1><0><default><0>

OTG nefunguje - default

usb_det_vbus_gpio = "axp_ctrl"
usb_restrict_gpio = 0

Raději OTG nezapínejte, protože pak hrozí že budeload average bezdůvodně vysoké a banán provádět některé operaci šnečím tempem. Třeba i 6 a banán bude fungovat jaksi podivně

Problém hlásí někdo také zde. http://www.lemaker.org/thread-11787-1-1.html

Instalace grafického prostředí

Lze doporučit LXDE

https://wiki.debian.org/LXDE

apt-get install task-lxde-desktop

Nevratné uspání monitoru po deseti minutách nečinnosti

Pokud deset minut nepohnete myší, ani nezmáčknete žádnou klávesu, X-widnows přestane posílat obraz a monitor se přepne do úsporného spícího stavu. Bohužel opětovné zmáčknutí libovolné klávesy jej neprobudí. Spraví to až restart.

Tohle uspání mohu zakázat následovně:

Vytvořte adresář /etc/X11/xorg.conf.d a v něm soubor 10-monitor conf. Přesně tedy /etc/X11/xorg.conf.d/10-monitor.conf s následujícím obsahem.

Section "Monitor"
    Identifier "LVDS0"
    Option "DPMS" "false"
EndSection

Section "ServerLayout"
    Identifier "ServerLayout0"
    Option "StandbyTime" "0"
    Option "SuspendTime" "0"
    Option "BlankTime" "0"
    Option "OffTime" "0"
EndSection

Section "Device"
         Identifier "Sunxi FBDEV"
         Driver "fbturbo"
         Option "fbdev" "/dev/fb0"
         Option "SwapbuffersWait" "true"
         Option "rotate" "UD"
         Option "HWCursor" "false"
EndSection

Zdroj: https://wiki.archlinux.org/index.php/Display_Power_Management_Signaling

Zdařila se kompilace ovladače fbturbo (podle návodu: http://linux-sunxi.org/Xorg#fbturbo_driver), zrychlení bylo ale jen mírné. Otočení monitoru na výšku znamenalo další výrazné zhoršení.

Možná jen stačí nainstalovat balíčky z tohoto repozitáře. http://forum.lemaker.org/2872-1-1-precompiled_mali_gpu_drivers_for_debian.html

http://forum.lemaker.org/thread-2212-1-1-.html

http://forum.lemaker.org/2872-1-1-precompiled_mali_gpu_drivers_for_debian.html

Chromium chybí v debianu pro ARM

Banana pi jako tenký klient

On your xserver, you have to allow incoming connections. Do a “ps -ef | grep listen”, and see if it returns your Xserver daemon. If it returns a line with “-nolisten” in it (the default for lots of distros), you'll have to change your X configuration to remove the -nolisten option.

V souboru /etc/X11/xinit/xserverrc je třeba odstranit parametr -nolisten tcp

#!/bin/sh

# exec /usr/bin/X -nolisten tcp "$@"
exec /usr/bin/X "$@"

Nebo:

You need to edit /etc/lightdm/lightdm.conf and add xserver-allow-tcp=true to it.

Na banánu pak

xhost +

na rychlejším počítači

export DISPLAY=10.10.10.1:0.0
iceweasel

Spustí iceweasel tak, že běží na výkonnějším počítači a na banánu se jen zobrazuje. Rychlost je použitelná pro běžnou práci i v případě neoptimálně napsaných webových stránek.

Takhle lze docílit o poznání lepší odezvy než pomocí X2go nebo ssh -X.

Pro dobrý výkon tenkého klienta je dobré využít grafický ovladač fbturbo a gigabitovou síť. Poté je tenký klient rychlý jako by vlastně téměř ani vůbec nebyl.

X2go server nezkompilovali pro ARM

Lze ji ale nainstalovat odsud: http://forum.odroid.com/viewtopic.php?f=77&t=7278

Držák na DIN lištu

Pokud má banán či malina něco řídit, může se hodit tohle, může být dobré ji přidělat na lištu spolu s dalšími elektro hračkami přímo u rozvodů elektřiny. Pomocí distančních sloupků přiděláme další desku a do ni vyvrtáme díry, do kterých se zacvakne tohle:

http://www.ekpz.cz/Kryty-a-boxy/Zamky-prislusenstvi/Drzak-na-DIN-listu-plastovy-WAGO-209-188.html

http://www.elektroodbyt.cz/homepage-detail-produktu?id=18088

PIR sensor

Knihovna pro ruby : https://github.com/jwhitehorn/pi_piper Pro banán mi ale nefungovala.

python

Pro Rasoberry

apt-get install python python-dev python-pip
pip install RPi.GPIO

Pro banán

apt-get install python-dev
git clone https://github.com/LeMaker/RPi.GPIO_BP -b bananapi
cd RPi.GPIO_BP
python setup.py install                 
sudo python setup.py install

Knihovna wiringpi (WiringBP) pro banán

Koupit možné za dolar - http://www.aliexpress.com/item/1pcs-High-Quality-HC-SR501-Infrared-PIR-Motion-Sensor-Module-For-Arduino-Raspberry-pi/2019422880.html

Jak propojit s Raspberry. - abych mohl testovat, kdy k události došlo (např. v noci, kdy tam prokazatelně nikdo nebyl - falešný poplach) přidám time.strftime(“%H:%M:%S %Y/%m/%d”)

Co že se to zobrazuje v cestě zde? /sys/devices/platform/gpio-sunxi/gpio/

Jak zabránit zničení flash paměti častým zápisem

Vhodné, hlavně pokud nepoužíváte SATA disk. Tedy hlavně pro případ maliny a ne banánu.

zapisovat co nejméně

Používat speciální distribuce, flash běžně používá jen pro čtení. Při nutnosti zápisu je možné tohle dočasně změnit.

Speciálně upravená live disribuce debianu, ve které je snadné přepínat namontování root oddílu buď jen ke čtení nebo ke čtení i zápisu.

http://archive.nutcom.hu/ipe/ - je třeba použít aktualizovaný release 1, protože to je debian. Release 2 není debian!

http://www.forum-raspberrypi.de/Thread-tutorial-read-only-debian-image

Aby se jednoduchý web pomocí ruby spustil ihned po startu systému přidám do /etc/rc.local

/usr/bin/nohup /root/web.rb>/tmp/nohup.out &

Zdrojový kód web.rb

Zapisovat jinam než na flashku z které bootujeme

Např. na disk v lokální síti, do paměti RAM, na internet, na jinou flash paměť přes USB, na USB/SATA disk.

Pořídit si extra odolnou flash paměť

Banán a počítačová síť

Wi-fi

Firewall - firehal?

http://firehol.org/

Nebo je libo to zbytečně nekomplikovat? - http://debianclusters.org/index.php/NAT_with_IPTables http://www.revsys.com/writings/quicktips/nat.html

Většinou ale stejně stačí stařičký arno-iptables-firewall - viz manuálová stránka - http://manpages.ubuntu.com/manpages/utopic/man8/arno-iptables-firewall.8.html

DHCP server

Musí bít zvláštně nainstalován.

apt-get install isc-dhcp-server

https://wiki.debian.org/DHCP_Server

Statistiky datových přenosů

vnstat ? http://humdi.net/vnstat/

BC:AE:C5:E8:2F:AF

Banán a kamera

http://www.aliexpress.com/store/product/Banana-PI-Camera-can-use-on-Raspberry-PI-Free-Shipment-fast-delivery-time/302756_2040703226.html

Koupil jsem za 24 dolarů.

Návod jak připojit o otestovat https://www.youtube.com/watch?v=lGEAjXEIJ9Q

Tedy

sudo modprobe ov5640
sudo modprobe sun4i_csi0
mplayer tv://

V mém případě jsem ale viděl jen černou obrazovku. Pokud jsem ale před startem kamery ji zakryl prstem, kamera fungovala úspěšně. Je tedy zřejmé, že problém je v inicializaci kamery, kdy kamere se nastaví jako by bylo světla příšlia a potom kromě pohledu z okna vidí jen samou tmu.

Pro automatické nahrání modulů při startu přidám jména modulů do /etc/modules

Postup montáže - nejdřív přípojím kabel k banánu, protože je to poněkud obtížnější a teprve poté druhý konec ke kameře. Část zbarvená do modra jde tam jde na tu stranu, kde je černá plastová úchytka.

Motion

Motion je program, který umí zpracovávat výstup z jedné nebo více kamer, sledovat jestli se “něco nehejbe” a v případě že ano ukládá obrázky či videa do nastaveného adresáře. Defulatně /tmp/motion

Jak udělat aby nebylo jen tma pokud nemám při puštění motion prst na čočce kamery?

http://raspberrypi.stackexchange.com/questions/13818/auto-brightness-bypass-whilst-using-motion

Aby bylo vidět i něco jiného než “tma” je třeba do /etc/motion/motion.conf přidat řádek

mmalcam_control_params -ex sports -ev 25 --shutter 25600

Návod pro začátečníka zde

Případné další kamery mají konfiguraci v souborech thread1.conf , thread2.conf atd.

Odeslání obrázků emailem, nebo upload do jiné lokality je možné provést pomocí volby on_picture_save

Je možné obrázky ukládat např. do dropbox nebo sdílené složky.

VLC

Pokud bych chtěl z jiné lokality pozorovat stream bez ukládání zajímavých událostí, může mi posloužit např vlc.

 
banana.txt · Last modified: 2016/06/03 09:47 (external edit)