|
VHF: Canal 77 |
#1
|
||||
|
||||
NMEA-WIFI con Raspberry
Unas fresquitas que ya se va notando el calor.
Al hilo de ciertos aparatillos australianos que venden como interfaz NMEA-WIFI por un precio relativamente interesante, estuve buscando info y me topé con un dato importante. Este aparato llamado "Hombre Loco" crea una red local de tipo abierto y sin clave lo cual lo convierte en un fallo grave de seguridad para cualquier dispositivo conectado a esa red ya que queda a merced de que un intruso cercano que ni siquiera necesita una clave, se conecte a la misma red y pueda acceder a nuestro dispositivo. Y no solo eso, tambien accederia a nuestros datos NMEA, cosa que en una regata...... Así que tras una tarde aburrida me dio por pensar... ¡Que coj.......ummh... Narices! Esto lo hace una Raspberry sin despeinarse y con seguridad de la buena. Así que puse a bucear por la red y encontré este interesante tutorial en la lengua de Cervantes que nos permite configurar nuestra Frambuesa como un punto de acceso WIFI. Una vez logrado esto y usando opencpn podemos tomar los datos NMEA que recibe y enviarlos por la red WIFI con su correspondiente clave para ser usados por uno o varios dispositivos. El tutorial es este: http://enavas.blogspot.com.es/2014/0...cceso-con.html Yo lo acabo de probar y corroboro que funciona bien. Poco a poco y post por post os iré desgranando el proceso para que aquellos que os veáis abrumados podáis ponerlo en practica. Por otro lado si alguno de vosotros logra hacerlo por su cuenta siguiendo el tutorial se agradecería que lo comentara y compartiera la experiencia. Lo unico que necesitamos es una Raspberry con su sistema Raspbian instalado y con opencpn y un dispositivo WIFI que ya tengamos funcionando. Como no se puede garantizar que cualquier dongle wifi funcione no os (aunque la mayoría lo hará) recomiendo que os gastéis dinero en el. Mejor id haciendo las pruebas con lo que tengáis a mano. Editado por ... en 24-05-2014 a las 19:28. |
13 Cofrades agradecieron a este mensaje: | ||
#2
|
||||
|
||||
Re: NMEA-WIFI con Raspberry
Paso 1:
Arrancamos nuestra Raspberry y cuando inicia abrimos una sesion de terminal. Una vez en ella metemos el comando: sudo su Para convertirnos en Root. Ahora que ya somos Root nos aseguramos de tener los firmwares de wifi instalados con este comando: apt-get install firmware-ralink firmware-realtek Instalamos también el paquete wireless-tools: apt-get install wireless-tools A continuación, editamos el fichero /etc/network/interfaces para asignar una dirección IP estática al interfaz wlan0 (nuestro interfaz wifi): nano /etc/network/interfaces Tras meter este comando nos aparece un editor de texto en el cual podemos escribir y borrar cosas. Lo que os encontrareis es algo como esto: auto lo iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp Pues lo que debe quedar escrito es este texto: auto lo iface lo inet loopback iface eth0 inet dhcp iface wlan0 inet static address 1.1.1.1 netmask 255.255.255.0 #allow-hotplug wlan0 #iface wlan0 inet manual #wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf #iface default inet dhcp Como veis se han añadido unas lineas (las que veis en negrita) y a otras (las que veis en cursiva) se les ha puesto una almohadilla delante. ¿Por que hemos hecho esto? Para asignarle una ip fija a nuestro dispositivo de red wifi llamado wlan0. Las direcciones ip son lo que en las redes sirve para identificar con que dispositivo estamos conectando. Por tanto poner una ip fija nos facilitara configurar las cosas pues no tendremos que ir adivinando que ip corresponde a cada cosa. Aseguraos de que el texto queda como debe y para guardar los cambios pulsáis la combinación de teclas ctrl+o. Confirmamos con intro y una vez guardados los cambios salimos con la combinacion de teclas ctrl+x. Si no estamos seguros de si lo hemos hecho bien miramos dentro del archivo con: cat /etc/network/interfaces Si lo que vemos es el texto correcto todo OK. Si no toca editarlo de nuevo y guardarlo correctamente con ctrl+x. ¿OK? Despues el paso 2. P.D. Olvidé comentaros que si estáis usando la Raspberry directamente con tv y teclado, en vez del editor nano (de linea de comandos) podéis usar leafpad que trabaja en modo gráfico. Puede que sea mas fácil para algunos. Basta con sustituir nano por leafpad en el comando anterior. Editado por ... en 24-05-2014 a las 08:45. |
#3
|
||||
|
||||
Re: NMEA-WIFI con Raspberry
Parte 2:
Una vez configurada la red, vamos a necesitar un servidor dhcp y, para ello, usaremos dnsmasq. Este servidor dhcp es el que se encargará de ir asignando direcciones ip a los diferentes dispositivos que vayamos conectando a nuestra red wifi local de forma automática. Lo instalamos con: apt-get install dnsmasq Una vez instalado, vamos a configurarlo. Para ello, creamos un archivo en /etc/dnsmasq.d/, como por ejemplo: /etc/dnsmasq.d/mired con el comando: nano /etc/dnsmasq.d/mired En el archivo que se abrira (en blanco puesto que lo vamos a crear de la nada) debemos poner: interface=wlan0 dhcp-range=1.1.1.50,1.1.1.254,12h dhcp-option=3,1.1.1.1 server=1.1.1.1 Con esta configuración mínima, le estamos indicando a dnsmasq: Que escuche peticiones tan sólo en la interfaz wlan0. Que asigne direcciones IP de forma dinámica en el rango 1.1.1.50 - 1.1.1.254. Que la puerta de enlace es la 1.1.1.1 (la interfaz wlan0 de nuestra Raspberry Pi). Que utilice los servidores DNS locales, si quisieramos acceso a internet deberiamos poner los de google 8.8.8.8 y 8.8.4.4 amén de otras cosas mas que configurar. Una vez realizados los cambios, reiniciamos el servicio: service dnsmasq restart Recordad, todo en la consola como Root ¿eh? Editado por ... en 24-05-2014 a las 16:29. |
#4
|
||||
|
||||
Re: NMEA-WIFI con Raspberry
Parte 3:
El paso que toca es instalar el software que se encargará de crear nuestro punto wifi particular. Este no es otro que hostapd. Lo instalaremos con: apt-get install hostapd Ahora toca configurarlo y lo haremos con un archivo de configuracion que crearemos de la nada como antes hicimos con dnsmasq. nano /etc/hostapd/hostapd.conf en este archivo hay que poner: # interfaz usado por el punto wifi interface=wlan0 # firmware driver=nl80211 # Identificador de la red wifi ssid=MiWifi # Modo de trabajo (a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g) hw_mode=g # Canal del punto wifi channel=6 # opciones macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 # Algoritmo de la clave wpa_key_mgmt=WPA-PSK wpa_passphrase=miclavewpa wpa=2 # Ajustes del cifrado wpa_pairwise=TKIP rsn_pairwise=CCMP Lo que esta en azul es el identificador de vuestro punto, cambiad el que pone (miwifi) por el que os guste. En rojo veis la clave (miclavewpa), cambiadla por la vuestra (al menos 8 caracteres). El siguiente paso será editar el archivo /etc/default/hostapd para añadir una línea que indique a hostapd cual es el archivo de configuración. echo 'DAEMON_CONF="/etc/hostapd/hostapd.conf"' >> /etc/default/hostapd Ahora necesitamos activar el reenvio de ip para poder obtener una ip cuando nos conectamos. Hay que editar un archivo: nano /etc/sysctl.conf y añadirle abajo del todo la siguiente linea de texto net.ipv4.ip_forward=1 Guardamos los cambios, Y al reiniciar... reboot ...ya podremos comprobar con nuestro teléfono u ordenador que tenemos una nueva red wifi disponible para conectarnos. Si ademas teneis la Frambuesa conectada por el cable de red a Internet y quereis que la conexión se comparta a traves de la wifi que hemos creado hay que seguir estos pasos. Como Root: sudo su iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT Con estos comandos estamos redirigiendo los datos entra la interfaz de red de cable y el adaptador wifi. Si os conectáis ahora a la red Wifi que hemos creado, comprobaréis que ya podéis navegar. No obstante, las reglas de IPTABLES aplicadas se perderán cuando apaguemos el sistema. Para que se apliquen cada vez que se encienda el sistema vamos a hacer una cosa: Guardaremos las reglas aplicadas en este momento en un archivo: iptables-save > /etc/network/iptables.default Y modificaremos de nuevo el archivo /etc/network/interfaces para que se activen cada vez que se inicie la Raspberry, añadiendo la línea que os marco en negrita al archivo: auto lo iface lo inet loopback iface eth0 inet dhcp iface wlan0 inet static address 1.1.1.1 netmask 255.255.255.0 up iptables-restore < /etc/network/iptables.default #allow-hotplug wlan0 #iface wlan0 inet manual #wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf #iface default inet dhcp Y eso es todo. A partir de este momento, ya podéis utilizar vuestra Raspberry Pi como punto de acceso de cualquier red a la que la conectéis mediante ethernet, y compartir vuestros datos NMEA que entran a la Raspberry hacia otros dispositivos. Editado por ... en 24-05-2014 a las 19:33. |
Los siguientes cofrades agradecieron este mensaje a | ||
teteluis (20-07-2016) |
#5
|
||||
|
||||
Re: NMEA-WIFI con Raspberry
Ahora faltaría configurar opencpn para que reenvíe todos los datos NMEA que le llegan por los puertos físicos a una dirección de red.
Muchos de vosotros teneis una configuracion parecida a esta: Algunos solo tendréis un gps conectado. Otros puede que incluso un AIS a través de otro puerto. Algunos mas afortunados puede que cuenten con un multiplexor externo con conversión seatalk-nmea que se encarga de enviar todo tipo de datos (GPS, AIS, sonda viento, temp Etc) a un único puerto de entrada a la Raspberry. Cada caso es diferente pero en todos la configuración a añadir sera la misma. Vamos a añadir una conexion. Escogemos en propiedades que sea de red. Marcamos que sea de tipo tcp en la direccion ponemos la de nuestra red local que es 1.1.1.1 y en el puerto ponemos por ejemplo 2000. Ahora hay que activar la casilla salida en este puerto (como piloto automático o repetidor NMEA). Aplicamos los cambios y ya lo tenemos. ¿Como verificarlo? Vamos a nuestro PC e iniciamos opencpn. Previamente nos habremos conectado a nuestro flamante punto wifi. Vamos a opencpn y en el PC creamos una nueva conexión de red de tipo tcp con la dirección 1.1.1.1 y el puerto 2000. Esta vez NO hay que activar la salida pues esta conexión es de entrada. Aplicamos los cambios y si todo ha ido bien veremos en nuestro PC todos los datos NMEA que circulan por la PI como si nuestro PC estuviera físicamente conectado a los mismos dispositivos. Y no solo uno, podemos conectar varios PC con Linux, Win, Mac. Tabletas y teléfonos. Todos a la vez. En android con sailtracker podemos visualizar incluso datos AIS o los de viento y sonda (si somos afortunados poseedores de los cacharros que transmiten tanta información). Será prácticamente lo mismo que el "madman marine" pero con seguridad extra y cocinado en casa. Si contamos previamente con los elementos incluso nos saldrá gratis. Recordad que la red será local a menos que tengamos la Raspberry Pi conectada por cable ethernet a un Router con acceso a Internet. Si es así, el tutorial que os dije al principio explica como redirigir el trafico de Internet a nuestro flamante punto wifi. Yo no lo he incluido pues supongo que muy pocos disponemos de un router con acceso a Internet en nuestras naves. Y si somos de esos afortunados probablemente nuestros bolsillos no se preocuparian de como hacer estas cosas a un bajo precio. Así que mientras estamos conectados a la red wifi NMEA no hay internet. Pero nada impide desconectarse provisionalmente de una red para conectarnos a otra, navegar por la red y volver de nuevo a la red NMEa para navegar.... de verdad. Editado por ... en 24-05-2014 a las 19:38. |
#6
|
||||
|
||||
Re: NMEA-WIFI con Raspberry
Cita:
http://www.maswifi.com/puntos-de-acc...bi-mimo-airmax
__________________
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ El mar es de TODOS. Lo que es de TODOS, NO ES MÍO. "No hay nada como el MAR" Tinico N'Hielo
|
Los siguientes cofrades agradecieron este mensaje a gilinas | ||
#7
|
||||
|
||||
Re: NMEA-WIFI con Raspberry
gracias por el tutorial. impresionante lo que da la frambuesa, por 40 euros....
|
Los siguientes cofrades agradecieron este mensaje a xoxote | ||
#8
|
||||
|
||||
Re: NMEA-WIFI con Raspberry
Cita:
El aparato que comentas es muy interesante. Mi proveedor de internet me lo instaló en casa y funciona de perlas. En el barco yo uso un viejo conceptronic... que iba a tirar y me permite conectarme a otras redes inalambricas usando el conector ethernet de la PI. Me hace buen papel. |
#9
|
||||
|
||||
Re: NMEA-WIFI con Raspberry
Añado aquí el enlace del que ha hablado el cofrade Patxikiter pues es un buen complemento al tema:
http://www.stripydog.com/kplex/examples/piap.html Sobre todo el descubrimiento de kplex. http://www.stripydog.com/kplex/index.html Basta con poner en el archivo de configuracion esto: [serial] direction=in filename=/dev/ttyUSB0 baud=4800 [tcp] direction=out mode=server port=2000 Esto lo guardamos en nuestro home como .kplex.conf y ya esta configurado que el puerto de entrada del gps /dev/ttyUSB0 sera enviado por la red en la IP de nuestra Pi y con el puerto 2000. Y si ademas tenemos un AIS conectado en el puerto /dev/ttyUSB1 y queremos que lo multiplexe, añadiriamos las siguientes lineas: [serial] direction=in filename=/dev/ttyUSB1 baud=38400 Si quisiéramos que un mismo puerto se usara como entrada-salida en el parámetro direction pondríamos both. Esto puede valer si por ejemplo tenemos entrada de datos Seatalk (previamente convertidos a NMEA por un conversor) Por el puerto /dev/ttyUSB2, podríamos usar a la vez ese puerto como salida para otros repetidores o el plotter si este admite entrada de datos NMEA. Editado por ... en 11-06-2014 a las 22:39. |
#10
|
||||
|
||||
Re: NMEA-WIFI con Raspberry
|
#11
|
||||
|
||||
Re: NMEA-WIFI con Raspberry
me voy a poner a ello, gracias por el tutorial
|
#12
|
||||
|
||||
Re: NMEA-WIFI con Raspberry
Buenos días, ante todo darte las gracias por este tuto me parece genial compartir conocimientos. Espero que en el futuro puedas aportaros tb muchas cosas. Pero en este momento tengo una duda que consultarte. Me acabo de comprar una RBPI3 y he hecho todo el proceso pero no me deja reiniciar el dnsmasq. Me da constantemente un Error por lo que no me está funcionando. Tiene algo que ver con que el método lo he puesto en marcha con una RBPI3? El nuevo modelo viene con wifi incorporada....
Gracias de antemano |
#13
|
||||
|
||||
Re: NMEA-WIFI con Raspberry
Cita:
Esto formaba parte de los tímidos comienzos de algo mucho mas relevante que se llama openplotter y que incluye todo tipo de funciones para navegar... incluido lo de crear un punto wifi. Mi recomendación es que descargues openplotter y trabajes a partir de él pues yo hace ya bastante tiempo que no trasteo con la Pi pues solo tengo la primera. En openplotter basta con editar el config.txt y poner el nombre que quieres para tu wifi y la contraseña. Al reiniciar funcionará. Incluso aunque no lo quieras para navegar openplotter es una buena opción pues incluye un raspbian completo y puesto al día. http://www.sailoog.com/es/openplotter Para descargar: http://www.sailoog.com/es/blog-categ...penplotter-rpi |
#14
|
||||
|
||||
Re: NMEA-WIFI con Raspberry
Cita:
Para cambiar el nombre de la wifi ya no hace falta editar el config, se puede hacer directamente desde Openplotter. |
Los siguientes cofrades agradecieron este mensaje a gypsylyon | ||
Descotado (21-11-2017) |
Ver todos los foros en uno |
|
|