Случайно сегодня обнаружил, что существует на али недорогой провод от моего объектива к COM порту и ещё дешевле переходник COM порт USB с драйверами. И вот теперь вопрос, есть ли специалисты, которые умеют расшаривать COM порты таким образом... притом, что нужно посылать неизвестно и узнать, нагуглить вряд ли получится. Скорее всего только методом тыка. Возможно это и насколько сложно... ну и есть ли такие Ильи Муромцы )
P.S. Если это можно сделать с помощью питона. Тогда будет достаточно доброго совета, в каком направлении нужно копать.
разъём FUJIMI это с алихи - похож, но не он
Отредактировано DJ assNaut (, 2 года 10 месяцев назад)
если полный интерфейс не нужен, достаточно замкнуть - 2 и 3 (rx\tx) и проверить эхо в терминале, ну а дальше уже как карта ляжет. не забиваем что порты есть реальные и виртуальные , а так же различные скорости и стоповые биты. пишите хоть на фортране или алголе 😆 эт не ум, здесь нужен протокол обмена, и\или знать команды ,- как например в контроллерах дисков.
Программирование микросхем памяти в корпусахDIP48TSOP48\56SSOP56BGA48\63\64WSON8TQFP32\44PLCC44PSOP44
c Com портом можно через Windows Hyper Terminal, но его нет в последних версиях, отдельно можно скачать, есть и другие софтины, для линухи например putty ,чтобы знать что посылать/принимать, надо описание протокола, можно поискать в интернете, если вручную, можно и скрипт написать с COM портом винда работает как с файлом З.Ы. если на питоне смотри в сторону либы pySerial, может и другое что есть, главное не забывать что там есть синхронный и асинхронный режим работы, ну т.е. в асинхронном режиме программа продолжит работу не дожидаясь ответа, его надо будет ловить в подобие callback обработчика, а в синхронном будет ждать ответ
если полный интерфейс не нужен, достаточно замкнуть - 2 и 3 (rx\tx) и проверить эхо в терминале, ну а дальше уже как карта ляжет. не забиваем что порты есть реальные и виртуальные , а так же различные скорости и стоповые биты. пишите хоть на фортране или алголе 😆 эт не ум, здесь нужен протокол обмена, и\или знать команды ,- как например в контроллерах дисков.
да какие там команды, если управление силой нажатия кпопки
c Com портом можно через Windows Hyper Terminal, но его нет в последних версиях, отдельно можно скачать, есть и другие софтины, для линухи например putty ,чтобы знать что посылать/принимать, надо описание протокола, можно поискать в интернете, если вручную, можно и скрипт написать с COM портом винда работает как с файлом З.Ы. если на питоне смотри в сторону либы pySerial, может и другое что есть, главное не забывать что там есть синхронный и асинхронный режим работы, ну т.е. в асинхронном режиме программа продолжит работу не дожидаясь ответа, его надо будет ловить в подобие callback обработчика, а в синхронном будет ждать ответ
ну если прям дорого ) тогда лучше своими руками ) как получится )
наводку я тебе написал, пробуй в терминале ответ увидеть и команды посылать, х.з. может там все просто типа ZOOM UP, ZOOM DOWN или + - как понятно будет что посылать/принимать, тогда и скрипт напишешь в любом случае лучше по модели объектива маны поискать, скорее всего там есть описание протокола
ну если прям дорого ) тогда лучше своими руками ) как получится )
наводку я тебе написал, пробуй в терминале ответ увидеть и команды посылать, х.з. может там все просто типа ZOOM UP, ZOOM DOWN или + - как понятно будет что посылать/принимать, тогда и скрипт напишешь в любом случае лучше по модели объектива маны поискать, скорее всего там есть описание протокола
да у них у всех одинаковый протокол, ENG объективы FUJINON вопрос в том, что хрен найдёшь информацию единственно, что раздобыл это вот это
че тут осиливать 🙂 хотя если с пробелами накосячит или табом ткнет - не откомпилится 🙂
import time import serial
# configure the serial connections (the parameters differs on the device you are connecting to) ser = serial.Serial( port='/dev/ttyUSB1', baudrate=9600, parity=serial.PARITY_ODD, stopbits=serial.STOPBITS_TWO, bytesize=serial.SEVENBITS )
ser.open() ser.isOpen()
print 'Enter your commands below.\r\nInsert "exit" to leave the application.'
input=1 while 1 : # get keyboard input input = raw_input(">> ") # Python 3 users # input = input(">> ") if input == 'exit': ser.close() exit() else: # send the character to the device # (note that I happend a \r\n carriage return and line feed to the characters - this is requested by my device) ser.write(input + '\r\n') out = '' # let's wait one second before reading output (let's give device time to answer) time.sleep(1) while ser.inWaiting() > 0: out += ser.read(1)
Hanks, твои ссылки не смотрел. То что нашел я не соответствует этому коду. Там команды побайтно собирать надо. А не просто тяп-ляп.
Опять же видишь, ТС прямо на вопросы не отвечает, одни загадки. Муть какая-то. Была бы конкретика. Модель такая, хочу то-се. Модель объектива по словам "мой" не ищется. Поэтому судить сложно.
устанавливаешь com port toolkit от Голикова, там есть хорошая функция - Захват. И пробуешь свои команды. А программу потом, под всё это написать - это дело техники уже. Надо сначала протокол обмена отреверсить.
в самом начале был вопрос куда копать ? (pyton + rs-232) я сообщил о библиотеке pySerial, дело не в сборке и hex человеку нужен пример работы с com портом на pyton, а там что он будет слать/принимать hex, строки или структуры от протокола зависит 🙂 это не принципиально
Hanks, ну да. Мы просто немного о разном. В целом конечно да.
Ты просто привел в пример код и у ТС может возникнуть ложное чувство незначительности этой работы. Типа: а! Каво там 20 строчек. По факту мы же понимаем что это далеко не так.
вся беда в том что заказчик не может корректно сформулировать задачу из за за этого и все беды как в анекдоте З: Сделай мне сайт который зарабатывает много денег П: ну напиши постановку или лучше тех. задание З: ну я не знаю, ТЫЖПРОГРАММИСТ, ВСЯКО РАЗНО ДОЛЖЕН ЗНАТЬ 😀 😀 😀
Hanks, твои ссылки не смотрел. То что нашел я не соответствует этому коду. Там команды побайтно собирать надо. А не просто тяп-ляп.
Опять же видишь, ТС прямо на вопросы не отвечает, одни загадки. Муть какая-то. Была бы конкретика. Модель такая, хочу то-се. Модель объектива по словам "мой" не ищется. Поэтому судить сложно.
модель ничего не даст... я же говорю, они все одинаковый протокол имеют
вся беда в том что заказчик не может корректно сформулировать задачу из за за этого и все беды как в анекдоте З: Сделай мне сайт который зарабатывает много денег П: ну напиши постановку или лучше тех. задание З: ну я не знаю, ТЫЖПРОГРАММИСТ, ВСЯКО РАЗНО ДОЛЖЕН ЗНАТЬ 😀 😀 😀
я сказал задачу ) не понимаю, что не понятно ) нужно управлять зумом объектива удалённо, через 8 пиновый разъём FUJIMI даже распайку скинул )
куда ещё больше? ) самому всё сделать? ) тогда зачем бы я спрашивал? )))
Проблема в том, что я ошибся и на алихе не тот 8 пиновый разъём... чуть чуть отличается... поэтому не войдёт...
а если оригинальный fujimi покупать, то продаются только набором... а набор стоит, сколько объектив )
в самом начале был вопрос куда копать ? (pyton + rs-232) я сообщил о библиотеке pySerial, дело не в сборке и hex человеку нужен пример работы с com портом на pyton, а там что он будет слать/принимать hex, строки или структуры от протокола зависит 🙂 это не принципиально
питон да, потому что я в нём немного разбираюсь... можно и попроще способами, не принципиально маны www.lightcrafttech.com/support/doc/ вот это было сильно ) только вообще из другой темы ) но прикольно - управление камерами в виртуальной среде... мечта... и стоит наверное несколько миллионов... возможно долларов )
вот это было сильно ) только вообще из другой темы ) но прикольно
ну и каким образом то можно было догадаться чего тебе надо, если ты модели только недавно озвучил, странный ты тип, сначала ходишь вокруг да около, а потом такой когда все отписались - нате вам модели, помогайте мне 🙂 🙂 🙂 типа "что не понятно, все же написал" - разбирайся сам это проще и дешевле 🙂 З.Ы. сразу то не судьба было модели написать, тогда уже и результат был бы другой