Программирование валидатора наличных денег MEI на PythonPython

Программы на Python
Ответить
Anonymous
 Программирование валидатора наличных денег MEI на Python

Сообщение Anonymous »

Я пытаюсь связаться с MEI Advance Cash Validator с помощью Python, но пока безуспешно. Я использую библиотеку pyserial, машина подключена к COM-порту. Кроме того, я программирую под Ubuntu 18.

Все, что я отправляю на машину, игнорируется, и у меня нет ответа. Я пытаюсь следовать официальной документации, и там говорится, что формат должен быть следующим:
STX (0x02) — начало сообщения
Длина — количество байтов в сообщении
Тип сообщения
Поля данных
EXT (0x03) — конец сообщения
Контрольная сумма — контрольная сумма, обработанная XOR

Вот что я попробуйте:

Код: Выделить всё

ser = serial.Serial(
port='/dev/ttyS0',
baudrate = 9600,
#parity=serial.PARITY_ODD,
#stopbits=serial.STOPBITS_TWO,
bytesize=serial.SEVENBITS
)

def send(msg,ser):
r = chr(0x02)
r += "".join([chr(i) for i in msg])
check = 0
for a in msg:
check = check^a
r += chr(0x03)
r += chr(check)
print("Sending", r.encode())
ser.write(r.encode())

m1 = [0x08,0x10,0x1F,0x14,0x00] #1F
m2 = [0x08,0x11,0x1F,0x15,0x00]

for i in range(5):
send(m1, ser)
send(m2, ser)
time.sleep(1)
out = 0
while ser.inWaiting() > 0:
print(ser.read(1),end="")
out += 1
if out > 0:
print()
ser.close()
И результат:

Код: Выделить всё

/home/timur/local/kmf/venv/bin/python /home/timur/local/kmf/example.py
Sending b'\x02\x08\x10\xc2\x9f\x14\x00\x03\xc2\x93'
Sending b'\x02\x08\x11\xc2\x9f\x15\x00\x03\xc2\x93'
Sending b'\x02\x08\x10\xc2\x9f\x14\x00\x03\xc2\x93'
Sending b'\x02\x08\x11\xc2\x9f\x15\x00\x03\xc2\x93'
Sending b'\x02\x08\x10\xc2\x9f\x14\x00\x03\xc2\x93'
Sending b'\x02\x08\x11\xc2\x9f\x15\x00\x03\xc2\x93'
Sending b'\x02\x08\x10\xc2\x9f\x14\x00\x03\xc2\x93'
Sending b'\x02\x08\x11\xc2\x9f\x15\x00\x03\xc2\x93'
Sending b'\x02\x08\x10\xc2\x9f\x14\x00\x03\xc2\x93'
Sending b'\x02\x08\x11\xc2\x9f\x15\x00\x03\xc2\x93'

Process finished with exit code 0
И поэтому машина вообще ни на что не отвечает :(

Буду очень признателен за любую помощь!!!

Подробнее здесь: https://stackoverflow.com/questions/524 ... ith-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»