Skip to content

Commit

Permalink
add documantation
Browse files Browse the repository at this point in the history
  • Loading branch information
andre-dietrich committed May 24, 2024
1 parent 58839d1 commit 9c37b03
Show file tree
Hide file tree
Showing 11 changed files with 613 additions and 2 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
dist/
node_modules/
.parcel-cache/
.vscode/
16 changes: 15 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,24 @@ This module allows to run "websites" on an Arduino that communicate via WebSeria

## Arduino

This module is based on the implementation of Karl Fessel from:

https://github.com/kfessel/Arduinoview

It was modified to be used with the WebSerial API and in combination with Edrys, and for the graph plotting we had used the more modern eCharts library. His introduction and goals are as follows:

> Arduino is a micro-controller platform for education, prototyping and one of a kind projects like they often happen in arts, science and development, it is well known, taught to and learned by beginners, students, designers, scientists and professionals. Arduino has a huge community of amateurs and professionals that develop hard- and software around the platform which has already many sensors, actors, shields and other hardware and driver libraries available to it. Arduinoview will provide a way to provide a graphical user interface with an Arduino project by using the USB-serial interface of the Arduino and an interpreter running inside a web browser.
>
> __Goals__
>
> The goal of the project is to develop an simple framework to combine Arduino and a graphical user interface that will be displayed on a PC.
### Installation

To compile Arduino code, you need to install the [Arduino IDE](https://www.arduino.cc/en/software).
Then you need to copy the ArduinoView folder to the Arduino libraries folder. On Windows, this is usually `C:\Users\<username>\Documents\Arduino\libraries`.
This folder contains the ArduinoView library and the example sketches.

### Usage
### Documentation

For more information, see the original [documentation](documentation/Dodumentation.md).
65 changes: 65 additions & 0 deletions documentation/doc/Alternatives.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
## Alternatives

There are already many ways to provide a user interface for an Arduino project this chapter will name some of them.

### Processing

https://processing.org/
https://github.com/processing

Processing is a programming language and framework based on JAVA to create visual Applications. Its the base for the Arduino IDE and due this there are
tutorials, examples and libraries available that help combining Processing and Arduino. When using processing the User writes basically two Programms and has
to maintain their compatibility. One possibility to achieve this is by using a Firmata-firmware on the Arduino and using a matching Firmata library in
processing.

### Firmata

http://www.firmata.org/
https://github.com/firmata

Firmata is a protocol based on the midi message format. It has a huge set of predefined functions to control various I/O of a micro-controller like digital
and analog pins, I2C- and OneWire-bus, servos and other motors which are implemented in firmata Arduino firmware. The protocol is designed to be
expandable by the user. The PC controls the Arduino, which is supported by libraries for various programming languages and frameworks like processing,
python, perl, ruby, JavaScript, Java ... .

http://www.acraigie.com/programming/firmatavb/sample_applications.html

### Instrumentino

http://www.chemie.unibas.ch/~hauser/open-source-lab/instrumentino/index.html
https://github.com/yoelk/instrumentino
https://github.com/yoelk/controlino

Graphical User Interface for Arduino based experimental instruments based on Python. The user of Instrumentino describes the experiment components in
description files in python. These components utilize the Arduino witch runs a firmware to interface to sensors and actors. The controlino firmware (part of
Instrumentino) provides access to various interfaces of the Arduino like analog and digital inputs digital and PWM outputs, i2c and it contains an
PID-regulator. The PC controls the Arduino and runs the experiment.

### Guino

https://github.com/madshobye/guino
http://www.instructables.com/id/Guino-Dashboard-for-your-Arduino/

A Dashboard for Arduino based on openframeworks (c++ framework with similar targets as Processing has for Java). A Guino GUI will be programmed into the
Arduino sketch and it will be transferred to the Guino running PC where the Guino software will interpret it into a GUI. This concept is the most similar
one to Arduinoview. Guino provides a subset of openframeworks GUI elements.

### Viewduino

http://teachduino.ufsc.br/

Viewer and graphical plotter for semicolon separated values transferred via serial interface from the Arduino.

### Arduviz and Appbuilder

https://github.com/hharzer/appbuilder2-pkes
https://github.com/hharzer/arduviz1.2-pkes

The "Arduviz and Appbuilder" project was developed at the same place as Arduinoview with similar goals. It is similar to Guino and Arduinoview in that
the Arduino carry's its GUI which runs inside a parser on the PC. Arduviz uses Python and Kivy and provides the user with a subset of its widgets.

### Arduinoview

with this Project Arduinoview is available. Like Guino and Arduviz the GUI is stored inside the Arduino Program. Unlike both it tries to avoid to develop its
own description language, instead it makes the most know markup language HTML and it companion JavaScript available to the Programmer of the UI.

Loading

0 comments on commit 9c37b03

Please sign in to comment.