微电机、红外高温计、真空计、流量计、分子泵

微电机

小米微电机

接线

电机电源线接头

can通讯接线

官方自带软件调试

can通讯

USB转can (串口)

代码参考1

树莓派控制

红外高温计

IGA 6/23 Advanced

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import streamlit as st
import serial

# 此处还差建立页面的代码

with st.sidebar:
if st.button("开始正面测温", key="openPyrometer"):
# 打开串口
ser = serial.Serial('COM9', 19200, timeout=1, parity=serial.PARITY_EVEN) # 请替换为实际串口和波特率
if st.button("CLOSE Pyrometer"):
ser.close()
else:
placeholder = st.empty()

for seconds in range(200):
with placeholder.container():

if ser:
hex_data = "30 30 6D 73 0D"
data_to_send = bytes.fromhex(hex_data)
ser.write(data_to_send)
response = ser.read(10)

st.metric(label="Temperature", value=str(response)[2:6]+" °C")

st.write(seconds)

time.sleep(1)

ser.close()

直流电阻测量

慧谱HL2511

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import serial
import time
from binascii import b2a_hex, unhexlify

def query_resistance_value(serial_port='/dev/ttyUSB0', baudrate=9600, timeout=1):
try:
# 打开串口
ser = serial.Serial(port=serial_port, baudrate=baudrate, timeout=timeout)

# 等待设备准备好
time.sleep(2)

# 发送查询命令,根据文档,命令格式为 AB+命令字+数据和小数点+单位+AF
# 假设查询电阻值的命令字为 "01"(实际命令字应根据设备协议确定)
query_command = "01030001000C140F"
query_str = bytes.fromhex(query_command)

# 发送命令
ser.write(query_str)

# 读取设备响应,假设返回的值为数码管显示的数据
response = str(b2a_hex(ser.read(size=16)))

# 关闭串口
ser.close()

return response
except Exception as e:
print(f"通信失败: {e}")
return None

# 使用串口查询电阻值
resistance_value = query_resistance_value() # 根据实际串口调整
print(f"当前电阻测量值: {resistance_value}")

温控仪

光测未来

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

import serial

# 设置串口参数
ser = serial.Serial(
port='/dev/ttyUSB4', # 替换为实际的串口号,如'COM1'或'/dev/ttyUSB0'
baudrate=38400, # 波特率
parity=serial.PARITY_NONE, # 无校验位
stopbits=serial.STOPBITS_ONE, # 停止位
bytesize=serial.EIGHTBITS, # 数据位
timeout=1 # 超时时间
)

# 发送命令
command = 'DATADEMAND=1@'
ser.write(command.encode('utf-8'))

# 读取应答
response = ser.read(100) # 读取最多100个字节
print('应答:', response.decode('utf-8'))

# 关闭串口
ser.close()

  1. https://github.com/Tony607/Cybergear/blob/main/notebooks/cybergear.ipynb↩︎