Warning: Declaration of Suffusion_MM_Walker::start_el(&$output, $item, $depth, $args) should be compatible with Walker_Nav_Menu::start_el(&$output, $item, $depth = 0, $args = Array, $id = 0) in /homepages/4/d302049640/htdocs/quenotienes/wordpress/wp-content/themes/suffusion/library/suffusion-walkers.php on line 39

autoayuda

Ago 232015
 

Probando el módulo wifi ESP8266

Últimamente en el mundo DIY se está hablando de un módulo wifi barato y potente que está basado en el chip ESP8266.

esp8266

  

El precio de cada unidad está en alrededor de 5$ y es capaz de comunicarse más allá de los 300 metros usando la antena que viene incorporada en la placa.

Yo he comprado una pareja por menos de 10$ en aliexpress, y en este artículo voy a comentar cómo hacerlo funcionar.

Lo primero que hay que indicar es que funciona a 3,3V. y lo segundo es que se comunica mediante el puerto serie que tiene el módulo. Por ello no se puede conectar directamente a un Arduino que funciona a 5 voltios, así que necesitareis convertir las líneas TX, RX y la alimentción a 3,3V.

El módulo tiene 8 pines repartidos en 2 filas. El esquema de conexiones es este:

conexiones

Hay varias versiones del módulo. En las más recientes será necesario que el pin activar esté puesto a VCC (o una salida digital a 1) para hacerlo funcionar.

Para probar el módulo he usado un conversor usb a serie que funciona a 3,3V. Sin embargo el módulo puede llegar de consumir unos 200mA en algunos momentos por lo que lo he alimentado aparte con un regulador, eso si, uniendo siempre las masas.

montaje

Me he conectado por putty a 115200 bps al puerto serie de conversor y acto seguido he dado alimentación al módulo, con lo que sale el primer mensaje indicándonos que está preparado:

putty1

Todo el comportamiento del módulo se basa en comandos AT, por lo que vamos a inicializarlo con:

putty2El siguiente paso es configurar el tipo de wifi. Para este ejemplo lo configuraré como estación (que es como está por defecto):

Lo siguiente será mostrar una lista de las wifis disponibles:

putty3

Me conectaré a SISTEMASORP con la clave que tengo:

Ahora comprobamos qué IP me ha dado el router:

putty4

Eso significa que hemos conectado con éxito y que ya tenemos una IP.

Mi siguiente paso ha sido crear un script php muy simple en mi servidor web que muestra la cadena Hola seguida de la fecha actual. El objetivo es hacer una llamada al servidor web, hacerle una petición http y que este nos devuelva la cadena mencionada.

Para ello debemos configurar el módulo para que haga una sola conexión (aunque se pueden hacer hasta 5 simultáneas):

Conectamos al servidor web mediante un socket TCP por el puerto 80:

Le indicamos cuántos caracteres le vamos a enviar:

Esto nos mostrará un símbolo >, donde le meteremos la cadena a enviar. Para el ejemplo seguiremos los siguientes pasos en el putty:

  • Copiamos y pegamos GET /prueba.php HTTP/1.0
  • Pulsamos CTRL+M y CTRL+J
  • Copiamos y pegamos Host: sistemasorp.es
  • Pulsamos CTRL+M y CTRL+J y otra vez CTRL+M y CTRL+J

Si todo ha ido bien recibiremos una respuesta +IPD con el número de bytes recibidos, la cabecera http del servidor y la cadena esperada:

putty5

El protocolo http especifica que el socket debe ser cerrado después de enviar la respuesta, por eso vemos un Unlink, si en otro caso queremos cerrar nosotros la conexión, debemos usar el comando:

Hay más funcionalidades que se pueden usar con los comandos AT, aquí una lista de ellos.

Espero que con este ejemplo os sirva para empezar a dar uso a estos módulos wifi tan baratos y funcionales.

Actualización 09/10/2014:

Si se desea enviar y recibir datos en bruto, es decir, sin tener que mediar con la cantidad de bytes del comando AT+CIPSEND y la respuesta IPD, podemos activar el modo de datos con el siguiente comando:

Y cuando queramos enviar y recibir datos, lo hacemos con CIPSEND sin poner los bytes a enviar:

Así entramos en el modo de datos y todo lo que recibe el módulo por el pin RX lo envía por wifi y todo lo que recibe el módulo por wifi lo envía por el pin TX. Para salir de este modo hay que esperar 1 segundo sin enviar nada, enviar la secuencia de escape formada por 3 símbolos más +++ y esperar otro segundo sin enviar nada, momento en el cual volvemos a entrar en el modo de comandos. Este vídeo muestra esa funcionalidad:

En el vídeo por un lado tengo el putty conectado al módulo y por el otro creo un servidor con netcat en el puerto 9000. Cuando entro en modo de datos escribo en la ventana putty Hello, cosa que se ve reflejada en la ventana de netcat. Acto seguido escribo Welcome to ESP8266 en la ventana de netcat y pulso enter (si no netcat no envía nada), para a continuación mostrarse en la ventana de putty. Finalmente copio y pego la secuencia de escape +++ para salir del modo datos al modo comandos (hay que hacerlo rápido, ya que escribiéndolo directamente no me ha salido).

Magical and Enchanted World — Salvapantallas Gratis

Como descargar fotos de un tablero Pinterest (todas).

El copyright de las imágenes pertenece a sus respectivos autores y/o productoras/distribuidoras.

Jul 072015
 

Recoger por POST una lista de checkbox en PHP

Hoy explicaré como recoger una lista de checkbox de un formulario HTML, utilizando un POSTen PHP.

Lo primero es crear el formulario de la siguiente forma:

<form action=”recoger_checkbox.php” method=”post”>
<input type=”checkbox” name=”numero[]” value=”1″/> 1 <br/>
<input type=”checkbox” name=”numero[]” value=”2″/> 2 <br/>
<input type=”checkbox” name=”numero[]” value=”3″/> 3 <br/>
<input type=”checkbox” name=”numero[]” value=”4″/> 4 <br/>
<input type=”submit”>
</form>

Véase que en el parámetro name hemos escrito numero[], con eso “[]” conseguiremos pasar por post la cadena de valores que el usuario elija, dentro de la cadena estarán los valores de value.
Obtendremos algo similar a esto (he eliminado el botón del submit para evitar confusión ya que no lleva a ninguna parte!):

1
2
3
4

Una vez tenemos esto procedemos a recoger los checkbox que el usuario ha seleccionado. Para esto debemos crear el fichero recoger_checkbox.php mencionado en la acción del formulario y obtener los datos de la siguiente forma:

if ($_SERVER[“REQUEST_METHOD”] == “POST”) {
$numero=$_POST[“numero”];
$count = count($numero);
for ($i = 0; $i < $count; $i++) {
echo $numero[$i];
}
}

Comentando de manera rápida lo que hace el código:
Línea 1: Si la petición es POST continuará el proceso.
Línea 2: Guardamos la cadena obtenida por POST en la variable $numero (podriamos trabajar directamente con $_POST[“numero”]).
Línea 3: Guardamos el número de parámetros que contiene la cadena.
Línea 4: Recorremos la cadena utilizando el for.
Línea 5: Mostramos por pantalla el contenido de la posicion de la cadena.

Con eso conseguiremos mostrar los valores seleccionados en el checkbox, a partir de aquí podremos hacer con ellos lo que nos plazca; como introducir-los en la base de datos o realizar operaciones con ellos.

Jun 192015
 

Proyecto Arduino: Cabina de fotos para tu boda o evento social

Arduino UNO

Arduino UNO

Convertir ideas de lo más disparatadas o prácticas en algo real es algo que puedes hacer con la ayuda de la tecnología de Arduino y las numerosas placas y accesorios compatibles. Y de forma bastante asequible y con un toque DIY que te acaba levantando el ánimo.

El límite es tu imaginación y ganas de aprender, porque del resto se encarga Internet, las tiendas de accesorios para Arduino que inundan la red y nosotros.

Poner un photocall y permitir a los invitados de un evento social hacerse fotos está de moda. Y hay negocio alrededor, tanto como para costar unos 600 euros el alquiler de una cabina para hacerse fotos.

Con Arduino, una cuenta de Dropbox y una webcam ya tienes la base para construirte tu propia cabina de fotos. Y si la amplías para que pueda imprimir las fotos que se toman al instante, éxito asegurado.

 

El material que necesitarás para llevar a cabo este interesante proyecto es el siguiente:

Las instrucciones | Arduino Yun Photo Booth

Magical and Enchanted World — Salvapantallas Gratis

Como descargar fotos de un tablero Pinterest (todas).

El copyright de las imágenes pertenece a sus respectivos autores y/o productoras/distribuidoras.