miercuri, 29 ianuarie 2014

BeagleBoard si Ubuntu - setarea unui webcam

English: in the previous steps a BeagleBoard Rev C4 was setup to be accessible over internet via SSH and using DDNS (link here), in the following post it is described how to setup a USB memory stick and a USB webcam HD  (like Canyon CNR-FWC120FH). In the end of the setup, fswebcam will start automatically at the boot time, it will take pictures every 20 seconds and it will save them on the USB memory stick with a name like "2013_12_22_13_20_12.jpg" (year_month_day_hour_minute_second.jpg).

These 3 episodes regarding Ubuntu setup on a single board computer can be easy adapted to RaspberyPi or BeagleBone.

Here are 2 time lapse demos from the setup fswebcam / Ubuntu / BeagleBoard / webcam Canyon CNR-FWC120FH:
-film 01
-film 02


For more details please use Google Translate (Romanian to English) and also use the coment area below! 

******************************
Avem o placa BeagleBoard Rev C4 (un single board computer (SBC)), aceasta placa este accesibila de oriunde din internet, are pe ea Linux (Ubuntu), realizarea acestor pasi fiind prezentata in episoadele precendete - aici setup-ul initial si aici partea cu acesibilitatea.

Acum dorim ca placa sa aibe un scop, asadar vom conecta un webcam HD pe USB (am ales Canyon CNR-FWC120FH - este ieftin, este HD si poti modifica manual focalizarea imaginii) si vom seta webcam-ul sa faca la fiecare 20 de secunde o poza si sa o salveze pe un USB memory stick ( care poate fi formatat FAT16 spre exemplu, nu e neaparat necesar sa fie formatat ext3, ext4 sau NTFS).

Si pt ca scopul este unul nobil, vrem sa avem acest dispozitiv plasat in exterior, sa simta stihiile naturii dezlantuite si totusi sa trimita poze :) Pt asa ceva am pus camera Canyon CNR-FWC120FH intr-o cutie de plastic in care suntem siguri ca apa nu va intra (ma refer la ploaie, camera nu este submersibila) si prin care camera sa vad ceva afara. De asemenea in interiorul cutiei e bine sa fie un plic de desicant / silica gel care sa absoarba umiditatea si sa nu lase sa se formeze condens pe sticla de 3cm x 3cm.

Webcam-ul Canyon CNR-FWC120FH l-am fixat in cutie 
pe o bucata de tabla de aluminiu
 
Detaliu din cutie, decupajul pt cablul camerei a fost umplut 
ulterior cu o bucata de guma de sters

Bucata de sticla de 3mm grosime si de 3cm x 3cm


  
Practic am facut un decupaj mare circular in capac, 
apoi am lipit cu silicon un patrat de sticla de 3cm x 3cm.


  
 Am adaugat o piulita pe cutie pt a prinde camera pe un cap de trepied foto uzual 
(capul de trepied foto are un surub cu filet 1/4-20, adica diametrul este de 1/4 inch 
si sunt 20 de pasi de filet per inch, nu e surub metric)




Cap de trepied foto cu ventuza, se poate aplica pe un geam 
(solutie provizorie pt teste, in final va fi ceva fix si mai solid) 

Pasii ce urmeaza (aplicatia) poate fi usor realizata si cu placile RaspberryPi sau BeagleBone de exemplu.

Ok, urmeaza setarea propriu zisa. conectam webcam-ul Canyon CNR-FWC120FH la unul din porturile libere de USB.

Utilizam comanda lsusb care ne arata toate dispozitivele conectate la USB-ul placii BeagleBoard Rev C4

lsusb

Si rezultatul este ceva in genul:
Bus 001 Device 002: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 1c4f:0002 SiGma Micro Keyboard TRACER Gamma Ivory
Bus 001 Device 004: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 001 Device 005: ID 0bda:58b0 Realtek Semiconductor Corp.
Bus 001 Device 006: ID 0b95:772a ASIX Electronics Corp. AX88772A Fast Ethernet
Bus 001 Device 007: ID 0718:061a Imation Corp.
Bus 001 Device 009: ID 12d1:1003 Huawei Technologies Co., Ltd. E220 HSDPA Modem / E230/E270/E870 HSDPA/HSUPA Modem

**Setarea memory stick-ului USB**
Desi memory stick-ul USB este vizibil in sistem, nu putem scrie pe el, nu putem salva fisiere pt ca nu este "montat in sistem" (traducerea lui mount), placa BB doar stie ca il are acolo, dar nu stie ce sa faca cu el.

Fiecare stick USB are un ID unic (UUID) pe care il putem vedea cu comanda

sudo blkid

apare ceva de genul (ultima linie e pt stick-ul USB):

/dev/mmcblk0p1: SEC_TYPE="msdos" LABEL="BOOT" UUID="E80B-B520" TYPE="vfat"
/dev/mmcblk0p2: LABEL="rootfs" UUID="44430f21-f93a-4ce1-8eb0-f1ec0c679654" TYPE="ext4"
/dev/sr0: LABEL="Mobile Partner" TYPE="iso9660"
/dev/sda1: LABEL="storage" UUID="27d1a919-0870-44b4-a4ae-455b1d09111b" TYPE="ext4"


Daca directorul /media/ nu exista pe placa BeagleBoard, il creeam pt ca altfel nu avem unde monta stick-ul USB:
-verificam existenta lui (vrem sa intram in director):

cd /media/

-daca nu exista, il creeam, apoi intram in el:

mkdir /media/


In acest director vom monta memory stick-ul (care in cazul nostru este formatat ca si ext4, pt asta folositi gparted in Linux). Linux are un mod diferit de a accesa resursele, in cazul de fata vom seta ca userul "ubuntu" sa fie stapinul (owner) stick-ului montat in directoul usb_32G:

sudo chown -R ubuntu /media/usb_32G

Pt ca memory stick-ul USB sa fie montat la repornirea sitemului (nu il vom deconecta in timpul functionarii sau nu il vom conecta in timpul functionarii), editez fisierul  /etc/fstab, linia unde este scris UUID=....  (astfel ii spunem placii BeagleBoard ca in /media/usb_32G vrem sa fie montat memory stick-ul USB cu IDul 27d1a919-....).
Pt ca fstab e un fisier important, e bine ca inainte de modificare sa ii facem o copie de siguranta, apoi il editam cu nano: 

sudo cp /etc/fstab /etc/fstab.bak 

sudo nano /etc/fstab

*****
# /etc/fstab: static file system information.
/dev/mmcblk0p2  /            ext4  noatime,errors=remount-ro  0  1
/dev/mmcblk0p1  /boot/uboot  auto  defaults                   0  0
UUID=27d1a919-0870-44b4-a4ae-455b1d09111b       /media/usb_32G  ext4    rw,user 0       0
debugfs         /sys/kernel/debug  debugfs  defaults          0  0

(Ctrl + o, enter (pt salvarea modificarilor) si ctrl + x (parasim nano))

Acum repornim placa BeagleBoard:

sudo reboot

si ar trebui sa avem access la memory stick-ul montat in /media/usb_32G - schimbam directorul curent (comanda cd) si apoi listam continutul directorului curent, directoul media in cazul nostru ( comanda ls):

cd /media/
ls

Si raspunsul:

usb_32G


**Setarea webcam-ului**
Conectam webcam-ul Canyon CNR-FWC120FH la placa Beagleboard, el ar trebui sa fie vazut automat (montat) in sistem daca este din clasa UVC, video0:

ls -l /dev/video*

Si raspunsul:
crw-rw---- 1 root video 81, 0 Dec 14 18:01 /dev/video0
(detalii aici http://www.netinstructions.com/tag/fswebcam/)


Trebuie sa verificam rezolutiile la care poate lucra webcam-ul (parametrul 001:005 (IDul) il luam din ce scoate comanda lsusb de mai sus (pt linia a 6-a, Realtek Semiconductor Corp.)):

lsusb -s 001:005 -v | egrep "Width|Height"

 Ok, acum pe partea de hardware pt webcam-ul Canyon CNR-FWC120FH suntem in regula, avem nevoie de o aplicatie care sa faca pozele, vom lucra cu fswebcam; fswebcam e o aplicatie simpla dar extrem de populara avind multe posibilitati, pt detalii consultati manualul sau revedeti aplicatiile facute de altii:

sudo apt-get install fswebcam

Verificam ca fswebcam functioneaza corect:

fswebcam --device /dev/video0 output.jpeg --verbose

Si raspunsul:
....rc_v4l2_set_pix_format,554: 1: [0x56595559] 'YUYV' (YUV 4:2:2 (YUYV))
Using palette MJPEG
Adjusting resolution from 384x288 to 352x288.
src_v4l2_set_mmap,693: mmap information:
src_v4l2_set_mmap,694: frames=4
src_v4l2_set_mmap,741: 0 length=202752
src_v4l2_set_mmap,741: 1 length=202752
src_v4l2_set_mmap,741: 2 length=202752
src_v4l2_set_mmap,741: 3 length=202752
--- Capturing frame...
Captured frame in 0.00 seconds.
--- Processing captured image...
Unable to load font 'sans': Could not find/open font
Disabling the the banner.
Writing JPEG image to 'output.jpeg'.


Dupa cum se vede fswebcam raporteaza ca nu poate incarca fonturile, este normal, aceste fonturi nu exista, nu sunt instalate; fswebcam foloseste fonturile pt a putea scrie pe imagine, deci le instalam si pe ele:

sudo apt-get install ttf-mscorefonts-installer

Folosesc fonturile Arial TTF instalate in directorul:
/usr/share/fonts/truetype/msttcorefonts/arial.ttf

Cum am mai spus, ca si webcam HD pe USB am folosit un Canyon CNR-FWC120FH caci are un pret bun si se poate ajusta manual focalizarea, majoritatea webcam-urilor sunt focalizate fix pt distanta de 50-60 de cm (caci folosesti un webcam ca sa te vada pe tine interlocutorul, nu pt a arata peisaje). Desi Canyon CNR-FWC120FH are specificatii de full HD, eu personal nu am reusit sa il folosesc la full HD, conectat la placa BeagleBoard Rev C4 am setat maxim rezolutia de 1280 x 960. Webcam-ul necesita sa fie dezasamblat din carcasa lui si trebuie ajustat putin pt a mari intervalul de focalizare (sa poti roti lentila la maxim).

Ca sa verificam cum functioneaza fswebcam la rezolutia 1280 x 960, lansam fswebcam cu urmatorii parametri (detalii sunt in man page-ul lui fswebcam - http://man.cx/fswebcam%281%29 ):

fswebcam -d /dev/video0 -i 0 -l 20 -S 4 -F 7 --no-banner -r 1280x960 --jpeg 90 --save /media/usb_32G/output.jpg -p YUYV --verbose

Pt cei interesati de Canyon si de modul 1280 x 960 pixeli:
--- Opening /dev/video0...
Trying source module v4l2...
/dev/video0 opened.
src_v4l2_get_capability,87: /dev/video0 information:
src_v4l2_get_capability,88: cap.driver: "uvcvideo"
src_v4l2_get_capability,89: cap.card: "FULL HD 1080P Webcam"
src_v4l2_get_capability,90: cap.bus_info: "usb-ehci-omap.0-2.3"
src_v4l2_get_capability,91: cap.capabilities=0x04000001
src_v4l2_get_capability,92: - VIDEO_CAPTURE
src_v4l2_get_capability,103: - STREAMING
src_v4l2_set_input,181: /dev/video0: Input 0 information:
src_v4l2_set_input,182: name = "Camera 1"
src_v4l2_set_input,183: type = 00000002
src_v4l2_set_input,185: - CAMERA
src_v4l2_set_input,186: audioset = 00000000
src_v4l2_set_input,187: tuner = 00000000
src_v4l2_set_input,188: status = 00000000
src_v4l2_set_pix_format,541: Device offers the following V4L2 pixel formats:
src_v4l2_set_pix_format,554: 0: [0x47504A4D] 'MJPG' (MJPEG)
src_v4l2_set_pix_format,554: 1: [0x56595559] 'YUYV' (YUV 4:2:2 (YUYV))
Using palette YUYV
src_v4l2_set_mmap,693: mmap information:
src_v4l2_set_mmap,694: frames=4
src_v4l2_set_mmap,741: 0 length=2457600
src_v4l2_set_mmap,741: 1 length=2457600
src_v4l2_set_mmap,741: 2 length=2457600
src_v4l2_set_mmap,741: 3 length=2457600

Pt ca este incomod sa lansam fswebcam din linia de comanda cu atat de multi parametri, putem folosi un fisier de configurare pt fswebcam pe care il editam cu nano si il salvam in directorul /etc/init.d cu numele fswebcam.conf:

cd /etc/init.d
sudo nano fswebcam.conf

Continutul acestui fisier poate fi ca mai jos (practic sunt continuti toti parametri din linia de comanda):

****************************
device /dev/video0

input 0

skip 3
frames 3

loop 20

background

bottom-banner

banner-colour #FF000000

font /usr/share/fonts/truetype/msttcorefonts/arial.ttf:22

line-colour #40263A93

title "acest mesaj apare cu font de marime mare"

subtitle "sub titlu"

info "alt mesaj"

timestamp "%Y %b %d %H:%M:%S (%Z)"

resolution 1280x960

jpeg 90

save /media/usb_32G/output.jpg

palette YUYV

exec "cp /media/usb_32G/output.jpg   /media/usb_32G/%Y_%m_%d-%H_%M_%S.jpeg"
****************************

Acest fisier de configurare foloseste camera web Canyon CNR-FWC120FH in urmatorul mod (prin intermediul fswebcam):
-la fiecare 20 de secunde face o poza
-poza o salveaza pe memory stick USB cu numele output.jpg (calea este /media/usb_32G/output.jpg)
-poza tocmai salvata o copiaza si redenumeste cu data si timpul curent (de exemplu 2013_09_21_13_23_20.jpeg), in acest fel se va forma o colectie de imagini toate facute la interval de 20 de secunde.

Atentie la sintaxa pt numele fisierului (parametri %Y, %m samd), daca nu sunt acceptati de sistem, comanda nu se executa corect! Pt a verifica modul in care sistemul intelege formatarea datei si a orei, se poate incerca comanda:

date +"%Y-%m-%d %H:%M:%S"
 
Si raspunsul va fi:
2013-12-25 13:22:17

Daca da o eroare, parametrii trebuie ajustati, aici sunt detalii despre formatarea datei si a orei:
http://www.cyberciti.biz/faq/linux-unix-formatting-dates-for-display/

Pt a rula fswebcam cu fisier de configurare, trebuie sa utilizam comanda:

fswebcam -c /etc/init.d/fswebcam.conf

Pt ca in fisier avem un parametru "background", pe ecran nu apare nimic, insa putem vedea ca fswebcam ruleaza in background cu comanda:

ps -A | grep fswebcam

Si raspunsul va fi:
2031 ?        00:00:10 fswebcam

Daca dorim sa oprim fswebcam, utilizam comanda ("omorim" procesul):

pkill fswebcam


Pt ca fswebcam sa inceapa sa ruleze automat la repornirea sistemului, putem folosi un mecanism de incarcare a aplicatiilor la pornirea placii BeagleBoard Rev C4, va trebui sa adaugam linia in portocaliu in fisierul /etc/rc.local linia cu care sa porneasca fswebcam la reboot:

sudo nano /etc/rc.local

**************
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

fswebcam -c /etc/init.d/fswebcam.conf

exit 0
*******************************

Asadar acum avem un webcam care la fiecare 20 de secunde face o poza care este salvata pe un memory stick USB, placa BeagleBoard poate fi accesata din internet, deci ne putem uita la imagini de oriunde dorim noi.

Poate unii sunt interesati sa aibe un flux video in loc de o imagine, recomand pt acest scop sa fie utilizat MJPG-streamer (http://sourceforge.net/projects/mjpg-streamer/), o aplicatie excelenta care iti face posibila vizionarea live a camerei video. De asemenea aplicatia motion ajuta ca inregistrarea sa se faca doar cand se schimba ceva in imagine.

Asa cum am spus si mai sus, din punctul meu de vedere, aceasta aplicatie se poate face si cu RaspberryPi, cu BeagleBone samd.

Aici sunt 2 exemple de time lapse optinute cu fswebcam si setupul BeagleBoard / Ubuntu / camera web Canyon CNR-FWC120FH:
-film 01
-film 02

******************************************
English: in the previous steps a BeagleBoard Rev C4 was setup to be accessible over internet via SSH and using DDNS (link here), in the following post it is described how to setup a USB memory stick and a USB webcam HD  (like Canyon CNR-FWC120FH). In the end, fswebcam will start automatically at the boot time, it will take pictures every 20 seconds and it will save them on the USB memory stick with the name like "2013_12_22_13_20_12.jpg" (year_month_day_hour_minute_second.jpg).

These 3 episodes regarding Ubuntu setup on a single board computer can be easy adapted to RaspberyPi or BeagleBone.

Here are 2 time lapse demos from the setup fswebcam / Ubuntu / BeagleBoard / webcam Canyon CNR-FWC120FH:
-film 01
-film 02

For more details please use Google Translate (Romanian to English) and also use the coment area below!

luni, 13 ianuarie 2014

Conector audio rupt / Broken audio connector - 3.5mm jack

Acum ceva vreme, un jack de 3,5mm (mufa tata audio, de casti) s-a rupt in conectorul mama de pe placa de baza a PCului si a ramas acolo, in interior (s-a rupt in conectorul verde, ala din mijloc in imaginea de mai jos). Am incercat sa scot bucata ramasa in interior cu o penseta, un cleste, dar totul este foarte mic si strimt acolo, pe de alta parte nu ai de ce sa prinzi de bucata rupta.


Bucata rupta, conectorul de sus este fara ea
Broken piece from the male audio jack (upper connector) was inside the female audio connector on the PC mother board. No chance to take it out using pliers, tweezers.










Asa ca m-am gindit sa lipesc de bucata rupta o tija si apoi sa trag bucata afara. Tija a fost o scobitoare, lipirea s-a facut cu super glue, cu protectie din plasticul in care vine tubul de super glue si cu atentie ca sa nu se murdareasca interiorul conectorului mama de la PC (nu ar mai face contact electric, se aude prost sau deloc).

Take a tooth pick, a super glue. Make a plastic cone and insert it into the audio connector. 
Cut the tip of the tooth pick and make it flat, put a blob of super glue and insert it into the female audio connector 

Wait for the super glue to cure (20 minutes to avoid surprises).
Pull the tooth pick with the broken connector.


Fiti generosi cu timpul de lipire, am lasat circa 20 de minute sa se intareasca lipiciul, caci curentul de aer nu e asa de mare, locul fiind strimt si deci nu vroiam sa risc sa trag scobitoarea afara fara nimic la capat.



Virful ascutit al scobitorii trebuie taiat si aplatizat pt o suprafata cat mai mare de contact intre lipici si bucata de conector ramasa captiva. Pe de alta parte puneti doar o picatura de lipici in virful scobitorii, este suficient.

joi, 9 ianuarie 2014

BeagleBoard si Ubuntu - ssh si DDNS

 English: in the previous post, a BeagleBoard Rev C4 was setup hardware wise and Ubuntu was installed as an OS with internet access. In this post, the BeagleBoard Rev C4 will be setup to have SSH access and to have SSH access over Internet using DynamicDNS.
Same setup can be used for RaspberryPi - no fear!

For more details please use Google Translate (Romanian to English) and also use the coment area below!

***************************
PS: aceste instructiuni sunt valide si pentru o placa RaspberryPi.
Avem o placa BeagleBoard Rev C4 la care am legat o tastatura, un mouse, un monitor video cu intrare digitala (HDMI) si conexiune la internet - pasii pt a ajunge la acest nivel sunt descrisi aici.


Configuratie BeagleBoard Rev C4 (sursa imaginii: undeve pe Internet)

Acum putem face cu aceasta placa BeagleBoard Rev C4 (un single board computer) o multime de lucruri, automatizari, putem programa in Python etc. Pt ca procesorul placii (OMAP3530) este doar la 600MHz, eu nu recomand utilizarea unei interfete grafice (GUI - graphic user interface), se va misca destul de lent si pierzi vremea (daca totusi este necesara (spre exemplu usurinta setarii conexiunii 3G (WLAN)), recomand LXDE, pasii sunt descrisi aici). Linux (Unix) foloseste linia de comanda.

In principiu e simplu: scrii comenzi in linia de comanda pt BeagleBoard si le executi. Pt ca nu sti comenzile, ai nevoie sa te dai pe net pt a le afla, pt a le descoepri parametri (sigur ca poti folosi man page-ul unei comenzi, poti folosi help-ul in linia de comanda, dar pt un incepator e mai complicat). Adica stai cu ochii pe 2 monitoare de computer: unul cu Windows / Linux cu interfata grafica si te dai pe net in cautarea solutiilor si in urmarirea documentatiilor de care avem nevoie ca sa lucram cu BeagleBoard Rev C4  si   al doilea monitor la care este legata placa BeagleBoard. Este destul de incomod acest mod de lucru, nu este nici macar optim caci Linux (Unix) a fost gandit pt a fi accesibil altfel, de la distanta (remote access).

Practic putem folosi o metoda (si in Windows si in Linux) cu care sa ne conectam la BeagleBoard si sa ii dam comenzi ca si cum am fi acolo, la tastatura legata la BeagleBoard :)

Pt aceasta avem nevoie sa instalam un server de SSH pe placa BB, in cazul in care nu este instalat deja, verificam asta cu comanda:

ps -A | grep sshd

si raspunsul   
00:00:00 sshd 
indica faptul ca ruleaza deja serverul de ssh, deci nu mai e necesara instalarea serverului de ssh.

Daca este necesara instalarea, instalam openssh-server de la tastaura atasata la BB:

sudo apt-get install openssh-server

Apoi dupa ce avem SSH, trebuie sa configuram anumite detalii. Din motive de securitate, autentificarea se facem din start cu chei de criptare, o metoda mai greu de spart, mai sigura, insa pt aplicatia noastra poate fi dejavantajos (daca folosim mai multe masini (computere) de pe care ne conectam la BB, atunci pe fiecare trebuie sa avem cheile de criptare samd), recomand ca pt moment sa schimbam modul de autentificare cu utilizator si parola (asa cum avem user si password la BeagleBoard, asa putem face si cu conexiunea prin SSH).
(aici sunt explicate setarile https://help.ubuntu.com/community/SSH/OpenSSH/Configuring si aici https://help.ubuntu.com/community/SSH/OpenSSH/Keys)
Editam cu nano fisierul sshd_config de la tastatura atasata la placa BeagleBoard:

sudo nano /etc/ssh/sshd_config

Modificarile le facem in liniile corespunzatoare (din yes, facem no si scoatem comentariul unei linii, adica semnul #):

RSAAuthentication no #era yes
PubkeyAuthentication no # era yes
PasswordAuthentication yes #era comentata linia

PS: daca totusi ne-am conectat inainte de a seta utilizator si parola (din Ubuntu (Linux)) la BB, vom avea cererea de cheie, cum nu am setat-o inainte, vom avea ulterior intrebari enervante de genul "gazda unde vrei sa te conectezi era cu chei, acum e cu parola, sigru vrei sa te conectezi?", pt a scapa de asta, comanda urmatoare sterge aceste setari de pe computerul tau cu Ubuntu (comanda e pt computer, nu pt BB):

rm ~/.ssh/known_hosts

Dupa ce am facut modificarile, trebuie repornita aplicatia (care se cheama proces in Linux) tot de la tastatura legata la BeagleBoard:

sudo restart ssh

Placa BB este legata prin intermediul unui cablu de retea la un ruter la care este legat si computerul cu Windows / Linux de pe care am instalat Linux pe cardul SD (episodul anterior). Practic cand am legat placa BB la ruter, ruterul i-a dat placii BB (prin mecanismul de DHCP) un IP disponibil si placa BeagleBoard se poate conecta la internet. Problema e ca acest IP nu este fix, la fiecare conectare ruterul poate aloca urmatorul IP disponibil in intervalul specificat pt DHCP, de aceea trebuie sa ne conectam la meniul ruterului, acolo sa mergem la sectiunea de clienti conectati si sa vedem ce adresa MAC are placa BB (sau comanda ifconfig -a aplicata placii), apoi setam ruterul ca pt adresa MAC a BB sa ne dea intotdeauna acelasi IP (spre exemplu 192.168.1.15). Lucrul acesta este necesar pt ca altfel nu stim cum sa ne conectam de la distanta la placa BB - nu stim ce adresa IP are placa. (cauta pe Google "how to setup port forwarding " pt ruterul tau si vei gasi detalii).

Daca avem un computer cu Linux, combinatia Ctrl + Alt + t  va deschide un terminal (o fereastra cu linie de comanda) din care ne conectam la placa BeagleBoard. Asadar indicam ca dorim sa ne conectam prin SSH la IPul 192.168.1.15, portul 22 si cu userul ubuntu:

ssh ubuntu@192.168.1.15 -p 22

Vom fi intrebati de parola, dupa care vom avea acces complet la placa BeagleBoard ca si cum am fi in fata tastaturii. Este foarte facil asa caci putem cauta o comanda de Linux pe internet, dam copy si paste in fereastra de acces la BB, simplu, nu? :)

Pt a inchide sesiunea ssh, dam comanda

exit

Daca avem un computer cu Windows, trebuie sa folosim o aplicatie care se numeste PuTTY, aceasta aplcatie este gratuita si ne ajuta sa ne conectam la placa BeagleBoard. trebuie sa specificam adresa IP, portul si ca vrem SSH, apoi ne conectam (se poate salva acest profil astfel incat sa nu fim nevoiti ca de fiecare data sa introducem datele manual).



PuTTY setat pt acces prin SSH din reteaua curenta 
la placa BeagleBoard Rev C4 (cu adresa IP 192.168.1.15)


Aceasta conexiune (si pe Linux si pe Windows) s-a facut cu placa BB si computerul conectate la acelasi ruter (aceeasi retea), adica placa BB avea adresa IP 192.168.1.15, ruterul adresa 192.168.1.1,  computerul avea adresa 192.168.1.9 (doar un exemplu). Daca dorim sa ne conectam din afara retelei la placa BB? Adica am o conexiune la internet si vreau sa ma conectez la placa BB de oriunde din lume.

Aici vom folosi ceea ce se numeste Dynamic DNS (Domain Name Server). Ruterul este conectat la un furnizor de servicii de internet (ISP - internet service provider: RDS, UPS, ClickNet samd). Acest ISP se comporta pt noi ca si un ruter: cand ne conectam, primim urmatorul IP disponibil, care pe deasupra se schimba mai des decat la ruterul de acasa, chiar si la 3-4 ore. Asadar daca pt reteaua noastra a fost simplu sa setam ruterul sa dea acelasi IP placii BeagleBoard, aici nu mai putem face acest lucru, IPul este dinamic. De aceea vom folosi DDNS (dynamic DNS (Domain Name Server)).

Pt DDNS, recomand un cont gratuit pe freedns.afraid.org (se seteaza simplu). Acolo poti aloca un subdomeniu gen domeniulmeu.mooo.com (verificati daca este disponibil).

Mai trebuie instalata o aplicatie pe placa BB, se numeste inadyn:

sudo apt-get install inadyn

Apoi urmariti instructiunile de aici: http://ubuntuforums.org/showthread.php?t=1758930    si aici este explicat ce anume este Dynamic DNS: 
https://help.ubuntu.com/community/DynamicDNS  

Doar atat: verificam ca inadyn ruleaza:

ps -A | grep inadyn

si raspunsul e de in genul:
  00:00:00 inadyn

Mecanismul este in felul urmator: ai cont pe freedns.afraid.org (adresa domeniulmeu.mooo.com), ai instalat inadyn pe placa BB. inadyn verifica ce IP dat de ISP are ruterul tau, apoi se conecteaza la contul de pe freedns.afraid.org si acolo scrie acest IP, astfel ca intotdeauna adresa IP curenta este asociata adresei domeniulmeu.mooo.com de pe freedns.afraid.org. Deci tu vei accesa adresa domeniulmeu.mooo.com si de fapt te vei conecta la adresa IP curenta data de ISP ruterului de acasa.

Acum trebuie ca ruterul sa fie invatat sa puna placa BB in legatura cu noi prin internet: ne conectam la ruter (browser de internet si adresa 192.168.1.1 sau in genul) si mergem la meniul de port forwarding unde setam ca atunci cand vine o cerere catre IPul ruterului, acea cerere daca e pt portul asociat la SSH (22 in cazul nostru), sa fie directionata catre adresa IP a placii BeagleBoard (192.168.1.15 in cazul nostru).

Daca sunt probleme si nu functioneaza DDNSul, verificam ca daemon-ul de ssh este activ:

ps -A | grep sshd

Daca este pornit, este posbil ca el sa asculte alt port decat cel pe care vrem noi sa ne adresam (alt port diferit de portul 22):

sudo ss -lnp | grep sshd

Conectarea se face foarte simplu, folosim tot PuTTY in Windows (sau Linux / Ubuntu):


PuTTY setat pt acces prin SSH din exteriorul retelei (din Internet)
la placa BeagleBoard Rev C4 prin  Dynamic DNS 
(domeniul "domeniulmeu.mooo.com" de pe freedns.afraid.org)

De asemenea se poate folosi in Linux in linia de comanda extrem de simplu:

ssh ubuntu@domeniulmeu.mooo.com -p 22

Asadar acum avem o placa BeagleBoard care ruleaza Ubuntu si care poate fi accesata de oriunde din Internet prin SSH cu ajutorul DDNS. 

Pentru RaspberryPi, se pot folosi aceeasi pasi ori instructiunile de la link-urile urmatoare:
http://www.techjawab.com/2013/06/setup-dynamic-dns-dyndns-for-free-on.html

http://people.virginia.edu/~ll2bf/docs/nix/rpi_server.html

***************************
 English: in the previous post, a BeagleBoard Rev C4 was setup hardware wise and Ubuntu was installed as an OS with internet access. In this post, the BeagleBoard Rev C4 will be setup to have SSH access and to have SSH access over Internet using DynamicDNS.

For more details please use Google Translate (Romanian to English) and also use the coment area below!

Linux Ubuntu pe BeagleBoard - setup initial

English: tutorial on how to perform the hardware setup on a BeagleBoard Rev C4 (power supply, USB hubs, USB memory stick, webcam), how to install Ubuntu on a BagleBoard Rev C4 on SD card, how to connect the board to a wired internet connection and to a wireless connection, how to install a graphic user interface (GUI) LXDE.


For more details please use Google Translate (Romanian to English) and also use the coment area below! 

Next episode: here

**************
In ultimul an tabletele si telefoanele inteligente au devenit ceva cu adevarat banal. Privind in detaliu, trebuie remarcat ca un telefon inteligent este de multe ori mai puternic decat un PC 286, 386, 486 samd din anii '90, puterea de calcul a unui telefon inteligent (smart phone) permite rularea de aplicatii care pe un 286 - 486 parea desprinsa din cartile de SF, procesoarele utilizate acum sunt incredibile. Totul este mult mai mic, totul este mult mai puternic si consuma foarte putina energie. Si mai ales se produce in masa, astfel ca preturile ar trebui sa fie mici.

Cineva si-a pus problema de a utiliza un astfel de procesor similar cu cel dintr-un telefon inteligent pe o placa electronica pe care sa aibe posibilitatea de a conecta dispozitive USB, monitoare video, alte dispozitive electronice (prin I2C, SPI, port serial etc). Toata placa respectiva trebuia sa fie guvernata de un sistem de operare necomercial, OpenSource si sa fie accesibila amatorilor, hobby-stilor (nu hobbitilor :) ).

Asa au aparut o sumedenie de placi, single board computer (SBC): BeagleBoard, BeagleBone Black, RaspberryPi etc. Aceste placi folosesc o memorie gen SD card sau micro SD, pe care este sistemul de operare. Asadar in 30 de minute poti scrie sistemul de operare pe cardul SD, conectezi un mouse, o tastatura, un monitor, un microfon, boxe audio, un web cam USB si legi un cablu de retea (sau un dongle WiFi pe USB) si gata, ai un computer cu care poti naviga pe intenet, poti asculta muzica, poti vedea filme, poti avea convorbiri pe Skype (video si audio). Totul la un cost redus (vedeti singuri preturile, nu are sens sa le dau aici, ele variind).



De asemenea poti invata programare folosind acest setup, poti folosi acest setup pt a automatiza diverse operatii, poti sa il legi la un TV plat si sa il faci media center, iti poti automatiza diverse operatii chiar si in mediul industrial.

Prin 2008 am facut rost de un BeagleBoard Rev C4 (il numim de aici mai departe BB pt usurinta scrierii), nu am facut mari minuni cu el. Din 2008 multe lucruri s-au schimbat in lumea SBC, dar relativ neschimbata este cantitatea de material in limba romana despre aceste aplicatii ceea ce pentru unii tovarasi din Romania (de toate virstele) este un impediment de a pune in realitate ideile lor, nu cred ca replica "sa invete engleza!" este solutia (e oarecum echivalenta cu replica "-Ce vor acesti oameni? -Le este foame Alteta, nu au paine! - Pai de ce nu maninca cozonaci?"). Asadar aici este motivatia de a scrie despre BeagleBoard cand netul duduie de explicatii, sper sa va ajute sa incepeti ceva, sa faceti o chestie performanta made in Romania (cu aplicabilitate si in RaspberryPi, BeagleBone samd).

Articolul explica cum se poate face un setup cu un SBC (single board computer) tip BeagleBoard Rev C4: un webcam HD online, conectabil prin 3G (modem USB Huawei E220) / Ethernet / WiFi (un USB WiFi dongle D-Link DWA-110), care face poze la 20 de secunde, le salveaza pe un memory stick local, la fiecare 5 minute SBCul trimite o poza prin FTP pe un webserver.


SBCul are un server de SSH, un server de SFTP, un client de SFTP, are instalat Python. Prin I2C am conectat un senzor de presiune atmosferica BMP085 care returneaza si temperatura, aceste date sunt inregistrate intr-un fisier, sunt trimise si catre un webserver. Cu alte cuvinte, avem o camera video care ne ajuta sa monitorizam vremea (vezi cum e afara, sti temperatura si evolutia presiunii atmosferice - weather webcam, meteo webcam).

Senzorul de presiune atmosferica BMP085

Senzorul de presiune atmosferica BMP085

Acest articol este util pt ca un difera de la SBC la SBC modul in care instalezi Linuxul pe SBC, in mare aplicatiile si pachetele sunt la fel. De asemenea articolul doreste sa fie util, poate sa deschida calea cititorilor de limba romana, in engleza exista material pe tema asta (cum sa nu fie cand plac e destul de matura), am mai spus-o si o mai spun: spiritul Tehnium, spiritul acela de a face ceva singur dispare si din cauza lipsei accesului la informatie, nu sti efectiv de unde sa incepi, gasesti fragmente pe care uneori nu ai timp sau nu esti in stare sa le pui la un loc sa obtii ceva. Sper sa fie de ajutor.

BeagleBoard Rev C4 fiind mai vechi, are doar un port USB, nu are conector de retea pe placa, asa ca trebuie folosit un hub USB cu port de retea si care sa aibe alimentare externa (pt a putea folosi un mouse si o tastatura si pt conectarea la internet, e cel mai facil mod de a instala aplicatii si alte pachete, de a face update si upgrade). De asemenea e necesar un card SD de minim 4GB (sau maxim 8GB).

Mai e necesar sa avem alimentare externa pt BB (5V), un adaptor din ala care se baga in priza si are un cablu cu conector de 5mm cu 5V (ca si conectorul din dreapta, cu +5V in centru).

Conector de conductori electrici folosit pt cablurile de alimentare


  
Alimentarea - o sursa in comutatie, buck, de la 12V face 5V pt hubul USB 
si pt BeagleBoard Rev C4


Sa incepem: intai trebuie pregatit cardul SD pe care vom instala sistemul de operare, in cazul de fata vom folosi o distributie de Linux pt tipul de procesor de pe BeagleBoard Rev C4, avem Ubuntu, ceea ce este bine pt ca este extrem de popular si pt multe probleme, gasesti solutii pe internet. In mod cert nu esti primul care are problema respectiva si in mod cert cineva a facut un efort si a scris pe internet despre asta :)



Cardul SD (poate fi folosit si un card micro SD cu adaptor SD) trebuie sa aibe 2 partitii, prima de 50 MB si sa fie FAT32, iar ce ramine trebuie sa fie EXT2 sau EXT3 (partitie de Linux / Unix). Pt ca pe BB instalam Linux, pt usurinta am folosit un computer cu Linux, daca nu ai asa ceva si nu vrei sa instalezi Linux (recomand Ubuntu), poti sa bootezi Linux de pe un CD sau poti sa instalezi o masina virtuala pe PCul tau si ai un computer intr-un computer :) (detaliile le are colaboratorul nostru Google, tutorialul pt instalarea Ubuntu / masina virtuala in Windows este departe de scopul acestui articol, plus ca exista si Ubuntu Romania cu documentatie in limba romana).

Daca totusi nu vreti sa folositi Ubuntu, se poate folosi si Windows, dar cred ca este mai complicat si sunt lenes, nu imi place sa ma complic. Daca folositi Windows, puteti incerca sa instalati o masina virtuala (detalii aici)

Asadar avem un computer cu Linux, Ubuntu in cazul meu. Trebuie sa dam jos (dowload) pe computerul cu Linux distributia de Linux pt placa BB si sa o instalam pe cardul SD -  aici, pe elinux.org sunt pasii , sunt detaliati la sectiunea "Saucy 13.10". Imaginile de Ubuntu de pe acest site sunt modificate lunar, deci daca instalati acum o imagine, peste o luna imaginea de pe elinux.org va fi usor diferita, poate e bine sa salvati imaginile la voi (unele imagini pot avea probleme, vorbim de un mediu care este viu, se dezvolta, uneori merge, alteori nu).

Deschid un terminal in Ubuntu (Ctrl+Alt+T) si dau jos imaginea pre-compilata, spre exemplu Raring 13.03 (luati ultimile imagini de pe site, dar aveti grija ca se poate ca anumite imagini sa nu functioneze pe BB
, daca una nu merge, nu disperati, luati alta, nu merge Saucy, luati Raring sau luati una mai veche samd):

wget https://rcn-ee.net/deb/rootfs/raring/ubuntu-13.04-console-armhf-2013-11-15.tar.xz


Verificam integritatea arhivei:

md5sum ubuntu-13.04-console-armhf-2013-11-15.tar.xz

raspunsul trebuie sa fie: 6692e4ae33d62ea94fd1b418d257a514

Dezarhivam imaginea (dureaza circa 30 de secunde si nu apare nimic pe ecran, doar trecerea la un prompt nou indica finalizarea):


tar xf ubuntu-13.04-console-armhf-2013-11-15.tar.xz 

Intram in directorul unde am dezarhivat:

cd ubuntu-13.04-console-armhf-2013-11-15

Acum trebuie sa stim care este cardul SD, sa stim unde instalam imaginea:
 

sudo ./setup_sdcard.sh --probe-mmc

 Raspunsul e ceva similar, ca mai jos:

Are you sure? I Don't see [/dev/idontknow], here is what I do see...

fdisk -l:
Disk /dev/sda: 320.1 GB, 320072933376 bytes
Disk /dev/sdb: 4043 MB, 4043309056 bytes

lsblk:
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 298.1G  0 disk
├─sda1   8:1    0  14.9G  0 part [SWAP]
├─sda2   8:2    0  59.6G  0 part /
└─sda3   8:3    0 223.6G  0 part /home
sdb      8:16   1   3.8G  0 disk
└─sdb1   8:17   1   3.8G  0 part /media/cata/CANON_DC

In acest examplu, /dev/sdb este cardul SD (fiind luat de la un aparat foto) si el trebuie folosit mai departe.

Instalarea imaginii se face usor pt ca ceea ce am dat noi jos contine si un script care automatizeaza procesul de instalare:
 

sudo ./setup_sdcard.sh --mmc /dev/sdb --uboot beagle

Apare ceva de genul (la final):
............

Finished populating Boot Partition
-----------------------------
Populating rootfs Partition
Please be patient, this may take a few minutes, as its transfering a lot of data..
-----------------------------
/home/cata/ubuntu-13.10-console-armhf-2013-09-26/armhf-rootfs-ubuntu-saucy.tar
 409MB 0:01:36 [4.25MB/s] [===========================================>] 100%           
Transfer of data is Complete, now syncing data to disk...
-----------------------------
Finished populating rootfs Partition
-----------------------------
setup_sdcard.sh script complete
-----------------------------
The default user:password for this image:
ubuntu:temppwd
-----------------------------



Dupa ce se termina instalarea (aprox 3-4 minute), dam unmount la cardul SD, il bagam in BB si pornim placa BB. Pe monitorul legat la placa BB (monitorul trebuie sa aibe intrare digitala, BeagleBoard Rev C4 are doar iesire HDMI (S-Video nu e de interes)) ar trebui sa vedem un prompt unde introducem la user ubuntu si la parola temppwd.








In acet moment placa BeagleBoard nu are conexiune la internet, activarea conexiunii se face simplu cu 3 comenzi (pt conexiune prin cablul de retea, nu fara fir - wireless / WiFi):
 

sudo ifconfig -a
sudo dhclient eth0
sudo ifconfig -a




Hub USB cu 3 porturi USB si cu port Ethernet pt conexiunea la retea 
a placii BeagleBoard Rev C4 (care nu are port Ethernet instalat)





Cablul conectat la portul Ethenet de la hub-ul USB

Un alt hub USB cu 4 porturi USB cu alimentare externa, dezasamblat

Hub-ul USB de mai sus, alimentarea externa se poate face cu un conector 
ca in imagine (ii lipesti tu cablul)

Alt hub USB cu 4 porturi si alimentare externa

Un hub USB cu 4 porturi USB (unul e in lateral si 3 in fata), 
care a fost modificat pt alimentare externa
  
Alimentarea externa adaugata la hub0ul USB

Hub-ul USB in uz, are conectat un memory stick USB (32GB), 
un mouse optic USB si un modem pt internet mobil Huawei E220


Linux-ul poate parea extrem de inaccesibil, linia de comanda este chiar demotivanta, insa totul este simplificat azi din cauza informatiei disponibile pe internet: multi au avut diverse probleme, multi au postat solutiile si deci poti rezolva aceasta demotivare simplu :)

Linux-ul foloseste fisiere in care sunt scrisi parametri diverselor procese (programe) care fac Linuxul sa functioneze intr-un anumit mod, deci pt a seta anumite lucruri in Linux e necesar sa editam acele fisiere. Editare se poate face cu vi, dar consider ca este putin cam alambicat, sa ii lasam pe adevarati sa se joace cu vi-ul, eu recomand sa fie instalat un editor relativ mai intuitiv, nano se cheama.

Asadar avem conexiune la internet, deci putem instala nano (daca nu e deja inclus in distributie):
 

sudo apt-get install nano

Pt a putea avea nano drept editor principal pt texte / fisiere, trebuie adaugata o variabila in /etc/environment (deschidem pt editare fisierul):


sudo nano /etc/environment

Adaugam variabila EDITOR va fi ca mai jos:
EDITOR="nano"

(apoi Ctrl + o si Enter pt salvare, apoi Ctrl + x pt iesire)

Daca in acest moment mod reporni BB, la repornire nu mai avem conexiune la retea, asadar pt ca la pornire (boot-are) sa fie conexiune de retea (prin cablu prin hubul USB), trebuie sa editam cu editorul nano fisierul interfaces:
 

sudo nano /etc/network/interfaces

Trebuie sa adaugam cele de mai jos (sau scoatem comentariile acestor 2 linii):
## Configurarea unei adrese IP dinamice si conectarea automata prin cablu (interfata eth0)
auto eth0
iface eth0 inet dhcp


# sau pt conectarea prin WiFi (interfata wlan0 care este un USB WiFi dongle D-Link DWA-110)
auto wlan0
iface wlan0 inet dhcp
    wpa-ssid "Numele retelei"
    wpa-psk  "parola"


Salvam (Ctrl + o, enter, Ctrl + x) si dam un sudo reboot pt a verifica daca avem conexiune la internet. Ar trebui sa avem :)

Alta cale de a avea conexiune la bootare: editam cu nano fisierul rc.local, adaugam inainte de “exit 0” urmatoarele:
 

sudo nano /etc/rc.local

# By default this script does nothing.
sudo dhclient eth0
exit 0

Recomand schimbarea parolei userului ubuntu (initiala este temppwd):
 

sudo passwd ubuntu

Atentie: in Linux conteaza literele mari (majuscule) sau mici, conteaza daca lasi un spatiu sau daca nu lasi un spatiu in anumite comenzi samd.

Pt ca BB foloseste un SD card si pt ca un SD card sau memory stick USB are cicluri limitate de scriere (adica se strica relativ repede pt ca Linux tine o gramada de loguri), e bine sa folosim o aplicatie ce scrie logurile in memoria RAM, daca pt noi nu sunt importante. Vom utiliza ramlog


Trebuie instalat inainte lsof:

sudo apt-get install lsof

Instalam ramlog - ca in descrierea de aici:
http://www.tremende.com/ramlog/index.htm#install_2



wget http://www.tremende.com/ramlog/download/ramlog_2.0.0_all.deb
sudo dpkg -i ramlog_2.0.0_all.deb

Apoi un reboot:

sudo reboot

Verificam daca ruleaza
 

/etc/init.d/ramlog status
 

si trebuie sa raspunda: ramlog is running...

In caz de probleme, verificam logurile:
 

more /var/log/ramlog

Daca rulezi ramlog si vrei sa fi sigur ca functioneaza ok:
 * rebootam BB de 2 ori
 * verificam logul ramlog ca porneste / se opreste. Daca apare similar ca mai jos, ramlog functioneaza bine:
 

more /var/log/ramlog

si raspunsul trebuie sa fie in genul:

Saving logs to hdd:                                      [  OK  ]
Stopping ramlog:                                         [  OK  ]
Starting ramlog-tmpfs 2.0.0:                       [  OK  ]


Din cauza ca placa BeagleBoard nu are o baterie care sa tina minte timpul (data si ora), cand deconectam placa de la alimentare, setarile se vor pierde. Ubuntu are instalat un mecanism cu care isi ia ora si data din exterior cu conditia sa fie conexiune la internet - ntpdate este serviciul care vine instalat in configuratia standard si care la bootare, incearca sa gasesca ora si data corecte. Totusi este posibil ca ceasul sa o ia inainte sau sa ramina in urma pe placa BB, asa ca e bine ca sa spunem cat de des sa se faca aceasta corectie (macar zilnic) -  rulam un cron job zilnic: creeam un fisier cu nano si adaugam in fisier

sudo nano /etc/cron.daily/ntpdate

Adaugam in fiserul gol linia: "ntpdate ntp.ubuntu.com" (Ctrl + o, Enter pt salvare si Ctrl + x pt iesire din nano). Fisierele, actiunile si utilizatorii in Linux au diverse permisiuni si proprietati, astfel ca acest fisier pe care noi il dorim executat zilnic (actiunea de corectie a timpului si a datei) trebuie permisa:

sudo chmod 755 /etc/cron.daily/ntpdate

Problema e ca fusul orar nu e cel corect, ora e cu vreo 4 ore in urma:

date
 

Fri Dec 13 23:45:05 UTC 2013

Solutia pe care eu am aplicat-o este instalarea lui tzdata (time zone data):

sudo dpkg-reconfigure tzdata

Current default time zone: 'Europe/Bucharest'
Local time is now:      Sat Dec 14 01:48:08 EET 2013.
Universal Time is now:  Fri Dec 13 23:48:08 UTC 2013.




  
Deci iata schimbarea:

date
 

raspuns Sat Dec 14 01:48:56 EET 2013

Linux-ul proaspat instalat posibil sa aibe nevoie de update-uri in anumite parti, alte parti pot fi upgradate si dupa instalare ramin anumite parti care pot fi considerate un fel de reziduuri, care trebuie sa fie curatate (clean up). Urmatoarele comenzi sunt utile in acest sens (dureaza un timp mai lung executia lor):
 

sudo apt-get update
sudo apt-get upgrade
sudo apt-get clean

 
In acest moment placa BeagleBoard este gata de utilizare. Cum spuneam setarea / instalarea Linux-ului pe un SBC reprezinta partea diferita, restul operatiilor care se pot realiza cu un SBC gen BeagleBoard sunt comune la toate placile. 


PS: daca doriti sa aveti o interfata grafica, LXDE este alegerea caci BeagleBoard nu are resurse ca un computer real, iar LXDE este o interfata grafica (GUI) care nu cere multe resurse. Este utila caci anumite setari se pot face mult mai lejer cu interfata grafica decat din linia de comanda (spre exemplu accesul la reteaua mobila 3G prin dongle USB). Instalarea este simpla:

sudo apt-get install lxde

Dupa instalare, conectati un mouse si o tastatura, ar trebui sa porneasca LXDE, daca nu, rulati comanda:

startlxde

Pe monitorul conectat la BeagleBoard Rev C4 va apare o minunata interfata grafica LXDE, aveti rabdare caci se misca lent, doar aveti un computer la 600MHz :)


Cateva masuratori legate de consum: totul are un alimentator de 12Vcc care merge catre un convertor coboritor in comutatie (buck) care da cei 5 Vcc necesari placii, necesari hub-urilor USB si celorlalte periferice USB. Am masurat curentul imediat dupa alimentatorul de 12Vcc, cand estedeschid ferestre, navighez pe internet etc, trage aproape 800 mA, de vina fiind partea grafica, in rest (cand nu utilizez partea grafica), pina in 500 mA.

Adica 6W pt un SBC, ceea ce nu e rau (e drept ca la un laptop mai sunt si un panel LCD care trage si el un curent etc).

Episodul urmator: aici.

*********************************************************
English: tutorial on how to hardware setup a BeagleBoard Rev C4 (power supply, USB hubs, USB memory stick, webcam), how to install Ubuntu on a BagleBoard Rev C4 on SD card, how to connect the board to a wired internet connexion and to a wireless connection, how to install a graphic user interface (GUI) LXDE.

For more details please use Google Translate (Romanian to English) and also use the coment area below!