Feeds:
Articoli
Commenti

Forse chi mi conosce sa gia’ di cosa parlero’…

ma per chi si trova di passaggio in questo blog la cosa potrebbe essere interessante..

Parlo di “TinaLaPiantina” ovvero il mio progetto, per ora in stallo, di dare “voce” ad una pianta con l’ausilio delle nuove tecnologie.

No, non ho scoperto il linguaggio delle piante, purtroppo, ne mi sono svegliato una mattina, all’indomani di un grande incidente magari, con il possesso di strani poteri quasi da medium.

Purtroppo no

La mia idea e’ partita da un semplice progetto di irrigazione… infatti mi sono chiesto, quando esattamente dovrei innaffiare una pianta?

I fattori che influenzano la “sete” di una pianta sono tanti: la temperatura ambientale, l’umidita’ dell’aria e del terreno, la presenza di giornate assolate o coperte, etc..

e poi avrei voluto che fosse un sistema automatico ad avvertirmi delle condizioni e volevo che lo facesse sui maggiori social networ (facebbok, twitter, etc…)

Io mi sono soffermato, per adesso, sul primo aspetto…

La temperatura ambientale

Trovare in rete degli schemi elettronici per fare un monitoring della temperatura e’ stato davvero facile.. non mi dilungo sul circuito perche’ potete trovare tutti i dettagli a questo indirizzo: http://www.instructables.com/id/Temperature-sensor–weatherstation/ (da notare l’uso di sensori a tecnologia 1-wire ;-) )

Invece forse risulta piu’ interessante il modo con cui TinaLaPiantina comunica con twitter (http://twitter.com/tinapiantina) e facebook(http://www.facebook.com/tinalapiantina):

Ho scritto tutto il codice in python e per la gestione dei post su twitter ho fatto uso della libreria “python-twitter” (http://code.google.com/p/python-twitter/)

per cui l’inserimento di un post risulta molto semplice:

import twitter
self.api=twitter.Api(username=self.name, password=self.passw)

self.api.PostUpdate(message)

Davvero semplice…

Per quanto riguarda Facebook la cosa e’ piu’ complicata in quanto occorre creare una nuova applicazione facebook alla quale agganciarsi per poter postare dei messaggi nella bacheca dell’utente iscritto all’applicazione e consenziente..

A me di sviluppare una app faceook apposta non interessava, quindi mi sono appoggiato ad una app che da proprio questo servizio ed in piu’ offre delle API per postare sulla propria bacheca, si tratta di http://ping.fm/ che offre anche molti altri servizi (andate a curiosare il sito).

Tramite questo servizio occorre solo registrarsi ed usare questa sintassi:

from xml.etree import ElementTree
import urllib,urllib2
import sys
APIURL = ‘http://api.ping.fm/v1/’
#EDIT THE NEXT 2 LINES ACCORDING TO YOUR ACCOUNT
#######################################################
#degug = 1 just dumps the XML…
debug = 0
class FbStatus():
def __init__(self,apikey,userkey):
self.APIKEY = apikey #Get this from http://ping.fm/developers/
self.USERKEY = userkey #get this from http://ping.fm/key

from xml.etree import ElementTreeimport urllib,urllib2import sys
APIURL = ‘http://api.ping.fm/v1/’
#EDIT THE NEXT 2 LINES ACCORDING TO YOUR ACCOUNT
#######################################################
#degug = 1 just dumps the XML…debug = 0
class FbStatus():    def __init__(self,apikey,userkey):

self.APIKEY = apikey #Get this from http://ping.fm/developers/

self.USERKEY = userkey #get this from http://ping.fm/key

def UpdateStatus(self,msg = None, service = “facebook”):

global debug

print “Status message to be updated: “+msg

if service is not None: print “Service to update: “+service

data_to_post = {‘api_key’:self.APIKEY,’user_app_key’:self.USERKEY,’post_method’:'default’,'body’: msg,’debug’: debug}

#If service is provided in the command line parameter, add that service in the data_to_post too…

if service is not None: data_to_post['service'] = service

#Encoding the data to send…

data_to_post = urllib.urlencode(data_to_post)

req = urllib2.Request(APIURL + ‘user.post’, data_to_post)

try:

response_page = urllib2.urlopen(req)

#We get the response in XML

responseXML = response_page.read()

#Parsinf the XML

result = ElementTree.XML(responseXML)

if result.attrib is not None:

if result.attrib['status'] == ‘OK’:

print ‘Your message has posted successfully!!!’;

else:

print ‘Error: ‘ + result[2].text

if debug: print responseXML

#Exception is handled

except urllib2.URLError, e:

if hasattr(e, ‘reason’):

print ‘Couldnt connect to server.’

print ‘Reason: ‘, e.reason

elif hasattr(e, ‘code’):

print ‘Error code: ‘, e.code

Per ora la creazione ed il supporto di tutti gli altri sensori e’ in standby… ma quando avro’ un po’ di tempo e voglia ho intenzione di finirlo… ;-)

Purtroppo la tabatura non credo sia corretta… potete scaricare i sorgenti da qui :-)

My fisheye

My fisheye!

aggiornato 23-05-2010

Ovvero un obiettivo che permetta di fare foto, e filmati, come se tutto fosse visto da un pesce!

chissa’ poi se un pesce vede davvero cosi’…

Dopo aver creato il mio obiettivo MACRO eccomi qui pronto ad ampliare la gamma di obiettivi per la mia compatta.

L’ispirazione e’ venuta dai video di street MTB e skateboard in cui l’iquadratura con obiettivo FishEYE e’ d’obbligo sia per i video che per le foto ed in piu’ vedendo un po’ di foto su flickr mi e’ venuta tanta voglia di sperimentare…

Naturalmente non sono stato il primo a cui e’ saltato in mente l’idea di autocostruirsi un obiettivo fisheye, infatti su www.instructables.com si trovano tante guide proprio su questo argomento.

Veniamo a noi.

Per prima cosa ho comperato un normale spioncino per porte

Quindi l’ho smontato in tutte le sue parti (3) escluso le lenti

le parti fondamentali sono il finale, in cui c’e’ la lente ricurva, ed il tubicino filettato in cui ha sede la lente focale (almeno credo :-p ).

Fancendo delle prove mi sono accorto che la distanza fra la lente nel tubo e quella nel finale era troppo poca per permettere alla macchina fotografica di mettere correttamente a fuoco; cosi’ ho semplicemente avvitato la lente finale dall’altra parte del tubo, aumentando la distanza fra le lenti e permettendo una corretta messa a fuoco.

Poi ho usato uno scatolino di un rullino come adattatore per la macchina fotografica ottenendo un comodo obiettivo.

Ed ecco qui i risultati:

una bella foto in esterna:

ed ovviamente ecco anche il video

Green Speakers

Quando voglio fare un regalo speciale, ad una persona che so sa apprezzare, tento sempre di farlo da me!

L’idea da cui sono partito era semplice… dovremmo tutti riprenderci quel contatto con la natura dalla quale ci stiamo ormai distaccando.

E’ la vita di tutti in giorni in macchina, davanti al pc, con il lettore mp3, con i nostri sporto “da palla” su tappeti sintetici, etc…, a distaccarci sempre piu’ da quella natura con la quale l’uomo un tempo viveva tranquillamente, attraverso il proprio orto, le proprie galline, etc..

Ed ecco che il resto vien da se!

Volevo regalare degli speaker per pc alla mia ragazza, ma senza dimenticare il contatto con la natura… beh.. per il resto parlano le immagini..

Sono partito da questi:

Ma cosi’ sono decisamente brutti… ed ecco che l’idea avanza…

ora avete sicuramente capito…

quindi…

next step

ok.. ci siamo… la cosa adesso e’ piu’ chiara… spero…

andiamo avanti

e da dentro…

l’altro…

Dopo di che… pastica riciclata (fondi di bidoni e fogli di plastica robusti [es. mangimi per animali]), terriccio.. ed ecco il risultato!!

ehm… ancora non ho le foto! presto aggiornero’!

clicca per ingrandire

clicca per ingrandire

Comodissimo!!

avete presente l’edizione online de “Il Mercatino”? (giornale dell’usato e non dedicato alla sicilia) http://www.ilmercatinosicilia.it/

Bene.. tale giornale, che in edicola esce il mercoledi’ ed il venerdi’, da’ la possibilita’ online di scaricare la versione della settimana passata gratuitamente…

bello no?

SI!

se non fosse che si puo’ scaricare UNA PAGINA ALLA VOLTA e se uno si fa furbo ed usa programmini (tipo “down them all”) per scaricare si ritrovera’ comunque con un CENTINAIO DI PAGINE con NOMI ORRENDI tipo: “131009qqgwaacsnkfnabit-2652_1.pdf”

Ora… possano cadere dalle scale con le mani in tasca!

come fa una persona sana di mente a consultare un giornale di annunci dovendo aprire ogni file pdf per cercare la sezione desiderata?

dato che sono informatico e non sono tanto fuso da impazzire ho deciso di crearmi uno script appostio…

con questo script e’ possibile passare dai centinaia di file pdf dai nomi osceni ad un solo, e piu’ logico file chiamato mercatino.pdf :-)

eccolo:

#!/usr/bin/python

#ti serve pdfjoin per unire i pdf

import os

for fname in os.listdir(os.getcwd()):


if (len(fname)>28):

b=fname[28:]


if (len(b)==6):

b=”0″+b

elif(len(b)==5):

b=”00″+b

print fname
print b

os.rename(os.getcwd()+”/”+fname,os.getcwd()+”/”+b)
print “rinominato”

os.system(“pdfjoin *.PDF –outfile mercatino.pdf”)

Potrebbero esserci errori di tabulazione (indispensabili per python), quindi se vi va potete scaricare il file

critical_mass

Ieri (30 sett 2009) ho partecipato, come ormai ho deciso di fare ogni mercoledi’, alla Critical Mass Catanese.. (ogni mercoledi’, partenza ore 21.30 / 22.00 da piazza Roma)

Ebbene si!

anche a Catania si fa massa critica girando il bici con lo spirito proprio delle piu’ grandi Critical Mass, o quasi…

E’ stata la seconda volta che partecipavo e stavolta il numero e’ stato un po’ piu’ superiore… una cinquantina di persone o forse anche di piu’..

Il gruppo e’ MOLTO eterogeneo ed allegro, di certo non ci si annoia..

Ci sono persone di tutti i tipi con qualunque genere di bici, si fa caciare, ci si fa sentire insomma e si scherza tanto :-)

Inoltre ieri alcuni ragazzi del gruppo mi hanno insegnato il bunnyhop che io eseguo con la mia bmx!

ovvero ho imparato a saltare alzando prima la ruota davanti e poi quella di dietro, cosa molto utile se si vuole salire un gradino o su una panchina al volo :-D

Logo Critical Mass

Abbiamo girato per catania per 14km , a dire il vero loro hanno anche continuato per non so quanti altri km ma io mi sono fermato prima per raggiungere la mia ragazza ed amici… :-)

ecco il percorso della critical al quale io ho partecipato :-D


View Larger Map

Robot “bugovo”

Si chiama Bugovo il mio robottino elettico…

tutto e’ iniziato da questa “Insctuction” : http://www.instructables.com/id/How-to-Build-a-Robot-The-BeetleBot-v2-Revisite/

Si lo so… il suo e’ piu’ bello… ma io lo migliorero’!! tranquilli…

Iniziamo dal problema principale che ho riscontrato…

I MOTORI!

Qua a Catania non c’e’ un negozio, dico uno, che venda dei motori da 1.5V al massimo (anzi, al minimo) si trovano i motori delle 4wd Tamiya da 3V… ottimi direte, certo, se non costassero 7 euro cadauno, e considerando che me ne servirebbero 2 dovrei spendere 14 euro di soli motori, piu’ gli altri pezzi…

Per fortuna che a Catania ci sono i Cinesi!!!

infatti in un negozio dei cinesi ho trovato le imitazioni delle 4wd Tamiya… 2 euro!!

ma ora passiamo ai fatti…

ecco le foto!!

angelino con la corrazza

bugovo con la corrazza

angelino "nudo"

bugovo "nudo"

particolare anteriore con i due fine corsa

particolare anteriore con i due fine corsa

particolare di uno dei 2 motori... notare la ruota :-)

particolare di uno dei 2 motori... notare la ruota :-)

Ed ecco il VIDEO!

Macro with Canon A460

La mia canon A460 possiede gia’ una comoda ed efficace funzione MACRO per le inquadrature ravvicinate di oggetti piccoli, ed i risultati sono davvero apprezzabili (le mie macro: http://www.flickr.com/photos/peppeska/sets/72157602046062548/)

Ma…

Ma voglio di piu’!
impossibile aggiungere ottiche ad una compatta, certo, ma ho voluto comuqnue fare questo esperimento.

Ho aggiunto all’obiettivo una lente oculare 10x che possedevo gia’ da tempo (usata per vedere i cristalli di alcune rocce) ed ecco i risultati!

Macro with Canon A460

Macro with Canon A460

Volendo smanettare un po’ con l ‘elettronica (come se non bastassero i progetti di certe materie) ho deciso di “pimpare” una mia luce da giardino solare tipo questa:

Per fare cio’ ho seguito una guida presente su www.instructables.com ed esattamente questa:

http://www.instructables.com/id/Adding_Oomph_to_the_Garden_Solar_Light/

Lo schema elettrico della guida e’ il seguente:

Devo dire che ero un po’ arrugginito con l’elettronica teorica (nonostante le ben 5 materie studiate all’uni nel corso dei passati 3 anni, purtroppo elettronica solo teorica e per nulla pratica :( )

ma alla fine ecco i risultati!

circuito elettronico

I due fili a coppia (bianco rosso) al centro sono per il colleganento del led, quelli rossi esterni sono i positivi della batteria (in alto) ed del pannello solare (in basso), i negativi bianchi sono cortocircuitati quindi indifferenziati.

th-img_3369

th-img_3370

th-img_3371

th-img_3372

ha… la torre di Hanoi

Che bello, che bello!

Che bello che la mia Lei mi ha regalato la Torre di Hanoi!

Si tratta di un gioco semplice all’apparenza ma davvero stimolante…

Lo scopo del gioco e’ quello di trasferire la torre da un bastoncino ad un altro seguendo solo due regole:

1) Si puo’ spostare solo un anello alla volta

2)Un anello puo’ stare solo su un altro piu’ grande, e mai grande su piccolo

Regole semplici, ed il gioco e’ semplice!

ma si fa piu’ difficile con l’aumentare degli anelli…

Giocateci qui:

http://www.comunedasa.it/torri_Hanoi/applet_Hanoi.asp

Esistono tante implementazioni dell’algoritmo risolutivo, in diversi linguaggi di programmazione (http://www.kernelthread.com/hanoi/)

Ovviamente, da buon geek che non sono altro non ho visto l’ora di fare un mio algoritmo risolutivo in Python

ed e’ questo

E si… e’ possibile fare una cosa del genere… ed e’ tutto spiegato qui!

http://www.instructables.com/id/Wallet-made-from-a-computer-keyboard/

Ed ecco il mio risultato:

Articoli precedenti »

Follow

Get every new post delivered to your Inbox.