====== 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>
usb_restric_gpio = port:PH00<1><0><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 ==
Tedy chybí i v bananianu.
http://blog.valitov.me/2014/06/installing-google-chromium-on-arm.html?m=1
Lze ale (asi) použít balíčky např raspbianu nebo lubuntu.
http://blog.valitov.me/2014/06/installing-google-chromium-on-arm.html?m=1
===== 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.
[[http://openmicros.org/index.php/articles/94-ciseco-product-documentation/raspberry-pi/217-getting-started-with-raspberry-pi-gpio-and-python|python]]
Pro Rasoberry
apt-get install python python-dev python-pip
pip install RPi.GPIO
[[http://wiki.lemaker.org/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
[[http://wiki.lemaker.org/WiringPi|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
[[http://www.raspberrypi-spy.co.uk/2013/01/cheap-pir-sensors-and-the-raspberry-pi-part-1/|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///
===== Návod jak ovládat relátka českého výrobce selfcontrol =====
[[:selfcontrol|přes usb]]
====== 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 &
[[http://www.odorik.cz/w/selfcontrol#seznam_rozpojenych_jisticu|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ěť =====
Edice industrial. http://www.soselectronic.cz/embedded-systemy/v4030-pamatove-karty?p=APACER
======= Banán a počítačová síť =======
===== Wi-fi =====
http://www.root.cz/clanky/banana-pi-r1-konfigurace-wifi-a-vytvoreni-bridge/
http://12244.wpc.azureedge.net/8012244/drivers/rtdrivers/cn/wlan/0001-RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911.zip
===== 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
[[http://pingbin.com/2012/12/raspberry-pi-web-cam-server-motion/|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í, [[http://xmodulo.com/live-stream-video-webcam-linux.html|může mi posloužit např vlc]].