Difference between revisions of "A.IR Shield Nano RPi Python script"
|Line 1:||Line 1:|
[[File:A.IR Shield Nano RPi.png|thumb|upright=1.5|alt=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 via the included serialUSB port connector and features advanced IR circuitry for sending & receiving IR signals. It
[[File:A.IR Shield Nano RPi.png|thumb|upright=1.5|alt=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 via the included serialUSB port connector and features advanced IR circuitry for sending & receiving IR signals. It also the IR carrier frequency with every signal.
This page describes an example PYTHON (2.7)
This page describes an example PYTHON (2.7) 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 ==
== About the A.IR Shield Nano ==
Revision as of 05:10, 1 December 2017
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:
- Detailed information is available in the Data Sheet
- and also on our on-line shop where you Buy the A.IR Shield Nano by clicking here
- The product announcement: Preview: A.IR Shield Nano, a high-end Infrared Shield for AnalysIR, IRremote & IRLib
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.
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.
If you need additional support please open a new issue in our IRforum - under Products:Support Requests.