Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
IoA
README.md
config.xml

README.md

Internet of Arduinos

Internet of Arduinos (IoA for friends :) is an Internet of Things Python framework where "Things" are Arduinos, or other MCU controlled devices.

It's in a very early development stage, for now it supports basically HTTP(S) REST to Serial communication.

This framework is developed as pyDev project, so you can easily import it in Eclipse.

Here is a demonstration video: Python Internet of Arduinos

Features

  • configurable HTTP server
  • configurable serial connection
  • HTTP and HTTPS REST API support
  • configurable REST API endpoint
  • built-in Python certificate generator
  • JSON response
  • directly returns serial received data

Installation

You need to install the following Python packages in order to execute IoA:

$ pip install web.py
$ pip install pyOpenSSL
$ pip install pySerial

You need to be sudo on Linux.

If pyOpenSSL fails to install on debian based Linux distros with error:

error: Setup script exited with error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

you'll need to install these:

$ sudo apt-get install libffi-dev
$ sudo apt-get install libssl-dev
$ sudo apt-get install python-dev

How to use

Before execution you may want to look at configuration file in order to change something.

Here is an example of config.xml:

    <?xml version="1.0" encoding="UTF-8"?>
	<config>
		<server>
			<network port="8080" hostname="127.0.0.1"/>
			<url path="/2serial" parameter="data"/>
			<!-- <ssl certificate="../../myapp.crt" key="../../myapp.key"/> -->
		</server>
		<serial port="/dev/ttyACM0" speed="9600" wait_for_response="True"/>
	</config>

To execute the web server just launch main.py with:

$ PYTHONPATH=/path/to/IoA python main.py

or execute it with pyDev inside Eclipse.

License

This work is licensed under LGPL v2.1

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.