X-Git-Url: https://git.realraum.at/?p=svn42.git;a=blobdiff_plain;f=go%2Fuc_sensor_node_zmq%2Fmain.go;fp=go%2Fuc_sensor_node_zmq%2Fmain.go;h=3e99253becf9d3dff6bc2724716ff99d778ef561;hp=0000000000000000000000000000000000000000;hb=30c704726752c02121b3f453916a0a76dd5dcab8;hpb=8e73e942c082365269f650cf5a489aaa07452f28 diff --git a/go/uc_sensor_node_zmq/main.go b/go/uc_sensor_node_zmq/main.go new file mode 100644 index 0000000..3e99253 --- /dev/null +++ b/go/uc_sensor_node_zmq/main.go @@ -0,0 +1,44 @@ +// (c) Bernhard Tittelbach, 2013 + +package main + +import ( + "flag" +) + + +// ---------- Main Code ------------- + +var ( + tty_dev_ string + pub_addr string + use_syslog_ bool +) + +func init() { + flag.StringVar(&pub_addr, "brokeraddr", "tcp://torwaechter.realraum.at:4244", "zmq address to send stuff to") + flag.StringVar(&tty_dev_, "ttydev", "", "path do tty uc device") + flag.BoolVar(&use_syslog_, "syslog", false, "log to syslog local1 facility") + //~ flag.Usage = flag.PrintDefaults + flag.Parse() +} + +func main() { + zmqctx, pub_sock := ZmqsInit(pub_addr) + defer zmqctx.Close() + defer pub_sock.Close() + + if use_syslog_ { + LogEnableSyslog() + Syslog_.Print("started") + } + + serial_wr, serial_rd, err := OpenAndHandleSerial(tty_dev_) + if err != nil { panic(err) } + defer close(serial_wr) + + for incoming_ser_line := range(serial_rd) { + Syslog_.Printf("%s",incoming_ser_line) + if err := pub_sock.Send(incoming_ser_line); err != nil { panic(err) } + } +}