Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Ayuda sonda y AIS OpenCPN
#31
Y luego está el tema del ais pero eso lo dejo cuando aclare mis dudas anteriores.


Enviado desde mi iPhone utilizando Tapatalk
Responder
Ha recibido el agradecimiento de:
#32
(28-04-2020, 11:38 PM)Nere ametsa escribió: Y luego está el tema del ais pero eso lo dejo cuando aclare mis dudas anteriores.


Enviado desde mi iPhone utilizando Tapatalk

Para el AIS tienes varias posibilidades. Es cierto que con una Rapi con OpenPlotter puedes usar ciertos receptores de TDT como AIS, pero si tu objetivo es solamente el AIS puede que tengas mejores opciones como esta:

https://www.quark-elec.com/product/qk-a0...-receiver/

... que no son caras y son mas sencillas de implementar y no requieren mas complicación. Y si después te pasas a la Rpi también te seguirá sirviendo. Con la opción wifi podrías incluso hacer batimetria en 2D con la aplicación de Navionics para teléfonos.
No es que el mar tenga tan mal carácter.
El verdadero canalla es el viento.
El mar... sencillamente se deja llevar.
Responder
Ha recibido el agradecimiento de:
#33
Temperaturas es bastante sencillo, hay unas sondas de temperatura DS18B20 que funcionan en  protocolo 1W(one wire) .
Yo no sé si ya está lista la app de 1W de OpenPlotter. Mañana lo miro.

La ventaja es que se pueden colocar varias sondas de temperatura en la misma GPIO.
Luego con OpenPlotter se les asigna una variable SignalK, y se pueden visualizar, y también programar acciones, por ejemplo activar una alarma si supera una temperatura determinada.

Para nivel de depósitos o lectura de voltajes o medir corrientes, ya necesitamos un convertidor AD, ya que la Raspi no lo trae.
Los hay para bus SPI y para I2c.
Creo que OpenPlotter le de SPI.
Para este bus está el MCP3008 de 10 bits y el MCP3208 de 12 bits, ambos con 8 canales.

Para el bus I2c esta el ADS1115.

En algún hilo puse una solución para montar estos chips, usando una placa protoboard de tipo hut.

Mañana busco el enlace



Gesendet von meinem CLT-L29 mit Tapatalk[/quote]

Hola de nuevo, tengo el giroscopio MTU6050 instalado, 4 sondas de temperatura 1W instaladas y funcionando, por terminal las veo, en la aplicación de IC2 veo y leo el Giroscopo pero no me aclaro con el signalK, no encuentro la manera de configurarlo, hay algun tutorial para empezar de 0 con el tema, no me aclaro....

Además después como lo paso a unos relojes que me lean las temperaturas y demás datos......

También saber como esta el tema de App de 1W para el OpenPlotter ?? 

He revisado varios hilos del foro, he aprendido muchas cosas, pero veo que hay tutoriales en el canal de Telegram que ya no existe, estan en algun lado para poder descargarlos ?

Siento ser tan cafre, pero no doy para mas, me falta algun dato que me he perdido.

un saludo..
   
Responder
Ha recibido el agradecimiento de:
#34
Cita:Hola de nuevo, tengo el giroscopio MTU6050 instalado, 4 sondas de temperatura 1W instaladas y funcionando, por terminal las veo, en la aplicación de IC2 veo y leo el Giroscopo pero no me aclaro con el signalK, no encuentro la manera de configurarlo, hay algun tutorial para empezar de 0 con el tema, no me aclaro....

Además después como lo paso a unos relojes que me lean las temperaturas y demás datos......

También saber como esta el tema de App de 1W para el OpenPlotter ?? 

He revisado varios hilos del foro, he aprendido muchas cosas, pero veo que hay tutoriales en el canal de Telegram que ya no existe, estan en algun lado para poder descargarlos ?

Siento ser tan cafre, pero no doy para mas, me falta algun dato que me he perdido.

un saludo..
Para configurar el MTU debes usar la aplicación Openplotter-pypilot. Ella debe detectarte el MTU y también debes crear la conexión a Signal K con la aplicación. Usa el modo "solo compás". También podrás calibrar el compás y el giro con la aplicación pypilot. Una vez activado y con los datos corriendo en Signal K puedes abrir el instrumentpanel y veras los relojes con los datos detectados.

Para las conexiones 1W necesitas la aplicación especifica que aún no esta hecha. Debes esperar. Puede que Gypsylyon te sugiera algún modo de usarlos provisionalmente. Yo lo desconozco.

Acerca de los manuales de Telegram... están disponibles aquí aunque no son validos por que no se ajustan a la versión de openplotter actual y las versiones anteriores de openplotter ya no están disponibles para descarga. No te serán útiles.

Aplaudo la limpieza y estética de tu montaje, me ha gustado mucho. Todo bien montado y ordenado. Estupendo.
No es que el mar tenga tan mal carácter.
El verdadero canalla es el viento.
El mar... sencillamente se deja llevar.
Responder
Ha recibido el agradecimiento de: krunch6
#35
No es problema leer las sondas de 1wire.

El problema es pasar los datos a SignalK.

Si hoy tengo tiempo miro de hacer un script para ponerlos en NMEA183.

Gesendet von meinem CLT-L29 mit Tapatalk
Responder
Ha recibido el agradecimiento de:
#36
Aqui un pequeño tuturial para leer los sensores de temperatura de 1W como el DS18B20
La conexion se hace con el GPIO 4 con una resistencia pulup de 4K7 entre el pin de 3.3V y el GPIO4 (pin7).

[Imagen: gpio-1wire.gif]i m in love with you poem

Luego hay que activar el interface 1W. Se puede hacer en el programa de configuracion de la Raspi.
Tambien lo podemos hacerañadiendo unas sentencias en el fichero config.txt con las siguientes ordenes en un terminal:

sudo nano /boot/config.txt

y añadir estas sentencias:

# Sensor Temperatura 1-Wire
dtoverlay=w1-gpio
gpiopin=4

teclear

sudo reboot
Para reiniciar

Desde el Kernel 4.9.28 de la Raspi, se pueden activar mas de un bus de 1W en caso de que tengamos mas de 20 termometros en un bus.

dtoverlay w1-gpio gpiopin=4 pullup=0

dtoverlay w1-gpio gpiopin=5 pullup=0

dtoverlay w1-gpio gpiopin=6 pullup=0

sleep 5

ls -l /sys/bus/w1/devices

Con estas ordenes hemos activado un bus al GPIO 4, otro 5 y otro al 6
Lo pongo como curiosidad por si algien tiene interes en desarrollar un sistema de control de temperaturas multiples.


El sistema guarda la temperatura actual en un fichero que se encuentra en el directorio:
cd /sys/bus/w1/devices

Una vez en el directorio tecleamos
ls

Tendremos que ver , si hay un termometro, dos directorios. Uno es “w1_bus_master1”, pero el mas importante lleva el indicativo de la sonda empleada, por ejemplo “28-0516931ed7ff”

Con la siguiente orden, se puede leer la informacion del fichero:

cat /sys/bus/w1/devices/28-0516931ed7ff/w1_slave


Para facilitar la lectura, mejor escribir un scripr en Pyton. Si has instalado la version de Pinguino no tendras el GUI de programacion, pero lo puedes hacer con el editor de textos nano.

sudo idle /home/pi/xxx/temperaturaw1.py

xxx es un comodin para que coloques el Pad donde tu quieras guardar los programas, por ejemplo ./pi/Documents/Python/Temp/temperaturaw1.py)

Copias e introduces este programa:
# temperaturaw1.py

import os, sys, time

def temperaturaactual():

# 1-wire Slave lectura fichero

file = open('/sys/bus/w1/devices/28-0516931ed7ff/w1_slave')

filecontent = file.read()

file.close()

# Lectura temperatura y conversion

stringvalue = filecontent.split("\n")[1].split(" ")[9]

temperatura = float(stringvalue[2:]) / 1000

# Mosrtrar la Temperatura

valordevuelta = '%6.2f' % temperatura

return(valordevuelta)

contador = 0

limitecontador = 20

pausabucle = 1

print "Temperatura de ", contador,

" Mediciones cada ", pausabucle, " segundos iniciadas"

while contador <= limitecontador:

datos = temperaturaactual()

print "Temperatura actual : ", datos, "°C",

"en ", contador, ". mediciones"

time.sleep(pausabucle)

contadorr = contador + 1

print "Fin medicion temperatura"



En caso de tener mas de una sonda se puede utilizar este programa:


#!/usr/bin/python

# coding=utf-8

# temperaturamultiple.py

#------------------------------------------------------------



import os, sys, time



# Global para los sensores de temperatura existentes

tempSensorBezeichnung = [] #Para la lista de sensores

tempSensorAnzahl = 0 #INT para el numero de sensores

tempSensorWert = [] #Lista con el valor de los sensores



# Global para control de programa /

programmStatus = 1



def ds1820einlesen():

global tempSensorBezeichnung, tempSensorAnzahl, programmStatus

#Lectura de los directorios de todas las sondas 28-xxxx

try:

for x in os.listdir("/sys/bus/w1/devices"):

if (x.split("-")[0] == "28") or (x.split("-")[0] == "10"):

tempSensorBezeichnung.append(x)

tempSensorAnzahl = tempSensorAnzahl + 1

except:

# Fallo lectura

print "El directorio no sa ha podido leer."

programmStatus = 0



def ds1820auslesen():

global tempSensorBezeichnung, tempSensorAnzahl, tempSensorWert, programmStatus

x = 0

try:

# 1-wire Slavelectura de datos

while x < tempSensorAnzahl:

dateiName = "/sys/bus/w1/devices/" + tempSensorBezeichnung[x] + "/w1_slave"

file = open(dateiName)

filecontent = file.read()

file.close()

# Lectura de temperatura y conversion

stringvalue = filecontent.split("\n")[1].split(" ")[9]

sensorwert = float(stringvalue[2:]) / 1000

temperatur = '%6.2f' % sensorwert #Sensor- bzw. Temperaturwert auf 2 Dezimalstellen formatiert

tempSensorWert.insert(x,temperatur) #Wert in Liste aktualisieren

x = x + 1

except:

# Fallo lectura de sensores

print "La lectura del sensor DS1820 no ha sido posible"

programmStatus = 0



#Inicializacion del programa

ds1820einlesen() #Lectura de las sondas de temperatura conectadas



# Mostrado de la temperatura en el bucle

while programmStatus == 1:

x = 0

ds1820auslesen()

print "Codigo del sensor y temperatura:"

while x < tempSensorAnzahl:

print tempSensorBezeichnung[x] , " " , tempSensorWert[x] , " °C"

x = x + 1

time.sleep(.5)

print "\n"



# Finalizacion del programa por cambio de estado



print "Finalizacion de programa."

Este programa lo he utilizado para ver si funcionan las sondas. Intentare añadir el codigo para introducir los datos en una sentencia NMEA183 en el localhost 10110 de la Raspberry.
Yo no me acuerdo ahora si en OpenPlotter se puede asignar Sentencias NMEA183 a SignalK. Igual Pinguino lo sabe. Normalmente se asigna a la sentencia XDR
Responder
Ha recibido el agradecimiento de: krunch6
#37
Hola, las sondas ya las tenia conectadas y las podía leer , tengo 4 en un bus y con el código : cat /sys/bus/w1/devices/28-xxxxxxxxxxxx/w1_slave poniendo cada uno de los números de las sondas me da la temperatura de las 4.
El problema es con el SignalK, como le digo donde o como leerlas para poder luego con el Dashboard leer las 4 sondas, aqui esta el meollo de la cuestión.
De todas maneras ahora trasteare con los codigos que me has puesto para poder leer las sondas, muy interesante los de activar mas pines para multiples sondas.
Gracias.
Responder
Ha recibido el agradecimiento de:
#38
Hola de nuevo, perdona Gypsylyon, el script para mas de una sonda me un error en la linea 33:

pi@openplotter:~ $ sudo python3 /home/pi/Documents/Temperaturas/temperaturaw1.py
File "/home/pi/Documents/Temperaturas/temperaturaw1.py", line 33
global tempSensorBezeichnung, tempSensorAnzahl, programmStatus
^
IndentationError: expected an indented block

Lo he revisado pero mis conocimientos son muy basicos y no veo nada mal.

Un saludo
Responder
Ha recibido el agradecimiento de:
#39
(17-05-2020, 06:45 PM)krunch6 escribió: Hola de nuevo, perdona Gypsylyon, el script para mas de una sonda me un error en la linea 33:

pi@openplotter:~ $ sudo python3 /home/pi/Documents/Temperaturas/temperaturaw1.py
  File "/home/pi/Documents/Temperaturas/temperaturaw1.py", line 33
    global tempSensorBezeichnung, tempSensorAnzahl, programmStatus
        ^
IndentationError: expected an indented block

Lo he revisado pero mis conocimientos son muy basicos y no veo nada mal.

Un saludo

El problema es que al copiarlo, le ha quitado el formato de programacion de Python

Mandame un privado con tu email y te mando el script
Responder
Ha recibido el agradecimiento de: Dunic
#40
Efectivamente el script estaba completamente corrupto por signos no compatibles.
He escrito otro algo mas sencillo que tambien hace la misma funcion. Lee las sondas instaladas automaticamente y mustra la tempertura, pero en un terminal.Si tengo mas tiempo vere de que la informacion la pase a NMEA183,NMEA2000 o SignalK. Veremos que es lo mas sencillo.


Código:
#!/usr/bin/python
# -*- coding: utf-8 -*-

# Lectura lista 1-Wire Slave

import time

file = open('/sys/devices/w1_bus_master1/w1_master_slaves')
w1_slaves = file.readlines()
file.close()

while True:
# Mostrar la temperatura de cada sonda 1Wire
  for line in w1_slaves:
   
    w1_slave = line.split("\n")[0]
    # Lectura de los datos de la sonda 1-Wire
    file = open('/sys/bus/w1/devices/' + str(w1_slave) + '/w1_slave')
    filecontent = file.read()
    file.close()

    # Lectura y conversion de la temperatura
    stringvalue = filecontent.split("\n")[1].split(" ")[9]
    temperature = float(stringvalue[2:]) / 1000

    print(str(w1_slave) + ': %6.2f °C' % temperature)
    # Pausa de X segundos entre lectura de sondas(en este caso 2 segundos)
    time.sleep(2)
Se me olvidaba, aqui el resultado temperatura de 2 sondas conectadas a la Raspi

[Imagen: 2020-05-28-14-34.png]
Responder
Ha recibido el agradecimiento de:
#41
Este post deberia de ir en el hilo de OpenPlotter, pero como estabamos hablando en este hilo sobre las sondas de 1Wire, lo pongo aqui.
He encontrado una forma de visualizar en SignalK los valores de las sondas de temperatura de los sensores 1W.
Ojeando los modulos de OpenPlotter, hay uno que se titula MCS. Si lo abrimos, en la segunda carpeta esta titulada MCS-1W. 
[Imagen: 2020-05-30-13-53.png]

La abrimos, clicamos a añadir y si las sondas funcionan las tiene que reconocer. Le asignamos a la sonda una Kesy en SignalK (por ejemplo propulsion.*.coulan.temperature)  luego apply changes.  Pulsamos a refresh value para ver si lee y actualiza los datos de temperatura.

[Imagen: 2020-05-30-13-53-1.png]

Si es asi siguiente paso para verlos en SignalK. Abrimos la app de signalK y hacemos el loggin. Vamos a conexiones

[Imagen: 2020-05-30-14-03.png]
y luego clicamos add.  Input Type: Signal K,  ID: yo le he puesto 1W. Signal Source: UDP, Port: 50000. Finalmente clicar en Apply.
[Imagen: 2020-05-30-14-03-1.png]
Y debe  de funcionar.

[Imagen: 2020-05-30-13-52.png]
Responder
Ha recibido el agradecimiento de: pinguino
#42
Perfecto muchas gracias, esta semana lo probare, el script a la primera no me funciono, pero he tenido problemas con la SD, voy a reiniciarlo todo y empezar de cero, ya habia trasteado mucho.
Os digo cosas cuando lo haya probado.
Un saludo
Responder
Ha recibido el agradecimiento de:


Posibles temas similares...
Tema Autor Respuestas Vistas Último mensaje
  Pagina de ayuda en español OpenCPN magallanesxix 41 9.983 24-02-2019, 04:54 PM
Último mensaje: Gambucero

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)