La Taberna del Puerto

La Taberna del Puerto (https://foro.latabernadelpuerto.com/index.php)
-   Foro Náutico Deportivo (https://foro.latabernadelpuerto.com/forumdisplay.php?f=2)
-   -   SailPi Navegando con Raspberry Pi (https://foro.latabernadelpuerto.com/showthread.php?t=127292)

Diavolo 29-09-2014 20:34

Re: SailPi Navegando con Raspberry Pi
 
Cita:

Originalmente publicado por pinguino (Mensaje 1704527)
Copialas a un pendrive y de este las copias a tu /home. Las puedes copiar por la red usando samba. Yo lo uso en Linux pero en windows no sabria como funciona. También es verdad que al usar Linux no tengo problemas en leer y escribir en sistemas de archivos ext. Pero en tu caso probablemente lo Más fácil lo del pendrive.

Para editar los archivos de sistema debes ser superusuario. Abre un terminal en la carpeta y editalo poniendo primero el "sudo". Por ejemplo:

sudo leafpad /etc/network/interfaces

Verás que ya te permite guardarlo.

Otro Problema, al parecer mas grave, voy a meterle las cartas y no queda espacio en la tarjeta sd, y es de 32Gigas, solo reconoce 4 gigas. ¿se las tengo que meter por usb?
Otra y ya te dejo por hoy: No he conseguido configurar Kplex para recibir NMEA en localhost:5432 por UDP, pero si lo he hecho por opencpn, y va mucho mas lento.

alcapar 29-09-2014 20:46

Re: SailPi Navegando con Raspberry Pi
 
Cita:

Originalmente publicado por Diavolo (Mensaje 1704549)
Otro Problema, al parecer mas grave, voy a meterle las cartas y no queda espacio en la tarjeta sd, y es de 32Gigas, solo reconoce 4 gigas.

En la configuración inicial puedes cambiar un parámetro para usar toda la capacidad de la tarjeta, "expandir sistema de archivos". Se accede desde la consola tecleando raspi-config una vez aparezca el menú es la opción 1.

:brindis::brindis::brindis:

... 29-09-2014 20:46

Re: SailPi Navegando con Raspberry Pi
 
Cita:

Originalmente publicado por Diavolo (Mensaje 1704549)
Otro Problema, al parecer mas grave, voy a meterle las cartas y no queda espacio en la tarjeta sd, y es de 32Gigas, solo reconoce 4 gigas. ¿se las tengo que meter por usb?

En un terminal:

sudo raspi-config

...y entre las opciones usa expandir el sistema de archivos.

¿No te has repasado el hilo "Otra alternativa al plotter?

Ahí están casi todas las cuestiones importantes aclaradas. Merece la pena repasarselo poco a poco y con tranquilidad.

Diavolo 29-09-2014 20:48

SailPi Navegando con Raspberry Pi
 
http://tapatalk.imageshack.com/v2/14...bb75d89011.jpg
Gracias, voy a probar

Ya lo tengo en 32 gigas. Mil Gracias, y no no me he leido "Otra alternativa al plotter?" La leere.

Enviado desde mi iPone5 con TaPaTa

Diavolo 30-09-2014 10:35

Re: SailPi Navegando con Raspberry Pi
 
Cita:

Originalmente publicado por gilinas (Mensaje 1703144)
Kplex si que puede. :adoracion:

Ta tocao, echame una mano con Kplex.

1º ¿como entro a kaplex desde el terminal?, o se entra por openplotter?
En openplotter no permite hace entrada NMEA desde una IP, solo de puerto usb.

2º Como pongo en salida tcpclient, o tcpserver y cual es el método de sentencia a escribir. p.e " TcpClient XX.XX.XX.XX:5432 UDP" A lo mejor ya lo habéis puesto en algún post, pero Yo no lo he visto.

Aquí no me entero muy bien.
http://www.stripydog.com/kplex/configuration.html

gilinas 30-09-2014 11:48

Respuesta: Re: SailPi Navegando con Raspberry Pi
 
Cita:

Originalmente publicado por Diavolo (Mensaje 1704823)
Ta tocao, echame una mano con Kplex.

1º ¿como entro a kaplex desde el terminal?, o se entra por openplotter?
En openplotter no permite hace entrada NMEA desde una IP, solo de puerto usb.

2º Como pongo en salida tcpclient, o tcpserver y cual es el método de sentencia a escribir. p.e " TcpClient XX.XX.XX.XX:5432 UDP" A lo mejor ya lo habéis puesto en algún post, pero Yo no lo he visto.

Aquí no me entero muy bien.
http://www.stripydog.com/kplex/configuration.html

1º:
desde consola:
sudo leafpad /etc/kplex.conf
para editar el archivo de configuración de kplex directamente


No me queda clato si el transporte de red que quieres es TCP o UDP

Podrías dar más información?

Diavolo 30-09-2014 11:50

Re: Respuesta: Re: SailPi Navegando con Raspberry Pi
 
Cita:

Originalmente publicado por gilinas (Mensaje 1704854)
1º:
desde consola:
sudo leafpad /etc/kplex.conf
para editar el archivo de configuración de kplex directamente


No me queda clato si el transporte de red que quieres es TCP o UDP

UDP por ejemplo.

gilinas 30-09-2014 12:51

Respuesta: Re: Respuesta: Re: SailPi Navegando con Raspberry Pi
 
Cita:

Originalmente publicado por Diavolo (Mensaje 1704855)
UDP por ejemplo.

En ese caso deberías añadir al /etc/kplex.conf

[broadcast]
direction=out
device=<interface>
address=<address>
port=<port>

donde <interface> será
  • eth0 para ethernet
  • wlan0 para wifi
<address> será el conjunto de direcciones a donde se enviará, de la forma: "A.B.C.255" (esto indica todas las direcciones que comiencen por A.B.C...

y <port> será el puerto por donde entrará en todos los dispositivos remotos.

Diavolo 30-09-2014 13:06

Re: Respuesta: Re: Respuesta: Re: SailPi Navegando con Raspberry Pi
 
Cita:

Originalmente publicado por gilinas (Mensaje 1704872)
En ese caso deberías añadir al /etc/kplex.conf

[broadcast]
direction=out
device=<interface>
address=<address>
port=<port>

donde <interface> será
  • eth0 para ethernet
  • wlan0 para wifi
<address> será el conjunto de direcciones a donde se enviará, de la forma: "A.B.C.255" (esto indica todas las direcciones que comiencen por A.B.C...

y <port> será el puerto por donde entrará en todos los dispositivos remotos.

Vamos a poner un Ejemplo Real, donde Yo configuro OpenCPN de esta manera:

La ip de la fresa es 192.168.1.15 y redireccionado en el router el puerto UDP 5432.
Por lo tanto solo tendría que variar el puerto

[broadcast]
direction=in
device=eth0
address=localhost
port=5432

[broadcast]
direction=out
device=eth0
address=localhost
port=10101

Es correcto? Lo que he hecho en el opencpn es cambiar el puerto 10101 por el 5432, y ya va bien.

si quiero reenviar a una ip seria.

[broadcast]
direction=out
device=eth0
address=xx.xx.xx.xx
port=2525

Para poner un server IN y client OUT
UDP es Broadcast
TCP es ?
¿no?
¿Y para variar la velocidad del puerto de serie?

Parece que con Kplex se pueden hacer muchas mas cosas de las que me imagino. Como por ejemplo poner otro USB to serial y redireccionar a ese una señal nmea filtrada para alimentar físicamente un Piloto automático, o la VHF con la señal filtrada.

Me esta empezando a gustar.

R.Santana 30-09-2014 14:39

Re: Respuesta: Re: Respuesta: Re: SailPi Navegando con Raspberry Pi
 
Bueno venga, me voy a comprar una pi, para trastear, tanto leer me convencieron. :tequiero:

Donde es mejor comprarla online, en Farnell?

PD: He visto que existe la versión Banana Pi, algo mas potente, se le puede instalar android y cualquier sistema operativo linux, a parte de otras cosillas.
Otra que he visto es la Beaglebone Black.

... 30-09-2014 20:06

Re: Respuesta: Re: Respuesta: Re: SailPi Navegando con Raspberry Pi
 
Cita:

Originalmente publicado por Diavolo (Mensaje 1704877)
Vamos a poner un Ejemplo Real, donde Yo configuro OpenCPN de esta manera:

La ip de la fresa es 192.168.1.15 y redireccionado en el router el puerto UDP 5432.
Por lo tanto solo tendría que variar el puerto

[broadcast]
direction=in
device=eth0
address=localhost
port=5432

[broadcast]
direction=out
device=eth0
address=localhost
port=10101

Es correcto? Lo que he hecho en el opencpn es cambiar el puerto 10101 por el 5432, y ya va bien.

si quiero reenviar a una ip seria.

[broadcast]
direction=out
device=eth0
address=xx.xx.xx.xx
port=2525

Para poner un server IN y client OUT
UDP es Broadcast
TCP es ?
¿no?
¿Y para variar la velocidad del puerto de serie?

Parece que con Kplex se pueden hacer muchas mas cosas de las que me imagino. Como por ejemplo poner otro USB to serial y redireccionar a ese una señal nmea filtrada para alimentar físicamente un Piloto automático, o la VHF con la señal filtrada.

Me esta empezando a gustar.


Algunas orientaciones acerca del archivo de configuración kplex, traducidas de su web:

Todo lo que necesitamos hacer es personalizar el archivo de configuración kplex e instruir al sistema operativo para iniciar kplex en el arranque. Si hemos conectado nuestro receptor AIS a 38400 baudios en / dev / ttyUSB0 y se nos ha asignado el puerto 5321 por marinetraffic, la configuración mínima para kplex.conf seria así:

[serial]
filename=/dev/ttyUSB0
baud=38400
direction=in

[tcp]
address=5.9.207.224
port=5321
persist=yes
direction=out

Cambiar la linea del puerto "port =" de acuerdo con el puerto que Marine Traffic te asigne.
Ten en cuenta que esto establece una conexión TCP con marinetraffic en lugar de una conexión UDP como se describe en varios tutoriales. Marinetraffic soporta ambos tipos de conexión. TCP da transmisión de datos fiable a través de una red de área amplia a diferencia de UDP, pero a expensas de una mayor sobrecarga. kplex no admite actualmente UDP unicast. La opcion "persist = yes" hace que kplex intente volver a establecer una conexión perdida, por ejemplo, si el servidor de marinetraffic se reinicia. Si usamos kplex 1.1 (beta) o posterior, hay que añadir la siguiente linea bajo [tcp] para asegurar que las conexiones perdidas a causa de la perdida de asignaciones NAT entre nosotros y marinetraffic, se reinicien.

keepalive=yes

Para enviar sólo AIVDM y AIVDO:

ofilter=+AIVDM:+AIVDO:-all

Conexión a otros servicios

kplex puede enviar tus datos a múltiples servicios y hacer que esté n disponible en tu red local. Para enviar datos a un servicio similar a marine traffic, basta con replicar la sección bajo " [tcp] "en el ejemplo anterior, al final del archivo, pero utilizando la dirección y el puerto del otro servicio.

Para crear un servidor TCP, que sea accesible en tu red de área local y entregue los datos AIS a aplicaciones cliente como OpenCPN , agrega la siguiente sección al archivo de configuración:

[tcp]
mode=server
port=10110

Esto hace que los datos esten disponibles en el puerto TCP 10110 en todas las interfaces de red de la pi.
Si el equipo está conectado directamente a Internet sin un cortafuegos, hay que ser conscientes de que no hay ninguna contraseña u otro control de acceso en el servidor tcp que crea kplex.

Para distribuir tus datos a través de IPv4 UDP en el puerto 10110, puedes añadir la siguiente declaración a kplex.conf :


[bcast]
device=eth0
port=10110
direction=out

Si tu pi está conectada a la red a través de un pincho wifi, reemplazar "eth0" por "wlan0" u otro nombre del dispositivo que estés utilizando.
Poniendo todo junto, supongamos que queremos enviar nuestros datos a marinetraffic, pero sólo frases AIVDM y también la creación de un servidor tcp que podemos conectar a las aplicaciones cliente en nuestra red de área local:


[serial]
filename=/dev/ttyUSB0
baud=38400
direction=in
[tcp]
address=5.9.207.224
port=5321
persist=yes
dirección=out
Ofilter=+AIVDM:-all
[tcp]
mode=server
port=10110

Espero que te sirva de ayuda.

gilinas 30-09-2014 22:02

Re: SailPi Navegando con Raspberry Pi
 
Algunos comentarios:

Para las conexiones [tcp]
Cliente (mode=client) es el que establece la conexión tcp (el que se conecta), Servidor (mode=server) es el que está esperando a que se conecte el/los otro/s. El servidor puede servir a varios clientes simultáneamente, incluso si esos clientes proceden de la misma máquina remota.

Una vez la conexión establecida, el flujo de datos puede ser de entrada (direction=in), de salida (direction=out) o ambos (direction=both)

Si el modo es servidor
  • mejor no especificar la IP con address: de esta forma serviremos por todos los interfaces de red (ethX y wlanX)
  • Cuanto menos restinjamos mejor:
    • [tcp]
    • mode=server
    • direction=both
    • port=xxxxx
Si el modo es cliente
  • especificar la IP y el puerto del servidor
    • [tcp]
    • mode=client
    • address=aaa.bbb.ccc.ddd
    • port=xxxxx
  • por si se producen desconexiones no deseadas
    • persist=yes (reconecta en caso de desconexión)
    • keepalive=yes (monitoriza la conexión por si se desconecta)

gilinas 30-09-2014 22:12

Re: SailPi Navegando con Raspberry Pi
 
Y mucho ojo con cómo se utiliza el nombre localhost

"localhost" es el nombre asignado a la dirección IP 127.0.0.1.
Esta dirección IP solamente puede ser utilizada para comunicaciones internas de la máquina. Esto es, para comunicar procesos que residen en la misma máquina.

Cualquier comunicación a/desde "localhost" no va a salir de nuestra máquina.
De hecho ni siquiera llega a ninguno de los interfaces de red.

R.Santana 30-09-2014 22:34

Re: SailPi Navegando con Raspberry Pi
 
Ya tengo la pi. a esperar que llegue desde kong fu.

gilinas 01-10-2014 11:17

Respuesta: SailPi Navegando con Raspberry Pi
 
Respecto de las comunicaciones con UDP:

En este caso no existen conexiones y por lo tanto identificar al servidor y al cliente no es tan trivial como en el caso de TCP.
Al no haber conexion, el servicio de transferencia no es fiable (como lo es en el caso de TCP). Es posible que se pierdan datos.

Como contrapartida, permite la difusión de los mismos datos a varios receptores en un solo envío utilizando direcciones IP de difusión (que son de la forma a.b.c.255, a.b.255.255, ó incluso 255.255.255.255 [todos]).
Los receptores recibirán los datos si se encuentran escuchando en el puerto correspondiente.

Utilización mediante kplex:

Para salida de datos
[broadcast]
direction=out
device=<interface>
address=<address>
port=<port>

<interface> será (wlan0 ó eth0) el interface de red por el que se transmitirán los datos.
<address> es la dirección IP de difusión
<port> es el puerto donde deben estar escuchando los receptores (si no, ellos se lo pierden)

Para entrada de datos
[broadcast]
direction=in
port=<port>

cuantas menos restricciones mejor, así recibiremos todo lo que llegue por el puerto especificado en cualquiera de los interfaces de red y para cualquier dirección de difusión que nos incluya.

Para entrada/salida de datos
[broadcast]
direction=both
device=<interface>
address=<address>
port=<port>

Creo que para este caso es mejor defnir uno de entrada y otro de salida, ya que direction=both nos restringe el tráfico de entrada a la interface especificada y además solo recibiremos el tráfico dirigido a la dirección de difusión especificada.

bote-gin 01-10-2014 22:44

Re: SailPi Navegando con Raspberry Pi
 
Otro que se apunta a esto... Aunque yo desde Madrid ahora no se si cogeré algo.

sailoog.com 02-10-2014 19:28

Re: SailPi Navegando con Raspberry Pi
 
no me olvido de esto....

estoy aplicando todas vuestras sugerencias a openplotter:

- definir entradas y salidas serial y TCP.
- definir entradas UDP (de las salidas paso ya que son de dudosa utilidad y además en la mayoria de sistemas linux se requieren permisos de administrador y kplex fallaria)
- seleccionar que programas se desean autoejecutar al inicio (opencpn, kplex, x11vnc, AIS-SDR)
- Comprobar errores de usuario al definir entradas salidas para evitar conflictos.

...

edito: de los filtros de momento paso .... quizás más adelante.


:brindis:

bote-gin 02-10-2014 22:26

Re: SailPi Navegando con Raspberry Pi
 
Ya tengo la imagen en microsd y estoy con ello. He de aclarar que nunca he trabajado con linux...
Primera pregunta de novato: como podría configurar la WiFi?
En otras distribuciones para la pi, como openelec, hay un menú mas grafico, pero aquí no encuentro nada para los settings...
Gracias!

... 02-10-2014 22:42

Re: SailPi Navegando con Raspberry Pi
 
Cita:

Originalmente publicado por bote-gin (Mensaje 1706040)
Ya tengo la imagen en microsd y estoy con ello. He de aclarar que nunca he trabajado con linux...
Primera pregunta de novato: como podría configurar la WiFi?
En otras distribuciones para la pi, como openelec, hay un menú mas grafico, pero aquí no encuentro nada para los settings...
Gracias!

Mira en el menú de aplicaciones. Hay una llamada wpa_gui.

bote-gin 02-10-2014 22:54

Re: SailPi Navegando con Raspberry Pi
 
Gracias pingüino,
Esta versión no tiene adaptador para el pincho RTL dijiste, verdad?

... 02-10-2014 22:57

Re: SailPi Navegando con Raspberry Pi
 
Cita:

Originalmente publicado por bote-gin (Mensaje 1706061)
Gracias pingüino,
Esta versión no tiene adaptador para el pincho RTL dijiste, verdad?

No. Si quieres experimentar con el AIS por rtl-sdr mejor usa la imagen que Sailoog ha preparado.

Diavolo 05-10-2014 11:20

Re: SailPi Navegando con Raspberry Pi
 
A ver si lo he hecho bien:

Hago un copy pega:

#[serial]
#filename=/dev/ttyUSB1
#direction=in
#baud=38400
#[tcp]
#address=5.9.207.224
#port=7409
#persist=yes
#direction=out
#ofilter=+AIVDM:+AIVDO:-all
#[broadcast]
#address=146.0.32.170
#port=35122
#persist=yes
#direction=out
#ofilter=+AIVDM:+AIVDO:-all
#
#[serial]
#filename=/dev/ttyUSB2
#direction=both
#baud=38400
#[tcp]
#mode=server
#port=10110
#direction=both

Otro problema creo solucionable. Cuando pongo un adaptador USB, y luego el otro, a veces se me intercambian /dev/ttyUSB1 se me elimina el USB0 y se pone como USB2

... 05-10-2014 12:25

Re: SailPi Navegando con Raspberry Pi
 
Cita:

Originalmente publicado por Diavolo (Mensaje 1706999)
A ver si lo he hecho bien:

Hago un copy pega:


Otro problema creo solucionable. Cuando pongo un adaptador USB, y luego el otro, a veces se me intercambian /dev/ttyUSB1 se me elimina el USB0 y se pone como USB2

Yo lo dejaría así:

[serial]
filename=/dev/ttyUSB0
direction=in
baud=38400
optional=yes

[tcp]
address=5.9.207.224
port=7409
persist=yes
direction=out
ofilter=+AIVDM:+AIVDO:-all
optional=yes

[broadcast]
address=146.0.32.170
port=35122
persist=yes
direction=out
ofilter=+AIVDM:+AIVDO:-all
optional=yes

[serial]
filename=/dev/ttyUSB1
direction=both
baud=38400
optional=yes

[tcp]
mode=server
port=10110
direction=both
optional=yes

Recuerda que las almohadillas (#) invalidan las lineas que van detrás.... no las pongas.

Respecto a lo de los USB que se mueven aleatoriamente es un problema común en todos los sistemas operativos cuando hay muchos dispositivos parecidos entre si.

En los sistemas Linux se soluciona con udev.

Es algo largo de explicar, pero en esencia se trata de crear un archivo en el que le decimos al sistema que cuando vea que el dispositivo X esta conectado le de el nombre de por ejemplo "ttyGPS" y cuando detecte el y lo nombre por ejemplo.... "ttyBROOK"

Eso se hace leyendo los identificadores de hardware que tiene cada dispositivo, por ejemplo cuando metes el comando lsusb.

Ahora no dispongo de mucho tiempo para aclararlo y se tarda mas en explicarlo que en solucionarlo. Te sugiero que bucees algo por la red acerca de las reglas udev.

Si las aplicas, en vez de usar estas normas en kplex para los dispositivos serie:

[serial]
filename=/dev/ttyUSB0
direction=in
baud=38400
optional=yes

[serial]
filename=/dev/ttyUSB1
direction=in
baud=38400
optional=yes

serian así....

[serial]
filename=/dev/ttyGPS
direction=in
baud=38400
optional=yes

[serial]
filename=/dev/ttyBROOK
direction=in
baud=38400
optional=yes

Y así no importa que numero usb se le asigne al dispositivo. Tanto si acaba como ttyUSB0 como ttyUSB1 tendrá asignado también el ttyGPS o el ttyBROOKy estos nunca fallarán.

Por cierto... ¿por que defines dos dispositivos serie? ¿No te entra todo desde el multiplexor?

bote-gin 05-10-2014 12:31

Re: SailPi Navegando con Raspberry Pi
 
Hola sailpi,
Estuve con la release de pingüino, pero voy a empezar con la tuya para probar mi rt. Aunque estoy en Madrid y no se si recibirse ninguna señal de ais.
Una duda: me dirá que no recibe señal solo? ( lo digo para confirmar si lo tengo bien configurado) o me dará algo mas de info?
Gracias por todo y un saludo

... 05-10-2014 12:37

Re: SailPi Navegando con Raspberry Pi
 
Cita:

Originalmente publicado por bote-gin (Mensaje 1707020)
Hola sailpi,...

Supongo que buscas a Sailoog....

Cita:

Originalmente publicado por bote-gin (Mensaje 1707020)
...
Estuve con la release de pingüino, pero voy a empezar con la tuya para probar mi rt. Aunque estoy en Madrid y no se si recibirse ninguna señal de ais.
Una duda: me dirá que no recibe señal solo? ( lo digo para confirmar si lo tengo bien configurado) o me dará algo mas de info?
Gracias por todo y un saludo

Mientras se acerca sailoog creo que puedo avanzarte que lo mas probable es que no te diga nada mientras no recibas datos AIS. Es justo lo mismo que pasa cuando compras un receptor AIS comercial. Si no recibe nada no envía datos y ya está.

Pero no te preocupes. Cuando estés en un área donde puedas recibirlos ya tendrás tiempo de hacer los ajuste necesarios y de preocuparte por ello.

Yo recibo datos AIS de un punto en Madrid, pero no estoy seguro de si es desde Madrid directamente o porque estos se reenvian desde otros puntos costeros. Ya nos contaras.


Todas las horas son GMT +1. La hora es 00:29.

Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
© La Taberna del Puerto