Most of the content here is adapted from the Seriality project pages or Neil Gershenfeld's input devices page.
To work through these examples you will need the following:
Installation of the plugin differs according to operating system.
For OS X, download the installer, mount the disk image and copy the Seriality.plugin file to the Internet Plug-Ins folder as indicated.
For linux (or at least Ubuntu 12.10 which I tested this on), download the source code. Next install scons from the terminal with $ sudo apt-get install scons. Unzip the source code and navigate in terminal to /Seriality_Source_20100306/seriality/. To enable the plugin to be built, a file needs editing; use $ gedit seriality.cc, then just above #include <string> add two lines, #include <stdio.h> and #include <string.h>. Save the file and exit, then use $ scons to build the plugin. The operation should end with the line scons: done building targets. Finally, move the libseriality.so file to your browser plugin folder; I was using Firefox so used $ sudo cp libseriality.so /usr/lib/mozilla/plugins/.
Once installed, restart your browser and ensure that Seriality is listed as a plugin in your browser preferences. Note that in Ubuntu, the serial ports are protected so you need to provide permission for the browser to access them. The easiest way is to start the browser as root, eg using $ gksu firefox. This is not necessary on OS X.
Using the Plugin
The easiest way to get going with Seriality is to load up some examples and see how things work. To this end, I've written three example applications comprising pairs of html files and c programs. When the c programs are loaded on the board described above, they interact with the html files via the Seriality plugin. The examples work as follows:
If you want to use the examples with different boards, you can edit the port/pin definitions in the c programs to reflect the layout of your circuit.
These examples have been tested on the following OS/browser combinations:
Similar variations of these setups should also work. There is also the potential for the plugin to work in Chrome - see the discussion here for details.
If you establish another working setup, or develop something using this plugin, please do update this page with details.
Joel Rae - April 2013