Elitech RC4数据访问工具和库。
elitech-datareader的Python项目详细描述
Elitech RC4/RC5数据读取器
说明
该软件是一个数据采集工具,用python编写,用于温度数据记录器rc-4/rc-5和温湿度数据记录器rc-4hc。
Elitech RC-4/ RC-4HC/ RC-5 是一个合理的数据记录器。
允许在Mac、Linux和Windows上使用RC-4/RC-5。
要求
- Python2.7,3.4,3.5,3.6,3.7
- 串行端口驱动程序
- (用于RC-4系列)Silicon Labs CP210x USB-UART桥接VCP驱动程序。http://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx
- (对于rc-5)ch340串行驱动程序MacOSX(mac驱动程序不稳定)
- 对于Sierra签名的Mac OS驱动程序
https://blog.sengotta.net/signed-mac-os-driver-for-winchiphead-ch340-serial-bridge/
- 对于Sierra签名的Mac OS驱动程序
- pyserial(串行端口的数据访问库)
设置
安装串行端口驱动程序。
- 用于RC-4系列:CP210X USB-UART桥接VCP驱动程序。为您的平台下载并安装cp210x驱动程序。 http://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx
- 对于rc-5:ch340串行驱动程序MacOSX(mac驱动程序不稳定)
- 对于Sierra签名的Mac OS驱动程序
https://blog.sengotta.net/signed-mac-os-driver-for-winchiphead-ch340-serial-bridge/
- 对于Sierra签名的Mac OS驱动程序
安装依赖项。
$ python setup.py install
或pip
$ pip install elitech-datareader
- Linux:加入拨号组。需要重新启动。
sudo usermod -a -G dialout $USER
示例(脚本)
初始化设备。
初始化。记录间隔10秒。现在设置时钟。
$ elitech-datareader --command simple-set --interval=10 /dev/tty.SLAB_USBtoUART # RC-4 on macosx
# /dev/tty.wchusbserialfd1430 # RC-5 on macosx
获取数据
按停止按钮停止录制。
输出到标准输出。
$ elitech-datareader --command get /dev/tty.SLAB_USBtoUART
6
1 2015-06-07 13:53:36 25.0
2 2015-06-07 13:53:46 25.1
3 2015-06-07 13:53:56 25.1
4 2015-06-07 13:54:06 25.1
5 2015-06-07 13:54:16 25.1
6 2015-06-07 13:54:26 25.1
Elitech设备以“页面大小”为单位获取数据。 页面大小由设备型号决定。RC4是100,RC5是500。
您可以直接指定页面大小,使用可选参数——页面大小。(用于调试)
$ elitech-datareader --command get --page_size=500 /dev/tty.SLAB_USBtoUART
6
1 2015-06-07 13:53:36 25.0
2 2015-06-07 13:53:46 25.1
3 2015-06-07 13:53:56 25.1
4 2015-06-07 13:54:06 25.1
5 2015-06-07 13:54:16 25.1
6 2015-06-07 13:54:26 25.1
获取最新数据
$ elitech-datareader --command latest /dev/tty.SLAB_USBtoUART
6 2015-06-07 13:54:26 25.1
$ elitech-datareader --command latest --value_only /dev/tty.SLAB_USBtoUART
25.2
获取设备信息
获取设备信息。
$ elitech-datareader --command devinfo --encode=utf8 /dev/tty.SLAB_USBtoUART
station_no=3
last_online=2015-06-09 01:13:13
temp_unit=TemperatureUnit.C
alarm=AlarmSetting.NONE
work_sts=WorkStatus.STOP
lower_limit=-30.0
tone_set=ToneSet.NONE
rec_count=272
upper_limit=60.0
delay=0.0
stop_button=StopButton.ENABLE
current=2015-06-09 07:42:00
start_time=2015-06-07 13:53:36
rec_interval=00:00:10
temp_calibration=-1.5
user_info=RC-4 Data Logger
dev_num=9900112233
user_info
是多字节文本。使用--encode选项。(默认UTF8)
在elitech软件(logger data management software v2.0,rc logger)上,用户信息被编码成各种字符集。(GBK,MS932)。
$ elitech-datareader --command devinfo --encode=gbk /dev/tty.SLAB_USBtoUART # for mac os Rc Logger software
看。https://github.com/civic/elitech-datareader/issues/17
参数集
设置设备参数。
$ elitech-datareader --command set --interval=10 --upper_limit=60.0 --lower_limit=-30.0 \
--station_no=1 --stop_button=y --delay=0.0 --tone_set=y --alarm=x --temp_unit=C \
--temp_calibration=-1.5 --dev_num=1234567890 --encode=utf8 --user_info="UserInfoユーザー情報" /dev/tty.SLAB_USBtoUART
user_info
是多字节文本。使用--encode选项。(默认UTF8)
调试原始通信
发送原始请求数据。接收响应数据。
$ elitech-datareader --command raw --req="CC 00 06 00 D2" -res_len=4 /dev/tty.SLAB_USBtoUART
response length=4
55 01 01 32
注(串行端口)
如果通信不稳定,请尝试--ser_baudrate
和--ser_timeout
选项。
$ elitech-datareader --command devinfo --ser_baudrate 115200 --ser_timeout=10 /dev/tty.SLAB_USBtoUART
示例(python模块)
获取设备信息。
importelitechdevice=elitech.Device("/dev/tty.SLAB_USBtoUART")devinfo=device.get_devinfo()print(devinfo.info)
获取记录数据
importelitechdevice=elitech.Device("/dev/tty.SLAB_USBtoUART")body=device.get_data()forelminbody:printelm
更新参数
device=elitech.Device("/dev/tty.SLAB_USBtoUART")devinfo=device.get_devinfo()# get current parameters.param_put=devinfo.to_param_put()#convart devinfo to parameterparam_put.rec_interval=datetime.time(0,0,10)# update parameterparam_put.stop_button=elitech.StopButton.ENABLE# update parameterparam_put_res=device.update(param_put)# update device