Remote GPIO access library


Keywords
raspberry, gpio, telnet, pigpio
License
Other
Install
pip install htpio==1.1.0.4

Documentation

HTPIO : Remote I/O Access Library

PyPI PyPI - License PyPI - Python Version PyPI - Status

HTPIO allows users to use Raspberry Pi's GPIOs or similiar hardware remotely using various telecommunication protocols. The library also offers a simple locking mechanism in order to implement advanced testing scenarios using shared hardware.

image

HTPIO is a subset of the Hilscher Test Framework for products of the netX family. A brief overview of some netX products is given in the links below:

Requirements

  • Python >=2.7
  • Python >=3.4

Features

  • Remote GPIO access using various protocols
  • Pin locking to ensure shared use of hardware resources
  • Command line interface for shell scripting

Installation

First check if pip is installed on the your computer:

pip --version
pip 19.1.1 from c:\python\3.7.3\lib\site-packages\pip (python 3.7)

If the operating system doesn't recognize the command and your operating system is Linux or Windows 8+:

curl https://bootstrap.pypa.io/get-pip.py > get-pip.py
python get-pip.py

else visit https://bootstrap.pypa.io/get-pip.py and download the file. Then run the following command:

python get-pip.py

If pip is installed, we can proceed further to check for pipenv and eventually install it:

pipenv --version
pipenv, version 2018.11.26

If pipenv is not present on the system issue the following command :

pip install pipenv

To install htpio's latest stable release from PyPi use pipenv (or pip):

pipenv install htpio

or install the latest stable version from BitBucket:

pipenv install https://bitbucket.org/hilscherdtc/htpio/get/stable.tar.gz

Library interface

>>> from htpio import bridge, socketio, telnetio
>>> device = telnetio.RaspberryPi('192.168.199.31')
>>> gpio = bridge.RemoteAccess(device)
>>> gpio.lock(14)
>>> gpio.unlock(14)
>>> gpio.islocked(14)
>>> gpio.configure(14, gpio.OUTPUT)
>>> gpio.set(14, 1)
>>> gpio.get(14)
>>> gpio.deconfigure(14)
>>> gpio.logout()

Command line interface

$ htpio -p telnet set --host 192.168.199.31 --pin 14 --val 1
$ htpio -p socket get --host 192.168.199.31 --pin 14
$ htpio lock --host 192.168.199.31 --pin 14
$ htpio unlock --host 192.168.199.31 --pin 14