<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SISTEMAS O.R.P &#187; Proyectos</title>
	<atom:link href="http://www.sistemasorp.es/category/proyectos/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sistemasorp.es</link>
	<description>Blog sobre desarrollos y otros temas</description>
	<lastBuildDate>Sat, 03 Jul 2010 07:15:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Programar la cámara IP Zaapa CIPRW (ZA-CIPRW) en .NET</title>
		<link>http://www.sistemasorp.es/2009/08/12/programar-la-camara-ip-zaapa-ciprw-za-ciprw-en-net/</link>
		<comments>http://www.sistemasorp.es/2009/08/12/programar-la-camara-ip-zaapa-ciprw-za-ciprw-en-net/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 10:47:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Proyectos]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[cámara]]></category>
		<category><![CDATA[ciprw]]></category>
		<category><![CDATA[ocx]]></category>
		<category><![CDATA[zaapa]]></category>

		<guid isPermaLink="false">http://www.sistemasorp.es/?p=201</guid>
		<description><![CDATA[Uno de los problemas que veo con la cámara IP Zaapa que me compré es que sólo se puede manejar desde un navegador Internet Explorer, y la verdad es que eso le quita mucho potencial a una cámara tan completa y barata como esta. Por eso me he puesto manos a la obra para desengranar [...]]]></description>
			<content:encoded><![CDATA[<p>Uno de los problemas que veo con la cámara IP Zaapa que <a href="http://www.sistemasorp.es/2008/09/14/zaapa-ciprw-za-ciprw/" target="_blank">me compré</a> es que sólo se puede manejar desde un navegador Internet Explorer, y la verdad es que eso le quita mucho potencial a una cámara tan completa y barata como esta. Por eso me he puesto manos a la obra para desengranar un poco el funcionamiento y poder crear una aplicación de escritorio para poder manejarla.</p>
<p>Todo el trabajo de investigación ha estado centrado en ver cómo funciona el código fuente javascript de la página web que ofrece la cámara zaapa, ya que buscando por internet no he encontrado nada sobre cómo manejarla.</p>
<p>Lo primero que nos encontramos es que instancia un objeto llamado DVM_IPCam2.ocx. Buscando por internet he encontrado muy poca información sobre ese fichero en cuestión y mucho menos de la API OLE que encierra.</p>
<p>Por suerte el Visual Studio .NET puede incorporar ocx y ver de una tacada todos los métodos, propiedades y eventos que maneja el control ocx. Para ello dentro del <strong>Cuadro de herramientas</strong>, se pulsa con el botón derecho en <strong>Componentes</strong> y se selecciona <strong>Elegir Elementos&#8230;</strong> Después se pulsa sobre la pestaña <strong>Componentes COM</strong> y se selecciona <strong>DVM_IPCam2 Control</strong>.</p>
<p><a href="http://www.sistemasorp.es/wp-content/uploads/2009/08/dvmipcam2.JPG"><img class="alignnone size-medium wp-image-203" title="dvmipcam2" src="http://www.sistemasorp.es/wp-content/uploads/2009/08/dvmipcam2-300x221.jpg" alt="dvmipcam2" width="300" height="221" /></a></p>
<p>Si no existiese es que no está registrado en Windows. Entonces habría que descargar el ocx desde la dirección <em>http://&lt;ip de la camara&gt;/codebase/DVM_IPCam2.ocx</em>, guardarlo en <em>c:\windows\system32</em> y desde una consola de ms-dos ejecutar <strong>regsvr32 c:\windows\system32<em>\</em>DVM_IPCam2.ocx</strong> y después volver a repetir el proceso de Visual Studio.</p>
<p>Con esto ya tendremos el componente ocx para insertarlo en el formulario. Ahora para acceder a la cámara hay que seguir los siguientes pasos:</p>
<ul>
<li>Conectar con la cámara usando el método MonitorConnect, pasándole como parámetros la dirección host o ip de la cámara, el puerto por el que escucha (normalmente el 80), el usuario y la contraseña.</li>
<li>Capturar el evento OnMonitorConnectResult y si la conexión ha sido satisfactoria pasar al siguiente punto</li>
<li>Empezar a recibir las imágenes dentro del control ocx usando el método PlayVideo.</li>
<li>Esperar a recibir las imágenes con el evento OnPlayVideoResult.</li>
<li>Hacer el resto de operaciones: mover la cámara con el método DecoderControl, hacer fotografías con el método Photo2, grabar un video con el método StartRecord2, reiniciar la cámara con el método RebootCamera, etc.</li>
<li>Cuando se termine de trabajar con la cámara llamar a los métodos StopVideo, StopRecord y MonitorDisconnect.</li>
</ul>
<p>He desarrollado una pequeña aplicación que muestra estos conceptos. No hace comprobaciones de errores para simplificar el código:</p>
<p><a href="http://www.sistemasorp.es/wp-content/uploads/2009/08/aplicacioncamara.JPG"><img class="alignnone size-full wp-image-204" title="aplicacioncamara" src="http://www.sistemasorp.es/wp-content/uploads/2009/08/aplicacioncamara.JPG" alt="aplicacioncamara" width="486" height="269" /></a></p>
<p>Podeis descargar el código fuente en c# y un ejecutable desde <a href="http://www.sistemasorp.es/camarazaapa/camarazaapa.zip">aquí</a>.</p>
<p>El siguiente paso sería tratar de hacer que funcionase el firefox para windows y en un futuro conocer el protocolo para manejarlo desde linux, desde un iphone o desde cualquier otro entorno.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sistemasorp.es/2009/08/12/programar-la-camara-ip-zaapa-ciprw-za-ciprw-en-net/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Capturar el escritorio o una ventana de windows con .NET</title>
		<link>http://www.sistemasorp.es/2009/07/09/capturar-el-escritorio-o-una-ventana-de-windows-con-net/</link>
		<comments>http://www.sistemasorp.es/2009/07/09/capturar-el-escritorio-o-una-ventana-de-windows-con-net/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 11:52:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Proyectos]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[captura]]></category>
		<category><![CDATA[capturar]]></category>
		<category><![CDATA[escritorio]]></category>
		<category><![CDATA[ventana]]></category>

		<guid isPermaLink="false">http://www.sistemasorp.es/?p=195</guid>
		<description><![CDATA[En el trabajo los usuarios nos envían incidencias de las aplicaciones, pero en muy pocas ocasiones adjuntan un &#8220;pantallazo&#8221; del error. Entiendo que el proceso de pulsar Impr Pant, irse al paint, pegar la imágen, guardarla en JPG y adjuntarla a la incidencia es algo que no saben muchos usuarios. Por eso se me ocurrió [...]]]></description>
			<content:encoded><![CDATA[<p>En el trabajo los usuarios nos envían incidencias de las aplicaciones, pero en muy pocas ocasiones adjuntan un &#8220;pantallazo&#8221; del error. Entiendo que el proceso de pulsar <em>Impr Pant</em>, irse al paint, pegar la imágen, guardarla en JPG y adjuntarla a la incidencia es algo que no saben muchos usuarios.</p>
<p>Por eso se me ocurrió crear una aplicación sencilla en c# que gestionase todo ese proceso (excepto adjuntar la imágen a la incidencia). Tomando como base <a href="http://www.developerfusion.com/code/4630/capture-a-screen-shot/" target="_blank">este artículo</a> he desarrollado la aplicación <strong>CapturaVentana</strong> (ciertamente no me he escornado buscando el nombre) debido a que el escritorio o una ventana son lo mismo para windows.</p>
<p><a href="http://www.sistemasorp.es/wp-content/uploads/2009/07/ventana.jpg"><img class="alignnone size-full wp-image-197" title="ventana" src="http://www.sistemasorp.es/wp-content/uploads/2009/07/ventana.jpg" alt="ventana" width="496" height="139" /></a></p>
<p>Su uso es muy sencillo. Elegimos si queremos copiar el resultado al portapapeles o a un fichero jpg y pulsamos sobre el botón correspondiente de lo que queremos capturar (escritorio entero o una ventana individual). En el caso de capturar el escritorio la aplicación se esconde momentaneamente para que no aparezca en la &#8220;foto&#8221;. Si se trata de capturar una ventana hay que pulsar con el ratón sobre la ventana que queremos fotografiar después de haber pulsado el botón.</p>
<p>El código fuente se puede descargar desde <a href="http://www.sistemasorp.es/capturaventana/capturaventana.zip">aquí</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sistemasorp.es/2009/07/09/capturar-el-escritorio-o-una-ventana-de-windows-con-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>alarma</title>
		<link>http://www.sistemasorp.es/2009/06/09/alarma/</link>
		<comments>http://www.sistemasorp.es/2009/06/09/alarma/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 22:13:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Electrónica]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[Proyectos]]></category>

		<guid isPermaLink="false">http://www.sistemasorp.es/?p=166</guid>
		<description><![CDATA[Hacía tiempo que no desarrollaba un proyecto con la fonera. En esta ocasión voy a hacer un sistema de alarma, la cual se activa cuando se pulsa un botón. Para ello me he hecho con lo siguientes materiales: Emisor de 1 canal Receptor de 1 canal Fonera Cuando alguien pulse el mando emisor, el receptor [...]]]></description>
			<content:encoded><![CDATA[<p>Hacía tiempo que no desarrollaba un proyecto con la fonera. En esta ocasión voy a hacer un sistema de alarma, la cual se activa cuando se pulsa un botón. Para ello me he hecho con lo siguientes materiales:</p>
<p><a href="http://fadisel.es/cebek-electronica/telemandos-rf-g1/emisor-rf-1-canal-cebek-tl-5_R_305_322.aspx" target="_blank">Emisor de 1 canal</a></p>
<p><img class="alignnone" src="http://img.icnea.net/Forum/E6001/fotos/TL-300-TOTSCOLORS.jpg" alt="" width="283" height="159" /></p>
<p><a href="http://fadisel.es/Producte.aspx?r=343" target="_blank">Receptor de 1 canal</a></p>
<p><img class="alignnone" src="http://img.icnea.net/Forum/E6001/fotos/tl-7-00.jpg" alt=""/></p>
<p><a href="https://shop.fon.com/FonShop/shop/ES/ShopController?view=product&amp;product=PRD-001" target="_blank">Fonera</a></p>
<p><a href="http://www.sistemasorp.es/wp-content/uploads/2009/06/getfile.gif"><img class="alignnone size-full wp-image-180" title="getfile" src="http://www.sistemasorp.es/wp-content/uploads/2009/06/getfile.gif" alt="getfile" width="170" height="180" /></a></p>
<p>Cuando alguien pulse el mando emisor, el receptor (alimentado por la fonera) recibirá la señal e informará a la fonera que se ha activado. Después la fonera se conectará a una página web para mandar un mensaje sms a un número de teléfono. Esto es útil por ejemplo para ancianos que desean solicitar asistencia, con sólo llevar el emisor colgado ya pueden enviar la alarma. Otra aplicación es una tienda donde se solicite ayuda en caso de robo, guardando el emisor debajo del mostrador o en el suelo.</p>
<p>Para ello, lo primero que se debe tener es la fonera con el firmware openwrt. Los pasos se pueden seguir <a href="http://www.fonera.info/index.php?topic=100.0" target="_blank">aquí</a>.</p>
<p>Después hay que instalar el módulo gpio. Los pasos se pueden seguir <a href="http://forum.openwrt.org/viewtopic.php?id=8912" target="_blank">aquí</a>.</p>
<p>A continuación hay que hacer que la fonera sea independiente del cable de red y se conecte como cliente al router wireless. Primero editamos el fichero /etc/config/wireless y ponemos lo siguiente:</p>
<pre>config wifi-device  wifi0
option type     atheros
option channel  5

config wifi-iface
option device   wifi0
option mode     sta
option ssid     &lt;SSID&gt;
option encryption wep
option key      &lt;CLAVE HEX&gt;</pre>
<p>Donde <strong>SSID</strong> es el nombre de la red wireless y <strong>CLAVE HEX</strong> la clave wep en hexadecimal (Para otras configuraciones mirar el documento de configuración <a href="http://kamikaze.openwrt.org/docs/openwrt.html#x1-120001.2.2" target="_blank">aquí</a>)</p>
<p>Segundo editamos el fichero /etc/config/network y ponemos lo siguiente:</p>
<pre># Copyright (C) 2006 OpenWrt.org

config interface loopback
option ifname   lo
option proto    static
option ipaddr   127.0.0.1
option netmask  255.0.0.0

config interface lan
option ifname   eth0
option proto    static
option ipaddr   192.168.1.200
option netmask  255.255.255.0

config interface wifi0
option ifname   ath0
option proto    dhcp</pre>
<p>Con estas configuraciones hacemos que el router de la fonera se conecte al punto de acceso como cliente y coja una ip mediante dhcp, sin la necesidad de tener un cable de red, por lo que podemos ponerla en cualquier lado. Por si acaso se deja una ip 192.168.1.200 en el puerto ethernet por si hubiera que conectarse a ella y no funcionase el wifi.</p>
<p>El siguiente paso es crear el script que recibirá por el gpio la señal del receptor. Creamos el fichero /usr/bin/alarma.sh con este contenido (poniendo el usuario, contraseña, numero de móvil y el mensaje a enviar):</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #000000;">1</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>proc<span style="color: #000000; font-weight: bold;">/</span>gpio<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">2</span>_dir
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #000000;">0</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>proc<span style="color: #000000; font-weight: bold;">/</span>gpio<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">1</span>_dir
<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #c20cb9; font-weight: bold;">true</span>
<span style="color: #000000; font-weight: bold;">do</span>
        <span style="color: #007800;">estado</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #000000; font-weight: bold;">/</span>proc<span style="color: #000000; font-weight: bold;">/</span>gpio<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">1</span>_in<span style="color: #000000; font-weight: bold;">`</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$estado</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>proc<span style="color: #000000; font-weight: bold;">/</span>gpio<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">2</span>_out
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$estado</span> <span style="color: #660033;">-eq</span> <span style="color: #000000;">1</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
        <span style="color: #000000; font-weight: bold;">then</span>
                <span style="color: #c20cb9; font-weight: bold;">wget</span> <span style="color: #660033;">-q</span> <span style="color: #ff0000;">&quot;http://www.sistemasorp.net/alarma.php?login=&lt;USUARIO&gt;&amp;password=&lt;CLAVE&gt;&amp;destino=&lt;Nº MOVIL&gt;&amp;mensaje=&lt;MENSAJE&gt;&quot;</span>
                <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #c20cb9; font-weight: bold;">true</span>
                <span style="color: #000000; font-weight: bold;">do</span>
                        <span style="color: #c20cb9; font-weight: bold;">sleep</span> <span style="color: #000000;">1</span>
                <span style="color: #000000; font-weight: bold;">done</span>
        <span style="color: #000000; font-weight: bold;">fi</span>
        <span style="color: #c20cb9; font-weight: bold;">sleep</span> <span style="color: #000000;">1</span>
<span style="color: #000000; font-weight: bold;">done</span></pre></div></div>

<p>Lo que hace el script es comprobar la salida del receptor cada segundo, si está activada enciende el led wlan de la fonera y accede a una página web php que envía mensajes sms con la <a href="http://open.movilforum.com/wiki/index.php/Interfaz_HTTP_de_envio_de_SMS" target="_blank">API de envío de SMS</a> del open movil forum, este es el código fuente:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #b1b100;">include</span> <span style="color: #0000ff;">'SMSSenderAPI.php'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$SMS</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">New</span> SMSSender<span style="color: #339933;">;</span>
<span style="color: #000088;">$SMS</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">SendMessage</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;login&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;password&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;destino&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;mensaje&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>El fichero SMSSenderAPI.php lo podeis descargar <a href="http://open.movilforum.com/sdk/PhpSDKr10/Docs/APIs/SMSSendAPI.html" target="_blank">aquí</a>. Los campos <strong>LOGIN</strong> y <strong>PASSWORD</strong> son para la api de open movilforum, el campo <strong>DESTINO</strong> es el número de móvil del destinatario y el campo <strong>MENSAJE</strong> el texto que se le enviará.</p>
<p>Después se edita el fichero /etc/firewall.user y se añade al final la siguiente linea <strong>sh /usr/bin/programa.sh &amp;</strong>.</p>
<p>En la parte hardware he sacado los cables de GPIO de la fonera y alimentación y masa al exterior:</p>
<p><a href="http://www.sistemasorp.es/wp-content/uploads/2009/06/imgp0885.jpg"><img class="alignnone size-medium wp-image-185" title="imgp0885" src="http://www.sistemasorp.es/wp-content/uploads/2009/06/imgp0885-300x225.jpg" alt="imgp0885" width="300" height="225" /></a><a href="http://www.sistemasorp.es/wp-content/uploads/2009/06/imgp0886.jpg"><img class="alignnone size-medium wp-image-186" title="imgp0886" src="http://www.sistemasorp.es/wp-content/uploads/2009/06/imgp0886-300x225.jpg" alt="imgp0886" width="300" height="225" /></a></p>
<p>Igualmente he quitado en el receptor el integrado 7805 para alimentar el circuito directamente desde la fonera con dos cables (alimentación y masa):</p>
<p><a href="http://www.sistemasorp.es/wp-content/uploads/2009/06/imgp0887.jpg"><img class="alignnone size-medium wp-image-187" title="imgp0887" src="http://www.sistemasorp.es/wp-content/uploads/2009/06/imgp0887-300x225.jpg" alt="imgp0887" width="300" height="225" /></a></p>
<p>Y soldado al pin 1 (el que se pone a 5 voltios si el circuito ha recibido una señal) del chip HEF4013BP un cable que irá directamente conectado al gpio 1 de la fonera:</p>
<p><a href="http://www.sistemasorp.es/wp-content/uploads/2009/06/imgp0888.jpg"><img class="alignnone size-medium wp-image-188" title="imgp0888" src="http://www.sistemasorp.es/wp-content/uploads/2009/06/imgp0888-300x225.jpg" alt="imgp0888" width="300" height="225" /></a></p>
<p>Y como colofón un video demostrativo:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/jFzcMRpTFkg&amp;hl=es&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/jFzcMRpTFkg&amp;hl=es&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>En el vídeo se puede ver como pulso el botón del emisor, después el led de la fonera se pone en verde y finalmente se recibe un mensaje de texto indicando Alarma activada.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sistemasorp.es/2009/06/09/alarma/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>robot</title>
		<link>http://www.sistemasorp.es/2009/05/09/robot/</link>
		<comments>http://www.sistemasorp.es/2009/05/09/robot/#comments</comments>
		<pubDate>Sat, 09 May 2009 21:53:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Electrónica]]></category>
		<category><![CDATA[Proyectos]]></category>
		<category><![CDATA[16f84a]]></category>
		<category><![CDATA[7805]]></category>
		<category><![CDATA[7806]]></category>
		<category><![CDATA[coche teledirigido]]></category>
		<category><![CDATA[l293d]]></category>
		<category><![CDATA[rc]]></category>

		<guid isPermaLink="false">http://www.sistemasorp.es/?p=159</guid>
		<description><![CDATA[¿Qué se puede hacer con un 16f84a, un l293d, un 7806, un 7805 y un coche teledirigido barato?. Pues esto: Pronto más&#8230;]]></description>
			<content:encoded><![CDATA[<p>¿Qué se puede hacer con un <a href="http://es.wikipedia.org/wiki/16f84" target="_blank">16f84a</a>, un <a href="http://www.arduino.cc/es/L293D/L293D" target="_blank">l293d</a>, <a href="http://es.wikipedia.org/wiki/78xx" target="_blank">un 7806, un 7805</a> y un coche teledirigido barato?. Pues esto:</p>
<p><a href="http://www.sistemasorp.es/wp-content/uploads/2009/05/robot.jpg"><img class="alignnone size-medium wp-image-160" title="robot" src="http://www.sistemasorp.es/wp-content/uploads/2009/05/robot-300x181.jpg" alt="robot" width="300" height="181" /></a></p>
<p>Pronto más&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sistemasorp.es/2009/05/09/robot/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Reloj termómetro con PIC 16F628</title>
		<link>http://www.sistemasorp.es/2009/01/25/reloj-termometro-con-pic-16f628/</link>
		<comments>http://www.sistemasorp.es/2009/01/25/reloj-termometro-con-pic-16f628/#comments</comments>
		<pubDate>Sun, 25 Jan 2009 22:35:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Electrónica]]></category>
		<category><![CDATA[Proyectos]]></category>
		<category><![CDATA[16f628]]></category>
		<category><![CDATA[ds1307]]></category>
		<category><![CDATA[ds1624]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[reloj]]></category>
		<category><![CDATA[termómetro]]></category>

		<guid isPermaLink="false">http://www.sistemasorp.es/?p=120</guid>
		<description><![CDATA[Recientemente he creado un reloj-termómetro hecho con un PIC 16F628A, un sensor de temperatura i2c DS1624, un reloj en tiempo real i2c DS1307 y un LCD de 16&#215;2 compatible con Hitachi HD44780. El sistema, una vez encendido, muestra la fecha y hora, la temperatura junto con los valores máximo y mínimo que alcanza y finalmente [...]]]></description>
			<content:encoded><![CDATA[<p>Recientemente he creado un reloj-termómetro hecho con un PIC 16F628A, un sensor de temperatura i2c DS1624, un reloj en tiempo real i2c DS1307 y un LCD de 16&#215;2 compatible con Hitachi HD44780.</p>
<p>El sistema, una vez encendido, muestra la fecha y hora, la temperatura junto con los valores máximo y mínimo que alcanza y finalmente un mensaje personalizado. Aquí hay un video que he grabado del mismo:</p>
<p><object width="425" height="344" data="http://www.youtube.com/v/ikUthVoPWO8&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="src" value="http://www.youtube.com/v/ikUthVoPWO8&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" /><param name="allowfullscreen" value="true" /></object></p>
<p>El esquema del circuito es el siguiente:</p>
<p><a href="http://www.sistemasorp.es/wp-content/uploads/2009/01/relojtermometro.png"><img class="alignnone size-medium wp-image-121" title="relojtermometro" src="http://www.sistemasorp.es/wp-content/uploads/2009/01/relojtermometro-300x207.png" alt="" width="300" height="207" /></a></p>
<p>Y desde aquí os podeis bajar el .hex y el código fuente (CCS C)</p>
<p><a href="/relojtermometro/relojtermometro.zip" target="_blank">proyecto</a></p>
<p>La fecha y hora se configuran con sólo un botón pulsador que está conectado a RB0 y que funciona por temporización e indexación. Es decir, si tu pulsas la primera vez el botón, se mostrará en el LCD la fecha y hora y el indice 0, que indica que vas a modificar el día, entónces si pulsas dentro de los dos segundos siguientes el botón, el día se incrementará, si no lo pulsas, el indice se incrementará a 1 y se podrán modificar los meses de igual manera. Así hasta llegar al indice 5 que son los segundos y después mostrará la fecha y hora actualizadas renovandose cada segundo.</p>
<p>A los diez segundos de mostrar la fecha y hora se muestra la temperatura actual junto con los valores máximo (M) y minimo (m) que se han alcanzado. Si son los 30 primeros segundos de medianoche se resetearán esos valores.</p>
<p>A los diez segundos de mostrar la temperatura, se mostrará un mensaje personalizado que se ha guardado en la EEPROM al programar el PIC. Pasados cinco segundos vuelve a mostrar la fecha y hora.</p>
<p>El PIC usa el oscilador interno de 4Mhz. El programa ocupa un 98% de su memoria de código. Aunque en el video vereis que hay un interruptor de encendido/apagado, un led indicador de encendido/apagado y unas resistencias variables para el LCD, con lo que hay en el esquema es suficiente para funcionar. Vcc son 5 voltios conseguidos a través de un 7805.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sistemasorp.es/2009/01/25/reloj-termometro-con-pic-16f628/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>Divisas 3.0</title>
		<link>http://www.sistemasorp.es/2008/12/29/divisas-30/</link>
		<comments>http://www.sistemasorp.es/2008/12/29/divisas-30/#comments</comments>
		<pubDate>Mon, 29 Dec 2008 22:20:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Proyectos]]></category>
		<category><![CDATA[cambio]]></category>
		<category><![CDATA[divisas]]></category>
		<category><![CDATA[moneda]]></category>

		<guid isPermaLink="false">http://www.sistemasorp.es/?p=117</guid>
		<description><![CDATA[He publicado la versión 3.0 de Divisas. Este programa, que desde su primera versión han pasado más de 5 años, siempre ha tenido por objetivo dotar de una herramienta sencilla y eficaz para el usuario que desea convetir los valores de las monedas de distintos países. En esta ocasión he intentando simplificar al máximo la [...]]]></description>
			<content:encoded><![CDATA[<p>He publicado la <a href="http://www.sistemasorp.net/divisas/" target="_blank">versión 3.0 de Divisas</a>.</p>
<p>Este programa, que desde su primera versión han pasado más de 5 años, siempre ha tenido por objetivo dotar de una herramienta sencilla y eficaz para el usuario que desea convetir los valores de las monedas de distintos países.</p>
<p>En esta ocasión he intentando simplificar al máximo la interactuación entre el usuario y el programa. Por ello he quitado la opción de histórico que a duras penas se usaba, y he añadido una interfaz que junta lo mejor del mundo de las aplicaciones web y del mundo de las aplicaciones de escritorio.</p>
<p>Ahora al usuario se le presenta un mapa del mundo (de <a href="http://maps.google.es/" target="_blank">Google Maps</a>) y este selecciona con una simple pulsación el país de origen y de destino de los cuales quiere la información del valor de sus divisas. A continuación, si así lo desea el usuario, puede cambiar la cantidad de la moneda de origen para que se refleje automáticamente el resultado en la moneda de destino.</p>
<p>La versión anterior ofrecía al usuario la interfaz en 5 idiomas distintos, pero ahora gracias a Google Maps se ofrecen los textos en el idioma original del usuario. La información monetaria de más de 170 paises la extrae del <a href="http://www.webservicex.net/WCF/ServiceDetails.aspx?SID=18" target="_blank">servicio web</a> que ofrece la empresa webserviceX.</p>
<p>La aplicación tiene un sistema que detecta nuevas versiones y se instalan automáticamente sin que el usuario necesite hacer nada.</p>
<p>Todo el desarrollo está hecho en C# con Visual Studio 2005.</p>
<p>¿A qué esperas a probarlo? Te vendrá bien en tus próximas vacaciones por el extranjero.</p>
<p><strong>Edito 19/07/2009:</strong></p>
<p>Dado que el servicio web da problemas en muchas ocasiones he añadido la fuente del Banco Central Europeo para que al menos el resultado de las divisas más comunes sea inmediato.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sistemasorp.es/2008/12/29/divisas-30/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Enviar net send anónimos</title>
		<link>http://www.sistemasorp.es/2008/02/25/enviar-net-send-anonimos/</link>
		<comments>http://www.sistemasorp.es/2008/02/25/enviar-net-send-anonimos/#comments</comments>
		<pubDate>Mon, 25 Feb 2008 15:37:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Proyectos]]></category>
		<category><![CDATA[anónimo]]></category>
		<category><![CDATA[closehandle]]></category>
		<category><![CDATA[createfile]]></category>
		<category><![CDATA[mensajero]]></category>
		<category><![CDATA[net send]]></category>
		<category><![CDATA[smbclient]]></category>
		<category><![CDATA[win32]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[writefile]]></category>

		<guid isPermaLink="false">http://www.sistemasorp.es/2008/02/25/enviar-net-send-anonimos/</guid>
		<description><![CDATA[En windows podemos enviar mensajes a otros usuarios a través de la red de un dominio con el comando net send, siempre y cuando tengamos iniciado el servicio Mensajero de windows. Desde linux con smbclient -M también podemos hacer lo mismo. Sin embargo siempre se enviará como remitente el equipo desde donde se envió el [...]]]></description>
			<content:encoded><![CDATA[<p>En windows podemos enviar mensajes a otros usuarios a través de la red de un dominio con el comando net send, siempre y cuando tengamos iniciado el servicio <em>Mensajero</em> de windows. Desde linux con <em>smbclient -M</em> también podemos hacer lo mismo.</p>
<p>Sin embargo siempre se enviará como remitente el equipo desde donde se envió el mensaje. Si queremos mandar un mensaje con un remitente distinto debemos  recurrir al envío del mismo a través de la tubería \MAILSLOT\MESSNGR que tiene abierta windows si el servicio que comentaba antes está iniciado. Aquí muestro los pasos a seguir usando win32.</p>
<p>Primero se debe abrir esa tubería mediante un <em>CreateFile</em> poniendo como ruta lo siguiente \\&lt;nombre de equipo&gt;\\MAILSLOT\MESSNGR.</p>
<p>Después debemos escribir a esa tubería con <em>WriteFile</em> la siguiente cadena &lt;origen&gt;\0&lt;destino&gt;\0&lt;mensaje&gt;\0</p>
<p>Finalmente cerramos la tubería con <em>CloseHandle</em>.</p>
<p>Para ilustrar el funcionamiento, podeis bajaros el código fuente de un programa <a href="http://www.sistemasorp.es/wp-content/uploads/2008/02/anon.cpp" title="anon.cpp">aquí</a>.<a href="http://www.sistemasorp.es/wp-content/uploads/2008/02/anon.cpp" title="anon.cpp"></a></p>
<p>Si quereis usarlo ya compilado, podeis bajaros el ejecutable <a href="http://www.sistemasorp.es/wp-content/uploads/2008/02/anon.exe" title="anon.exe">aquí</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sistemasorp.es/2008/02/25/enviar-net-send-anonimos/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>gateway email2qrcode</title>
		<link>http://www.sistemasorp.es/2008/02/18/gateway-email2qrcode/</link>
		<comments>http://www.sistemasorp.es/2008/02/18/gateway-email2qrcode/#comments</comments>
		<pubDate>Mon, 18 Feb 2008 00:10:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Proyectos]]></category>
		<category><![CDATA[datamatrix]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[gateway]]></category>
		<category><![CDATA[qr code]]></category>
		<category><![CDATA[qrcode]]></category>

		<guid isPermaLink="false">http://www.sistemasorp.es/2008/02/18/gateway-email2qrcode/</guid>
		<description><![CDATA[Antes de nada, ¿que es el qrcode?, la wikipedia lo define como: Un código QR es un sistema para almacenar información en una matriz de puntos o un código de barras bidimensional creado por la compañía japonesa Denso-Wave en 1994; se caracterizan por los tres cuadrados que encontramos en las esquinas y que permiten detectar [...]]]></description>
			<content:encoded><![CDATA[<p>Antes de nada, ¿que es el qrcode?, la wikipedia lo define como:</p>
<blockquote><p>Un código QR es un sistema para almacenar información en una matriz de puntos o un código de barras bidimensional creado por la compañía japonesa Denso-Wave en 1994; se caracterizan por los tres cuadrados que encontramos en las esquinas y que permiten detectar al lector la posición del código. La sigla &#8220;QR&#8221; se derivó de la frase inglesa &#8220;Quick Response&#8221; pues el creador aspiraba a que el código permitiera que su contenido se leyera a alta velocidad. Los códigos QR son muy comunes en Japón y de hecho son el código bidimensional más popular en ese país.</p></blockquote>
<p>Todos conocemos los códigos de barras que estan ya presentes en cualquier producto que adquiramos. Como la información que puede contener un código de barras es limitada (solo unos pocos carácteres), se buscaron formas de incluir muchos más datos en aproximadamente el mismo espacio, de ahí que aparecieran los nuevos códigos 3D (en contraposición a los de barras, llamados 2D), los cuales codifican la información en una cuadricula punteada, pudiendo almacenar hasta kilobytes de información.</p>
<p>Existen varios estándares:</p>
<p><a href="http://en.wikipedia.org/wiki/PDF417">PDF 417</a> Lo podeis generar <a href="http://www.idautomation.com/java/pdf417servlet.html">aquí</a>.</p>
<p><a href="http://es.wikipedia.org/wiki/Datamatrix">Datamatrix</a> lo podeis generar <a href="http://www.idautomation.com/java/dmservlet.html">aquí</a>.</p>
<p><a href="http://en.wikipedia.org/wiki/Maxicode">MaxiCode</a> lo podeis generar <a href="http://www.idautomation.com/java/maxicodeservlet.html">aquí</a>.</p>
<p><a href="http://es.wikipedia.org/wiki/C%C3%B3digo_QR">QRCode</a> lo podeis generar <a href="http://qrcode.kaywa.com/">aquí</a>.</p>
<p>La ventaja de QRCode es que esta muy extendido, ya que es un estandard ISO (18004) que todo el mundo puede usar libremente y existen librerias comerciales y gratuitas tanto para generarlo como para decodificarlo. Para móviles, uno de los mejores lectores gratuitos que hay hecho en java es el <a href="ttp://reader.kaywa.com/">kaywa reader</a>.</p>
<p><img src="http://www.sistemasorp.es/wp-content/uploads/2008/02/qrcode.png" alt="Imagen qrcode" /></p>
<p>En este artículo explico como hice un gateway que decodifica los qrcodes que se hayan enviado por correo electrónico, respondiendo al remitente con el texto que contenian las imágenes.</p>
<p>El proceso es tan simple como:</p>
<p>Enviar las imágenes qrcode adjuntas a un correo electrónico y enviarlo a <a href="mailto:qrdecode@sistemasorp.es">qrdecode@sistemasorp.es</a>.</p>
<p>Posteriormente en el servidor, una tarea cron ejecuta cada minuto un script en perl.</p>
<p>Este script de perl comprueba el buzón de correo y si hay mensajes los procesa. Si detecta que hay imágenes ejecuta una librería java llamada <strong>Open Source QR Code Library</strong> (<a href="http://sourceforge.jp/projects/qrcode/">http://sourceforge.jp/projects/qrcode/</a>) y toma su salida estandar para luego crear un correo y enviarselo al remitente con el texto de la/s imagen/es.</p>
<p>Si quereis descargaros el script de perl, lo podeis hacer <a href="http://www.sistemasorp.es/wp-content/uploads/2008/02/qrdecode" title="qrdecode">aquí</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sistemasorp.es/2008/02/18/gateway-email2qrcode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wardriving con la fonera</title>
		<link>http://www.sistemasorp.es/2007/02/01/wardriving-con-la-fonera/</link>
		<comments>http://www.sistemasorp.es/2007/02/01/wardriving-con-la-fonera/#comments</comments>
		<pubDate>Thu, 01 Feb 2007 09:37:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Proyectos]]></category>

		<guid isPermaLink="false">http://www.sistemasorp.es/2007/02/01/wardriving-con-la-fonera/</guid>
		<description><![CDATA[La fonera es para mi un ordenador con muchas posibilidades. La verdad es que tenerlo solo para compartir la conexión de internet me parece subestimar todo su potencial. Entre las muchas cosas que pueden hacerse con ella (la imaginación es el único limite), una de ellas es hacer wardriving. Hasta ahora el wardriving se hacía [...]]]></description>
			<content:encoded><![CDATA[<p>La fonera es para mi un ordenador con muchas posibilidades. La verdad es que tenerlo solo para compartir la conexión de internet me parece subestimar todo su potencial. Entre las muchas cosas que pueden hacerse con ella (la imaginación es el único limite), una de ellas es hacer <a href="http://es.wikipedia.org/wiki/Wardriving">wardriving</a>. Hasta ahora el wardriving se hacía con un portatil o una pda que tuviese wifi y gps (ambos en módulos separados o integrados en el hardware) pero eso ha cambiado&#8230;</p>
<p>Antes de empezar quiero comentar que todo esto es experimental, y que no me hago responsable de los daños que pudierais ocasionaros a vosotros mismos o a cualquier cosa implicada en el proceso.</p>
<p>Pues bien, la principal ventaja del sistema de wardriving que he estado desarrollando es que es mucho más barato que las soluciones anteriormente citadas, por lo que paso a detallar lo necesario para fabricarse un sistema de wardriving con la fonera (los enlaces son méramente orientativos, no me llevo ninguna comisión por ellos):</p>
<p>Como es lógico, es necesario una fonera, que cuesta unos 30 €  en <a href="http://www.fon.es/">fon</a> (o menos si lo compras en <a href="http://www.ebay.es/">ebay</a> o incluso si te la regalan).</p>
<p><img src="http://www.sistemasorp.net/blog/fonera2.jpg" alt="" /></p>
<p>Un <a href="http://www.deluoelectronics.com/customer/product.php?productid=89&amp;cat=19&amp;page=1">módulo gps</a> que funcione a 3,3 voltios, que cuesta alrededor de 40 €. Aunque si se tiene ya un gps de mano con conexión serie se puede hacer un circuito con un chip max3232 (que no 232).</p>
<p><img src="http://www.sistemasorp.net/blog/gps.jpg" alt="" /></p>
<p>Una <a href="http://www.ciudadwireless.com/product_info.php?products_id=539">antena wifi omnidireccional</a> con imán y conector rp-sma ideal para ponerla en el techo del coche, por unos 17 €. Aunque se puede usar la antena que viene en la fonera (con lo que habrá menos cobertura).</p>
<p><img src="http://www.sistemasorp.net/blog/antena.jpg" alt="" /></p>
<p>Finalmente un <a href="http://www.activagps.com/detalles.asp?codigo=490&amp;codigobarras=1">adaptador de mechero para el coche</a> de 5 voltios y 2 amperios por unos 12 €. En mi caso me compré un adaptador de mechero para la <a href="http://es.wikipedia.org/wiki/PlayStation_Portable">PSP</a> que también reúne las características necesarias y que modifiqué ligeramente para poder enchufarlo a la fonera.</p>
<p><img src="http://www.sistemasorp.net/blog/adaptador.jpg" alt="" /></p>
<p>Para unir el GPS al puerto serie de la fonera me fabriqué un pequeño cable que va unido a un circuito, y este a su vez a la fonera través de un cable IDE.</p>
<p><img src="http://www.sistemasorp.net/blog/cable.jpg" alt="" /></p>
<p>Al final uniendo todos los componentes quedaría así:</p>
<p><img src="http://www.sistemasorp.net/blog/union.jpg" alt="" /></p>
<p>Para hacer funcionar el invento necesitáis instalar en la fonera el firmware OpenWRT Kamikaze, en <a href="http://www.fonera.info/index.php/topic,32.msg209.html#msg209">La Fonera Developers Forum</a> podeis encontrar un artículo estupendo de como hacerlo. Si no lo hago con el firmware que trae por defecto FON es simplemente porque la fonera no arranca si no encuentra una conexión de red válida (y en el coche no tendremos red alguna) además de que usa el led de WLAN que nosotros aprovecharemos para otro tema.</p>
<p>Ahora por la parte software programé un demonio el cual se encarga de escanear las redes wifi al mismo tiempo que va tomando la posición GPS. El demonio se llama fonerawd y guarda los resultados del escaneo en el directorio /www/wifispots, creando un fichero con la mac de cada red detectada y guardando dentro de este el SSID de la red, el tipo de conexión, si está encriptada o no y su latitud y longitud (si no existe GPS pondrá error, si no tiene señal será 0); todos estos campos están separados por el carácter barra &#8220;|&#8221;.</p>
<p>El puerto serie de la fonera lo programé gracias a este <a href="http://es.tldp.org/COMO-INSFLUG/COMOs/Programacion-Serie-Como/Programacion-Serie-Como-3.html#ss3.1">artículo</a> que explica como hacerlo en modo canónico, que es ideal para recibir las lineas de datos del protocolo NMEA del GPS. El escaneo de redes lo hice basándome en este <a href="http://svn.pardus.org.tr/projeler/tasmanet/device.cpp">artículo</a> que aunque no explica como hacerlo, el código fuente es suficientemente descriptivo.</p>
<p>Este software esta bajo licencia GPL y lo podéis descargar aquí:</p>
<p><a href="http://www.sistemasorp.net/blog/fonerawd.tar.gz">http://www.sistemasorp.net/blog/fonerawd.tar.gz</a></p>
<p>Aunque ya viene el ejecutable probablemente queráis compilarlo por vosotros mismos, por lo que además de <a href="http://sistemasorp.blogspot.com/2006/11/compilando-programas-para-la-fonera.html">seguir las instrucciones que publiqué en un reciente artículo</a>, debéis compilarlo incluyendo una librería y un directorio de includes de la siguiente forma:</p>
<p><span style="font-weight:bold;">mips-linux-uclibc-gcc -I../fonera/staging_dir_mips/usr/include  -L../fonera/staging_dir_mips/usr/lib -liw -o fonerawd fonerawd.c</span></p>
<p>Donde la ruta <span style="font-style:italic;">../fonera</span> la debéis cambiar a la ruta donde tengáis el toolchain.</p>
<p>Una vez compilado el ejecutable debéis descargarlo a la fonera en el directorio /usr/bin</p>
<p><span style="font-weight:bold;">wget http://xxx.xxx.xxx.xxx/fonerawd<br />
</span><span style="font-weight:bold;">mv fonerawd /usr/bin</span></p>
<p>donde xxx.xxx.xxx.xxx es la ip de un servidor web. Después hay que darle permisos de ejecución</p>
<p><span style="font-weight:bold;">chmod +x /usr/bin/fonerawd</span></p>
<p>Ahora debemos hacer unas modificaciones en el kamikaze:</p>
<p>1) Editar con el vi el fichero /etc/inittab y desactivar el entrada por consola comentado la linea tts/0::askfirst:/bin/ash &#8211;login con una almohadilla &#8220;#&#8221;. Esto hará que los comandos NMEA del GPS enviados al puerto serie no provoquen el crear una sesión shell por el puerto serie ya que contienen un retorno de carro y el linux lo confundiría con la pulsación de la tecla ENTER.</p>
<p>2) Poner una ip fija en la fonera para luego poder entrar en ella sin tener que adivinar que IP tiene. Para ello editamos con el vi el fichero /etc/config/network y ponemos esto en la interfaz lan (la ip puede ser cualquier otra de vuestro segmento de red):</p>
<blockquote><p>config interface lan<br />
option ifname   eth0<br />
option proto    static<br />
option ipaddr   192.168.0.12<br />
option netmask  255.255.255.0</p></blockquote>
<p>3) Instalar el modulo proc_gpio citado en este <a href="http://forum.openwrt.org/viewtopic.php?pid=40728">artículo</a>. Para ello debéis copiar el fichero proc_gpio.ko en el directorio /lib/modules/2.6.19.1 . Esto nos permitirá tener control sobre la luz WLAN de la fonera.</p>
<p>4) En el directorio /etc/init.d crear un fichero con el vi llamando red y le añadís las siguientes líneas:</p>
<blockquote><p>#!/bin/sh /etc/rc.common</p>
<p>start () {<br />
wlanconfig ath0 destroy<br />
wlanconfig ath0 create wlandev wifi0 wlanmode sta<br />
ifconfig ath0 up<br />
insmod proc_gpio.ko<br />
echo 1 &gt; /proc/gpio/2_dir<br />
echo 1 &gt; /proc/gpio/2_out<br />
/usr/bin/fonerawd<br />
}</p>
<p>stop () {<br />
echo &#8220;hola&#8221;<br />
}</p></blockquote>
<p>Y le damos permisos de ejecución. Finalmente debéis crear un enlace a este fichero desde el directorio /etc/rc.d de la siguiente forma:</p>
<p><span style="font-weight:bold;">ln -s /etc/init.d/red S76red</span></p>
<p>Esto hará que cuando se arranque la fonera y busque en el directorio rc.d que scripts deben ejecutarse, se ejecute el script llamado red. Este script crea una interfaz wireless llamada ath0 en modo cliente para poder escanear las redes wifi, luego el módulo proc_gpio hará que se encienda la luz de WLAN, señal que indica que el demonio fonerawd esta cargado y podemos conectar el gps al puerto serie de la fonera (y no antes).</p>
<p>El proceso a seguir sería el siguiente:</p>
<p>1) Ponéis la fonera en el salpicadero del vehículo.</p>
<p><img src="http://www.sistemasorp.net/blog/coche1.jpg" alt="" /></p>
<p>2) Ponéis la antena en el techo del vehículo y pasais el cable al interior a través de la ventanilla conectándola a la fonera.</p>
<p><img src="http://www.sistemasorp.net/blog/coche2.jpg" alt="" /></p>
<p>3) Enchufáis el adaptador al mechero del coche y el otro extremo de este a la fonera.</p>
<p><img src="http://www.sistemasorp.net/blog/coche3.jpg" alt="" /></p>
<p>4) Cuando la luz de WLAN este encendida conectar el módulo GPS.</p>
<p><img src="http://www.sistemasorp.net/blog/coche4.jpg" alt="" /></p>
<p>Un resultado de una de mis salidas haciendo wardriving se puede ver en <a href="http://www.sistemasorp.net/fonerawd">http://www.sistemasorp.net/fonerawd</a></p>
<p>Hacer wardriving no conlleva que te conectes a las redes wifi necesariamente, simplemente se trata de listarlas, por eso este proyecto solo lista las redes y no hace nada más con ellas, siendo 100% legal.</p>
<p>El próximo proyecto que tengo en mente es hacer que la fonera con el firmware de FON pueda actuar como interfaz entre internet y un PIC 16F628 para hacer <a href="http://es.wikipedia.org/wiki/Dom%C3%B3tica">domótica</a>.</p>
<p><span style="font-weight:bold;">Actualización 04/02/2007:</span></p>
<p>Añado un video sobre una sesión de wardriving con la fonera:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="transparent" /><param name="src" value="http://www.youtube.com/v/6julv86RhF4&amp;hl=en" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://www.youtube.com/v/6julv86RhF4&amp;hl=en" wmode="transparent"></embed></object></p>
<p>A pesar de que en el vídeo somos dos personas, en las sesiones de wardriving con la fonera solo es necesario el conductor, ya que la fonera se encarga de hacerlo todo ella sola (eso si, poned el gps cuando la luz de WLAN esté en verde y antes de movilizar el vehículo).</p>
<p>Creo que también es necesario un pequeño esquema de como se deben conectar los pines del gps que he utilizado para las sesiones con los pines de la fonera:</p>
<p><img src="http://www.sistemasorp.net/blog/conexiongpsfonera.jpg" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sistemasorp.es/2007/02/01/wardriving-con-la-fonera/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>Fuentes del proyecto de domótica</title>
		<link>http://www.sistemasorp.es/2006/12/23/fuentes-del-proyecto-de-domotica/</link>
		<comments>http://www.sistemasorp.es/2006/12/23/fuentes-del-proyecto-de-domotica/#comments</comments>
		<pubDate>Sat, 23 Dec 2006 10:36:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Proyectos]]></category>

		<guid isPermaLink="false">http://www.sistemasorp.es/2006/12/23/fuentes-del-proyecto-de-domotica/</guid>
		<description><![CDATA[Como muchos me habéis pedido aquí dejo las fuentes del proyecto de domótica: Esta obra está bajo una licencia de Creative Commons. Luces: (Visual C++ 6.0) El corazón del sistema software. Este es el encargado de abrir el puerto tcp 1976 para recibir conexiones, validar usuarios, enviar por el puerto paralelo las ordenes que estos [...]]]></description>
			<content:encoded><![CDATA[<p>Como muchos me habéis pedido aquí dejo las fuentes del proyecto de domótica:</p>
<p><!--Creative Commons License--><a rel="license" href="http://creativecommons.org/licenses/by-nc/2.5/es/"><img style="border-width:0;" alt="Creative Commons License" /></a><br />
Esta obra está bajo una <a rel="license" href="http://creativecommons.org/licenses/by-nc/2.5/es/">licencia de Creative Commons</a>.<!--/Creative Commons License--></p>
<p><a href="http://www.sistemasorp.net/blog/Luces.zip">Luces</a>: (Visual C++ 6.0) El corazón del sistema software. Este es el encargado de abrir el puerto tcp 1976 para recibir conexiones, validar usuarios, enviar por el puerto paralelo las ordenes que estos dicten entre otras cosas. Podeis descargar el programa compilado, con su base de datos y su fichero .ini <a href="http://www.sistemasorp.net/blog/servidor.zip">aquí</a> (Recordad que para ejecutarlo en windows NT, 2000, XP o 2003 debeis usar el <span style="font-style:italic;">allowio</span>)</p>
<p><a href="http://www.sistemasorp.net/blog/web.zip">Web</a>: (DHTML y ASP) Interfaz web para poder usar el sistema mediante un navegador o un móvil con WEP.</p>
<p><a href="http://www.sistemasorp.net/blog/applet.zip">Applet</a>: (Visual J++) Applet de java para la interfaz web, la cual muestra en tiempo real los cambios de los aparatos eléctricos.</p>
<p><a href="http://www.sistemasorp.net/blog/Remoto.zip">Remoto</a>: (Visual C++ 6.0) Aplicación para gestionar los comandos de un mando a distancia por infrarrojos.</p>
<p><a href="http://www.sistemasorp.net/blog/SMS.zip">SMS</a>: (Visual C++ 6.0) Aplicación para gestionar los comandos de mensajes cortos por móvil.</p>
<p>Me hubiera gustado modificar los fuentes para dejarlos más claros, elegantes e incluso más eficientes, pero no he tenido tiempo hasta ahora y no lo tendré en un tiempo futuro, por lo que los pongo tal como los dejé.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sistemasorp.es/2006/12/23/fuentes-del-proyecto-de-domotica/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
	</channel>
</rss>
