Comments 10
Мораль: используйте стандартные протоколы. Их не нужно заново описывать в документации, и поведение при ошибках известно. Надеюсь, вы сделали описание протокола, выполнив работу за себя и за того парня?
А какой есть стандартный протокол для табло электронной очереди?
По физике это, конечно, странный мрак, можно же было бы использовать rs-422/485,
Но вообще мне кажется хорошей идеей делать самодокументирующиеся устройства, которые могут выплевывать текстовое описание себя в какой-то порт
Стандарта для табло очереди как такового нет — каждый производитель варит своё. По RS-485 согласен, выглядит как исторически сложившееся решение. Идея самодокументирующихся устройств хороша, но это табло явно из эпохи, когда о таком не думали — иначе бы я не сидел ночь над этой железкой )))
RS232 вообще-то придумывали конкретно для модемов, а пихают везде, куда ни попадя.
Прикрутить можно что угодно: хоть Modbus, хоть NMEA, AT-команды или DMX-512. Последний - вообще сам бог велел, протокол именно для тупого светового оборудования и придумывался.
Для самодокументирующегося нужна дуплексная связь, а тут, как я понял, симплекс. Да и контроллер там внутри скорее всего не такой умный, что проще протокол на шильдике написать)) А так бы, да, отправил туда текстом "Алиса, зажги номер 15Б. - Зажигаю." :)
Абсолютно согласен, но в моем случае ничего не осталось кроме как самостоятельно интерполировать протокол, т.к у все клиенты организации пользуются именно этими таблошками
Мораль - личная ответственность. За такое
Естественно я пошёл лично в отдел разработки и тестирования…
День 1: да-да, конечно, щас поищем…
День 3: да чет нету, давно было, ну ты потом подойди…
День 5: А тебе зачем?
День 7: Сеньор, не отрываясь от монитора: «Да там где-то в коде зашито глубоко, долго искать».
Надо их всех вот так сделать, чтобы усвоили наконец, небожители, что общим делом занимаемся а не в вовку гоняем или что у них там. Не увольнять но за такое строго наказать. А на 14 день можно и уволить. Знаю я этих чиловых парней, и вы к ним не одни в день приходите. Им просто насрать. Ну и за забор. Справедливо?
протокол норкомана
@kandarr4 А что за модель табло хоть? Когда работал с СУО, были много различных наименований: сфор, яник, диип (правда яники, цветные и чб вполне себе работали по udp). ПС Прошу простить за франкенштейна:
import socket
from time import sleep
from datetime import datetime
UDP_PORT = 22223
UDP_IP = '192.168.1.180'
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
while True:
now = datetime.now()
time_str = datetime.strftime(now, "%H:%M:%S")
# text = ('''at+tt=3,"''' + time_str + '''",1,1,2,2,5''') #1-razmer,2-begush_str,5-cvet
# text = ('''f'at+tt=3,"txt111",1,16,1,50,2,0,0', "Alternative order"''') #any text
text = ('''f'at+tt=3,"''' + time_str + '''" ,1,16,1,50,5,0,0', "Alternative order"''') #1shirina,5cvet
sock.sendto(text.encode('utf-8'), (UDP_IP, UDP_PORT))
print(f"Time: {time_str}")
print(f"Sent: {text}")
print("-" * 40)
sleep(3)
На табло только шильдик нашей организации — когда-то старый инженер спроектировал, китайцы собрали. Внутрь не залезал — они намертво склеены, а нерабочего экземпляра под рукой не нашлось. Как только попадёт в руки убитое табло — вскрою и сделаю реверс уже и по железу тоже. Пока производитель остаётся загадкой :)
Имею в коробке с хламом пару табло q-magic. Нигде так и не смог найти описание протокола управления. Может кто видел или есть дампы обмена с ними?
Реверс-инжиниринг безымянного табло электронной очереди: когда 1 бит весит целый байт, а математику за тебя делает ИИ