logo

mercoledì 29 dicembre 2010

Ubuntu: telecomando bluetooth

Che pensereste se vi dicessi che potrete stare belli comodi sul vostro divano a guardare un film sul vostro portatile con la vostra distro Linux preferita, il tutto senza dovervi mai scomodare per mettere in pausa o per alzare il volume? Con AnyRemote si può!
AnyRemote Bluetooth Logo 2
Prima di tutto, a cosa serve AnyRemote? È una applicazione client-server che, tramite un collegamento via bluetooth vi consente di utilizzare il vostro cellulare come un sorta di “telecomando” per applicazioni multimediali, quali ad esempio Totem o Xmms, ma anche per applicazioni più d’ufficio come oo-impress. Nel caso che vedremo appunto il nostro computer sarà il server e il nostro telefonino il client..
Innanzitutto vi serviranno un cellulare che disponga di tecnologia bluetooth e java, mentre per il vostro pinguino africano (o genericamente Debian-based) avrete bisogno di una chiavetta bluetooth e di alcuni pacchetti installabili dando un:
sudo apt-get install bluetooth bluez-gnome bluez-utils gnome-bluetooth libbluetooth-dev
Inoltre dando un:
sudo apt-get install alsa-utils gnome-alsamixer automake xautomation
Avrete già a disposizione i pacchetti, e le relative dipendenze, che vi serviranno nei casi di utilizzo che presenterò. Ora, per avere anyRemote, e la sua GUI, potete installarlo tramite apt, oppure andare sul sito ufficiale http://anyremote.sourceforge.net/ e scaricare i pacchetti targizzati AnyRemote e gAnyRemote, nel caso in cui utilizziate Gnome, o kAnyRemote, nel caso in cui preferiate KDE.
Io ho scaricato i pacchetti dal sito quindi vi descriverò le diverse fasi di installazione e configurazione. Per prima cosa, una volta scaricato il tar.gz di anyremote, lo spacchettiamo con un semplice:
tar xzf <nome_pacchetto>.tar.gz
Entriamo in seguito nella cartella appena creata. Per creare il file che servirà al make durante la fase di installazione diamo un:
./configure
Mentre per installare diamo:
make
sudo make install
Adesso abbiamo installato l’ applicazione principale e quindi sareste già in grado di utilizzarla tramite riga di comando. Ma perché non sfruttare una comoda interfaccia grafica per terminare di configurare e poi utilizzare il nostro programma?
Scarichiamo sempre dal sito ufficiale il pacchetto .deb per il nostro desktop-manager preferito e installiamolo così:
sudo dpkg -i <nome_pacchetto>.deb
E lanciamo la nostra stupenda GUI da shell, oppure create una icona di avvio direttamente sul Pannello principale o sul Desktop, decidete voi insomma cosa vi risulta più comodo ( :-) ).
L’ interfaccia che ci troveremo davanti è la seguente:
AnyRemote GUI
La schermata iniziale di gAnyRemote
La schermata bianca, che, a mio avviso, ad un primo utilizzo potrebbe intimorire l’utente, andrà riempita con i file di configurazione delle applicazioni che vorremo utilizzare da remoto e l’applicazione stessa la renderemo a tutti gli effetti attiva tramite il pulsante “Run” ben visibile in basso.
Di default vi sono già parecchi file di configurazione a disposizione ed inoltre, grazie ad una veloce googlata, ne troveremo tantissimi altri su internet, per le più disparate applicazioni (di default è compreso anche il .cfg per Kopete, nel caso in cui lo utilizziate come programma di chat, qui non ne tratterò visto che io non lo utilizzo :-P ).
Riprendendo con la nostra configurazione, diciamo che abbiamo voglia di vederci un film e la nostra applicazione preferita per riprodurli sia Totem: perfetto. Andiamo in “Setup –> Proprietà” e, nella finestra che comparirà, il nostro interesse si dovrà rivolgere particolarmente a quel tasto appena sotto lo spazio bianco con la scritta “Add”.
AnyRemote GUI 2
Usiamo Gnome? Selezioniamo l’autostartup apposito e dedichiamoci ad aggiungere i nostri .cfg
Ci comparirà una finestra di apertura file in cui dovremo indicare il percorso dei file di configurazione. Quello di Totem è uno di quelli già a disposizione di default, quindi selezioniamo la cartella origine di AnyRemote, andiamo in:
cfg-data/Server-mode/
e selezioniamo:
totem.cfg
AnyRemote GUI 3
Selezioniamo il file .cfg di totem tra quelli di default
Clicchiamo su OK e torniamo alla finestra precedente ma questa volta vedremo comparire il file appena selezionato nello spazio bianco. Ora possiamo pure premere sul famoso tasto “Run” e abbiamo terminato le cose da fare sul nostro pinguinozzo.
Tocca al nostro futuro “telecomando” ora ( ;-) ).
Passiamo via bluetooth ( per rimanere in tema ) sul nostro cellulare l’archivio anyRemote.jar che troviamo sempre nella cartella di origine del nostro programma.
AnyRemote GUI 4
Inviamo l’archivio al nostro cellulare tramite la comoda funzione di Gnome “Invia a”
Installiamo l’applicazione e avviamola. Ci troveremo davanti ad una schermata semplicemente vuota ( :-) ). Entriamo nel menu “Opzioni” e tramite l’opzione “Search” dovremmo trovare un indirizzo simile a questo :
AnyRemote Nokia 1
Abbiamo trovato il nostro anyRemote-server attivo sul pc
Selezioniamo l’indirizzo trovato e rispondiamo di Si alla successiva domanda. A questo punto vedrete magicamente Totem aprirsi automaticamente sullo schermo del vostro pc, mentre sullo schermo del vostro cellulare comparirà una mappa della tastiera con i tasti assegnati a ciascuno per le diverse funzioni.
Totem
Magia… :-)
Selezionate dal pc il film preferito, mettetevi comodi sul divano e godetevi lo spettacolo. Adesso, a meno che qualcuno di vostra conoscenza non abbia l’incredibile capacità di sapere che siete alla scena clue del film e vi chiami in quel preciso istante, non vi dovrete più alzare per abbassare il volume o mettere il film in pausa.
NB – Potreste avere difficoltà per alzare o abbassare il volume. Questo perchè di default lo script di configurazione di totem indica come “Master” il vostro speaker principale. In questo caso date da shell questo comando:
amixer scontrols
e controllate. Nel mio caso ho dovuto cambiare Master in PCM, come segue:
Amixer 2
Modificate all’altezza del puntatore
Totem 3
Ecco il nostro “telecomando” attivo
Come ho già detto esistono tanti altri file .cfg disponibili di default per le più disparate applicazioni. Uno molto carino è il “Mouse Test” tramite il quale potrete guidare il vostro mouse, comprensivo dei tre tasti e delle relative funzioni, sul vostro desktop direttamente dal vostro cellulare.
Uno che ho trovato molto particolare è lo script di configurazione per ooimpress : una volta aperto potrete selezionare direttamente dal cellulare il file che volete aprire scorrendo le cartelle esistenti sul vostro pc ed in seguito mettere a schermo intero la vostra presentazione e scorrere le slide, il tutto ovviamente senza neanche avvicinarvi al vostro pc.
Vi ricordo che, una volta che avrete inserito i diversi file .cfg seguendo la procedura sopra descritta, prima rendere attivo il programma server sul vostro pinguino dovrete selezionare l’applicazione che dovrà essere lanciata una volta stabilito il collegamento via bluetooth.
ooimpress
Server attivo e pronto per aprire la nostra presentazione
Esiste anche un file-viewer che vi permetterà di scorrere i file e le cartelle di tutto il vostro pc e, nel caso, anche modificare, rinominare, creare nuove cartelle, ecc..
Totem 2
Il nostro mouse remoto
Per concludere, ritengo che questa applicazione sia stata veramente una grande idea e realizzata anche in maniera molto efficace. Inoltre gli script possono essere modificati a piacimento ed in maniera molto semplice nel caso in cui vogliamo che un determinato tasto del cellulare sia collegato ad una funzione diversa da quelle prestabilite.
ooimpress 2
Selezioniamo la nostra presentazione con Impress
Ho testato personalmente questa applicazione su Nokia n70, Nokia 6111 e non ho riscontrato problemi di alcun tipo. Inoltre una lista completa dei telefoni compatibili con questa applicazione la potete trovare sempre al sito ufficiale del progetto.
Alla prossima!

sabato 25 dicembre 2010

Ubuntu non parte più

problemone dopo aver installato Dolphin (interfaccia grafica kde), ho installato dolphin per sbaglio, notando un notevole cambiamento dell'ambiente grafico provo a riavviare dopo un casino che ho fatto provando ad installare dal gestore dei pacchetti robe che a me sembravano pacchetti per python. all'avvio gia la schermata d'accesso è cambiata, non mi ero accorto di aver installato dolphin, digitando username e password appariva una schermata completamente nera con il puntatore del mouse visibile ma non avevo accesso a nessun comando, dopo un po' che ci sbatto senza alcun risultato provo a cercare una soluzione da internet collegandomi da windows e trovo come ripristinare l'interfaccia grafica gnome, fortuna che da modalita recovery sono riuscito ad accedere al terminale con internet(recovery mode/shell con rete).
e digitando,

codice: sudo apt-get install gnome-core gdm

dopo che ha finito di lavorare digitare,

codice: sudo apt-get install ubuntu-desktop gdm

all'apparenza era tornato tutto come prima, in effetti la grafica era gnome e potevo usare il pc, eccetto internet però, cioè mi spiego meglio provo a collegarmi con skype ed ero on-line, avvio firefox e dopo un po' di caricamento mi dava errore, non capendo cosa fosse comincio a sbattere un po' senza risultati. Fino a quando mi ricordo che avevo salvato un file che spiegava come configurare internet da terminale.
Per configurare il modem:
1. Scegliere Applications->Accessories->Terminal
2. Nel terminale, digitare:

codice:sudo pppoeconf

3. Un programma testuale guiderà nei successivi passi:         

lunedì 13 dicembre 2010

Arduino Domotica

Dopo un po di tempo sono riuscito a creare (pur se ancora incompleto) un programmino per la gestione domotica con la scheda Arduino e Python.
Il software dovrebbe comunicare con la scheda che a sua volta controlla degli input output.
qui sotto alcune immagini che ho stampato con il comando (alt+stamp{che si trova dopo F12}),con Ubuntu

Questa finestra appare all'avvio del programma, in cui bisogna inserire username e password, gia impostati nel codice, e si possono cambiare solo dal codice che ovviamente si può proteggere.


Se si digita user e password errati, appare il messaggio di errore fino a quando non lo si digita correttamente, non esiste un numero di volte limitato per la digitazione, e quindi non si blocca niente continua a dare i messaggi precedenti fino a quando non si chiude il programma.
Digitando user e password correttamente e cliccando su "conferma" si avvia il programma vero e proprio, il tasto "invio" non è stato abilitato, solamente il tasto "tab" funziona di Default, si può premere il tasto "conferma" selezionandolo con "tab" e premendo la "barra spaziatrice".
Qusto è il programma da sinistra a destra c'è il pulsante per avviare un editor di testo creato sempre da me, poi delle checkbutton per aprire o chiudere le porte, alla fine il pulsante per testare le porte disponibili.
cliccando il tasto "Arduino", si apre la finestra dell'editor: con menu,pulsanti,e un riquadro dove scrivere del codice per la programmazione della scheda "Arduino".

le due finestre sopra appaiono quando viene premuta la checkbutton e in base alla porta che si vuol gestire vengono visualizzati questi messaggi.

giovedì 2 dicembre 2010

Creare pacchetti di installazione .deb

Il pacchetto debian-package-maker si trova nei repository di Ubuntu e richiede la presenza di mono installato, si trovano entrambi su Synaptic. Una volta installato lo ritroveremo nel menu ApplicazioniProgrammazione.
Debian Package Maker - Install Structures
Il programma appena avviato si presenta con 3 schede: la scheda Install Structures conterrà i files da installare con i relativi percorsi dove copiarli.
Debian Package Maker - Package Info
La seconda scheda Package Info conterrà le informazioni sul pacchetto quali l’autore, la descrizione, la compatibilità e altro.
L’ultima scheda Logs mostrerà infine l’esito delle operazioni nella creazione del pacchetto.
Menu Optional Fields
Tramite il menu Optional Fields è possibile aggiungere le schede per definire i pacchetti aggiuntivi collegati:
  • Package Dependencies per pacchetti necessari all’uso
  • Package Pre-Dependencies per pacchetti necessari all’installazione
  • Recommended Packages per pacchetti raccomandati che verrebbero utilizzati dal programma
  • Suggested Packages per pacchetti suggeriti
  • Packages that May Break per pacchetti che se installati potrebbero dare errori col programma
  • Packages that May Conflict per pacchetti che se installati generano conflitti
  • Packages that Will Be Replaced per pacchetti che verrebbero sostituiti installando il presente
  • Virtual Packages per pacchetti virtuali aggiuntivi
  • Scripts per aggiungere script di installazione (preinst, postinst, postrm) che verrebbero eseguiti al momento dell’installazione o disinstallazione del pacchetto per compiere determinate azioni
Per aggiungere un pacchetto correlato, attivare l’opzione dal menu Optional Fields e apparirà la scheda corrispondente nella finestra del programma.
Debian Package Maker - Dependencies
Sarà possibile specificare il nome del pacchetto e il tipo di requisito sulla versione, generalmente GREATER THAN OR EQUAL TO per indicare la versione minima necessaria. Confermare il pacchetto indicato premendo il pulsante Add.
Il pulsante in basso Create Package lancerà infine la generazione del pacchetto deb con le opzioni indicate.
Oltre la compilazione manuale il programma presenta anche una procedura guidata dal menu File che con alcuni click in sequenza compilerà i campi, ma data la semplicità dell’applicativo non si rivela strettamente necessaria.
Prima di concludere segnalo alcune anomalie che potrebbero disorientare: ad oggi il programma genera errori se si usano nomi di files con spazi e che tuttavia non vengono mostrati nella scheda Logs.
Inoltre nell’inserimento della descrizione, se su più righe, lasciare almeno uno spazio all’inizio di ogni riga e creare righe vuote utilizzando un punto o un trattino.
Inoltre quando si riapre un progetto salvato le schede aggiuntive verranno nascoste e andranno riaperte utilizzando il menu Optional Fields.
Per queste ragioni si raccomanda di eseguire il programma tramite riga di comando, anziché da interfaccia grafica, eseguendo il programma debianpackagemaker. In questo modo tutti gli eventuali errori non mostrati nella finestra Logs saranno visibili nella finestra del terminale. Per il resto si tratta di un’applicazione comoda e semplice.

Python 2.6

Inizialmente non volevo iniziare a studiare il linguaggio di programmazione Python, perchè credevo che fosse chissa che, e che avrei impiegato mesi prima di realizzare qualcosa.quindi ho iniziato con gambas che è simile a  Visual basic cioè programmazzione grafica ad oggetti. Poi stimolato da diverse persone, non ultimo un professore di elettronica, ho iniziato ha cercare documentazioni su internet fino a quando trovo una video guida, fatta bene ed ho cominciato a seguire questi tutorial. Poi tra i tutorial e qualche altra ricerca ho realizzato ma non ancora terminato un programmino che vorrei dedicare alla gestione di Arduino. Eseguendo il programma appare una richiesta di username e password, se sono corrette avvia il programma altrimenti appare un messaggio di errore:Username Password errati.



CODICE:
from Tkinter import *
from tkMessageBox import *

def consenti():
   e=user.get()
   d=pas.get()
   if e == "arduino" and d == "arduino":# impostazione user e password da digitare per l'accesso.
       accesso.destroy()#se user e pas sono esatti si chiude accesso e si apre arduino
       arduino=Tk()#crea la finestra
       arduino.geometry("1700x1000")#dimensiona la finestra
       arduino.title("Arduino Domotica")#titolo della finestra(cioè testo che compare nella barra del titolo)
       arduino1=Button(arduino,text="Arduino").pack()#crea un pulsate
       arduino2=Button(arduino,text="Esci",command=domanda).pack()
   else:
       showerror("Errore","Username o password errati")

   
def domanda():
    print "ok"

accesso=Tk()
accesso.geometry("200x200")
accesso.title("Accesso")
c=Label(accesso,text="Digita Username e Password").pack()
user=StringVar()
pas=StringVar()
a=Label(accesso,text="Username:").pack()
x=Entry(accesso,textvariable=user).pack()
b=Label(accesso,text="Password:").pack()
y=Entry(accesso,textvariable=pas).pack()
conferma=Button(accesso,text="Conferma",command=consenti).pack()


questo è il codice per fare cio che ho scritto sopra.
forse metterò le immagini se riesco a fare un capture Desktop.

sabato 27 novembre 2010

LucidTool

Dopo il successo di UbunTool, con i suoi 1400 download, abbiamo deciso di rilasciare alla comunità ubuntiana un altro script. Questa volta però, anche per la mancanza di tempo, abbiamo deciso di supportare solo l’ultima nata in casa Canonical e solo per sistemi a 32 bit, quindi non usate questo script su altre versioni di Ubuntu. Se ci saranno richieste in merito, cercheremo in futuro di rilasciare una versione che supporti anche sistemi a 64 bit. Finita la premessa, vediamo in dettaglio le caratteristiche di LucidTool.
Innanzitutto diamo a Cesare quel che è di Cesare. LucidTool prende spunto anche da altri script, di cui ringraziamo i rispettivi autori: 2ClickUpdate e ubuntu-10.04-script.

LucidTool vi aiuta nella configurazione e nell’installazione di importanti librerie e codec necessarie subito dopo la prima installazione di Lucid. Ma vi aiuterà anche in seguito a mantenere pulita ed aggiornata la vostra distribuzione preferita.

A cosa serve LucidTool?


  • Installare tutti i codec multimediali con un solo click. Infatti, usando la funzione OneClick-Multimedia in pochi minuti la nostra Lince sarà pronta per leggere qualunque tipo di file multimediale, sia su internet che in locale.
  • Mantenere pulito il sistema. Il famoso script per la pulizia del forum italiano di Ubuntu, del quale abbiamo molto parlato qui, è stato integrato in LucidTool.
  • Aggiungere ed aggiornare le chiavi GPG. Grazie al contributo di ale88sv, sempre dal forum di Ubuntu, le chiavi GPG dei repository aggiunti saranno scaricate automaticamente.
  • Ripristinare il sources.list originale della nostra Ubuntu. Se abbiamo problemi con i repository e stiamo cercando il sources.list originale per risolverli, LucidTool fa al caso nostro.
  • Installare le ultime versioni di alcuni programmi utili. Attraverso la funzione Software avremo la possibilità di installare le ultime versioni disponibili di alcuni programmi. I repository appropriati per Lucid verranno automaticamente aggiunti, così come le chiavi GPG, con un grande risparmio di tempo!
  • Tenere aggiornato il sistema. Anche la parte dello script, riguardante l’aggiornamento, che troviamo nel forum di Ubuntu, è stata integrata in LucidTool; in questo modo avremo a disposizione, oltre al normale aggiornamento del sistema, funzioni come l’aggiornamento delle configurazioni di Grub, della data e dell’ora del sistema, ecc…
  • Modificare le configurazioni di sistema. Attraverso la funzione Tips and Tricks potremo modificare configurazioni di sistema, come spostare i pulsanti delle finestre a destra, rimuovere il suono di login, ecc…
  • Ripristino del sources.list. Attraverso la funzione Ripristino potremo ripristinare il sources.list che avevamo prima di utilizzare LucidTool, oppure ripristinare quello originale di Lucid.
LucidTool è strutturato in modo tale che le funzioni OneClick siano “sicure”, nel senso che i comandi potenzialmente pericolosi non siano eseguiti. Questi comandi sono invece presenti nelle funzioni per utenti esperti, attraverso le quali sarà possibile scegliere i comandi da eseguire. Per rendere maggiormente funzionale e personalizzabile LucidTool, le opzioni che verranno selezionate nelle funzioni per utenti esperti verranno ricordate nei successivi riavvii del programma, in modo da non doverle selezionare ogni volta.
Le novità rispetto a UbunTool sono:
  1. Aggiunti altri controlli per soddisfare le dipendenze di cui LucidTool necessita: zenity e libnotify-bin.
  2. Adesso lo script deve essere avviato da terminale; non viene più inserita un’icona sul menù, questo per ovviare ad alcuni inconvenienti a vantaggio di un software migliore.
  3. Le notifiche di LucidTool adesso sfruttano le notifiche di sistema:
Integrazione di LucidTool con le notifiche di Ubuntu

Come avere LucidTool?

Trovate LucidTool anche su Launchpad, dove potete seguirne lo sviluppo, segnalare bug o dare suggerimenti.

Come avere LucidTool nella propria lingua?


LucidTool è anche multilingua, oltre alla lingua italiana sono disponibili l’inglese e lo spagnolo. E’ possibile anche aggiungere la lingua che desiderate. L’unica cosa che dovete fare è tradurre il file .pot che trovate nel tar.gz di LucidTool senza modificarne la struttura ed inviarci il file!

Come usare LucidTool?

Una volta estratto il contenuto nella nostra home, apriamo il terminale e digitiamo i seguenti comandi:
cd LucidTool
sudo ./LucidTool_install
Per avviare LucidTool:
sudo ./LucidTool
Per disinstallarlo i comandi sono i seguenti:
cd LucidTool
sudo ./LucidTool_uninstall
NOTA: LucidTool è un software distribuito sotto licenza GPL2, nella speranza che sia utile alla comunità di Ubuntu, ma SENZA NESSUNA GARANZIA. Freetime’s Blog non si ritiene responsabile in alcun modo per eventuali problemi dovuti all’uso di LucidTool. 
fonte:Lucidtool

martedì 9 novembre 2010

Avvio lento Ubuntu 10.04 Lucid Linx: una possibile soluzione

Utilizzando Lucid Linx probabilmente qualcuno tra di noi ha notato dei tempi di boot esasperanti eek che cozzano tremendamente con il tanto dichiarato aumento di velocità all'avvio del sistema che la nuova LTS ci avrebbe dovuto regalare: uno dei sintomi del problema consiste nell'interminabile lasso di tempo, subito dopo il login, necessario al caricamento dell'ambiente grafico. E' a tutti gli effetti un bug che contraddistingue Lucid fin dalla beta version, debitamente segnalato su launchpad qui; pare affliggere sia sistemi a 32 bit che sistemi a 64 bit e si manifesta quando il kernel rileva un dispositivo floppy non presente fisicamente ma abilitato nel bios del pc, causando un generale decadimento delle prestazioni in fase di avvio del sistema.
idea Una possibile soluzione consiste nel disabilitare dal bios della macchina il floppy drive.


idea In alternativa se abbiamo un pc che non dispone di lettore floppy nè tantomeno presenta voci nel bios ad esso relative, ma che è ugualmente interessato al bug in questione, possiamo provare ad editare il file /etc/fstab commentando la stringa di codice relativa al dispositivo. In questo caso non dobbiamo far altro che aprire un terminale dal menu Applicazioni>Accessori e digitare al suo interno il seguente comando:

  1. sudo gedit /etc/fstab  

nel file che si aprirà cerchiamo la riga relativa al floppy che generalmente inizia con

e commentiamola anteponendo il simbolo del cancelletto (#) in modo che diventi


quindi salviamo e chiudiamo il file. Riavviamo il sistema e verifichiamo se la modifica ha sortito gli effetti sperati.

Alla prossima. wink

firefox lento?

Un possibile fix di questo problema (molto diffuso, a quanto sembra) ci viene segnalato da Ubuntugeek Ho testato personalmente il fix (e l’ho fatto anche sul simpatico Firefox che ho sul simpaticissimo Windows XP) e, nonostante nè l’uno nè l’altro fossero particolarmente lenti, a vista d’occhio ho notato un bel miglioramento! Ecco,intanto, come fare:
Sulla barra degli indirizzi di Firefox, scriviamo about:config . Ci apparirà un avviso di sicurezza…confermiamo e andiamo avanti. Saremo portati ad una pagina, in cui apparirà una lunghissima lista di parametri e, in alto, un campo di ricerca. Nel campo di ricerca scriviamo network.http e diamo invio. Ci apparirà una lista di parametri più piccola. Da questa lista,modifichiamo i seguenti:
network.http.pipelining
: facciamo doppio click su questa voce, che da FALSE deve diventare TRUE network.http.pipelining.maxrequests : facciamo doppio click su questa voce, e modifichiamo il valore in 8 oppure 10 network.http.proxy.pipelining : facciamo doppio click su questa voce, che da FALSE deve diventare TRUE
Se non utilizziamo connessioni Ipv6 potremmo modificare anche un ulteriore parametro : nel campo di ricerca, scriviamo ora network.dns.disableIPv6 e diamo invio : ci apparirà una sola voce. Facciamo doppio click su di essa, modificandola da FALSE in TRUE. Mi raccomando, fatemi sapere se ciò funziona anche per voi. Buon lavoro!

lunedì 1 novembre 2010

la fotoresistenza e arduino




Questo in basso è il codice per far funzionare lo schema(si può anche fare il copia ed incolla)




/* Photocell simple testing sketch. 
 
Connect one end of the photocell to 5V, the other end to Analog 0.
Then connect one end of a 10K resistor from Analog 0 to ground 
Connect LED from pin 11 through a resistor to ground 
For more information see www.ladyada.net/learn/sensors/cds.html */
 
int photocellPin = 0;     // the cell and 10K pulldown are connected to a0
int photocellReading;     // the analog reading from the sensor divider
int LEDpin = 11;          // connect Red LED to pin 11 (PWM pin)
int LEDbrightness;        // 
void setup(void) {
  // We'll send debugging information via the Serial monitor
  Serial.begin(9600);   
}
 
void loop(void) {
  photocellReading = analogRead(photocellPin);  
 
  Serial.print("Analog reading = ");
  Serial.println(photocellReading);     // the raw analog reading
 
  // LED gets brighter the darker it is at the sensor
  // that means we have to -invert- the reading from 0-1023 back to 1023-0
  photocellReading = 1023 - photocellReading;
  //now we have to map 0-1023 to 0-255 since thats the range analogWrite uses
  LEDbrightness = map(photocellReading, 0, 1023, 0, 255);
  analogWrite(LEDpin, LEDbrightness);
 
  delay(100);
}

giovedì 28 ottobre 2010

ripristino configurazione monitor

a volte può succedere,che provando le varie risoluzioni del monitor non si riesca più a tornare alla configurazione iniziale. A me è successo. preso dal panico del momento sono uscito per evitare ulteriori danni, ma, dopo essermi tranquillizzato (1ora e mezza dopo), ho cercato la soluzione su internet, ma niente, non c'era il mio problema, lo sconvolgimento grafico è stato gigantesco.
Ma ecco la classica "illuminazione", io lo definisco "CULO". ho provato ad accedere da ospite,ed era tutto come prima della "frittata".  ho rifatto lo stesso procedimento, cioè: Sistema>Preferenze>Monitor e ho riportato quella configurazione sulla mia sessione. PUFF come per magia è tornato tutto come prima.       

domenica 24 ottobre 2010

Il Semaforo Arduino

semaforo
// Semaforo
int ledDelay = 10000;
int SrossoPin = 7;
int SgialloPin = 6;
int SVerdePin = 5;
void setup() {
pinMode(SrossoPin, OUTPUT);
pinMode(SgialloPin, OUTPUT);
pinMode(SverdePin, OUTPUT);
}
void loop()
{
digitalWrite(SrossoPin, HIGH);
delay(ledDelay);
digitalWrite(SrossoPin, LOW);
digitalWrite(Sgiallo, HIGH);
delay(ledDelay);
digitalWrite(SgialloPin, LOW);
digitalWrite(SverdePin, HIGH);
delay(ledDelay);
digitalWrite(SverdePin, LOW);
digitalWrite(SgialloPin, HIGH);
delay(2000);
digitalWrite(SgialloPin, LOW);
}

Super Car Arduino

// LED EFFETTO CHASE
// Dichiara e inizializza un array per i pin
byte ledPin[] = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
int ledDelay(65);    // tempo di attesa prima del cambiamento
int direction = 1;
int currentLED = 0;
unsigned long changeTime;
void setup() {
// setta i pin per l’output
for (int x=0; x<10; x++) {
pinMode(ledPin[x], OUTPUT); }
changeTime = millis();
}
void loop() {
// gestisce il controllo del tempo di attesa
if ((millis() - changeTime) > ledDelay) {
changeLED();
changeTime = millis();
}
}
void changeLED() {
// spegne tutti i LED
for (int x=0; x<10; x++) {
digitalWrite(ledPin[x], LOW);
}
// accende il LED corrente
digitalWrite(ledPin[currentLED], HIGH);
// incrementa in base al valore della direzione
currentLED += direction;
// cambia il valore della direzione si è raggiunto l’ultimo LED
if (currentLED == 9) {direction = -1;}
if (currentLED == 0) {direction = 1;}
}

mercoledì 20 ottobre 2010

dare un comando al pulsante

EXEC
[ Processo = ] EXEC Comando [ WAIT ] [ FOR { { READ | INPUT } | 
{ WRITE | OUTPUT } } ] [ AS Nome ]

EXEC Comando TO Variabile
Esegue un comando. Per gestire il comando viene creato un oggetto Process interno.
Il comando deve essere specificato come un array di stringhe contenente almeno un elemento. Il primo elemento di questo array è il nome del comando, gli altri sono parametri opzionali.

  • Se WAIT è specificato, allora l'interprete attende la fine del comando. Altrimenti, il comando viene eseguito in background.
  • Se FOR è specificato, allora l'input-output del comando viene rediretto cosicché il tuo programma possa intercettarli:
    • Se WRITE è specificato, puoi mandare dati allo standard input del comando usando l'oggetto Process con istruzioni d'output comuni: PRINT, WRITE, ... . Nota che necessiti di un riferimento all'oggetto Process per questo.
    • Se READ è specificato, allora verranno generati eventi ogni volta che il comando manda dati al suo stream standard output: l'evento Read viene sollevato quando vengono mandati dati allo stream standard output, e l'evento Error viene sollevato quando vengono mandati dati allo stream standard error. Usa l'oggetto Process con Funzioni di Stream e Input/Output per leggere lo standard output del processo.
Se utilizzi le parole chiave INPUT e OUTPUT invece di READ e WRITE, allora il processo viene eseguito in un terminale virtuale. Questo significa che il processo penserà di essere eseguito dentro un vero terminale. Nome è il nome dell'evento usato dall'oggetto Process. Per default, è "Process".
Puoi avere un riferimento all'oggetto Process interno creato usando un assegnamento.
Se usi la seconda forma, il comando viene eseguito, l'interprete attende la sua fine, e l'output completo del comando viene messo nella stringa specificata.

Esempio

' Ottieni il contenuto della directory
EXEC [ "ls", "-la", "/tmp" ] WAIT

' Metti il contenuto della directory nella stringa
DIM sOutput AS String
EXEC [ "ls", "-la", "/tmp" ] TO sOutput

' Metti il contenuto della directory nella stringa, ma in background

DIM sOutput AS String

' Viene usato un nome di evento specifico
EXEC [ "ls", "-la", "/tmp" ] FOR READ AS "Contenuto"

...

PUBLIC SUB Contenuto_Read()

  DIM sLinea AS String

  READ #LAST, sLinea, -256

  sOutput &= sLinea

END

PUBLIC SUB Contenuto_Kill()

  PRINT sOutput

END

Se vuoi sapere quanti bytes puoi leggere in un gestore di eventi Process_Read, usa la funzione Lof.

Dato che gli argomenti vengono mandati direttamente al processo, non hai bisogno di racchiuderli tra virgolette, come dovresti fare in una shell.
' perl -e 'print while <>;' diventa

EXEC [ "perl", "-e", "print while <>;" ] FOR READ WRITE

Gambas2, l'alternativa libera a Visual Basic per Linux


Gambas (http://gambas.sf.net) è un IDE per lo sviluppo in BASIC, per Linux. L'ambiente ricorda moltissimo il noto Visual Basic, e per molti comandi è compatibile con la sua sintassi, anche se la compatibilità al 100% non è il suo obbiettivo.

Perchè usare Gambas? Con tutti i linguaggi che c'erano su Linux, perchè Gambas? La risposta è molto semplice. Sebbene Linux abbondi di linguaggi di programmazione, non abbonda affatto di ottimi ambienti di sviluppo e di facile uso. Gambas si propone di essere facile da usare e permette anche a chi ha poca esperienza con la programmazione di iniziare a scrivere programmi di una qualche utilità.
Orientato agli oggetti disponibile per piattaforme GNU/Linux ed altri sistemi Unix o assimilati la cui sintassi è basata sul linguaggio BASIC. Gambas indica al contempo sia il linguaggio che l'IDE (Integrated Development Environment), esso stesso scritto in Gambas. L'interprete di Gambas è scritto in C/C++.

Gambas è nato nel 1999 per mano di un programmatore francese di nome Benoît Minisini che voleva realizzare un nuovo linguaggio di programmazione per Linux, facile da apprendere e semplice da utilizzare come il Visual Basic di Microsoft, di cui però non è un clone, come rimarca con decisione il suo autore [1]. Anche se molto spesso si tende ad usare la similitudine con il Visual Basic per spiegare ai profani a cosa più assomiglia Gambas, i punti di contatto sono limitati al linguaggio di base, il BASIC, ma la sintassi dei comandi e la struttura dei programmi è diversa tant'è che un programma dell'uno non può girare sull'altro.

Gambas è free software ed è rilasciato sotto licenza GPL.

Dove trovare Gambas





La documentazione che potete trovare su Gambas è per adesso quasi interamente in inglese (a parte quelle che trovate tradotta su Gambas.it) ma è sicuramente un ottimo punto di partenza per iniziare a studiare il linguaggio:
  • A Beginner Guide To Gambas: si tratta di un manuale in formato PDF di circa 400 pagine dove potrete trovare una panoramica completa di tutto l'ambiente, dei controlli, del linguaggio, affrontando problematiche comuni della programmazione, comprendendo anche la gestione degli errori e la programmazione object-oriented.
  • Wiki ufficiale del progetto Gambas: si tratta della documentazione ufficiale del progetto ed è in formato Wiki, in modo che tutti gli sviluppatori possano di volta in volta dare il proprio contributo.
  • Network Programming with Gambas: Tutorial sulla programmazione Socket tramite Gambas.

Risorse Esterne
fonte: ptlug
Ultima versione stabile: 2.1.7

http://people.freebsd.org/~acm/screen/gambas2-freebsd.png

You get them from the Subversion repository. To get a snapshot of the future 3.0 version, do:
$ mkdir trunk
$ svn checkout https://gambas.svn.sourceforge.net/svnroot/gambas/gambas/trunk/
$ cd trunk
$ ./reconf-all
To get a snapshot of the 2.x development version, do:
$ mkdir 2.0
$ svn checkout https://gambas.svn.sourceforge.net/svnroot/gambas/gambas/branches/2.0
$ cd 2.0
$ ./reconf-all
Do not forget to install automake and autoconf, otherwise the ./reconf-all script will not work.

Stable Version Source Packages (ChangeLog)

Package Version Format
gambas2-2.17.0.tar.bz2 2.17.0 tar.bz2
gambas2-2.16.0.tar.bz2 2.16.0 tar.bz2
gambas2-2.15.2.tar.bz2 2.15.2 tar.bz2
gambas2-2.14.0.tar.bz2 2.14.0 tar.bz2

martedì 19 ottobre 2010

FRITZING

PDF Stampa E-mail
Scritto da Mario Emanuele Lagadari   
Giovedì 05 Novembre 2009 17:06
Fritzing è un open-source iniziativa a sostegno designer, artisti, ricercatori e
appassionati a compiere il passo dalla creazione di prototipi fisici ad un prodotto reale.
Scaricabile dal sito:
http://fritzing.org/download/
Fritzing PCB's View consente :
  • Di progettare ed esportare i file per creare circuiti stampati.
  • È possibile esportare il disegno per un servizio professionale di produzione di PCB.
La teoria dei circuiti stampati PCB potrebbe sembrare difficile a prima vista per un principiante. Per via che questa teoria mostra solo le informazioni necessarie per la progettazione. Anche se può essere meglio interpretata se utilizziamo l'uso dei vari livelli che costituiscono il progetto.
Per imparare ad utilizzare gli strumenti Fritzing di progettazione PCB, consideriamo l' utilizzo di una serie di fasi :
  • Prima di tutto consideriamo lo schema creato nella Breadboard View:
big_design_pcb_1

  • Visualizzando la selezione PCB nel Navigator costituito dal rettangolo verde su cui veranno disposti i vari elementi ed i vari collegamenti tra i vari componenti definiti da linee sottili avremmo:

  • big_design_pcb_3
  • Ridimensioniamo il rettangolo, utilizzando una forma Arduino o una scheda con una forma personalizzata. Per far ciò selezionare la scheda e scegliere / modificare la forma preferita in Impostazioni.


big_design_pcb_5
Dopo aver terminato la costruzione del circuito, salvare il progetto. Si potrebbe voler esportare il circuito come un file di immagine o PDF.
  1. Selezionare il progetto da esportare (basetta, schematico o PCB).
  2. Dalla barra dei menu, selezionare File> Esporta> e il formato desiderato.
  3. big_building_circuit_7

  • Adesso andremmo a disporre gli elementi sul rettangolo lasciando un adeguato spazio fra i vari elementi e cercando di non disporli molto vicino ai bordi.
    Questo sarà molto importante dato che la posizione dei pezzi avrà un grande effetto sul processo di routing. Ad esempio :
big_design_pcb_9








big_design_pcb_9PS: funziona in tutti i sistemi operativi, seguire le istruzioni nella pagina di download in alto.