All Projects → ryanhz → osdp-python

ryanhz / osdp-python

Licence: Apache-2.0 license
A Python control panel implementation of the Open Supervised Device Protocol (OSDP)

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to osdp-python

libosdp
Implementation of OSDP (Open Supervised Device Protocol, IEC 60839-11-5); provides a C/C++ library with Python3 bindings to control/manage OSDP enabled security devices.
Stars: ✭ 47 (+67.86%)
Mutual labels:  protocol, osdp
StriderMqtt
A very thin MQTT client
Stars: ✭ 21 (-25%)
Mutual labels:  protocol
Framework
0xcert Framework - JavaScript framework for building decentralized applications - build something unique
Stars: ✭ 213 (+660.71%)
Mutual labels:  protocol
Ttrpc
GRPC for low-memory environments
Stars: ✭ 236 (+742.86%)
Mutual labels:  protocol
Pypacker
📦 The fastest and simplest packet manipulation lib for Python
Stars: ✭ 216 (+671.43%)
Mutual labels:  protocol
Jreactive 8583
Java Client & Server for ISO8583 & Netty
Stars: ✭ 248 (+785.71%)
Mutual labels:  protocol
Opendnp3
DNP3 (IEEE-1815) protocol stack. Modern C++ with bindings for .NET and Java.
Stars: ✭ 212 (+657.14%)
Mutual labels:  protocol
republic-go
An official reference implementation of Republic Protocol, written in Go
Stars: ✭ 58 (+107.14%)
Mutual labels:  protocol
seamless
Seamless is a framework to set up reproducible computations (and visualizations) that respond to changes in cells. Cells contain the input data as well as the source code of the computations, and all cells can be edited interactively.
Stars: ✭ 19 (-32.14%)
Mutual labels:  protocol
Keepalived
Keepalived
Stars: ✭ 2,877 (+10175%)
Mutual labels:  protocol
Pjon
PJON (Padded Jittering Operative Network) is an experimental, arduino-compatible, multi-master, multi-media network protocol.
Stars: ✭ 2,615 (+9239.29%)
Mutual labels:  protocol
O3
Open-source implementation of the Threema protocol in Go.
Stars: ✭ 219 (+682.14%)
Mutual labels:  protocol
Opcua Asyncio
OPC UA library for python > 3.6 asyncio
Stars: ✭ 251 (+796.43%)
Mutual labels:  protocol
Derosuite
DERO: Secure, Anonymous Blockchain with Smart Contracts. Subscribe to Dero announcements by sending mail to [email protected] with subject: subscribe announcements
Stars: ✭ 216 (+671.43%)
Mutual labels:  protocol
goridge-php
PHP Goridge Protocol implementation
Stars: ✭ 53 (+89.29%)
Mutual labels:  protocol
Protocol
Enzyme Protocol Implementation
Stars: ✭ 211 (+653.57%)
Mutual labels:  protocol
Golden Gate
Framework to connect wearables and other IoT devices to mobile phones, tablets and PCs with an IP-based protocol stack over Bluetooth Low Energy
Stars: ✭ 223 (+696.43%)
Mutual labels:  protocol
Merkletreejs
🌱 Construct Merkle Trees and verify proofs in JavaScript.
Stars: ✭ 238 (+750%)
Mutual labels:  protocol
network
Monorepo containing all the main components of Streamr Network.
Stars: ✭ 522 (+1764.29%)
Mutual labels:  protocol
can-prog
Command-line tool to flashing devices by CAN-BUS
Stars: ✭ 66 (+135.71%)
Mutual labels:  protocol

OSDP Python

OSDP Python is a python framework implementation of the Open Supervised Device Protocol (OSDP). This protocol has been adopted by the Security Industry Association(SIA) to standardize communication to access control hardware. Further information can be found at http://www.osdp-connect.com.

This project is highly inspired by @bytedreamer's OSDP.Net <https://github.com/bytedreamer/OSDP.Net>

License

  • Apache

Quick Start

Installation

To install OSDP, use pip3 or pipenv:

$ pip3 install -U osdp

This module depends on

  • pycryptodome
  • pyserial

Example Usage

>>> from osdp import *
>>> conn = SerialPortOsdpConnection(port='/dev/tty.wchusbserial1420', baud_rate=9600)
>>> cp = ControlPanel()
>>> bus_id = cp.start_connection(conn)
>>> cp.add_device(connection_id=bus_id, address=0x7F, use_crc=True, use_secure_channel=False)
>>> id_report = cp.id_report(connection_id=bus_id, address=0x7F)
>>> device_capabilities = cp.device_capabilities(connection_id=bus_id, address=0x7F)
>>> local_status = cp.local_status(connection_id=bus_id, address=0x7F)
>>> input_status = cp.input_status(connection_id=bus_id, address=0x7F)
>>> output_status = cp.output_status(connection_id=bus_id, address=0x7F)
>>> cp.shutdown()
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].