欧米茄智能传感器python sdk
omegasensor的Python项目详细描述
欧米茄智能传感器python sdk
这个python sdk允许您通过i2c接口或modbus接口与omega智能传感器设备通信,并轻松地将它们集成到嵌入式平台,如覆盆子pi等。
要求
Python3.5+
安装和使用
pip安装
可以通过运行以下命令安装包:
pip install omegasensor
然后导入包:
from omegasensor import *
设置工具
从存储库克隆。并通过源目录中的setuptools进行安装:
python setup.py install --user
开始
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()
启用软件I2C接口:
(支持SmartSensor I2C接口的时钟拉伸)
打开config.txt
sudo nano /boot/config.txt
将以下条目添加到文件中
dtoverlay=i2c-gpio,bus=3
按ctrl+o键保存文件。重新启动PI。
在/dev/i2c-3
SDA是BCM23(割台销16)
CLK是BCM24(割台销18)
软件I2C在SDA和CLK到VCC上需要大约2.2K的手动上拉电阻器。可以通过以下命令启用GPIO内部上拉:
# enable internal pull-up on pin BCM23
gpio -g mode 23 up
# enable internal pull-up on pin BCM24
gpio -g mode 24 up
示例
示例可以在sdk示例目录中找到
硬件设置
Omega BTH-SMP智能探头可与I2C接口一起使用。关于覆盆子皮,以下是连接:
Raspberry Pi | BTH-SMP |
---|---|
Pin 3 /BCM 2 | SDA |
Pin 5 /BCM 3 | CLK |
Pin 1 | 3.3V |
Pin 6 | GND |
或者,可以使用omega智能传感器加密狗将i2c接口转换为modbus接口。在Linux系统上,加密狗将显示为/dev/ttyusb0或/dev/ttyacm0。