Skip to main content

Omega Smartsensor Python SDK

Project description

Omega Smartsensor Python SDK

This Python SDK allows you to communicate with Omega Smart Sensor devices via I2C interface or Modbus interface and easily integrate them to embedded platform such as Raspberry Pi, etc...

Requirements

Python 3.5+

Installation & Usage

PC Install

pip install

When installing python, ensure the option to add python to PATH is checked. If python is not part of the PATH, in command prompt change directory to the location of python.exe. Execute the pip install command.

python -m pip install omegasensor

Setuptools

Another method to install omegasensor. Clone from repository. And Install via Setuptools from source directory:

python setup.py install --user

Raspberry Pi Install

Setuptools

Clone from repository. And Install via Setuptools from source directory:

python3 setup.py install --user

Getting started

import time
from omegasensor import *  

def main():    
    bus = BusModbus('/dev/ttyUSB0', SMARTSENSOR_MODBUS_ADDR)   # for Modbus interface 
    # bus = BusI2C(1, SMARTSENSOR_I2C_ADDR) # for I2C interface
    ss = Smartsensor(bus)    

    ss.soft_reset()    
    ss.preset_config()    
    print("Firmware 0x%08x" % ss.read(R.FIRMARE_VERSION))    
    print("Device Id 0x%08x" % ss.read(R.DEVICE_ID))    
    print("Device %s" % ss.read(R.DEVICE_NAME))    
    sensor_cnt = ss.read(R.NUMBER_OF_SENSORS)    
    print("Onboard %d sensors" % sensor_cnt)    
    print("Onboard %d outputs" % ss.read(R.NUMBER_OF_OUTPUTS))    

    sensor_units = [ss.sensor_unit(i) for i in range(sensor_cnt)]    

    while True:    
        print("Time: ", ss.current_time_str())    
        for i in range(sensor_cnt):    
            print("%0.2f" % ss.sensor_reading(i),    
                  " %s" % sensor_units[i],    
                  "\t", end='')    
        print('\n')    
        time.sleep(1)    


if __name__ == "__main__":    
    main()  

Enable Software I2C interface:

(supports clock stretching for SmartSensor's I2C Interface)

Open config.txt

sudo nano /boot/config.txt

Add the following entry to the file

dtoverlay=i2c-gpio,bus=3

Save the file by hitting Ctrl+O. Enter. Reboot the Pi.

A new I2C interface can be found at /dev/i2c-3

SDA is BCM23 (header pin 16)

CLK is BCM24 (header pin 18)

Software I2C requires manual pull-up resistors of about 2.2k on SDA and CLK to Vcc. It may be possible to enable GPIO internal pull-up by the following commands:

# enable internal pull-up on pin BCM23
gpio -g mode 23 up
# enable internal pull-up on pin BCM24
gpio -g mode 24 up

Examples

Examples can be found in SDK Example directory

Hardware Setup

Omega BTH-SMP smart probes can be used with the I2C interface. On Raspberry Pi, here are the connections:

Raspberry Pi BTH-SMP
Pin 3 /BCM 2 SDA
Pin 5 /BCM 3 CLK
Pin 1 3.3V
Pin 6 GND

Alternatively, Omega Smart sensor dongle can be used which converts I2C interface to Modbus interface. On Linux system, the dongle will show up as /dev/ttyUSB0 or /dev/ttyACM0 for example.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

omegasensor-0.4.tar.gz (15.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

omegasensor-0.4-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

Details for the file omegasensor-0.4.tar.gz.

File metadata

  • Download URL: omegasensor-0.4.tar.gz
  • Upload date:
  • Size: 15.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.2

File hashes

Hashes for omegasensor-0.4.tar.gz
Algorithm Hash digest
SHA256 4932281336fda622cc62efa9d7af44af3245673e24e42241706f8301403a89e4
MD5 c43e87a5f2140b891c50b08ee0f332dc
BLAKE2b-256 cbf72d7e753495710cb58ec37f983112188817830a8a61dc6d4def8acb8a9bc8

See more details on using hashes here.

File details

Details for the file omegasensor-0.4-py3-none-any.whl.

File metadata

  • Download URL: omegasensor-0.4-py3-none-any.whl
  • Upload date:
  • Size: 17.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.2

File hashes

Hashes for omegasensor-0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 95db8a668a63f848d2c39c062a3552e6ceb95d81baf87fdaf3129759d820c2b8
MD5 d4ad4ccbcb7fd46f50f792b3af6560cb
BLAKE2b-256 c167646d1a003a680c1b9aadb8f7e4fa7ed89c27712198f99e27516f3c63dfe6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page