The Arduino project for Pharo currently includes a set of core classes that allow you to communicate with an Arduino board. This is generally enough for some projects. However, no user interface has been implemented yet. This project involves the development of a web interface that would allow to control an arduino from a web browser.

Technical Details

The project could be implemented using Seaside and Amber, and it would involve developing a set of generic web controls for accessing the state of the arduino pins. These web controls must allow the user to easily compose a website to control his arduino project. The arduino pins could be classified as:

digital input

digital output

analog input

analog output (pwm)

Each of these pin types would have a different graphical representation, and maybe inputs could be plotted over time. Other devices (like motors, lcd displays, and such) could be modelled as well.

Benefits to the Student

The student will learn how to control an Arduino from Pharo and to develop a web application (possibly using Seaside and Amber).

Benefits to the Community

The community would benefit from having a set of generic web controls to interact with an Arduino, which would in turn encourage the development of interesting projects using Pharo and Arduino. The interaction via web is specially interesting for home automation projects because it allows you to control some aspects of your home from anywhere in the world, provided that you have access to a web browser.