Para que sirve Arduino

Bueno ya he escrito algunas cosas del Raspberry Pi y también les hablare sobre que realizamos con la mini computadora para nuestra tesis aplicada en la Universidad del Caribe, pero ahora hablare y también trabajare con otro componente de Open Hardware que es el Arduino.

Arduino


Primero tengamos en mente a una computadora esta tiene un dispositivo conocido como procesador, se le puede conectar un mouse, un teclado o una cámara estos son dispositivos de entrada que envían información al procesador y este genera salidas una vez que procesa la información de los dispositivos de entrada; y estas salidas se pueden mostrar en dispositivos de salida como pueden ser bocinas, monitor o impresora.
Ahora al preguntarnos que es un Arduino lo podemos describir como el procesador de una computadora que hace las mismas funciones y también le podemos ingresar dispositivos de entrada como botones, un sensor de fotocelula o un sensor de temperatura, que generan resultados del procesamiento de la información que realiza el Arduino y estos se pueden mostrar en dispositivos de salida como pueden ser motores, pantallas LCD o bocinas.
Arduino viene siendo una plataforma para realizar proyectos electrónicos que se pueden hacer con la integración de varios dispositivos como ejemplo, compañeros míos realizaron su tesis aplicada que  fue presentado en el Congreso de Ingenierías de la Universidad del Caribe 2013 y fue la automatización de una casa utilizando domótica donde encendían y apagaban un foco, un ventilador y abrían o cerraban una puerta desde una llamada telefónica. Y se pueden hacer diferentes tipos de proyectos.
 

Para que sirve el Arduino

Si te preguntas para que que sirve un Arduino te muestro algunos de los proyectos que se pueden realizar con estos dispositivos de Hardware Libre:

Floppy Arduino para Música
 
Un usuario de youtube con el nombre de “MrSolidSnake745” tiene una serie de vídeos que el realiza donde nos muestra 8 floppys generando canciones de diferentes artistas o interpretaciones de películas (una de ellas mi favorita que es la de Sherlock Holmes) y esto es posible emularlo utilizando un Arduino si se sigue este vídeo-tutorial y el código que se encuentra disponible en Github.

– Caja de percusión rebotica con Arduino
 
Para hacer robotica con el Arduno, el MR-808 es una serie de robots y autómatas que emulan la caja de ritmos TR-808 con resultados que se pueden apreciar en el vídeo y que realmente suena increíble.
– uWave, un microondas con Arduino es totalmente diferente
 
Desconocia que hace tiempo samsung creo un refrigerador modelo RFG299 modelo francés que como las siguientes imágenes lo muestran cuenta con una pantalla tactil de 7″ que sirve para controlar algunas de las funciones del electrodoméstico, como la temperatura a la que enfría , el estado del filtro de agua, horarios, información nutrimental de los alimentos, fotos y más.
Con el Arduino hicieron algo parecido con el microondas y quizás no pueda caber en el presupuesto de bolsillos como el mio pero la idea parece algo interesante, lo que demuestra que el Arduino puede hacer que sean más inteligentes los electrodomésticos como lo hicieron con este microondas:
Domótica Arduino
 
Como lo mencione antes con el arduino también se puede hacer domótica ya sea con ayuda de un Raspberry Pi o sin el, Arduino es la base de pequeños sistemas inteligentes que permiten automatizar una casa.

Minecraft con Arduino

Aunque el Arduino no esta destinado para poder jugar Minecraft pero si para el Raspberry Pi, por lo tanto implementar un Arduino con el Raspberry Pi puede otorga resultados diferentes que eso lo puede explicar Minestation.

¿Qué es el Arduino Uno?

Existen varios tipos de Arduino, implementando diferentes recursos para cada uno de ellos, pero el que es mas utilizado por los estudiantes para aprender a usar el mismo; y si se preguntan cual es el Arduino Uno el cual yo dispongo y estaré aprendiendo con ustedes mientras voy escribiendo mis resultados en el blog así es que estén atentos y haber que aprendemos a hacer.

Conoce más al escritor Sául Vázquez Radilla.

Respaldar con Win32disk

Respaldar Imagen con Win32disk

Cuando cuentas con información importante en tu memoria SD, microSD o cualquier otro dispositivo que desees respaldar su imagen, puedes utilizar el Windisk32 para resguardar imagen y en esta ocasión respaldare la imagen del microSD con el que utilice para instalar raspbian en Raspberry Pi en la memoria.

 

Primero insertamos la memoria a copiar, una vez insertada el programa Windisk32 reconocerá automáticamente el dispositivo.

win32disk

 

Ahora procedemos a escribir en el textbox nombrado “Image File” la ruta donde queremos grabar la imagen con el nombre y una extensión de .img
 
En mi caso lo grabare en la ruta C:UsersSaúlDesktop con el nombre de Proyecto.img como se muestra en la imagen:
respaldar imagen con win32disk
Una vez que tenemos escrito la ruta con el nombre de la imagen a guardar procedemos a darle click al botón read, y empezara a grabar la imagen y como le asigne la ruta del escritorio notaran que aparecerá la imagen en el titulado Proyecto:
Una vez que la imagen es correctamente grabada en la ruta que se especifico previamente el programa de Windisk32 mostrara el siguiente mensaje:
 
Y al final tendrán la imagen de su memoria respaldada:

Conoce más al escritor Sául Vázquez Radilla.

Auto Script en Raspbian

Ya tenemos la configuración en modo modo kiosko con Midori en Raspberry Pi y también el Raspberry Auto Startx | Auto Login ahora si después del inicio del Raspberry Pi necesitáramos ejecutar algún comando…

Script automatico Raspbian

Para eso vamos a crear un script automatico para el Raspberry Pi que se ejecute justo después de hacer el auto login, primero creamos el archivo en el directorio home:

 
$ nano ~/node.sh
 
En mi caso yo ejecutare varios comandos en el mismo script por lo tanto lo dejo de la siguiente manera:

#!/bin/bash
echo node.sh : Ejecutando servidor
cd ~/proyectoT
sudo chmod 775 /dev/ttyUSB0
node server-movil.js &
 
lo hacemos ejecutable:
 
chmod ugo+x ~/node.sh
 
Ya que esta creado el script con los comandos que necesites ejecutar procedemos a modificar el siguiente archivo para que se ejecute al inicio.
 
sudo nano ~/.bashrc
 
Nos dirigimos al final del archivo y agregamos las siguientes lineas:
 
# Run node server
echo .bashrc: Ejecutando servidor node.js
bash node.sh
 
Una vez hecho esto pasamos a reiniciar el Raspberry Pi y esto sucede:
script automatico

Conoce más al escritor Sául Vázquez Radilla.

Raspberry Pi Auto StartX y Login

Esta entrada es la continuación de la configuración del modo kiosko del Raspberry Pi, para evitar que exista la necesidad de ingresar los datos de usuario al momento de iniciar el Raspberry Pi.

Raspberry Pi Auto Login

Para poder configurar que el Raspberry Pi tenga Auto Login en una terminal ejecutamos el comando de sudo nano /etc/inittab ahora bien he visto que varios blogs dicen que debemos realizar los siguientes pasos:
 
1. Encontrar la siguiente linea en el archivo de inittab:
 
   1:2345:respawn:/sbin/getty 115200 tty1
 
2. Comentar la linea:
 
   #1:2345:respawn:/sbin/getty 115200 tty1
 
3. Por ultimo ingresar esta linea justo de bajo de la que se comento:
 
   1:2345:respawn:/bin/login -f pi tty1 </dev/tty1 >/dev/tty1 2>&1
 
Y guardarlo…

Auto Login en Retropie o Raspbian


Para explicar otra forma de configurar el autologin en retropie o raspbian tengo que decir que yo siempre me quedo estancado en el primer paso de como lo explican los demás blogs, lo que sucede es que nunca encuentro esa linea… la que mas se parece a esa linea seria la siguiente:
1:2345:respawn:/sbin/getty –noclear 38400 tty1
 
Quizás sea por la distribución que manejo (2013-09-25-wheezy-raspbian), la verdad lo desconozco, comente esa linea:
 
#1:2345:respawn:/sbin/getty –noclear 38400 tty1
 
Y justo de bajo de la misma agregue lo siguiente:

1:2345:respawn:/bin/login -f $Usuario </dev/tty1 >/dev/tty1 2>&1
 
Donde $Usuario es el usuario que te encuentras trabajando en mi caso quedaría así:
 
1:2345:respawn:/bin/login -f $Usuario </dev/tty1 >/dev/tty1 2>&1
 
Guardamos los cambios y se reinicia el Raspberry Pi y obtendremos:
retropie autologin

Raspberry Pi Startx (LXDE)

También existe la forma de configurar el Raspberry Pi Startx con LXDE que es lo que hace que inicie automáticamente el modo gráfico del raspberry pi y esto se hace modificando el siguiente archivo con:

 
sudo nano /etc/rc.local
 
Se van hacia el final del archivo y justo arriba del exit 0 agregan la siguiente linea:
 
su -l pi -c startx
raspberry pi autologin
Guardamos y reiniciamos el Raspberry Pi y nos da como resultado, que el Raspberry Pi con Startx ya se encuentra configurado para que se haga un autologin siempre que inicie el Raspberry Pi:
raspberry pi startx
raspberry startx
lxde raspbery pi automaticamente

Conoce más al escritor Sául Vázquez Radilla.

Node JS Raspberry Pi

¿Qué es Node JS?

El Node JS es un entorno de programación en la capa del servidor, cabe mencionar que este permite manejar el flujo constante de información para evitar que el Raspberry Pi procese mucha información en proyectos, será muy útil la instalación del Node JS en Raspberry Pi.


Node JS para Raspbian

Antes de iniciar nos dirigimos a la página donde tendremos que descargar el Node JS para Raspbian y copiar la dirección de la ultima versión del node.js
 
La ultima versión hasta ahora es la v.13 pero la versión de Node JS para Raspbian hasta donde yo se, es la v0.10.17 por lo tanto copias la dirección de esa versión.
 
Creamos una carpeta con el siguiente comando:
 
$ sudo mkdir /opt/node
 
Luego se utiliza la dirección de la ultima versión del node.js que se realizo previamente y ejecutas el siguiente comando:
 
$ wget http://nodejs.org/dist/v0.10.17/node-v0.10.17-linux-arm-pi.tar.gz 

Una vez que se termine de descargar descomprimes el archivo:
 
$ tar xvzf node-v0.10.17-linux-arm-pi.tar.gz
 
Ahora copias todo en la carpeta antes creada del /opt/node:
 
$ sudo cp -r node-v0.10.17-linux-arm.pi.tar.gz/* /opt/node
 
Añades una variable para el path del node.js de la siguiente manera:
 
$ sudo nano /etc/profile
 
Y al final del archivo agregas las siguientes lineas:
 
PATH=”$PATH:/opt/node/bin”

y le cambiamos los permisos de usuario esto sera necesario cuando se quiera ejecutar npm install -g nombrepaquete para instalar algún paquete.
 
sudo chown -R $Usuario /opt/node
 
donde $Usuario es el nombre del usuario que tiene el Raspberry Pi en este caso el comando seria asi: sudo chown -R pi /opt/node

Y ahora reiniciamos el Raspberry Pi, una vez que termine el reinicio ejecutamos los comandos:

$ node -v
$ npm -v

para confirmar que se instalaron correctamente como es mi caso:

Instalar Node JS en Raspberry Pi

 
Ahora para instalar paquetes que llegaras a ocupar en el node.js desde Raspbian primero vamos a crear una carpeta y le daremos permisos de 775:
$ sudo mkdir proyectoT
$ sudo chmod 775 proyectoT
 
En este ejemplo instalare únicamente el paquete express.io:
 
$ npm install express
 
Se obtendrían los paquetes correspondientes y al final tendrás una carpeta con el nombre de node_modulesdonde se encontraran todos los paquetes que instales.
 

Conoce más al escritor Sául Vázquez Radilla.

Raspberry Pi Sakis3g

Sakis3g en Raspberry Pi

Como ya sabemos Raspberry Pi con Modem 3G modelo ZTE MF180, por lo menos con ZTE MF180 ahora vamos a realizar un Script para que se conecte automáticamente y no exista ninguna interacción con el usuario y esto se realiza con el Sakis3g en el Raspberry Pi.


Ya teniendo las configuraciones para que nuestro módem sea detectado, con los programas que se utilizaron, los datos del módem en mi caso el ZTE WCDMA Technologies MSM(19d2:0117) y los datos de tu conexión de APN en mi caso (internet.itelcel.com) con su usuario (wgprs) y su contraseña (wgprs2012).

El sakis3g debemos dejarlo en la carpeta /home/pi/3g y para que nuestro script funcione tenemos que cambiarlo de lugar a la carpeta /opt para darle los permisos necesarios sin que pregunte por la contraseña del usuario ejecutamos los siguientes comandos, ubicándonos primero en la carpeta 3g donde se encuentra el sakis3g:

$ sudo mkdir -p /opt/sakis3g/ 
$ sudo mv sakis3g /opt/sakis3g 
$ sudo chown root:root /opt/sakis3g/sakis3g

$ sudo ln -s /opt/sakis3g/sakis3g /usr/bin

Ahora una vez hecho esto ejecutamos: 

$ sudo visudo

Y agregamos la siguiente linea hasta el final del archivo:

Tu-usuario ALL = NOPASSWD: /opt/sakis3g/sakis3g
En este caso donde dice Tu-usuario,seria el usuario de la Raspberry en mi caso pi, por lo tanto quedaría de la siguiente manera:

pi ALL=NOPASSWD: /opt/sakis3g/sakis3g

Ahora creamos el siguiente archivo:

$ sudo nano /etc/sakis3g.conf
Y dentro del mismo agregamos las siguientes lineas
USBDRIVER=”option”
#USBINTERFACE=”3″
APN=”internet.itelcel.com”
APN_USER=”wgprs”
APN_PASS=”wgprs2012″
MODEM=”19d2:0117″

Modificando los parámetros con respecto a los detalles de tu conexión, una vez guardado el archivo ejecutamos el siguiente comando:

$ /opt/sakis3g/sakis3g –sudo “connect”
Si… y solo si, cuando ejecute este comando le sale lo siguiente:
sudo ./sakis3g connect
Please select USBMODEM variable by using USBMODEM variable, or by enabling interactive mode.
        $ /usr/bin/modem3g/sakis3g –interactive “–sudo” “connect”
Available options are:

0424:9512     BUSNUM=001

0424:ec00     BUSNUM=001
04d9:2519     2.4Ghz reciever
19d2:0117     ZTE WCDMA Technologies MSM
1a40:0201     USB 2.0 Hub [MTT]
1d6b:0002     DWC OTG Controller
Example:
        $ /usr/bin/modem3g/sakis3g USBMODEM=”0424:9512″
Entonces tenemos que volver a modificar nuestro sakis3g.conf (sudo nano /etc/sakis3g.conf) y agregamos (esto dependerá de las configuraciones de tu APN, por lo tanto esto puede cambiar), al final mi sakis3g.conf quedo así:
USBDRIVER=”option”
#USBINTERFACE=”3″
APN=”internet.itelcel.com”
APN_USER=”wgprs”
APN_PASS=”wgprs2012″
USBMODEM=”19d2:0117″
OTHER=”USBMODEM” 
 
NOTA!!!: Si le salen mas mensajes como esos corrija los detalles con respecto a las configuraciones de su APN con las opciones que tiene disponibles (que se les presenta en el área de “Available options are:” y una vez corregido esto vuelve a ejecutar el comando:
 
$ /opt/sakis3g/sakis3g –sudo “connect”
Y aproximadamente la conexión estará lista entre 15 a 20 segundos.

y para desconectarse ejecuta el comando:
$ /opt/sakis3g/sakis3g –sudo “disconnect”

Script para conectarse automáticamente
Ahora creamos el script dentro de la carpeta 
/etc/init.d con el siguiente comando:

$ sudo nano /etc/init.d/autoconnectnet
y agregamos el siguiente código:
 
#***************************************************
#! /bin/sh
# /etc/init.d/autoconnectnet

### BEGIN INIT INFO
# Provides:          noip
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Simple script to start a program at boot
# Description:       A simple script from .
### END INIT INFO


case "$1" in
  start)
    sleep 10
    echo "connecting via sakis3g"
    # run application you want to start
    /opt/sakis3g/sakis3g --sudo  "connect"
    ;;
  stop)
    echo "dissconnecting via sakis3g"
    # kill application you want to stop
    /opt/sakis3g/sakis3g --sudo  "disconnect"
    ;;
  *)
    echo "Usage: /etc/init.d/autoconnectnet {start|stop}"
    exit 1
    ;;
esac

exit 0
#*********************************************************


Ahora le damos los permisos necesarios al 
script de la siguiente manera:
 

$ sudo chmod 755 /etc/init.d/autoconnectnet

Ahora que ya tiene los permisos vamos a 
ejecutar este comando:

$ sudo /etc/init.d/autoconnectnet start
 
 
El Raspberry Pi se conectara a la 3g después del sleep 10, 
tiempo que fue seleccionado previamente.
 

Y para desconectarlo ejecutamos:

 
sudo /etc/init.d/autoconnectnet stop


Ahora para que el script sea ejecutado al inicio del Raspberry Pi, 
ejecutamos el siguiente comando:
 
$ sudo update-rc.d autoconnectnet defaults

Y si te ocasiona problemas lo puedes remover con el siguiente 
comando:
 
$ sudo update-rc.d -f  autoconnectnet remove

Reiniciamos el Raspberry Pi, con el modem 3g conectado y 
automáticamente nos conectara sin ninguna interacción por 
parte del usuario; todo gracias a la configuración del Sakis3g en el Raspberry Pi 
 

Conoce más al escritor Sául Vázquez Radilla.

GPS BU-353-S4 | GPRMC

GPS BU-353-S4 con Raspberry Pi

Esta configuración la realice mediante Windows 7 para poder configurar el GPS BU-353-S4 y empezar a recibir coordenadas del sistema GPS, para posteriormente utilizarlo con el Raspberry Pi, primero debemos descargar los drivers para GPS BU-353-S4 para utilizarlo en Windows, en la carpeta que se descomprime ejecutamos el programa PL2303_Prolific_DriverInstaller_v1.8.0 que es con el que se instalan los drivers en Windows.

 
Posteriormente instalamos el programa GPSInfo y ejecutamos el programa y nos reconocerá el GPS BU-353-S4 al instante (claro una vez que se instalan los drivers).
Notaran que el mio ya se encuentra configurado, pero en un principio te salen varios comandos aparte del GPRMC (que es el que te permite obtener la longitud y latitud de la ubicación del GPS BU-353-S4) para desactivarlos o activarlos tienes una serie de ordenes que puedes ejecutar desde el cuadro de texto de la derecha del botón Send como se muestra en la imagen:
Y aquí se encuentran las ordenes (que se copian y se pegan a partir del símbolo $):
 
Activar WAAS/EGNOS – $PSRF151,01*0F
Desactivar WAAS/EGNOS – $PSRF151,00*0E
Activar salida de GGA 1seg – $PSRF103,0,0,1,1*25
Desactivar salida de GGA – $PSRF103,0,0,0,1*24
Activar salida de GLL 1seg – $PSRF103,1,0,1,1*24
Desactivar salida de GLL – $PSRF103,1,0,0,1*25
Activar salida de GSA 5seg – $PSRF103,2,0,5,1*23
Desactivar salida de GSA – $PSRF103,2,0,0,1*26 
Activar salida de GSV 10seg – $PSRF103,3,0,10,1*16
Desactivar salida de GSV – $PSRF103,3,0,0,1*27
Activar salida de RMC 1seg – $PSRF103,4,0,1,1*21
Desactivar salida de RMC – $PSRF103,4,0,0,1*20
Activar salida de VTG 1seg – $PSRF103,5,0,1,1*20
Desactivar salida de VTG – $PSRF103,5,0,0,1*21
Activar salida de ZDA 1seg – $PSRF103,8,0,1,1*2D
Desactivar salida de ZDA – $PSRF103,8,0,0,1*2C 
Cambiar velocidades de transmisión del GPS (protocolo NMEA):
4800/8/N/1 – $PSRF100,1,4800,8,1,0*0E
9600/8/N/1 – $PSRF100,1,9600,8,1,0*0D
19200/8/N/1 – $PSRF100,1,19200,8,1,0*38
38400/8/N/1 – $PSRF100,1,38400,8,1,0*3D
Otros comandos:
 
Activar modo ahorro de energía – $PSRF150,0,300,1000,1*10
Desactivar modo ahorro de energía – $PSRF150,0,1000,1000,0*23
Activar datos de desarrollo – $PSRF105,1*3E
Desactivar datos de desarrollo – $PSRF105,0*3F
Arranque en bruto – $PSRF101,0,0,0,0,0,0,12,2*16
Configuración de fabrica – $PSRF101,0,0,0,0,0,0,12,8*1C
Arranque hibernación – $PSRF101,0,0,0,0,0,0,12,4*10
Desactivamos todos los comandos que aparezcan en el GPSInfo y conservamos únicamente el comando de RMC.
 
Recuerda tener instalado el cliente y servidor del GPS como lo explique en mi entrada Raspberry Pi GPS BU-353-S4 (con el comando: sudo apt-get install gpsd gpsd-clients python-gps)
 
Ahora nos pasamos al Raspberry Pi y ejecutamos primero el comando:
 
$ sudo gpsmon /dev/ttyUSB0
 
Donde ttyUSB0 es el puerto del GPS BU-353-S4 que es detectado en el Raspberry Pi, de todos modos verificarlo por que aveces toma el valor de ttyUSB1
Después nos salimos de la herramienta gpsmon con Ctrl + C y ahora ejecutamos el siguiente comando:
 
$ sudo cat /dev/ttyUSB0
Con esto tenemos únicamente los comandos GPRMC del GPS BU-353-S4 y lo puedes utilizar como lo desees en este caso se utilizara con el Google Maps.

Conoce más al escritor Sául Vázquez Radilla.

Raspberry Pi Overclocking

Raspberry Pi Overclock

Si bien para configurar el overclock en Raspberry Pi hay que saber que este no tiene BIOS (programa informático inscrito en componentes electrónicos de memoria Flash existentes en la placa base. Se encarga de realizar las funciones básicas de manejo y configuración del ordenador), pero tiene otras formas de configurar las características del Hardware como la frecuencia del overclocking bios.

Se puede subir un 50% su frecuencia de la CPU del Raspberry Pi, pero no se puede exceder de 1GHz, ya que perdería la garantía.
 
Para modificarla ingresamos el siguiente comando:
 
$ raspi-config
 
nos dirigimos a la opción de Overclock del Raspberry Pi
Después de darle click te mencionara que escojas una opción para la configuración del reloj del Raspberry Pi
Por cuestiones de un proyecto y el uso de varios procesos con los que se trabajaran he seleccionado la opción de Turbo, en este caso tu decides los limites que quieres ponerle al overclock de Raspberry Pi.
Me menciona que algunas personas han reportado que el nivel Turbo del Raspberry por el overclock a dañado sus tarjetas SD, en mi caso no tuve problemas con el proyecto en el que trabaje, por ello solo hacerlo bajo su propia responsabilidad.

Conoce más al escritor Sául Vázquez Radilla.

Raspberry HDMI a VGA

Raspberry Pi VGA

Para conectar el raspberry pi a un monitor VGA se adquiere un adaptador de HDMI a VGA producto adquirido en adafruit ahora para que el Raspberry Pi pueda conectarse a un monitor VGA vamos a modificar el siguiente archivo:

 
sudo nano /boot/config.txt
 
del mismo eliminaremos los # de las siguientes lineas:
# hdmi_safe=1 #Por si no te envía señal de vídeo
# hdmi_group=1 #Tipo de salida HDMI (1 por defecto): 1=CEA y 2=DMT
# hdmi_mode=4 # Resolución de salida (configurar el valor según la tabla de la pagina elinux)
# hdmi_drive =2 #Si el formato elegido es el DMT
quedando así la configuración para mi monitor hp mx705:
 
hdmi_group=2
hdmi_mode=16
hdmi_drive=2  

con las configuraciones del overscan del Raspberry Pi, queda de la siguiente manera:

overscan_left=10
overscan_right=16
overscan_top=-1
overscan_bottom=-2

Imágenes:

Conoce más al escritor Sául Vázquez Radilla.

Raspberry Pi Hwebcam

hwebcam con Raspberry Pi

Si lo que deseas es enviar Streamming con el Raspberry Pi hasta un servidor de Streamming de vídeo, primero necesitamos instalar hwebcam en el Raspberry Pi, para eso descargamos este instalador de hwebcam.

 
Después de descargar el archivo, lo descomprimimos en /home/pi para poder acceder fácil a esta carpeta, pero antes de trabajar con los documentos dentro del mismo, tenemos que instalar las siguientes dependencias: build-essential libsdl1.2-dev libtheora-dev libasound2-dev libvorbis-dev libvorbisenc2 libjpeg62-dev pero primero ejecutas de la siguiente manera los comandos debido a que si los instalas directamente en un solo comando, hay un programa que desinstala otro al momento de instalarse.
 
$ sudo apt-get install build-essential libtheora-dev libasound2-dev libvorbis-dev libvorbisenc2 libjpeg62-dev
 
después instalas el programa:
 
$ sudo apt-get install libsdl1.2-dev oggfwd
 
Después de esto ingresamos a la carpeta donde descomprimimos el archivo hwebcam, y ejecutamos:
 
$ make
 
en caso de que no necesites el SDL (como es mi caso) ejecutas:
 
$ make USE_SDL=0
 
y con esto tendrías el hwebcam compilado con éxito.
Ahora para mandar el streamming al servidor de streamming de vídeo tendrías que ejecutar lo siguiente:
$ sudo ./hwebcam -d /dev/video1 -s 320×240 -i 10 -e -o – | oggfwd localhost PUERTO CONTRASEÑA /webcam.ogg
 
Recuerda descargar el archivo hwebcam048.tgz aquí: hwebcam048 y para que el comando funcione se ubican dentro de la carpeta que descomprimen.
donde PUERTO obviamente es el puerto por donde debes acceder al servidor de streamming de vídeo (que en este caso se maneja el icecast),  y CONTRASEÑA es la contraseña para el servidor, el localhost puede ser también la pagina donde se encuentre tu servidor.

Y para ver lo que transmite el servidor de vídeo deberías de ingresar a la siguiente pagina: 

http://localhost:PORT/webcam.ogg
hwebcam raspberry pi

Conoce más al escritor Sául Vázquez Radilla.