8000 GitHub - underdoeg/serial_to_udp: Reconnecting pyserial application that forwards all incoming serial data to udp
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

underdoeg/serial_to_udp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Forwards serial data unmodified (or if valid as JSON) to UDP

Developed to use microcontrollers with godot engine without relying on custom native modules.

Godot implementation

var serial_server := UDPServer.new()

func _ready():
    var port: int = 5005
    print("listen for serial data on port ", port)
    serial_server.listen(port, "127.0.0.1")


func _process(delta: float) -> void:
    serial_server.poll()
    if serial_server.is_connection_available():
        var packet := serial_server.take_connection().get_packet()
        print("Received data: %s" % packet.get_string_from_utf8())

Parse JSON example

func _process(delta: float) -> void:
	serial_server.poll()
	if serial_server.is_connection_available():
		var packet := serial_server.take_connection().get_packet()
		var json_string = packet.get_string_from_utf8()
		print("Received data: %s" % json_string)
		
		var json = JSON.new()
		var error = json.parse(json_string)
		if error == OK:
			var data_received = json.data
			if data_received.has("data"):
				var d = data_received["data"]
				print(d)
		else:
			print("JSON Parse Error: ", json.get_error_message(), " in ", json_string, " at line ", json.get_error_line())

TODO

  • Add support for non line terminated serial data
  • Add support for custom UDP ports
  • Add support for custom IP addresses
  • Add support for custom baud rates

About

Reconnecting pyserial application that forwards all incoming serial data to udp

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages

0