Serial-to-Network Proxies

These programs allow you to communicate with an Arduino board via a network connection. This is useful if, for example, your programming language doesn't provide access to serial ports (e.g. Flash).

  • Arduino Terminal Server - Serial Proxy Server using old computer hardware.

  • One line Serial Proxy Command - Why bother with all these utilities, when you can have a proxy with a one line command that uses standard OS provided commands.

  • Internet to Serial Proxy works on OS X Lion. Acting like a little web server, this open source application opens a USB serial port you can acces via your web scripts, has PHP.

  • JavaProxy, Simple Java serial proxy source code that further integrates with arduino.

  • serproxy. Available on the main Arduino software page, probably sourced from here. Original here is older, but the zip has a detailed readme and a more readable config file. Serproxy handles multiple serial ports, configured with a text file.
    • a fast *.exe executable. Not quantified, but feels faster.
    • multi-threaded and can redirect multiple com ports to multiple sockets simultaneously.
    • Can close and re-open client (e.g. flash), and it still connects.
    • No 'debug' option to view traffic?
    • Mac, Win and probably (old version at least) Linux.
    • Source code available.
    • How to modify 0.1.3 to use com10 or above here.
    • Does not work on Mac 10.6 without installing Rosetta.

  • Tinkerproxy2 - Seems like a good replacement for serproxy. Serproxy doesn't work under OSX 10.6 ( Snow Leopard ) without installing Rosetta. However you can also try Tinkerproxy2. That works in the same way as serproxy, and runs fine under 10.6. The configuration file and code is exactly the same as the serproxy.cfg.

  • SerialNet.pde - a Processing sketch that acts as a serial-net proxy. Configured by modifying the code.

  • Funnel - a project for interfacing multiple microcontroller platforms with many programming languages. Includes a serial-to-network proxy server.

  • SerialServer (aka ss6): A Java-based proxy with a small GUI for selecting the serial and network port.
    • Need complex installation of Java COM port libraries.
    • May not be that fast/efficient (Java calling C bindings is supposedly quite slow).
    • Does not appear to reconnect if client re-opened.
    • Has a potentially handy debug mode, but high volumes of traffic can almost crash the computer.
    • Source code available.

  • Arduino2Flash: a command-line Java based proxy. The author says "Some people using Intel Macs and OS X were unable to get serproxy configured correctly to connect Flash and the Arduino board. To work around this problem, I have written a replacement for serproxy in java called Arduino2Flash. This is experimental code, hacked together quickly, and probably buggy. Please test, let me know if it works, and I'll upload improved versions over time."

  • TinkerProxy (Old with more documentation, [[http://tinker.it/now/2007/06/03/new-tinkerproxy-for-windows | New). Nice GUI, easy to use, but very limited. Great for beginners, but bad for pros.
    • TinkerProxy is one way, from serial to socket. You can�t talk to the arduino over the socket. The same team is building another app called serialsocket, but haven�t released it to public yet.
    • No documentation. So the above issue caused me lots of grief until I eventually found a comment in a associated post.
    • It doesn't start as soon as you run it - you have to click "start". So unusable for automated situations?
    • If you close and re-open a client (e.g. flash app), it doesn't seem to recconnect.
    • Runs on PC and OSX.
    • While it is an *.exe executable, it seems quite slow (on the PC). Reportedly faster on a Mac.
    • It does have a nice GUI.
    • It does have a nice "remember last settings used".
    • Source code NOT available.

  • SerialXMPP: A serial to serial connection via XMPP/Gtalk. This does not require knowledge of the remote IP address on dynamic IP networks or require holes in the firewall.

  • The SerialIP library can provide the Arduino with network connectivity over the serial port using SLIP. No software is required on the host, beyond configuring a SLIP connection over the serial port (like dialup Internet.)

Share