Datenübertragung über Netzwerk vorbereitet
This commit is contained in:
parent
658806446e
commit
7f0a0f280b
8
TODO
8
TODO
|
@ -14,3 +14,11 @@ Aufgaben- und Planungs- und Ideenliste
|
||||||
Rechtecke mit SNR (Signal/Noise)
|
Rechtecke mit SNR (Signal/Noise)
|
||||||
|
|
||||||
- Sea wave recorder (siehe Steamrock)
|
- Sea wave recorder (siehe Steamrock)
|
||||||
|
|
||||||
|
- Datenübertragung über Ethernet
|
||||||
|
Achtung: Fast Packets
|
||||||
|
- SeaSmart
|
||||||
|
NMEA2000 in NMEA0183 gekapselt
|
||||||
|
- Yacht Devices ASCII Raw Protokoll
|
||||||
|
https://www.yachtd.com/downloads/ydnr02.pdf
|
||||||
|
- Actisense?
|
||||||
|
|
|
@ -19,6 +19,11 @@ interface = can0
|
||||||
enabled = false
|
enabled = false
|
||||||
port = /dev/ttyV1
|
port = /dev/ttyV1
|
||||||
|
|
||||||
|
[network]
|
||||||
|
enabled = false
|
||||||
|
address = 127.0.0.1
|
||||||
|
port = 10110
|
||||||
|
|
||||||
[bme280]
|
[bme280]
|
||||||
enabled = false
|
enabled = false
|
||||||
port = 1
|
port = 1
|
||||||
|
|
21
obp60v.py
21
obp60v.py
|
@ -92,6 +92,7 @@ from gi.repository import GLib, Gtk, Gdk, Rsvg
|
||||||
import cairo
|
import cairo
|
||||||
import math
|
import math
|
||||||
import threading
|
import threading
|
||||||
|
import socket
|
||||||
import can
|
import can
|
||||||
import serial
|
import serial
|
||||||
import smbus2
|
import smbus2
|
||||||
|
@ -256,6 +257,15 @@ def rxd_gps(devname, devspeed):
|
||||||
print(msg.fields)
|
print(msg.fields)
|
||||||
ser.close()
|
ser.close()
|
||||||
|
|
||||||
|
def rxd_network(address, port):
|
||||||
|
# WIP Daten über Netzwerk empfangen
|
||||||
|
# Wir verwenden UDP. Ein verlorenes Paket tut uns nicht weh.
|
||||||
|
sock = socket.socket()
|
||||||
|
sock.connect((address, port))
|
||||||
|
while not shutdown:
|
||||||
|
time.sleep(0.5)
|
||||||
|
sock.close()
|
||||||
|
|
||||||
def datareader(cfg, history):
|
def datareader(cfg, history):
|
||||||
"""
|
"""
|
||||||
Daten zu fest definierten Zeitpunkten lesen
|
Daten zu fest definierten Zeitpunkten lesen
|
||||||
|
@ -669,6 +679,11 @@ if __name__ == "__main__":
|
||||||
if cfg['gps']:
|
if cfg['gps']:
|
||||||
cfg['gps_port'] = config.get('gps', 'port')
|
cfg['gps_port'] = config.get('gps', 'port')
|
||||||
|
|
||||||
|
cfg['network'] = config.getboolean('network', 'enabled')
|
||||||
|
if cfg['network']:
|
||||||
|
cfg['net_addr'] = config.get('network', 'address')
|
||||||
|
cfg['net_port'] = config.get('network', 'port')
|
||||||
|
|
||||||
cfg['bme280'] = config.getboolean('bme280', 'enabled')
|
cfg['bme280'] = config.getboolean('bme280', 'enabled')
|
||||||
if cfg['bme280']:
|
if cfg['bme280']:
|
||||||
cfg['bme280_port'] = config.getint('bme280', 'port')
|
cfg['bme280_port'] = config.getint('bme280', 'port')
|
||||||
|
@ -696,6 +711,10 @@ if __name__ == "__main__":
|
||||||
print("GPS enabled (local)")
|
print("GPS enabled (local)")
|
||||||
t_rxd_gps = threading.Thread(target=rxd_gps, args=(cfg['gps_port'],))
|
t_rxd_gps = threading.Thread(target=rxd_gps, args=(cfg['gps_port'],))
|
||||||
t_rxd_gps.start()
|
t_rxd_gps.start()
|
||||||
|
if cfg['network']:
|
||||||
|
print("Networking enabled")
|
||||||
|
t_rxd_net = threading.Thread(target=rxd_network, args=(cfg['net_port'],cfg['net_addr']))
|
||||||
|
t_rxd_net.start()
|
||||||
if not cfg['simulation']:
|
if not cfg['simulation']:
|
||||||
if cfg['bme280']:
|
if cfg['bme280']:
|
||||||
t_data = threading.Thread(target=datareader, args=(cfg, history))
|
t_data = threading.Thread(target=datareader, args=(cfg, history))
|
||||||
|
@ -712,6 +731,8 @@ if __name__ == "__main__":
|
||||||
t_rxd_0183.join()
|
t_rxd_0183.join()
|
||||||
if cfg['gps']:
|
if cfg['gps']:
|
||||||
t_rxd_gps.join()
|
t_rxd_gps.join()
|
||||||
|
if cfg['net']:
|
||||||
|
t_rxd_net.join()
|
||||||
if not cfg['simulation'] and cfg['bme280']:
|
if not cfg['simulation'] and cfg['bme280']:
|
||||||
t_data.join()
|
t_data.join()
|
||||||
print("Another fine product of the Sirius Cybernetics Corporation.")
|
print("Another fine product of the Sirius Cybernetics Corporation.")
|
||||||
|
|
Loading…
Reference in New Issue