A Python-based socket client for Global Cache GC100 digital I/O interface
Project description
python-gc100
=============
This is a Python-based socket client for Global Cache GC100 digital I/O interface
The global cache GC100 features an array of digital inputs / IR outputs (switchable),
serial ports, and solid state relays, accessible via a TCP interface.
More info can be found at the manufaturer's website: https://www.globalcache.com/products/gc-100/
python-gc100 provides a TCP client to interface with a GC100.
Currently serial port communication and IR functions are not supported.
Digital input (including notification mode) and changing relay state are supported.
Usage
-----
Given a callback function
>>> def callback_fn(state):
>>> print(state)
Initialize the connection to the socket server
>>> hostname = 'myserver'
>>> port = 4998
>>> gc = gc100.GC100SocketClient(hostname,port)
Example, if you want to read and print the state of module address '4:1':
>>> gc.read_input('4:1', callback_fn)
Or turn the relay on at address '3:2', and confirm its new state:
>>> gc.write_switch('3:2', 1, callback_fn)
Turn it off again:
>>> gc.write_switch('3:2', 0, callback_fn)
If you want to subscribe to be notified (push) of state changes to digital input '4:3':
>>> gc.subscribe_notify('4:3', callback_fn)
Close the connection
>>> gc.quit()
Compatibility
------------
This module is only tested with Python 3.5.2, and will definitely not be compatible with python 2.x
Author and License
------------------
This software is (c) 2017 David Grant <davegravy@gmail.com>
This program is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option) any later
version.
GC100 is a trademark of Global Cache, with whom the author of this software is not
affiliated in any way other than using some of the their hardware
=============
This is a Python-based socket client for Global Cache GC100 digital I/O interface
The global cache GC100 features an array of digital inputs / IR outputs (switchable),
serial ports, and solid state relays, accessible via a TCP interface.
More info can be found at the manufaturer's website: https://www.globalcache.com/products/gc-100/
python-gc100 provides a TCP client to interface with a GC100.
Currently serial port communication and IR functions are not supported.
Digital input (including notification mode) and changing relay state are supported.
Usage
-----
Given a callback function
>>> def callback_fn(state):
>>> print(state)
Initialize the connection to the socket server
>>> hostname = 'myserver'
>>> port = 4998
>>> gc = gc100.GC100SocketClient(hostname,port)
Example, if you want to read and print the state of module address '4:1':
>>> gc.read_input('4:1', callback_fn)
Or turn the relay on at address '3:2', and confirm its new state:
>>> gc.write_switch('3:2', 1, callback_fn)
Turn it off again:
>>> gc.write_switch('3:2', 0, callback_fn)
If you want to subscribe to be notified (push) of state changes to digital input '4:3':
>>> gc.subscribe_notify('4:3', callback_fn)
Close the connection
>>> gc.quit()
Compatibility
------------
This module is only tested with Python 3.5.2, and will definitely not be compatible with python 2.x
Author and License
------------------
This software is (c) 2017 David Grant <davegravy@gmail.com>
This program is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option) any later
version.
GC100 is a trademark of Global Cache, with whom the author of this software is not
affiliated in any way other than using some of the their hardware
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
python-gc100-1.0.3a0.tar.gz
(5.2 kB
view hashes)
Built Distributions
Close
Hashes for python_gc100-1.0.3a0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 130a0541e04577ec616900c26770973679faca6e79a7d63fa537cc53132b767c |
|
MD5 | 4a843291d2e6f29c28907520eb9974ff |
|
BLAKE2b-256 | 1b069d1143a907fba5c0edfd626a46d589debeea5f1ba36bd082217e21d24c1a |
Close
Hashes for python_gc100-1.0.3a0-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87c11f4b245d2f2b48fda8ea488e3e5b4860b0692f729d0ce902a40e7317985f |
|
MD5 | 0d4c88bc20cb35ac8513c1da2db94ac5 |
|
BLAKE2b-256 | c66ce9b3d549a3e6b6d40309c0526ac61bc08b804d1b4cf3f2cc4f71c8f03d67 |