RDTECHU/DPS系列设备接口工具

rdserialtool的Python项目详细描述


rdserialtool-rdtech um/dps系列设备接口工具



此程序目前处于早期阶段,可能会发生显著变化。


此程序提供对
rdtech(ruideng)um和dps系列设备的监视、控制和配置访问。

um24c,um25c和um34c是低成本的usb直通电源
测量设备,支持相当数量的采集功能,
以及通过蓝牙的完全控制。(这些
设备的非C版本支持与C版本相同的功能,但不支持
蓝牙控制。)


DPS系列是可编程的DC-DC电源,系列中的许多
设备支持通过USB上的modbus rtu串行
协议进行外部通信或蓝牙。





-um24c、um25c和um34c支持已完成并经过测试。
-dps5005支持已完成并经过测试。dps
系列(dps3005、dps5015、dps5020、dps8005、dph5005)中的其他设备的性能应相同。(欢迎使用状态报告和错误。)
-在Python3.6下测试,但应适用于3.4或更高版本。
-Linux:在Pybluez(Direct)和Pyserial上测试良好(例如通过rfcomm bind
/dev/rfcomm0)。以及DPS设备上的直接USB串行(例如
/dev/ttyusb0)。
-windows:使用pyserial测试良好(例如,由windows自动设置的com4)。作者无法获得Pybluez
已编译/已安装。
-macos:当使用PySerial(例如,由macos自动设置的dev/cu.um24c-port
)时,对设备的写入将成功(例如,通过
0xf2旋转um系列上的屏幕),但从设备的读取将永远不会到达。作者无法编译/安装Pybluez。



setup

具体取决于您使用的连接方法。安装方式因操作系统而异,但在debian/ubuntu上,可以分别通过
python3 pybluez和python3串行软件包获得这些安装方式。

rdserialtool的安装方式:

$sudo python3 setup.py install

rdserialtool也可以直接从其源代码运行没有安装的目录。




Bluetooth设置

如果配对过程需要PIN码,
输入1234。


对于Linux上的命令行安装:


$bluetoothctl
已注册的代理
[蓝牙]\scan on
已开始发现
[新]设备00:90:72:56:98:d7 um24c
[chg]设备00:90:72:56:98:d7 rssi:-60
[蓝牙]\pair00:90:72:56:98:d7
尝试与00:90:72:56:98:d7配对
[chg]设备00:90:72:56:98:d7连接:是
请求管脚代码
[um241M[代理]输入管脚代码:1234
[chg]设备00:90:72:56:98:d7 uuids:00001101-0000-1000-8000-00805F9B34FB
[chg]设备00:90:72:56:98:D7服务已解决:是
[chg]设备00:90:72:56:98:D7已配对:是
配对成功
[bluetooth]\trust 00:90:72:56:98:D7
[chg]设备00:90:72:56:98:D7受信任:是
更改00:90:72:56:98:D7信任成功
[bluetooth]\exit
未注册的代理

设备MAC地址将有所不同。同样,设备的pin是1234。

请参见:

$rdserialtool--help

common选项之后,需要一个命令(可用命令在上面的--help中)。例如,要通过pybluez从um24c获取设备信息:


$rdserialtool--bluetooth address=00:90:72:56:98:d7 um24c


,或者通过pyserial:

$rdserialtool--serial device=/dev/rfcomm0 um24c

在命令之后,可以使用特定的命令相关选项。对于
示例,查看DPS设备可用的选项:

$rdserialtool dps--help


,并打开DPS设备的输出:

$rdserialtool--bluetooth address=00:ba:68:00:47:3A dps--set output state=on


--蓝牙地址=00:15:A6:00:36:2F UM25C
RDSerialtool
版权所有(C)2019 Ryan Finnie

连接到UM25C 00:15:A6:00:36:2F
已建立连接

USB:5.062V、0.1146A、0.580W、44.1Ω
数据:0.01V+、0.00V-,充电模式:DCP 1.5A
记录(关):0.000Ah,0.000Wh,0秒AT>;=0.13A
数据组:
*0:0.001Ah,0.009Wh 5:0.000Ah,0.000Wh
1:0.000Ah,0.000Wh 6:0.000Ah,0.000Wh
2:0.000Ah,0.000wh 7:0.000ah,0.000wh
3:0.000ah,0.000wh 8:0.000ah,0.000wh
4:0.000ah,0.000wh 9:0.000ah,0.000wh
um25c,温度:25c(78f)
屏幕:1/6,亮度:4/5,超时:2分钟
采集时间:2019-02-23 22:53:08.468732


$rdserialtool--蓝牙地址=00:ba:68:00:47:3A dps
rdserialtool
版权所有(c)2019 Ryan Finnie


连接到dps 00:ba:68:00:47:3A
已建立连接

设置:5.00V,5.100A(cv)
输出(开):5.00V,0.15A,0.07W
输入:19.30V,保护:良好
亮度:4/5,钥匙锁:关
型号:5005,固件:14
收集时间:2019-02-23 22:55:24.721946



程序是自由软件;您可以重新分发它和/或修改它的BR/<自由软件基金会发布的GNU通用公共许可证的条款;许可证的2版本,或者(在BR/>您的选项)任何以后的版本。希望它是有用的,但是没有任何保证;甚至没有对特定用途的适销性或适用性的暗示保证。有关详细信息,请参见GNU
通用公共许可证。

此工具不隶属于RDtech或由RDtech认可。



另请参见Sigrok Wiki上的

-RDtech UM系列,其中包含了大量关于这些
工具上使用的协议的信息和反向工程设备。
-dps5005通信协议和android/windows软件,来自
制造商。
-opendps,dps5005的替换固件包。
(与rdserialtool不兼容,因为opendps使用自己的通信接口。)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
具有泛型的对象的oop Java数组   爪哇丑陋的数字找到第1500名UVA在线评委   SpringJava。lang.IllegalStateException:自动连线批注至少需要一个参数   java为什么我的系统找不到我的属性文件?   java有没有办法让Maven同时构建1.5和1.6字节码JAR?   java通过Sailfin中的header进行操作   使用向量、距离和图形   如果提供的登录信息是错误的,为什么java控件不进入else部分和Toast?   java如何为电子商务安卓应用程序存储产品列表   java保存声音首选项Libgdx Android   java无法在测试单元中调用JpaRepository   java使用批处理更新Cassandra表中的选定列,而不将其他列值设为null   java如何在log4j2中的手动代码配置中向appender添加级别?   从ImageIO返回的java Null。读取(新的ByteArrayInputStream(bs));   java不确定如何防止此Arraylist处于可编辑状态   netbeans中的java更改清单(TrustedLibrary=true属性)   java无法使用RestTemplate和Spring数据REST发布具有关系的新实体