Archivi tag: linux

Creazione pacchetto enigma2

Dopo aver compilato l’immagine enigma2

Immagine Enigma 2

mostriamo come creare un package.

Nella cartella recipes-local

creaimo una cartella per il nostro package, ad esempio testpackage, e una sottocartella files

Creare del codice nella cartella files, ad esempio testpackage.c

Creiamo il file Readme.txt nella cartella files  e LICENSE nella cartella testpackage.  Nel file Readme.txt vi sono le informazioni sulla applicazione. Per la licenza, che al momento si può lasciare anche vuoto, occorre create l’hash da inserire nel file bitbake.

Creare il file md5 per la licenza

Creaimo il file bitbake testpackage_0.1.bb sotto la cartella testpackage per la cross compilazione

Compiliamo il pacchetto ad esempio per zgemma accedendo all’ambiente dedicato a tale sistema con

Il file viene generato nella seguente cartella

Copiare il pacchetto testpackage_0.1-r0_mips32el.ipk sullo ZGemma H3 nella cartella /tmp ed eseguire

Per forzare l’installazione senza tenere conto dei prerequisiti

L’eseguibile è presente nella cartella /usr/bin; la sua esecuzione ci dà l’output che ci si aspettava

Compilazione Immagine Enigma2 OpenATV

In questo articolo descriviamo come preparare una immagine Enigma2 basata sulla distribuzione OpenATV

Openatv

 Dopo aver installato l’ambiente di compilazione, come descritto nel blog

Preparazione ambiente Debian

si può procedere come segue.

Collegarsi sull’ambiente Debian con l’utenza da utilizzare per la compilazione; nel nostro caso l’utenza è sviluppo. Nella home directory dell’utente creare la cartella enigma2

 Installare i seguenti pacchetti

Riconfigurare la shell come segue

Scegliere No come opzione.

Creare la cartella openatv sotto enigma2

Creare una cartella sources sotto openatv; tale cartella conterrà i sorgenti dei vari tipi di dispositivi che si vogliono compilare

Clonare in locale il repository git della oe-alliance

Al termine del download entrare nella cartella build-envinronment ed eseguire make

Editare ora il file site.conf e modificare il parametro della cartella di download dei sorgenti  da

a

Dalla cartella build-environment eseguire la compilazione della immagine; ad esempio per il decoder Airdigital Zgemma H2H

Per il decode Xtrend et10000

Al termine della compilazione l’immagine è presente nella cartella sotto deploy a seconda del dispositivo di cui si è compilata l’immagine: nel caso dello Zgemma H2H

immaginezgemma

L’immagine da installare sul dispositivo è lo zip che viene generato dal processo di compilazione, da scompattare in questo caso su una penna USB e caricare sullo Zgemma H2H.

ATTENZIONE: L’installazione dell’immagine generata sul dispositivo è a vostro rischio e pericolo. Non ci assumiamo alcuna responsabilità nel caso tale installazione generi malfunzionamento o blocco del dispositivo.

Scheda di sviluppo Beaglebone

In questo articolo si descrive brevemente la scheda di sviluppo Beaglebone Black. Quanto detto è applicabile anche alle sue derivate (Green, Enhanced) per la maggior parte delle informazioni

Schede Beaglebone Black

Dal link precedente vi è la tabella di comparazione fra i vari modelli.

La scheda è frutto di un progetto Opensource con tutti gli elementi della stessa distribuita sul sito

Design file Beaglebone Black

Di seguito le caratteristiche principali del Beaglebone Black Rev. C (le altre versioni differiscono rispetto alla Black).

ProcessoreTexas Instruments Sitara AM3358BZCZ100, 1GHz, 2000 MIPS
Scheda GraficaSGX530 3D, 20M Poligoni/s
Memoria512 MB DDR3L 800Mhz
Flash a bordo4Gb, 8bit Embedded MMC
Pin Analogici7
Pin Digitali65 (3,3V)
PMIC (Power management integrated circuits)TPS65217C PMIC e un LDO (Low Dropout Regulator) addizionale
Debug20 pin JTAG CTI opzionale, Header seriale
AlimentazioneMini USB, Ingresso DC, 5V DC con Header di espansione
Indicatori1 Alimentazione, 2 Ethernet, 4 Led gestibili dall'utente
USB client PortAccesso a USB0, client mode con mini USB
USB Host PortAccesso a USB1, socket tipo A, 500 mA LS/FS/HS
Porta serialeAccesso UART0 con Header 6 pin 3,3 V TTL
Ethernet10/100 RJ45
Connettore SD/MMCmicroSD 3,3 V
Input utentePulsante di Reset, Pulsante di Avvio, Pulsante di Alimentazione
Uscita Video16b HDMI, 1280x1024 (MAX)
AudioVia HDMI, Stereo
Interfacce Supportate4x UART, 8x PWM, LCD, GPMC, MMC1, 2x SPI, 2x I2C, A/D Converter, 2xCAN Bus, 4 Timers, 2 PRU
Peso39,68 grammi

Dal link

Beaglebone Black Wiki

vi è una descrizione completa di tutte le caratteristiche e sofware compatibile. Il documento System Reference presente come link nel sito sopra indicato è scaricabile dal link

System Reference Beablebone Black

La scheda essendo Opensource e con molte uscite e controlli integrati si presta molto bene alla prototipazione di sistemi IOT, Automazione, Domotica. L’espansione di funzionalità hardware può essere eseguito mediante l’ultizzo di schede di espansione chiamate Cape

Beaglebone cape

La distribuzione  di cui ci occuperemo per la scheda Beaglebone Black è Debian. Sulla distribuzione Debian per Beaglebone è presente anche Cloud9

Interfaccia Cloud 9

che permette di interagire in modo semplice con l’hardware presente sul Beaglebone Black. In  articoli successivi si descrive l’installazione, creazione della immagine e vari utilizzi della scheda.

Di seguito il link alle caratteristiche software ed hardware della scheda; in particolare sono riportati i pin di ingresso/uscita del Beaglebone Black

Beaglebone Black software and hardware

La scheda può essere acquistata seguendo i link indicati sul sito

Acquisto Beaglebone Black

da siti di vendita online o da negozi di elettronica.

Abilitazione Desktop Remoto su Armbian in Orange Pi PC

Per abilitare il server di desktop remoto su Armbian per Orange PI PC collegarsi in ssh sulla scheda

loginEliminare, se presenti, i seguenti pacchetti

Installare i pacchetti

A questo punto è possbile collegarsi in desktop remoto sul sistema.

Remote Desktop ConnectionEseguire il login con l’utenza creata al momento della configurazione di Armbian

Remote Desktop_LoginOra si può lavorare remotamente sulla scheda Orange PI PC

Remote_Desktop

 

Avvio immagine Armbian su Orange PI PC

Dopo aver creato la scheda con l’immagine Armbian per Orange PI PC

Immagine Armbian su scheda micro sd

possiamo inserire la scheda sull’Orange PI PC e si avvia il dispositivo. Dopo aver esteso la partizione sulla scheda sd viene richiesto il login come root con password 1234. Successivamente viene richiesto il cambio di password. Dopo il cambio della password di root viene abilitata la creazione di una utenza di Debian, ad esempio user1. Si immettono le informazioni richieste e si accede alla interfaccia grafica a risoluzione di default. Per cambiare la risoluzione eseguire il seguente comando

Viene mostrata la lista delle opzioni; per una risoluzione 1080p60 eseguire

 Si passa alla riconfigurazione della tastiera e delle lingue.

Eseguire

per impostare le lingue.

Per riconfigurare la tastiera eseguire

Compilazione immagine Openelec per Orange PI PC

Descriviamo ora come procedere alla compilazione dell’immagine Openelec per la scheda Orange PI PC.

Dal forum di Orange PI PC, nella sezione relativa ad Openelec gli sviluppatori hanno inserito i passi da eseguire per la compilazione dell’immagine

FAQ Openelec Orange PI PC

In blog precedenti si è descritto come installare debian e come trasformare il file script.bin per l’uscita compatibile alla risoluzione accettata dal nostro TV

Preparazione Debian

Modifica risoluzione uscita

Il processo dura parecchio tempo; è consigliabile l’utilizzo di processori multicore per velocizzare la compilazione.

Creiamo una cartella openelec sotto orangepi e spostiamoci in essa

Installare i seguenti pacchetti

Scarichiamo i sorgenti da github con il comando

Al completamento della operazione accedere nella cartella OPENELEC-OPIPC

Eseguire il comando

Il processo controlla i prerequisiti e richiede l’installazione di pacchetti aggiuntivi

Si da l’OK e le relative password; dopo l’installazione dei prerequisti procede alla compilazione del sistema.

Nella cartella target sono dispobili i file per l’installazione:

  1. Il file con estensione .img.gz è da scompattare e trasferire su una scheda sd come visto nei blog precedenti.target
  2. Il file con estensione .tar è da copiare nella cartella updates per consentire l’aggiornamento automatico del sistema da una versione precedente facendo ripartire l’Orange PI PCupdate

Modifica risoluzione uscita video Openelec su Orange PI PC (Parte2)

Dopo aver installato e compilato gli strumenti sunxi per la gestione dello script.bin

http://www.microdev.it/wp/it/2016/07/29/modifica-risoluzione-uscita-video-openelec-su-orange-pi-pc-parte1/

siamo ora in grado di apportare le modifiche necessarie per variare la risoluzione di uscita della nostra scheda.

Copiare nella cartella scriptfile il file binario script.bin.

Dal link di sunxi è possibile visionare la guida sui parametri del file fex

Guida Fex

Con il tool compilato trasformiamo il file da binario in formato testo editabile

Abbiamo generato il file script.fex. Lo si edita con un tool di testo, come ad esempio pluma in Debian

script.fex

Si cerca il parametro di nostro interesse, in particolare interessano i seguenti parametri

Nel nostro caso abbiamo trovato le seguenti impostazioni

In base alla guida fex se vogliamo l’uscita HDMI (screen_output_type=3)  a 720p60 al posto di 10 per il parametro screen0_output_mode dobbiamo inserire 5

ATTENZIONE: Questo file stabilisce tutti i parametri principali per il funziomento della scheda. Non modificare nulla se non si è sicuri della operazione da eseguire.

Procedere alla trasformazione in binario del file fex con il comando

Spostare il file sulla scheda sd; rinominare l’originale in script.bin.bak e sostituirlo con il file script720p60.bin rinominato come script.bin.

Nella guida Guida Fex sono indicati i parametri da impostare per le varie risoluzioni di uscita.

Si può ora inserire la scheda sd sull’Orange PI PC e testare al nuova risoluzione avviandolo dopo aver collegato l’uscita hdmi della scheda al nostro televisore.

Modifica risoluzione uscita video Openelec su Orange PI PC (Parte1)

L’immagine della distribuzione Openelec per Orange Pi PC ha come impostazione di default la risoluzione 1080p60. Se siamo in possesso di un televisore con una risoluzione differente non si avrà alcuna immagine sul televisore.

Per ovviare a questa problematica è possibile modificare la risoluzione e gli fps della uscita video della scheda Orange PI PC.

La scheda micro sd è composta di due partizioni. Quella che interessa in questa operazione è quella in formato vfat.

schedasd

Il file da modificare presente sulla scheda micro sd è script.bin

contenutoschedasd

Nella cartella principale dell’utenza debian (sviluppo nel nostro caso) creare una cartella orangepi ed una sottocartella sunxi e posizionarsi in sunxi

Si seguono a questo punto le instruzioni dal sito linux-sunxi per poter modificare il file script.bin. Per prima cosa si installano i tool necessari

Sunxi Tools

Si installa il package libusb

Installare git e pkg-config

Scaricare i sorgenti dei tool

Accedere nella cartella creata da git

Eseguire la compilazione

Abbiamo a questo punto il tool per modificare i parametri della scheda Orange PI PC.

Creare una cartella sotto sunxi, ad esempio scriptfile

Aggiungere nel PATH la cartella dei tool compilati di sunxi

Nel prossimo articolo si descrive come modificare il file script.bin

http://www.microdev.it/wp/it/2016/07/29/modifica-risoluzione-uscita-video-openelec-su-orange-pi-pc-parte2/

Preparazione ambiente Debian per sviluppo sistemi embedded

In questo articolo si descrive l’installazione di Debian 8.5 che sarà utilizzata per compilare l’immagine Openelec per Orange Pi PC, creazione immagine Enigma2 ed altre operazioni su dispositivi embedded.

Scaricare l’iso AMD64 di Debian 8.5

Immagini Debian per X86_64

 Procedere alla installazione. Si può usare anche una virtual machine, come ad esempio VirtualBox. Usare almeno 4 gb di Ram e 50 Gb di hard disk

VirtualBox

Con VirtualBox si può creare un disco virtuale che alloca lo spazio dinamicamente quando è richiesto. Ad installazione del sistema operativo collegarsi con l’utenza creata durante l’installazione di Debian; nel nostro caso l’utenza è sviluppo. Ci si può collegare direttamente dall’interfaccia grafica o su ssh conoscendo l’indirizzo IP del sistema Debian installato.

Aggiungere al gruppo sudo l’utente usato durante la configurazione; in una shell eseguire il comando

Nel nostro caso abbiamo il seguente risultato

L’utente sviluppo non appartiene al gruppo sudo. Diventare superuser con il comando

Inserire la password di root alla richiesta nella shell. Come root eseguire

Nel nostro caso

Far ripartire il sistema con il comando

Al riavvio collegarsi con l’utenza da utilizzare nello sviluppo, nel nostro caso sviluppo. Si aggiunge nei sorgenti dei pacchetti, se non presenti, i repository dei pacchetti aggiuntivi e di aggiornamento.

Posizionarsi in /etc/apt

Fare un backup di sources.list

Editare il file, ad esempio con vi

Commentare le righe posizionandosi all’inizio della riga e con il tasto i si passa in modalità di modifica avendo la possibilità di inserire #. Con il tasto Esc si passa alla modalità lettura e ci si può spostare con le frecce direzionali. Nel caso si commetta un errore e si voglia tornare alla situazione  precedente premere Esc+u.

Commentare le righe

Inserire le seguenti righe

Per inserire le righe si può premere in modalità di lettura il tasto o che aggiunge una riga in modalità di scrittura; si può procedere ad un copia ed incolla o ad inserire manualmente le righe.

Per salvare il tutto premere Esc+:wq; si salva il file e si esce dallo stesso.

Si può anche usare un editor di testo direttamente dall’interfaccia grafica di Debian per eseguire le medesime operazioni. Per esempio per usare pluma aprire una shell unix ed eseguire

Da pluma aprire il file  /etc/apt/sources.list, apportare le modifiche descritte sopra e salvare il file.

Aggiornare il riferimento dei repository ed i pacchetti con i comandi

Installare i pacchetti di sviluppo

Installare il server ftpd per eventuali trasferimenti remoti

Scommentare nel file /etc/vsftpd.conf il parametro

Aprire il file con

Cercare la stringa dall’editor vi in lettura con

Eliminare il carattere # posizionandosi su di esso e premendo x

Salvare il tutto con ESC+:wq

Far ripartire il server ftp con il comando

Ora abbiamo l’ambiente per compilare, modificare, sviluppare i nostri sistem embedded.

Decoder TV Enigma2

In questo articolo si descrive brevemente una categoria di hardware caratterizzata dall’utilizzo di un sistema emebedded per gestione di decoder satellitari/terrestri/cavo.

L’interfaccia Enigma 2, presente su questi sistemi,  è basata sul framework Openembedded/Yocto

Openembedded

Wiki Openembedded

Enigma2 è sviluppata in python; nei box tv si appoggia a linux e relativi driver. Tale sistema è stato sviluppato ed utilizzato sul proprio hardware dalla Dream Multimedia TV

Dream Multimedia

Dreambox wiki

Con la distribuzione dei sorgenti da parte della Dream Multimedia sono sorti molti team di sviluppo che hanno creato varie immagini alternative.

Con l’avvento di box clonati alla Dream Multimedia, quest’ultima ha ristretto la licenza e distribuzione del codice sorgente, cercando in tal modo di impedire la clonazione delle proprie macchine.

Altri operatori del settore, che avevano già incominciato ad utilizzare Enigma2 per i propri box, hanno continuato a sviluppare l’ultima versione open di Enigma2; i team di sviluppo si sono riuniti in OE-Alliance group per sviluppare in comune le basi del sistema, quali driver, github comune, ecc, con la personalizzazione finale disponibile a ciascun team. Di seguito una lista dei team di sviluppo appartenenti a OE-Alliance o al di fuori di esso

OE-Alliance Group

Il link al github comune è il seguente

OE-Alliance github

Con il framework Enigma2 si ha la possibilità di aggiungere altre funzionalità al sistema mediante lo sviluppo di addon che potenziano notevolmente il box tv.

I box di tipo HD sono basati quasi esclusivamente su SOC MIPS Broadcom, ma con l’avvento del sistema UHD si sta gradualmente passando a SOC ARM Broadcom.

Di seguito il link ad alcune aziende che producono box tv equipaggiati con Enigma2