Envío por Dan McGrath. ¿De qué se trata todo esto? Bueno, tengo un montón de automatización del hogar, ¡y me encanta! Sin embargo, cada vez que lo muestro a amigos y familiares, tiendo a obtener una de dos respuestas. La primera es que es solo un truco y nunca querrían nada de eso. El segundo es que es genial, pero demasiado complicado para que creen algo similar.

Así que este es mi intento de un dispositivo de automatización de hogar simple, de hecho, muy fácil que cualquiera puede usar, y prácticamente cualquiera puede hacer. En realidad, estoy considerando seriamente fabricarlos a granel (bueno, algo similar) y vendiendo todo el lote como un servicio administrado durante aproximadamente un diez al año. (Por favor, avíseme si esto podría ser de interés para alguien). De todos modos, este es mi intento de automatización de hogar barata para las masas, espero que les guste …

Diseño: correcto, por lo que necesito algo que sea barato, confiable, fácil de conseguir. También algo que puede activarse por un interruptor fácil, y ese interruptor podría ser cualquiera de los siguientes:

Conéctelo a un enchufe, luz o cualquier otro dispositivo y úselo para montarlo.

Adjuntar a un panel solar o LDR para monitorear los niveles de luz.

Conecte un par de sondas y detecte agua (plantas, lluvia, fugas, etc.)

Conectarse a un interruptor PIR o Reed para su seguridad,

Conectarse a una alarma de humo para protección contra incendios,

Conectarse a una alfombra de presión, etc.

La mayoría de las personas no quieren que una PC o un servidor se ejecute todo el día, debido al consumo de ruido, calor y energía. Las computadoras fáciles y pequeñas ahora se pueden comprar de $ 50 cada una (Xport, Arduino, Picotux, etc.), pero incluso esto parece exagerado por lo que quiero …

Un interruptor administrado, un enrutador, firewall, cualquier cosa con un puerto Ethernet y algún tipo de interfaz web era lo que buscaba, pero tenía que ser barato … y pequeño … Luego se me ocurrió la idea de un servidor de impresión … Los servidores de impresión son ideales, usan muy poca electricidad, se desarrollan para encender todo el tiempo, pueden responder a un ping y mejor aún tener un servidor web incorporado también. Hice un poco de Google y los vi por tan poco como un diez en eBay. ¡Ah, y ellos también son pequeños! Tenía tres ideas para este proyecto:

El primero fue que podía romper o acortar el par de transmisión en el televisor de cable Ethernet entrante al servidor de impresión. Ciertamente, con estos cortos o rotos, el dispositivo no podría responder a una solicitud de ping o HTTP.

Creo que funcionaría, pero parecía un poco bárbaro, y estoy seguro de que podría hacerlo mejor.

El segundo era solo romper la potencia del dispositivo.

Esto tenía el potencial desde un punto de vista de ahorro de energía, ya que solo estaría alimentando el dispositivo algunas veces, por supuesto, cuando estaba apagado, no vería su sitio web ni respondería a una solicitud de ping. Me gustó bastante esta idea, lo único que me desanimó fue que cuando se encendió, sería imposible saber si el dispositivo estaba apagado o desconectado de la red por otra razón, tal vez una falla en otro lugar. También no estaba seguro de cuánto tiempo el dispositivo mantendría la configuración (red, etc.) mientras estaba apagado.

Lo que realmente quería era una forma de obtener una reacción de la unidad para confirmar que estaba en un estado u otro, de esa manera podría estar seguro de lo que realmente estaba sucediendo. Ahí es donde entra mi tercera idea.

La tercera idea era engañar al servidor de impresión que una impresora realmente estaba conectada a él,

Y luego tenga que parecer que la impresora estaba dentro o fuera de línea.

Hice un poco de investigación, y parece que el PIN 13 del conector se usa para este propósito. Tome el pin alto (es decir, aplique 5 Volts) y el servidor piensa que la impresora está en_line, tome el pin bajo (es decir, elimine el voltaje) y el servidor cree que la impresora está fuera de la línea.

Como todo lo que tengo que hacer es aplicar y eliminar 5volts, puedo encontrar 5 voltios en algún lugar y enrutarlo a través de un interruptor. Cierre el interruptor y parece que la impresora está en_line, abra el conmutador y la impresora aparece OFF_LINE. Como digo, este estado se refleja en la interfaz web, por lo que un script fácil debe poder encuestar esta página y analizar el estado de la impresora y luego usar esta información para algo útil.

Construcción: como se discutió anteriormente, utilicé un servidor de impresión paralelo EDIMAX PS-206P, que compré por aproximadamente 25 libras en línea. En realidad, era mucho más como 22 quid, pero los gastos de envío y el empaque lo superaron un poco. Terminé comprando un puñado de estos, ya que eran muy baratos. Nunca antes había oído hablar de Edimax, por lo que el producto podría ser bueno o malo, pero no me importa, siempre y cuando responda a una solicitud HTTP, ¡entonces seré feliz! Me sorprendió agradablemente cuando aparecieron, estaban bien en caja y el contenido también se veía bien:

Sin embargo, una cosa es segura, este dispositivo nunca se conectará a la parte posterior de una impresora. Pronto lo habré cortado en algo mucho más interesante. Detalles aquí: Edimax PS-206P

Ok, así que vamos a sacar la tapa de uno de estos … me encanta desarmar cosas, pero tomar cosas nuevas¡Aparte es especialmente divertido para mí, simplemente parece estar tan mal! Hay un par de tornillos de cabeza de Phillips en la parte inferior y una vez que se eliminan, la caja simplemente se separa, aunque debe apretar los lados un poco a medida que las dos mitades se cortan entre sí.

Estaba agradablemente sorprendido con el interior de esta unidad, estaba muy bien argumentada. El Señor solo sabe para qué son todos los bits, supongo que hay un procesador allí, algo de memoria, un poco de E/S y otras cosas que no entiendo.

Ahora, podría mantener el Big 36Pin Centronics Socket en el servidor de impresión y simplemente obtener el enchufe coincidente para conectarse a él, pero estos son bastante voluminosos y parece un poco exagerado, especialmente teniendo en cuenta que solo necesitamos conectarnos a 2 de estos 36 alfileres. Elegí cortar el zócalo … no, no lo hice con un hacha, sin embargo, se ve un poco duro en este momento:

Luego desoldicé los alfileres individuales del tablero y inventé una pequeña placa de metal para bloquear el orificio que queda del enchufe faltante. Perdí un par de agujeros y conecté un par de terminales de tornillo. Un poco de epoxi de 2 partes y algo de calor y un poco de calor y tienes esto …

Bastante ordenado, ¿eh?! Ese es el prototipo de trabajo, con un poco de suerte, unir esos dos terminales de tornillo devolverá un estado de on_line, y dejarlos abierto dará una línea Off_Line. Entonces es hora de probar. Nota: Las imágenes anteriores muestran las conexiones a los pines 35 y 36, esto es incorrecto y las pruebas posteriores mostraron que en realidad necesitaba pines 13 y 19.

Elegí medir el consumo de energía, y me sorprendió gratamente lo que encontré, solo usa 6watts, que no es en absoluto, ¿verdad? (A 10p por kWh, costará alrededor de 5 libras por año en ejecución)

Como dije anteriormente, voy a sondear mi servidor con una solicitud HTTP y recopilar el estado de la impresora, pero si solo desea ver si está allí haciendo ping, entonces puede usar Ping to Montior, usando algo como:

fecha
n = 1

Mientras que [$ N -LT 1000]
hacer
ping -n 1 server_ip
Echo $ n
Sea n = n+1
hecho
fecha

Muestra que este dispositivo puede enviar fácilmente (y recibir) 1000 pings en 52 segundos, que es de 20 pings por segundo. Por lo tanto, es una opción viable y debe darle una respuesta bastante rápida. Por supuesto, si solo desea usar ping, entonces tendrá que configurar la unidad rompiendo la conexión de potencia o de red (no se verá afectado por el estado de la impresora). Los pings realmente no funcionan bien en Internet, muchas personas y enrutadores deshabilitan las solicitudes de ICMP en sus límites, sin embargo, el beneficio con este dispositivo es que también tiene una interfaz web que puede ser encuestada para verificar su disponibilidad. Esto se puede hacer a través de Internet fácilmente, y nuevamente un script breve muestra que puede hacer aproximadamente 1 solicitud por segundo usando …

#!/usr/bin/bash

usuario = nombre de usuario
contraseña = contraseña
url = server_url

wget –quiet –http-user = $ user –http-password = $ contraseña \
–Proxy = $ proxy $ url

Grep Off_line Printer.htm> /dev /null

Si [“¿$?” == “0”]
Entonces hace eco “fuera de línea”
de lo contrario echo “en línea”
FI

impresora rm.htm

Devuelve un valor basado en el estado de la impresora. Tenga en cuenta que el servidor web a bordo es bastante lento, como se esperaba realmente, pero obtienes una reacción en menos de un segundo, por lo que creo que será posible sondear cada 5-10 segundos. Reemplazar los comandos ECHO con el correo o los comandos WGET adicionales podrían enviarle un correo electrónico o obtener una URL (tal vez use Twitter para SMS, etc.)

Ok, a continuación se da un ejemplo de cómo actualizar su estado de Twitter:

wget-mantenimiento-session-cookies –http-user = nombre de usuario \
–Http-password = contraseña –post-data = mensaje \

(Reemplace el nombre de usuario, la contraseña y el mensaje con, bueno, ya sabes …)

O mejor aún, aquí le mostramos cómo enviarse un tweet cuando sucede algo:

wget-mantenimiento-session-cookies –http-user = user \
–Http-password = contraseña –post-data = mensaje \

Tenga en cuenta que debe codificar el mensaje que es bastante bueno, ¿no? Vea mucho más sobre la API de Twitter aquí. – API de Twitter

Para ver esto desde la red, deberá NAT a su servidor de impresión, estoy ejecutando un enrutador Cisco, por lo que lo siguiente funcionó para mí:

IP NAT Inside Source Static TCP extensible

(Mantenga el número de puerto en los altos 50,000 y obtendrá menos personas escaneando y sondeando). Si tiene un enrutador LinkSys, la guía será diferente, pero algo así debería hacerlo:

Si no tienes ninguno de los anteriores, entonces estás solo … ¡Buena suerte!

Software: OK, di algunos ejemplos anteriores, a continuación se muestra un script de shell bash de trabajo que monitoreará uno de estos para usted, y Twitter lo sms cuando cambia el estado. Es un ejemplo muy fácil, pero debería comenzar.

#!/bin/bash

## Los parámetros de Get Web Get Get
usuario = “admin”
contraseña = ”1234 ″
url = ”http: //ip_address/printer.htm”

## Parámetros de Twitter
t_user = usuario
t_passwd = contraseña

## Otros parámetros
estado = “cerrado”

mientras que es cierto
hacer
Old_status = $ status
wget –quiet –http-user = $ user –http-passwd = $ contraseña $ url

Grep Off_line Printer.htm> /dev /null

Si [“¿$?” == “0”]
entonces estado = “abierto”
else status = “cerrado”
FI

impresora rm.htm

if [$ status! = $ old_status]
Entonces wget –quiet –http-user = $ t_user \
–Http-passwd = $ t_passwd-mantenimiento-session-cookies \
–Post-data = ”user = twitter_username & text = mensaje” \

FI
dormir 1
hecho

Alternativamente, puede usar algunos software de monitoreo como los Freenats sobresalientes para alertarlo cuando sucede algo.

Conclusión – Bueno, espero que te hayas deleitado en lo que he hecho, tienes que admitir que es la automatización del hogar
a barato y muy fácil de hacer. Saludos – Dan

Enlaces útiles

CPAN – Todas las cosas perl
Perl – muchas más cosas perl
WGET – Aplicación WGET
Edimax – Proveedores del servidor de impresión Otro / Misc
Twitter – Sitio de redes sociales con SMS

Este breve artículo reproducido del original por el amable consentimiento de Dan McGrath de YourMissus.com

¿Quieren más? – Síganos en Twitter, como nosotros en Facebook, o suscribirse a nuestro feed RSS. Incluso puede entregar estas noticias por correo electrónico, directamente a su bandeja de entrada todos los días.

Compartir este:
Facebook
Gorjeo
Reddit
LinkedIn
Pinterest
Correo electrónico
Más

Whatsapp
Impresión

Skype
Tumblr

Telegrama
Bolsillo

Leave a Reply

Your email address will not be published.