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