NetIO Controller Application

A generic remote control for your projects!

Tutorials / Examples

Here are some examples of hardware which has been used with this app. If you want to test your hardware and write a small tutorial about it, please ask for a promotion code to get the app for free.

Also, many users have submitted their projects including instructions and configurations. See the project page to get inspired.

Server / PC

This tutorial sets up a simple Java socket server and connects the NetIO App to this server. You do not need any hardware for this! (This server is used in the introduction video on the start page)


1. Prepare

Make sure you have the latest Java JDK installed on your and download the VerySimpleServer.java


2. Build

Go to the folder you saved the file and run javac VerySimpleServer.java in your terminal. A file called "VerySimpleServer.class" will be created.


3. Run

Type "java VerySimpleServer 54321" into your terminal. The server starts on port 54321.


4. Configure the App

Open the helloworld.json in the UI-Designer and edit the host name (ip address) in the connection. You find these attributes in the "general" tab.


The host attribute should be the name or the ip of your computer you started the server.


5. Test and Run

Start the app and hit the "Hello World"-Button. The server should show the received command in the terminal. Now you are free to extend the code to control your PC!


Arduino

I found a nice project on http://projects.ottech.net (german) which uses the NetIO app with an arduino board. All needed files are downloadable on this site.


Another arduino project can be found at 2spinout.blogspot.de.


Also, a user submitted a working socket sketch which concentrates on reading values from arduino since a lot of users had difficulties with this. It can be downloaded here. This demo comes with a sample configuration. Many thanks!

I connected the arduino with a copperhead wifi shield and implemented a small demo with an RGB LED. Download the Sketch and try it out with the according Arduino Configuration in the UI-Designer. For the sketch to work, you also need the WiShield library

There are a lot of different wifi and ethernet shields out there. Please note, that they all use different libraries. The sketch might look completely different with another shield.

HTTP on Arduino

Since some user experience problems with the socket approach, I uploaded another Arduino HTTP Sketch which implements a simple webserver. Test the sketch with calling URLs in your browser (i.e. "http://arduino:80/?red=1" to turn LED on) and then open the according Arduino HTTP Configuration in the UI-Designer to test with the NetIO App.


Pollin AVR-Net-IO

In my demo video I used the AVR-Net-IO board from Pollin. You can use the shipped software installed on the board for some testing. Try out the standard software with using with the Pollin Configuration in the UI-Designer.
However, I recommened to get Ethersex to have more flexiblity and opportunities to use this board.


Raspberry PI

This section provides tutorials for controlling the GPIOs of a Raspberry PI. If you have the raspbian store installed, you can download the demo server directly from the store: http://store.raspberrypi.com/projects/netio

Another useful german tutorial can be found on Marius Blog

The following tutorial has been submitted by DevelopNow.

This video shows the working tutorial:


All described steps were tested on an Raspberry Pi Version B with an 2012-07-15-wheezy-raspbian.zip image and an iPhone 4S (without jailbreak)


1. Phone Side

  1. Install NetIO app
  2. Open the rpi configuration and sync it with your device.
  3. Start the application, move two fingers up on the phone touchscreen (or do a shake gesture on iOS) to get the config file select list visible.
  4. On config file selection, enter your UI-Designer credentials and hit 'sync'. Please choose 'rpi'. If you do changes in the UI-Designer you need to 'sync' again!

2. Raspberry Pi Side (Hardware)

Connect an LED as shown in this image:

3. Raspberry Pi Side (Python)

  1. Install python GPIO-package with the following steps:
    1. Download and unpack the latest package from http://pypi.python.org/pypi/RPi.GPIO so you get e.g. (depending on version) the folder 'RPi.GPIO-0.3.1a' in your working directory
    2. cd RPi.GPIO-0.3.1a/
    3. sudo python setup.py install
  2. Copy the file netio_server.py to your working directory
  3. Start the example by typing 'sudo python netio_server.py'

Now you can switch on and off the output on Raspberry Pi connector pin 7 with the 'on' and 'off' button. Please be aware that the used numbering in Python is not the numbering of the connector. Please see https://projects.drogon.net/raspberry-pi/wiringpi/pins/ for IO pin naming details. In column 'BCM GPIO' you find the number used in the Python script.

You can also connect pin 11 of the Raspberry Pi connector to GND or 3.3V (e.g. pin 3) and press the lamp in the application. Depending on the input state, the lamp will be lightened on or off.


Gnublin

Gnublin works quite well with NetIO. For more information and instructions checkout NetIO with Gnublin Wiki page and the Gnublin Project Page here on this site.



FS20

One user connected his FS20 devices with a "2/4 Kanal-Universal-Sendemodul" from ELV connected to an AVR-NET-IO board. With this setup you can easily control all of your FS20 devices. The graphic shows a symbolic connection for one of four ports.



Siemens LOGO

Some new Siemens LOGO devices (for example 0BA7) have an ethernet connector and can be connected to the local network. Unfortunatelly ISO over TCP is used which is not supported by the apps. Some customers however control their LOGO with an AVR- or Arduino-Board which control relais and trigger the inputs and read the outputs of the LOGO. This way, SPS can also be controlled.

Another way to control a Logo would be to setup a server which receives commands from the app and then controls the logo with the libnodave.

However, ISO over TCP might be integrated in future versions.