Source: http://hardware-hackingmx.com/
Timestamp: 2013-12-11 22:24:05+00:00

Document:
by luisvillak Lección 9 – Raspberry Pi – USO DE TWITTER CON PYTHON (Tweepy)
¡Hola! He decidido hacer este pequeño tutorial de la manera más sencilla para usar Twitter en nuestra Raspberry Pi. Lo que puedas hacer con esto ya depende mucho de tu creatividad, yo por ejemplo pienso incorporarlo a una casa Inteligente controlada por Raspberry Pi.
En este tutorial les enseñaré a crear su aplicación en Twitter para tener el acceso a todo y poder mandar Tweets, instalar Tweepy y programar en Python para crear estados, ver estados públicos, de usuarios y amigos, etc.
Primero tenemos que dirigirnos al siguiente link. AQUí… y veremos una ventana como esta:
Rellenamos los datos que nos pide y aceptamos los términos y condiciones de uso. Los invito a que los lean más tarde. Resolvemos el captcha y clickamos en el botón de Crear tu Aplicación de Twitter. En seguida se nos muestra la siguiente ventana.
Esas claves nos servirán para identificarnos a través de Python, pero primero modificamos el nivel de acceso, porque por defecto esta en sólo lectura. Para esto damos click en la pestaña de arriba que dice “Settings” y nos dirigimos a el área de “Application Type” . Seleccionamos la opción de “Read, Write and Access direct messages“. Damos click en el botón azul del final para guardar los cambios y ahora volvemos a la pestaña “Details“, nos esperamos unos 2 minutos y actualizamos la página ya que demora en actualizar los datos.
Una vez que el nivel de acceso este cambiado daremos click en “Create my access token“. Espere un minuto, actualice nuevamente la página y listo. No cierre la página ya que utilizaremos esas claves.
Ahora nos abrimos una nueva terminal en nuestra Raspberry Pi y ejecutaremos los siguientes comandos para instalar la librería de Tweepy.
Tras haber instalado la librería, ya podemos crear un código en Python. Podemos escribirlo desde consola, mediante IDLE o Leafpad.
PRIMER EJEMPLO: ACTUALIZAR ESTADO
En este ejemplo veremos la manera de conectarnos con Twitter y actualizar nuestro estado mediante un texto determinado en el código, ten a la mano los códigos que anteriormente obtuviste.
#Coloca dentro de las comillas tus claves…
CONSUMER_KEY = ‘Aquí coloca Consumer key’ CONSUMER_SECRET = ‘Aquí coloca Consumer secret’
ACCESS_KEY = ‘Aquí coloca Access token’
ACCESS_SECRET = ‘Aquí coloca Access token secret’
#En esta parte nos identifica para poder realizar operaciones
#update_status(‘mensaje’ o variable) es para actualizar nuestro estado
x = tweepy.API(auth)
x.update_status(‘@hardwarehackmx Si me Funciono el Tutorial de @luisvillak ‘)
Guardamos el archivo donde mejor nos convenga y lo ejecutamos como cualquier código de Python. En mi caso lo guarde como tuto.py, así que en la terminal pondré:
python tuto.py
Como ven al ejecutarlo no devuelve ningún parámetro, pero al verificar nuestro Twitter vemos que efectivamente actualizó nuestro estado.
SEGUNDO EJEMPLO: VER NUESTROS ESTADOS
Una vez hemos accedido a Twitter, podremos hacer muchas cosas, pero antes mostraré algunos parámetros para facilitar su experiencia con esta herramienta. Con este ejemplo veremos cómo mostrar nuestros últimos estados.
Para poder mostrar nuestros estados usaremos la función user_timeline() , la cual sin ningún parámetro nos devolverá nuestros últimos 20 estados.
CONSUMER_KEY = ‘??????????????????’ CONSUMER_SECRET = ‘?????????????????????????’
ACCESS_KEY = ‘???????????????????????????????????????’
ACCESS_SECRET = ‘???????????????????????????????????????’
for tweets in x.user_timeline():
print(tweets.created_at)
print(tweets.text)
print(‘ *’*40)
El for nos ayuda a guardar la lista de objetos en una variable. Para mostrar el texto del estado llamamos a la variablevariable.text y para mostrar la fecha de creación del estado sería variable.created_at. El ultimo print sólo es para separar los comentarios con una serie de ” *” . Guardamos y ejecutamos nuestro código de la misma forma que el anterior.
TERCER EJEMPLO: ESTADOS DE USUARIO Y AMIGOS
En este tercer ejemplo veremos, el uso de la función home_timeline, que es la que nos permite mostrar los estados de usuarios y amigos incluyendo retweets, el uso de limitaciones, es decir, el cómo podemos mostrar en lugar de los 20 estados que se muestran por inercia, mostrar sólo 2 o los que deseemos.
Como ahora los estados no son sólo nuestros, necesitaremos mostrar de qué usuario son para no perdernos leyendo tweets. Eso lo haremos con vriable.user.screen_name, como vemos en el código siguiente:
CONSUMER_KEY = ‘??????????????????????’ CONSUMER_SECRET = ‘??????????????????????’
ACCESS_KEY = ‘??????????????????????’
ACCESS_SECRET = ‘??????????????????????’
for tweets in x.home_timeline(count=2):
print(tweets.user.screen_name)
Guardamos y nuevamente ejecutamos normalmente como lo hemos estado haciendo hasta ahora.
Como podemos ver, esto equivale a la página de inicio que nos sale en Twitter:
CUARTO EJEMPLO: REALIZAR UNA BÚSQUEDA DE CONTENIDO.
Para poder realizar una búsqueda, implementaremos el uso de la función search(), que por parámetro obligatorio tiene únicamente q que es la cadena o cadenas a buscar. Veámoslo en acción.
CONSUMER_KEY = ‘????????????’ CONSUMER_SECRET = ‘????????????’
ACCESS_KEY = ‘????????????’
ACCESS_SECRET = ‘????????????’
for tweets in x.search(q=’GeekyTheory’,count=4, result_type=’recent’):
Usamos result_type=’recent’ para mostrar resultados recientes en la búsqueda. Guardamos y ejecutamos normalmente el código.
Bueno por este tutorial es todo, con un poco de creatividad y dedicación podrán hacer aplicaciones muy efectivas con esta herramienta, los invito a que investiguen sobre todo lo que se puede hacer con esta librería que esta muy completa. Pueden echar un vistazo a estas páginas:
https://code.google.com/p/tweepy/wiki/APIReference#search
http://pythonhosted.org/tweepy/html/
Reeposteado de :
http://geekytheory.com/tutorial-raspberry-pi-uso-de-twitter-en-python/
Espero les sirva esta información. Les mando un saludo y suerte en todos sus proyectos.
Standard | Posted in Raspberry Pi	| Tagged Python, Raspberry Pi, Tweepi, Twitter	| 0 comments
by viccarre PowerUp 3.0, aviones de papel controlados con tu teléfono
Standard | Posted in Blog	| Tagged electrónica, ideas, innovación, programación	| 0 comments
by viccarre Circuit Stickers
Standard | Posted in Blog	| Tagged Aprende electrónica, baterias, circuitos, Circuits, electrónica, LED's	| 0 comments
by luisvillak Lección 8 – RASPBERRY PI – USO DE CONVERTIDORES HDMI-VGA
¡Hola! Bueno sin duda algo muy usado por cuestión de economía o por reciclar muchos de los que usamos una Raspberry Pi, ya que es mucho mas económico a comprar un monitor. Sin embargo esto nos podría traer algunos problemas, puede que no mande señal de vídeo, la señal este con mucho ruido, es decir, con interferencia o que la resolución no esté acorde a nuestro monitor, entre otros. Bueno estos problemas se deben a que el HDMI maneja señal digital mientras que el VGA es analógica, entonces nuestro adaptador tiene que convertir esta señal, y para esto consume mas energía que un HDMI. Esto es lo que causa calentamiento y un mal funcionamiento de la Raspberry Pi. Además, al convertir la señal los auto detectores de resolución del HDMI convencional no funcionan o funcionan mal.
Pero tranquilos, que esto es muy fácil de corregir y es lo que les enseñaré enseguida…
¡Empecemos! Lo que necesitamos hacer es configurar la salida de vídeo para manejar la resolución de nuestro monitor, eliminar la auto detección de resolución y que la Raspi reconozca que la salida la usaremos para un adaptador y no para un HDMI convencional. Para esto basta con modificar un pequeño archivo llamado config.txt con cuidado, porque en este archivo se guarda la configuración con la que iniciará nuestro sistema operativo.
Como vemos en la imagen, podemos acceder a este archivo al leer nuestra tarjeta SD en cualquier computadora. Recomiendo abrir con un editor de código Notepad++, CODE WRITER o alguno por el estilo, porque Linux y Windows tienen una forma diferente de tratar el salto de línea. Si lo abrimos con el bloc de notas lo veremos así:
No respeta los saltos de línea, así que no podremos visualizar bien dónde empieza una instrucción, mientras que con un editor de código se verá así:
Bueno ahora les hablaré de los parámetros que tenemos que agregar a este archivo y qué hace cada uno:
Con este comando obligamos a la Raspberry Pi a utilizar la salida HDMI, incluso si no se detecta alguna pantalla. Dándole el valor de ’1′ es cuando se obliga. Esto es porque muchas veces el convertidor VGA no lo identifica la Raspberry Pi y piensa que no hay monitor conectado y cancela la salida de vídeo por ese puerto.
Controla la resolución y frecuencia de salida mediante dos grupos: el 1º, que se refiere al CEA (Consumer Electronics Association) hace referencias a pantallas de alta definición. El grupo 2 que se refiere a VESA (Video Electronics Standards Association) y DTM ( Display Monitor Timing), recomendado para conectar a monitores de computadoras convencionales.
Este parámetro depende del grupo que anteriormente se haya elegido. A continuación listaré los parámetros posibles:
hdmi_mode=1 640×350 85Hz
hdmi_mode=2 640×400 85Hz
hdmi_mode=3 720×400 85Hz
hdmi_mode=4 640×480 60Hz
hdmi_mode=5 640×480 72Hz
hdmi_mode=6 640×480 75Hz
hdmi_mode=7 640×480 85Hz
hdmi_mode=8 800×600 56Hz
hdmi_mode=9 800×600 60Hz
hdmi_mode=10 800×600 72Hz
hdmi_mode=11 800×600 75Hz
hdmi_mode=12 800×600 85Hz
hdmi_mode=13 800×600 120Hz
hdmi_mode=14 848×480 60Hz
hdmi_mode=15 1024×768 43Hz DO NOT USE
hdmi_mode=16 1024×768 60Hz
hdmi_mode=17 1024×768 70Hz
hdmi_mode=18 1024×768 75Hz
hdmi_mode=19 1024×768 85Hz
hdmi_mode=20 1024×768 120Hz
hdmi_mode=21 1152×864 75Hz
hdmi_mode=22 1280×768 reduced blanking
hdmi_mode=23 1280×768 60Hz
hdmi_mode=24 1280×768 75Hz
hdmi_mode=25 1280×768 85Hz
hdmi_mode=26 1280×768 120Hz reduced blanking
hdmi_mode=27 1280×800 reduced blanking
hdmi_mode=28 1280×800 60Hz
hdmi_mode=29 1280×800 75Hz
hdmi_mode=30 1280×800 85Hz
hdmi_mode=31 1280×800 120Hz reduced blanking
hdmi_mode=32 1280×960 60Hz
hdmi_mode=33 1280×960 85Hz
hdmi_mode=34 1280×960 120Hz reduced blanking
hdmi_mode=35 1280×1024 60Hz
hdmi_mode=36 1280×1024 75Hz
hdmi_mode=37 1280×1024 85Hz
hdmi_mode=38 1280×1024 120Hz reduced blanking
hdmi_mode=39 1360×768 60Hz
hdmi_mode=40 1360×768 120Hz reduced blanking
hdmi_mode=41 1400×1050 reduced blanking
hdmi_mode=42 1400×1050 60Hz
hdmi_mode=43 1400×1050 75Hz
hdmi_mode=44 1400×1050 85Hz
hdmi_mode=45 1400×1050 120Hz reduced blanking
hdmi_mode=46 1440×900 reduced blanking
hdmi_mode=47 1440×900 60Hz
hdmi_mode=48 1440×900 75Hz
hdmi_mode=49 1440×900 85Hz
hdmi_mode=50 1440×900 120Hz reduced blanking
hdmi_mode=51 1600×1200 60Hz
hdmi_mode=52 1600×1200 65Hz
hdmi_mode=53 1600×1200 70Hz
hdmi_mode=54 1600×1200 75Hz
hdmi_mode=55 1600×1200 85Hz
hdmi_mode=56 1600×1200 120Hz reduced blanking
hdmi_mode=57 1680×1050 reduced blanking
hdmi_mode=58 1680×1050 60Hz
hdmi_mode=59 1680×1050 75Hz
hdmi_mode=60 1680×1050 85Hz
hdmi_mode=61 1680×1050 120Hz reduced blanking
hdmi_mode=62 1792×1344 60Hz
hdmi_mode=63 1792×1344 75Hz
hdmi_mode=64 1792×1344 120Hz reduced blanking
hdmi_mode=65 1856×1392 60Hz
hdmi_mode=66 1856×1392 75Hz
hdmi_mode=67 1856×1392 120Hz reduced blanking
hdmi_mode=68 1920×1200 reduced blanking
hdmi_mode=69 1920×1200 60Hz
hdmi_mode=70 1920×1200 75Hz
hdmi_mode=71 1920×1200 85Hz
hdmi_mode=72 1920×1200 120Hz reduced blanking
hdmi_mode=73 1920×1440 60Hz
hdmi_mode=74 1920×1440 75Hz
hdmi_mode=75 1920×1440 120Hz reduced blanking
hdmi_mode=76 2560×1600 reduced blanking
hdmi_mode=77 2560×1600 60Hz
hdmi_mode=78 2560×1600 75Hz
hdmi_mode=79 2560×1600 85Hz
hdmi_mode=80 2560×1600 120Hz reduced blanking
hdmi_mode=81 1366×768 60Hz
hdmi_mode=83 1600×900 reduced blanking
hdmi_mode=84 2048×1152 reduced blanking
hdmi_mode=86 1366×768 reduced blanking
En la lista 2, del grupo 2, escogemos la resolución de nuestro monitor.
Este parámetro modifica el voltaje de salida del puerto, tiene como valores 1 ó 2. El 1 se refiere a voltaje para DVI y sin sonido, mientras que el 2 a HDMI normal, con sonido. Aunque la solución fuese obviamente usar el 1, algunos convertidores no funcionan del todo bien así que es recomendable el valor en 2.
Bueno entonces ya sabemos que paramatros debemos agregar a nuestro archivo config.txt. Aquí les dejo un ejemplo de mis configuraciones para un monitor LCD que cumple 14 años.
Nota: agrega tus configuraciones antes de las configuraciones del procesador. y en cada SO, cambia un poco el archivo de configuración, en caso del Raspbian tiene comentarios que te ayudan a realizar estas configuraciones que tras a ver visto este tutorial entenderás ala perfección.
Toda la información de este tutorial fue de distintas fuentes pero me gustaría dar el crédito a “Guía de usuario de Raspberry pi” de Eben Upton, además de esta pagina http://elinux.org/RPiconfig. Les recomiendo den una revisión a fondo a estas dos fuentes ya que tienen muchas más configuraciones que nos podrían facilitar nuestra experiencia con Raspberry Pi.
¡Les mando un saludo y suerte en sus proyectos!
Standard | Posted in Raspberry Pi	| Tagged Adaptador VGA, aprende Raspberry Pi, Configuración HDMI, electrónica, Raspberry Pi, VGA-HDMI	| 0 comments
by viccarre TechShop, el paraíso de los Hardware Hackers
Tal vez algunos de ustedes ya conocian TechShop pero muy posiblemente para otros es algo nuevo. Se trata de unos espacios de trabajo para hackers, makers y/o inventores. Las instalaciones cuentan con todo lo necesario para ponerse a trabajar en nuestros proyectos de hardware. Por el momento solo hay en Estados Unidos pero sería increible ver algo como esto es México, España y paises de latinoamerica. Vean el video, se van a enamorar igual que nosotros.
Video | Posted in Uncategorized	| Tagged hackers, Hardware, inventores, makers, TechShop	| 0 comments
by esauort Lección 7 – Raspberry Pi – Tweets a voz
El pasado Halloween, noche de brujas o día de muertos, según el país donde nos lean :), teníamos pensado construir algún animatronic alusivo a la celebración, basado en algunos ejemplos de Makers que ya habían echo algo similar, desafortunadamente nos quedamos sin tiempo y no pudimos dar a luz el proyecto.
Aun así queremos compartir la idea y una de las muchas maneras que existen para realizarla. Básicamente consiste en leer nuestra linea de tiempo en Twitter y pasar cada uno de nuestros tweets a voz, al mismo tiempo que activamos algún juguete animado (bailarín, parlanchín, etc.), veamoslo paso a paso:
1. Antes de empezar debemos crear una “Twitter App”, el proceso es muy sencillo, solo vamos a https://dev.twitter.com/ nos logueamos con nuestra cuenta de Twitter y creamos una aplicación.
el proceso es simple e intuitivo así que no deberíamos tener problema con esto.
2. El circuito, también es sencillo y prácticamente podríamos acoplar cualquier cosa, mediante un transistor o un relevador, en esta ocasión empezaremos con el ya clásico encendido del LED conectado al pin 14 de la GPIO (conector físico numero 8).
3. Una ves creada nuestra aplicación y armado el circuito, tendremos que instalar algunos módulos para poder enlazar nuestra Timeline con Python.
Desde consola actualizaremos e instalaremos el core de git, para poder descargar proyectos de github.
después clonaremos el modulo que nos permitirá autentificarnos con Twitter desde Python.
git clone https://github.com/leah/python-oauth.git
accedemos a la carpeta que se creo para continuar instalando el modulo
cd python-oauth
en caso de que nos aparezca el siguiente error:
será necesario instalar un complemento adicional (python setup tools component distribute) para poder continuar. Esto lo hacemos dentro de la misma carpeta creada (python-oauth):
mkdir python-distribute
cd python-distribute
al terminar solo tenemos que regresar un nivel en el directorio e intentar nuevamente la instalación:
y esta ves tendría que haber instalado sin mensajes de error.
3. El siguiente modulo nos permitirá conectar con el stream de twitter:
4. Y al final el “mplayer” una aplicación que nos permitira reproducir el audio de nuestros tweets:
Bien hasta aquí tenemos instalado todos los módulos y aplicaciones que nos harán la magia, solo nos resta el script que ejecutaremos para estar monitoreando nuestra cuenta. Desde cualquier editor o desde la misma consola, creamos un archivo con el nombre que nos agrade pero con extensión .py, esto ultimo es importante, y lo guardamos en el directorio que queramos.
sudo nano TalkingTweet.py
y pegamos el siguiente código, reemplazando la información con las llaves que Twitter asigno a nuestra aplicación:
Espero sea de lo mas entendible, el método “speakSpeechFromText” nos recibe como parámetro el texto a reproducir, y el método “getGoogleSpeechURL” arma la URL adecuada para generar el audio, en la ejecución algunas veces las palabras con “acentos” no las lee como debe ser, esto es un problema al armar la URL, pero es algo que esperamos pronto resolver.
Y bueno para terminar solo tenemos que ejecutar nuestro script:
sudo python TalkingTweet.py
Es una aplicación sencilla que prácticamente nos lee un Tweet y lo pasa por el traductor de google para generar la voz, mientras se reproduce el audio nos activa el pin 14 de la GPIO para activar lo que sea que tengamos conectado a el, algunos de los inconvenientes, pues es la voz que no podemos cambiar o distorsionar, al menos no directamente del servicio de Google, y que solo nos acepta 100 caracteres, es por eso que en el script hemos cortado la cadena, aun así es bastante funcional y se pueden hacer algunas cosas interesantes, esperamos pronto nos compartan sus Hacks!
Nota: si quisiéramos cambiar el idioma del servicio de Google solo hay que cambiar el parámetro “tl=es” a “tl=en” para el ingles por ejemplo, aproximadamente en la linea 18.
http://www.stuffaboutcode.com/2012/10/raspberry-pi-python-talking-twitter.html
Standard | Posted in Raspberry Pi	| Tagged Electónica, electrónica, Hardware Hacking, Raspberry Pi, Twitter	| 0 comments
by esauort Lección 19 – Arduino – Steppers (Parte 1)
Los Steppers o motores “paso a paso” son un tipo de motor que combina algunas de las ventajas que nos ofrece un motor de corriente directa y un servomotor, podemos hacerlos girar continua o parcialmente, en un sentido o en otro un paso (step) a la vez.
En este post aprenderemos una de las configuraciones mas básicas para este tipo de motores, ayudados desde luego, por Arduino.
Configuración para Motor Stepper Bipolar
(Imagen de arduino.cc)
Los motores “paso a paso” bipolares tienen dos bobinas, y cada una de ellas corresponde a una fase, normalmente vienen con cuatro hilos(cables) disponibles, dos para cada bobina. El control se realiza de forma bipolar, normalmente mediante un driver Puente.
El primer paso para empezar a trabajar es conseguir el motor, ya sea uno nuevo o de uso, para el ejemplo que sigue usaremos un motor reciclado de una impresora, probablemente se darán cuenta que este tiene cinco hilos pero solo usaremos cuatro de estos, los correspondientes a los extremos de las bobinas (descartaremos el común), este motor en realidad es unipolar pero configurado como sigue funciona como tal y como lo hace un bipolar.
Para echarlo a andar usaremos el ya famoso y conocido Integrado L293D, el cual es un puente H dual, y queda perfecto para controlar el par de bobinas de nuestro Stepper. El diagrama siguiente muestra claramente la manera de conectarlo.
Recordemos que el L293D nos permite alimentar desde una fuente externa, dependiendo del voltaje/corriente necesario para cualquiera que sea el modelo del motor utilizado.
Gracias a la comunidad de Arduino, que día a día se esfuerza por hacernos el Hardware Hacking mucho mas fácil ahora contamos con una libreria llamada “Stepper.h” para el control de este tipo de motores y de muy sencillo uso, veamos el code…
En general “Stepper variable()” define una instancia, del motor que vamos a utilizar, pasando como parámetros únicamente la cantidad de pasos que le lleva a nuestro motor dar una vuelta completa(360º), esta información es muy probable que la encontremos en el datasheet del modelo, y los cuatro pines de Arduino que estaremos utilizando para controlarlo.
La función setSpeed(rpm) fija la velocidad a la que girara el motor en revoluciones por minuto.
Y por ultimo step(steps) que indica la cantidad de pasos que rotara el motor, valores positivo para un sentido y negativos para el contrario.
Ojalá y esta pequeña guía les sirva como base para comprender aun mejor el funcionamiento de motor “paso a paso”, en la próximo post relacionado a los Steppers veremos como configurarlo en modo unipolar, por lo pronto veamoslo en acción…
Standard | Posted in Arduino, Electrónica	| Tagged Arduino, motores, steppers	| 0 comments
The Newsworthy Theme. Hardware Hacking Mx	Blog at WordPress.com. The Newsworthy Theme.	Add your thoughts here... (optional)

References: resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución