ΠΠ°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠΎ ΡΡΡΡΡΠΈΠΊΠ°ΠΌΠΈ ΠΠ½ΠΊΠΎΡΠ΅ΠΊΡ ΠΠ΅ΡΠΊΡΡΠΈΠΉ
ΠΡΠΎΡ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΡΡΡΠΈΠΊΠ°ΠΌΠΈ ΠΌΠ°ΡΠΊΠΈ ΠΠ½ΠΊΠΎΡΠ΅ΠΊΡ ΠΠ΅ΡΠΊΡΡΠΈΠΉ, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΠ½Ρ (RS485/CAN) ΠΈΠ»ΠΈ TCP/IP.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ pip:
$ pip install mercury-base
ΠΠΈΠ±ΠΎ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π² ΡΠ°ΠΉΠ» requirements.txt Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π° python Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
mercury-base~=1.6
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΡΠΊΡΠ°Π½ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΌΠΎΡΠ½ΠΎΡΡΠΈ Π² Π½Π°Π³ΡΡΠ·ΠΊΠ΅ Π΄Π»Ρ ΡΡΡΡΡΠΈΠΊΠ° ΠΠ΅ΡΠΊΡΡΠΈΠΉ 206 Ρ ΡΠ΅ΡΠ΅Π²ΡΠΌ Π°Π΄ΡΠ΅ΡΠΎΠΌ 12345678 (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΡΠ΅ΡΠΈΠΉΠ½ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΡΡΡΡΡΠΈΠΊΠ°), ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌΡ ΠΏΠΎΡΡΡ /dev/ttyACM0:
from mercury_base import Meter, SerialDataTransport
transport = SerialDataTransport('/dev/ttyACM0')
meter = Meter(12345678, transport)
print('ΠΠΎΠ΄Π΅Π»Ρ ΡΡΡΡΡΠΈΠΊΠ° - ΠΠ΅ΡΠΊΡΡΠΈΠΉ %s, ΡΠ΅ΡΠΈΠΉΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ %s' % meter.model, meter.serial_number)
current_power = meter.command('get_load_power')
print('Π’Π΅ΠΊΡΡΠ°Ρ ΠΌΠΎΡΠ½ΠΎΡΡΡ Π² Π½Π°Π³ΡΡΠ·ΠΊΠ΅ - %s ΠΊΠΡ' % current_power)
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΡΡΡΡΠΈΠΊΡ ΠΏΠΎ TCP/IP:
from mercury_base import Meter, TcpDataTransport
transport = TcpDataTransport('192.168.0.2', 5051)
meter = Meter(12345678, transport)
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΡΡΡΡΠΈΠΊΡ ΠΏΠΎ TCP/IP:
from mercury_base import Meter, TcpDataTransport
transport = TcpDataTransport('192.168.0.2', 5051)
meter = Meter(12345678, transport)
ΠΠΎΠΌΠ°Π½Π΄Ρ
Π‘ΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°:
- Mercury V1 (Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΡΠ°Π·Π½ΡΡ ΡΡΡΡΡΠΈΠΊΠΎΠ² ΠΠ΅ΡΠΊΡΡΠΈΠΉ 200, 201, 203 ΠΈ 206)
- Mercury V2 (Π΄Π»Ρ ΡΡΡΡ ΡΠ°Π·Π½ΡΡ ΡΡΡΡΡΠΈΠΊΠΎΠ² ΠΠ΅ΡΠΊΡΡΠΈΠΉ 203.2TD, 204, 208, 230, 231, 234, 236, ΠΈ 238)