Quello che non si può creare con Raspberry Pi è soltanto quello che non si può immaginare. Credo che ormai tutti conoscono sia il lampone che BitTorrent, perciò… perchè non farli stare insieme? In questo articolo è spiegato passo passo come: Creare un TorrentBox con Raspberry Pi risparmiando soldi.
Per chi ancora non dovesse conoscere Raspberry Pi ecco un link utile dove è spiegato cosa è e come utilizzare la scheda per la prima volta.
Ecco in breve un riassunto su cosa è BitTorrent e come funziona:
BitTorrent è un protocollo di tipo peer-to-peer (P2P) utilizzato per lo scambio di file in rete.
A differenza dei tradizionali sistemi di file sharing, l'obiettivo di BitTorrent è di realizzare e fornire un sistema efficiente per distribuire lo stesso file verso il maggior numero di utenti disponibili sia che lo stiano prelevando (download), sia che lo stiano inviando (upload). Si tratta quindi di un meccanismo per coordinare in automatico il lavoro di numerosi computer, ottenendo il massimo beneficio possibile per tutti. Grazie a questo sistema, ogni nodo contribuisce alla diffusione del file. Maggiore è l'ampiezza di banda in uscita su quel nodo, maggiori sono le probabilità che il file venga diffuso verso altri nodi. Questo metodo ha anche il pregio di ridurre l'impatto della cosiddetta "leech resistance".
BitTorrent permette di distribuire file di qualsiasi tipo. Il documento originale viene spezzettato in tanti piccoli frammenti che poi saranno ricomposti a destinazione. Le parti hanno dimensione fissa, la fingerprint calcolata con l'algoritmo SHA1 viene distribuita agli altri client per verifica mediante i network (come il Web).
Per tutti i dettagli su questo argomento vi congilio la lettura di questo articolo.
Per la sua natura intrinsecamente trasparente e per il notevole risparmio di banda che procura, BitTorrent è probabilmente il protocollo di condivisione dei file più utilizzato per scopi legali, che cioè non violano il diritto d'autore. Esempi di questo tipo di contenuti sono le distribuzioni GNU/Linux e i trailer cinematografici di grandi dimensioni. Tuttavia sempre più spesso BitTorrent viene utilizzato per lo scambio di file musicali, film e software coperti da copyright. A questo riguardo ci sono molte discussioni su chi sia perseguibile e in che termini secondo le leggi vigenti.
La privacy di chi utilizza BitTorrent non è tutelata perciò quello che può essere fatto per risolvere questo problema è utilizzare:
un proxy per la connessione del client che mascheri il vero IP dell'utente,
una rete di anonimato, come quella offerta dal programma Tor (in cui il proxy è comunque incluso),
una block-list degli indirizzi IP ritenuti malevoli da inserire nel client stesso (qualora esso supporti tale funzionalità),
uno speciale firewall come Peerguardian (ora convertito nel progetto Peerblock).
NB: in nessun modo tali indicazioni sono da considerarsi incitamento ad atti illeciti e/o illegali da parte dell'autore, della redazione e dello staff tutto (NdR).
Perciò è un sistema molto utile per scaricare qualsiasi tipo di file, ma per desistere dall’idea di scaricare dei file basta pensare che per scaricare diversi file si deve tenere il proprio computer acceso almeno una giornata intera.
Infatti un computer nella media consuma almeno 300W e perciò in 24 ore consumerebbe davvero tanta corrente.
Un modo estremamente economico per scaricare dei file Tramite BitTorrent è quello di utilizzare proprio un Raspberry Pi.
Infatti, oltre a costare soltanto 35$, la corrente che consuma è nettamente inferiore a quella che consumerebbe un computer ed inoltre occuperebbe un piccolo spazio.
Perciò la nostra TorrentBox Pi potrà rimanere eternamente accesa a scaricare qualunque cosa noi vogliamo.
Ecco cosa serve per creare la Versione 1.0 TorrentBox Pi:
1 Raspberry Pi;
Hard Disk con adattatore USB;
1 led verde;
1 led rosso;
1 pulsante per Reset;
1 ventola di raffreddamento, OPTIONAL;
1 alimentatore;
1 prolunga USB;
1 pennino wifi (opzionale);
1 scatola per collocare il lampone, l’hard disk, la ventola e i fili.
Per prima cosa bisogna assemblare la TorrentBox procedendo nel seguente modo.
Bisogna trovare una scatola (meglio se di alluminio o ferro) che permetta l’installazione del Raspberry Pi ed il resto in modo ottimale.
Un esempio potrebbe essere quello di recuperare il case di un ATX.
Adesso che abbiamo la nostra scatola c’è bisogno di adattarla secondo le nostre esigenze creando gli alloggi per Il Raspberry Pi e l’Hard Disk in modo tale da non farli muovere durante uno spostamento.
Posizionare la ventola in modo tale che possa raffreddare sia l’Hard Disk che il mini pc.
Dopodiché si può creare un frontalino dove posizionare i led di stato, il pulsante di RESET e almeno una porta USB.
Non c’è bisogno di installare un monitor in quanto l’applicazione che ho scelto per scaricare i torrent permette di caricarli da remoto tramite un browser qualunque o tramite smartphone Android.
- COLLEGAMENTI -
I collegamenti che bisogna effettuare tra il Raspberry Pi e l’hardware sono i seguenti:
- Tasto di RESET collegato ai pin P6 (vedi foto); - collegare l’anodo (+) del led verde al pin 8 (GPIO14) del Raspberry Pi e il catodo al pin 6 (GND); - collegare l’anodo (+) del led rosso al pin 1 (3.3V) del Raspberry Pi e il catodo al pin 6 (GND); - collegare la prolunga usb da collocare frontalmente ad una porta USB; - collegare l’Hard Disk all’altra porta USB del Raspberry Pi;
Adesso che tutto l’hardware è stato collegato bisogna installare il software.
In questa pagina si è parlato dei 5 migliori client torrent per Linux.
Secondo me il migliore è Transmission.
Infatti è possibile trovarlo su Linux e Mac OS X ed ha un'interfaccia nativa per Qt, GTK +, la linea di comando e l'interfaccia web.
Ma aspettate, c'è di più! Trasmission ha anche un sacco di strumenti di terze parti che funzionano ed interagiscono con il programma, compreso Transdroid - un client remoto per Android tramite il quale controllare la trasmissione dal telefono. La maggior parte delle distribuzioni Linux supporta il pacchetto trasmission e può anche essere installato di default su alcune tra le più famose.
Quasi sempre nelle reti casalinghe, il Router assegna ad ogni PC un indirizzo IP casuale che cambia ogni volta che il PC effettua un nuovo collegamento alla rete locale.
Prima di tutto quindi è importante impostare l’indirizzo IP del nostro Raspberry Pi da Dinamico a Statico così da sapere sempre a quale indirizzo IP raggiungerlo.
Per effettuare questa operazione dobbiamo vedere qual’è il BroadCast, l’Host e La Mask che possiamo conoscere digitando “ifconfig”.
Atre informazioni possiamo ricavarle da un computer che abbia come sistema operativo Windows aprendo Esegui=>cmd e digitando ipconfig.
Dopo aver appuntato questi indirizzi, possiamo proseguire nella configurazione facendo l’accesso come root (se non l’abbiamo già fatto) digitando “sudo –i”, e modificando il file di configurazione dell’ interfaccia network nel seguente modo:
auto lo iface lo inet loopback iface eth0 inet static address 192.168.1.70 ==> L’indirizzo IP che vogliamo assegnare al nostro Raspberry Pi netmask 255.255.255.0 ==> Quì la Netmask gateway 192.168.1.254 ==> Quì inseriamo il Gateway del Router network 192.168.1.0 ==> Quì scriviamo l’indirizzo del Network broadcast 192.168.1.255 ==> Quì inseriamo il Broadcast allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp
digitiamo
nano /etc/network/interfaces
e modifichiamo il file.
Adesso bisogna aggiornare il database dei pacchetti con il comando:
sudo apt-get update
Dopo aver effettuato queste modifiche e dopo aver aggiornato il database dei pacchetti è possibile proseguire con l’installazione di Transmission, azione che potrebbe richiedere diversi minuti.
Per installarlo bisogna digitare:
sudo apt-get install transmission-daemon
Questo ha installato il demone del client (quello che farà avviare in automatico il client in fase di boot) e il client stesso.
Continuiamo digitando:
sudo apt-get install transmission-gtk
Quest’altro ha invece installato l’interfaccia grafica tramite la quale è possibile effettuare i settaggi in modo veloce.
Infatti, adesso che abbiamo installato l’interfaccia grafica del client, possiamo velocemente configurare la TorrentBox Pi.
Per effettuare la configurazione bisogna andare su MODIFICA=> PREFERENZE.
Si aprirà una finestra e ci si dovrà spostare nella scheda RICEZIONE per impostare la posizione di scrittura dei file scaricati.
Invece, per abilitare l’accesso al client anche tramite interfaccia remota bisogna spostarsi nella scheda WEB.
Mettiamo la spunta su "Abilitare il client web" ed anche su “Usare l’autenticazione”, spuntiamo invece "Consentire la connessione solo a questi indirizzi IP".
Facendo questo si è già quasi alla fine della configurazione, adesso rimane soltanto da inserire Transmission tra le applicazioni che vengono avviate in fase di boot.
Per effettuare questa operazione si devono digitare ed eseguire i seguenti comandi:
mkdir ~/.config/autostart touch ~/.config/autostart/transmission.desktop sudo nano ~/.config/autostart/transmission.desktop
Alla fine premendo invio si aprirà il file che è stato appena creato che bisogna riempiere nel segunte modo:
[Desktop Entry] Name=Transmission Exec=transmission-gtk Type=application
Usciamo salvando i cambiamenti.
Il TorrentBox Pi è pronto! Adesso può scaricare qualsiasi Torrent noi gli diciamo.
Come ho detto in precedenza un aspetto davvero interessante di Transmission è la possibilità di caricare ed avviare il download di Torrent direttamente da remoto.
Infatti penso che chi abbia uno smartphone non lo utilizzi esclusivamente per effettuare chiamate, ma credo proprio che lo sfrutti al massimo.
Perciò specialmente quando il sistema operativo installato sul proprio smartphone è Android, un sistema operativo Open Source, perchè non sfruttare ancora una volta le sue potenzialità per collegarsi al TorrentBox Pi ed avviare i download?
Ottimo direi!
Per eseguire queste operazioni prima si deve installare sul proprio smartphone un software per collegarsi da remoto a Transmission.
Molto velocemente può essere cercato questo software su Google Play, dove sono presenti diversi software per lo scopo tra quali probabilmente il migliore è “Remote Transmission”, un software completo e molto semplice da utilizzare creato da Guillaume Bouerat.
Questo è tutto!
Mi auguro di poter ampliare questo progetto, magari aggiungendo anche un display lcd per vedere lo stato dei download.
Alla prossima,
Ivan Scordato.
Ciao, ho appena deciso di acquistare un Raspberry Pi, e questo articolo l’ho trovato davvero interessante. Credo che non userò il Raspberry per questa applicazione, dato che non uso più il peer-to-peer, ma ho trovato davvero bello questo modo di usare un mini pc, dato che a quei costi chiunque può permettersi di comprarlo per fare delle applicazioni di vario tipo. Non essendo uno smanettone software, credo che mi dovrò affidare molto a questi tipi di articolo per usarlo, nella speranza di trovare un applicazione che davvero mi interessi molto. Ho già trovato un articolo molto utile per rendere la mia TV una SmartTV!!!!
Comunque complimenti per chiarezza, livello di dettaglio soprattutto per l’idea.
Grazie per i complimenti 🙂
Hai proprio ragione, è un mini computer davvero interessante ed infatti come ho scritto all’inizio di questo articolo quello che non si può creare con Raspberry Pi è soltanto quello che non si può immaginare.
Secondo me, un applicazione utile e tecnologica con il raspberry pi è questa:
it.emcelettronica.com/raspberry-pi-casa-domotica-videosorveglianza-gestibile-da-remoto-con-assistente-personale-parte-2
Un piccolo pezzo di puzzle per domotizzare la propria casa!
Ti consiglio di studiare almeno i comandi linux, così sai cosa fai 🙂
Inoltre visto che hai bisogno di articoli ben dettagliati per realizzare qualcosa ho da farti una proposta: Tu mi dici cosa ti piacerebbe realizzare, ed io nel possibile creo un articolo sul progetto realizzato con tutti i passaggi necessari 🙂
Che ne dici?
Metti in moto l’immaginazione!
A presto,
Ivan
Grandioso, ok allora provo a spiegarti un’ idea che mi sta balenando, vediamo cosa ne pensi.
Io ho un cane, ed è una peste incredibile. Non appena ci distraiamo un secondo, combina danni stratosferici.
Mi piacerebbe controllarne il comportamento,in modo che, se anche io mi distraggo, o in mia assenza, qualcuno la tenga sotto controllo.
Allora sto pensando ad un sensore da inserire in una zona chiave, e non appena lei oltrepassa quella zona, potrebbe partire sul monitor un video o una voce registrata, magari con la mia voce, che la richiama all’ordine.
Magari si potrebbe gestire anche in base alla sua risposta: se non va via, il video continua a volume più alto ad esempio.
Pensi che sia una cosa fattibile? Pensi che sia meglio o necessario usare Arduino?
Si, è fattibile sia con Arduino che con Raspberry Pi, ma visto che stiamo parlando di Raspberry Pi…
Basterebbe davvero poco:
– Un sensore di presenza (PIR) o un sensore ad ultrasuoni se ti interessa che stia lontano da un oggetto specifico;
– Un raspberry Pi
– Un paio di casse o uno speaker
– Qualche riga di codice
Non è una cosa molto complicata, in quanto basta effettuare un controllo sul sensore, e nel caso in cui rileva “una Presenza” avvia la riproduzione audio di un file preregistrato.
Dopo tot secondi ricontrolla, e se c’è ancora una “Presenza” riproduce un altro file con la voce più insistente.
Abbastanza fattibile!
Perchè non pensare a qualche altro dettaglio?
A presto,
Ivan
Altri dettagli possono essere: più sensori, in modo da coprire più “zone rosse”, attivazione di eventuali videocamere o anche webcam per vedere/registrare cosa sta combinando la mia cagnolina pestifera.
Ad esempio potrei pensare che si attivi una Webcam che mi permetta di videochiamare (tipo tramite skype) e gestire l’eventuale trasgressione anche quando sono lontano da casa.
Eventualmente potrebbe essere utile in alcune situazioni poter comandare un suono ad ultrasuoni che richiami la sua attenzione, ma sarebbe possibile secondo te fare in modo da poterlo comandare da Smartphone? Magari attraverso la chat di Skype scrivere parole specifiche che vengano interpretate come comando di abilitazione, o qualcosa di simile?
Una domanda che vorrei farti è: dato che ancora non faccio l’acquisto, mi potresti dare una dritta sugli accessori “indispensabili” e su quelli “utili” in generale?
E a te viene in mente qualche altro possibile dettaglio?
Thanks
Non so se hai guardato questo:
it.emcelettronica.com/raspberry-pi-casa-domotica-videosorveglianza-gestibile-da-remoto-con-assistente-personale-parte-2
Tutto il sistema controllabile via smartphone compreso la videosorveglianza con il raspberry pi.
L’ho fatto ad inizio anno.
Entro stasera ti rispondo in quanto adesso, ahimè, sto studiando.
A presto!
Grazie, lo guarderò immediatamente. Buono studio 😉
P.S. Rispondo domani
Ciao!
Allora, principalmente ecco ciò di cui si necessita per cominciare ad utilizzare il Raspberry Pi:
– Alimentatore micro-usb 5V con corrente di almeno 700-1200mAh;
– Una scheda SD (Consiglio di utilizzarne una di almeno 8 GB);
– Cavo Ethernet per la connessione in internet;
– Una Tastiera che può essere sia USB che bluetooth;
– Un Mouse, anche questo può essere sia USB che bluetooth;
– Un cavetto per collegare la board al monitor o al televisore che può essere HDMI o RCA;
– Un cavetto mini jack da 3,5 mm se non si collega utilizzando l’uscita HDMI;
– Un Box per la board (Non obbligatorio dato che il box cambia in base al progetto che si vuole realizzare);
Un pennino Wireless (Per la connessione internet tramite Wifi);
– Un HUB USB con alimentazione esterna per collegare più dispositivi, perché Raspberry Pi non ha la potenza necessaria per alimentare più dispositivi su un’unica porta
Grazie Ivan,
quasi quasi aspetto la fine del contest, che con tutti questi accessori da acquistare, se ottenessi il secondo premio potrei risparmiarmene un bel po’… 😉
Comunque ho guardato l’altro articolo, devo dire che potrebbe fare senz’altro al mio caso. Potrei pensare di fare degli aggiustamenti (nel caso mi servano dei consigli ti consulterò…). Ad esempio un sensore di umidità anziché di temperatura farebbe al mio caso, dato che ho alcune problematiche legate all’umidità a casa che dovrei tenere sotto controllo. Ma per il resto credo di potere adattarlo senza problemi alle mie esigenze.
Grazie per la disponibilità 🙂
Ottimo 🙂
Il sensore di temperatura in questione è il dht11 un sensore di temperatura ed umiditá davvero ottimo 🙂
Bhe… per il contest te lo auguro e d’altra parte mi auguro a me stesso di non arrivare secondo, dato che grazie a questo blog ho due raspberry pi da sfruttare al massimo 😉
E vuoi vincere anche l’oscilloscopio?! Che ingordo sei… 🙂
Bhè… più che ingordo sono ottimista 😉
Chi non lo desiderebbe?
Fai bene ad esserlo, l’impegno che stai mettendo in questa avventura é lodevole, ed é chiaro che é spinto dalla passione ancor prima che dal materiale interesse nel premio.
Al di la’ quindi, di qualsiasi valutazione tecnica o stilistica, ritengo che, se vincerai, ti sarai meritato il premio fino in fondo, perché hai centrato lo spirito, la vera essenza della gara.
Continua cosí, io tifo per te!
Ciao
Grazie mille 🙂
Se fai il tifo significa che non partecipi??
Bene, meno sfidanti e concorrenti da battere 😀
Scherzo, lo vedo che in classifica non ci sei e chiaramente la cosa mi fa gioco (non voglio essere ipocrita: la concorenza è un problema…) ma mi piace molto la partecipazione spece quella che c’è da queste parti.
Però posso dire una cosa? io mi ricordo che tu hai aiutato ad organizzare. Giusto? Perchè non partecipi?
Ivan è stato bravissimo finora, un concorrente da ammirare per impegno e costanza.
Io però voglio vincere ed oggi in particolare mi dedico all’arretrato su questo blog 🙂
Non ho avuto molto tempo nelle ultime due settimane, sono sempre lontano dal pc per lavoro purtroppo.
Speriamo bene.
E che vinca il migliore!
Posso fare una domanda sull’articolo?
C’è un pezzo che non ho capito.
hai scritto:
“Android, un sistema operativo Open Source, perchè non sfruttare ancora una volta le sue potenzialità per collegarsi al TorrentBox Pi ed avviare i download?”
Non ho capito questa frase o meglio non ho capito perchè questa associazione. Cioè la potenzialità di avviarsi non è collegata direttamente al fatto che è Open Source, giusto?
Potrsti spiegarla meglio?
Ciao, scusami se ti rispondo in ritardo.
Allora, il paragrafo completo è il seguente:
Perciò specialmente quando il sistema operativo installato sul proprio smartphone è Android, un sistema operativo Open Source, perchè non sfruttare ancora una volta le sue potenzialità per collegarsi al TorrentBox Pi ed avviare i download?
La frase “un sistema operativo Open Source” è solo un dettaglio, un associazione fatta al sistema operativo Android non dovuta al fatto che se non fosse stata open source non avrebbe avuto la potenzialità di avviarsi.
Fatto sta, che quando il sistema operativo Android viene associato ad uno smartphone che abbia almeno delle discrete caratteristiche hardware, è scontato che si ha a portata di mano davvero una grande potenzialità che sarebbe un peccato sprecare.
Spero di essermi spiegato meglio e di aver chiarito i tuoi dubbi 🙂
A presto,
Ivan
Si, è un peccato che non stia partecipando, ma se non mi sbaglio non sta partecipando perchè non abita in Italia. Infatti nel regolamento sta scritto:
“L’iniziativa è valida solo per L’Italia, in quanto i premi saranno spediti SOLO nel territorio nazionale”.
Si, alex272 ha svolto davvero un ottimo lavoro nell’aiutare ad organizzare il contest.
Infatti, è stato proprio lui a scrivere l’articolo – Review4U 2.0, progettiamolo insieme! – (http://it.emcelettronica.com/review4u-20-progettiamolo-insieme).
La concorrenza?
Bhè, al momento non ne vedo nemmeno l’ombra :D, ma allor quando dovessi vedere qualcosa che non mi piace, sarà allora che sarò più spronato e che mi impegnerò di più.
Tranquillo! i premi dal secondo posto in poi li cederò tutti 😀
Riauguro una buona partecipazione a tutti e vi ricordo che l’importante è partecipare, e non vincere (Per voi).
Narturalmente scherzo, impegnatevi!
Ivan.
Caio, ti presento il mio ultimo articolo: Raspberry Pi, Python, audio e sensore PIR….insieme!.
L'ispirazione la devo a te 😉
fammi sapere che ne pensi.
Ivan
Che bella la nostra community :)))