A.IR Shield Nano RPi Python script

From AnalysIR WiKi
Revision as of 06:10, 1 December 2017 by AnalysIR (talk | contribs)
Jump to navigation Jump to search
A.IR Shield Nano with Raspberry Pi
A.IR Shield Nano with RPi

The A.IR Shield Nano is a versatile IR tranceiver built on top of the Arduino Nano. It connects to a PC (Windows, Linux, RPi etc) via the included serialUSB port connector and features advanced IR circuitry for sending & receiving IR signals. It also records the IR carrier frequency with every signal.

This page describes an example PYTHON (2.7) script for using the shield on the RPi via HTTP POST requests. The script can also be used on any LINUX system along with Windows or OSX, subject to PYTHON 2.7 compatability.

About the A.IR Shield Nano

This is described elsewhere as follows:

About the Script

The script source code, is available to those who have purchased an A.IR Shield Nano. Just contact us for the download link anytime after purchase. You will require PYTHON 2.7 to run the script and it should be installed on your RPi or other supported platform. We are happy to provide script specific support, but you should be prepared to troubleshoot your own PYTHON & RPi installation by yourself.

Supported Platforms

We have tested using an RPi running the latest Jesse updates as of Nov 2017. It should also run on other PYTHON 2.7 platforms (Linux, Windows, OSX etc.) with little or no adjustments. The script assumes the use of AnalysIR to accept received signals. In this context AnalysIR can be replaced by any other properly configured HTTP web server. Signals can be sent using a properly configured HTTP POST, which can be sent from any location or platform - using a browser or application.

Sending & receiving IR

The script is written to send IR based on web POST requests. One end of each of these is supported by the Script/Shield. By default the other end is supported by AnalysIR. To integrate your own project or product, you will need to implement a HTTP post request to send an IR signal via the script. You will also need to implement a HTTP server to handle a POST request when signals are received.

You can also customise the script to only support either sending or receiving of IR signals, instead of the default of both.

We have provided an example web page with a HTML POST form, which can be used as a way to test sending signals using the script and as a basis for your own implemetation. An example of this form is available via: Sending Test signals from a HTML POST form

Installing the Script

Create a directory named servAIR on your RPi and copy the file servAIR.py into that directory. The script will write to log files (servAIR.log.txt & requestLogAIR.txt) for saving script INFO messages and HTTP request logs. Of course this logging can be easily extended by the user.

Running the Script

The script should be executed as follows: python servAIR.py 9449 where:

  • python - starts a python process to run the script
  • servAIR.py - is the name of the script and is located in your active directory.
  • 9449 - is the port number to use for communications & ideally should be the same number that you use for AnalysIR.
  • Experienced users will be able to run from other locations, force running in the background(python servAIR.py 9449 &) and pipe script output to a log file.

To run the script run the following command: python servAIR.py 9449 &. Depending on configuration, some users may need to type sudo python servAIR.py 9449 &.

Stop the Script running

The best way to stop the script is to issue the following request via a web browser or CURL

(Change the IP Address & port number to match your own configuration. Experienced users may want to add in additional support for a password on this command)

Using the Script in your own projects or products

Using this servAIR script, it is now a small step to create your own full featured IR remote control project or product. Most of the hard work is done for you and all you need to do is to create your own web based application that leverages the functionality provided by the script and the A.IR Shield Nano.

Project ideas include:

  • Control your IR devices using your smart Phone (iPhone, Android etc)
  • Control your IR devices using your Tablet(iPad, Android etc)
  • Control your IR devices using your IoT application or device (ESP8266, ESP32, Particle Photon etc)
  • Control your IR devices using IFTTT
  • Control your IR devices using Amazon Alexa/Echo, Google Assistant/Home, Apple Siri or equivalent voice devices.
  • Control your IR devices using MQTT or similar brokers.

Is it free to use the script in my own project?

Yes, there are no restrictions on using the script on your own commercial or hobby(non-commercial) projects, provided it is used together with an official A.IR shield purchased from AnalysIR or an authorised re-seller/agent. For other uses please contact us directly. We always appreciate when users provide a link back to our site.

Getting Support

If you need additional support please open a new issue in our IRforum - under Products:Support Requests.