LINUX.ORG.RU

Устройства управления цепями UNC01x

 


0

2

Московская компания «Юниконтроллерз», появившаяся на рынке в конце 2010 года, избрала своей целью создание периферийного устройства для ПК, позволяющего управлять электрической нагрузкой. Читателям L.O.R. уже знакома их серия устройств UNC001, позволявших управлять через USB четырьмя реле. Сегодня компания официально сообщила о начале продаж новой серии устройств, получившей рабочее название UNC010.

«Наша основная цель всё та же,— рассказывает Андрей Столяров, генеральный директор компании,— предоставить любителям техники возможность быстро и без лишних схемотехнических сложностей реализовать компьютерное управление чем-то, в чём течёт электрический ток; дальнейшее ограничено только фантазией пользователя. Не изменилась и целевая аудитория — профессионалы и любители в области IT, умеющие держать в руках отвёртку. Паяльник в руки можно не брать, мы всё уже спаяли».

Не изменилась и ориентация компании на свободное программное обеспечение: и программы для управляющего компьютера, и прошивка устройства доступны в исходниках под лицензией GPL, причём разработчик рекомендует использовать Linux, хотя ПО для Windows тоже доступно. Но вот сами устройства, выпущенные в этот раз, от предыдущей своей версии отличаются довольно значительно. Во-первых, выполнены они в стандартных DIN-корпусах, что существенно облегчает их размещение. Во-вторых, повысились возможности расширения: каждое устройство имеет два слота, позволяющих установку модуля входов с четырьмя сигнальными линиями, либо модуля выходов, к которому можно присоединить четыре дополнительных внешних реле. Одна из выпущенных модификаций вообще не содержит в себе реле, предполагая, что они будут внешними; это может оказаться полезно для управления силовой нагрузкой, имеющей существенную мощность. Интересна возможность подключения шины 1-Wire (такая возможность теперь доступна также и для устройств «старой» серии). Стали существенно более гибкими возможности автономной работы устройства при отключённом управляющем компьютере.

По словам Столярова, в ближайшие планы «Юниконтроллерз» входит выпуск ряда деталей, подключаемых через 1-Wire, и многое другое. «Спасибо всем, кто участвовал в обсуждениях наших устройств в Интернете,— заключил руководитель компании.— Нет ничего полезнее конструктивной критики. Мы постарались учесть замечания, высказанные в наш адрес на разнообразных форумах, в том числе на Linux.org.ru. Результат мы счастливы сегодня предложить вниманию публики.»

>>> Подробности

★★★★★

Последнее исправление: maxcom (всего исправлений: 1)
Ответ на: комментарий от pacify

Наконец-то что-то в России начали производить. Так глядишь, и до CPU доберутся.

Наконец-то в России начали производить каменные топоры. Так глядишь, и до CPU доберутся.
Так смешнее...

af5 ★★★★★
()
Ответ на: комментарий от German_B

Модуль расширения для устройств серии UNC01x, организующий четыре входные (сигнальные) линии. Входная линия может находиться в замкнутом или разомкнутом состоянии, на смену состояния каждой линии может быть предусмотрена та или иная реакция. Модуль подходит ко всем моделям серии UNC01x (UNC010, UNC011 и UNC012).

где тут про «наличие напряжения»?

exception13 ★★★★★
()

опять дерьмовый софт-усб на авр ? нинужно... то же самое можно сделать на том же FT232 или любом мосте USB-RS232, будет гораздо дешевле и не требует столько аппаратной начинки, опять же не будет проблем с драйверами и поддержкой на разных системах...

qwerky
()
Ответ на: комментарий от AiFiLTr0

А ту приблуду для релешек я делал во времена когда тиньки стоили по 20рэ

А ты видел мой новый бентли, засранец? Таких моделей в Москве всего 3! Послушай, мы же с тобой профессионалы... Доставай, померимся...

anonymous
()
Ответ на: комментарий от German_B

Добавть реле с нормальноразомкнутым контактом и проверяй наличие напрядения

где датчик тока? кроме наличия надо еще проверять и потребление. а то что предлагает производитель нацелено на использование банальных кнопок для оффлайн работы.

exception13 ★★★★★
()
Ответ на: комментарий от qwerky

будет гораздо дешевле

Дешевле — не будет. Если подобную хреновину делать в одном-двух экземплярах, она с учётом потраченного времени встанет тысяч в двадцать, даже если время расчитывать по ставке младшего подметалы.

пять же не будет проблем с драйверами и поддержкой на разных системах...

Какие нахрен драйверы, написано же русским языком — это hid.

anonymous
()

Из Руководства по эксплуатации:

Максимальный допустимый радиационный фон, мЗв ........ 3

Мало, это же естественный радиационный фон. Чуть повысится и работа уже не гарантирована?

router ★★★★★
()
Ответ на: комментарий от anonymous

Дешевле — не будет. Если подобную хреновину делать в одном-двух экземплярах, она с учётом потраченного времени встанет тысяч в двадцать, даже если время расчитывать по ставке младшего подметалы.

ты упоролся. годный ftdi с bitbang/hostbusmode/spi/usart стоит копейки, трассировка, разводка платы или ЛУТ, травление занимает от получаса до нескольких часов.

exception13 ★★★★★
()
Ответ на: комментарий от qwerky

Всем, кто тут кукарекает «нинужно». Весь дьявол в деталях. У людей бизнес, и они готовы отвечать за свои решения. Как ты протокол подпишешь о приемо-сдаточных испытаниях на объекте? Пит Залупкинд, гусар-одиночка с мотором? А ты знаешь, какая тут статья?

PS: И кстати, драйвер для ftdi чипов, как был говном 5 лет назад, так им и остался. Даже скорость в 1 мбит установить нельзя.

anonymous
()
Ответ на: комментарий от exception13

годный ftdi

Чип - гавно, на самом деле. Виснет, и гораздо чаще, чем нужно. А библиотека ftdilib - это пример линуксового ковнокода.

anonymous
()
Ответ на: комментарий от anonymous

Чип - гавно, на самом деле. Виснет, и гораздо чаще, чем нужно. А библиотека ftdilib - это пример линуксового ковнокода.

okay. приведи аналоги. или это работник этой говноконторки прикрылся анонимусом и испытывает баттхерт от критики?

exception13 ★★★★★
()
Ответ на: комментарий от exception13

Да легко. UPS с rs232. Стандартные ком порты работают годами, вообще без вопросов. А эта помойка, ftdi_sio - /dev/ttyUSB? зависает раз в 60 дней регулярно.

anonymous
()

Комментарий виновника торжества :)

Всем доброго времени суток,

приятно видеть столь оживлённое обсуждение. На некоторые тезисы мне показалось уместным дать, что называется, комментарий из первых рук.

Итак, во-первых, и в-главных — по поводу «да такое и даже лучше можно сделать вот так и вот так». Конечно, можно! Если уметь. Пожалуй, правильнее будет сказать, что радиолюбители и тем более профессиональные схемотехники в нашу целевую аудиторию не входят (хотя, к моему удивлению, среди покупателей устройств первой серии такие были — мотивировали тем, что лень самим возиться; я их вполне понимаю, учитывая, сколько возни было у нас). Однако из утверждения «я такое сам слеплю» никоим образом не следует утверждение «оно никому не надо»: дело в том, что существует довольно обширная группа людей, которые отвёртку в руках держать умеют, а вот паяльник — нет. Что такие есть — в этом я уверен, я, простите, сам такой :) Замечу, схемотехническая часть дивайса сделана не мной, мой там только софт - прошивка и хостовая часть. А схему я бы сам не сделал, ибо не умею. Так что мне остаётся лишь принести свои извинения мастерам лазерно-утюжной технологии: да, вам наше устройство, наверное, полезно не будет, оно сделано в расчёте на совсем других людей. Собственно говоря, идея всего этого проекта появилась у меня достаточно давно и именно по той причине, что я не смог найти ответ на довольно простой вопрос: куда конкретно мне вот сейчас пойти, чтобы там купить железку, которую можно было бы воткнуть в комп и с компа щёлкать выключателем. Между прочим, ответа на этот вопрос нет до сих пор, если только наши дивайсы не считать. Ардуино не предлагать, это специфическая штука — я бы сказал, она для тех, кто очень хочет быть схемотехником, но почему-то не может. А есть ещё те, кто схемотехниками быть не хотят.

Управление производственной линией с помощью этой штуки — это, я бы сказал, сюжет для кошмарного сна. Разумеется, решения промышленного класса существуют гораздо более правильные во всех возможных смыслах. Чего нет — это решения для бытового уровня, для, условно говоря, программиста с отвёрткой (ну, вы поняли, о чём я). Кто скажет «есть», пусть сдаст координаты — куда в России обращаться, чтобы это купить. «Это» в данном случае означает примерно так: пойти, дать денег, взять нечто, прийти домой, воткнуть одной стороной в комп, другой стороной вместо выключателя вентилятора (обычного вентилятора, который на полу стоит, а не того, который в компе) и настольной лампы, и чтобы вентилятор с лампой можно было включать-выключать с клавиатуры. Вот у меня дома ровно это сделано. (Да, забыл сказать — чтобы никаких паяльников и ЛУТов и никакого разбирательства с тем, как надо соединять между собой модули Ардуины.) Кабы для этого было другое (готовое) решение, было бы на одну контору меньше :)

Далее, по поводу высокой стоимости. Открою инсайдерскую информацию: первая партия устройств имеет размер 100 (прописью: сто) экземпляров. Естественно, это ручной монтаж и ручная сборка, ну и, как можно догадаться, опытное производство печатных плат. В этих, гм, нечеловеческих условиях себестоимость устройства (без dev.costs, упаси аллах, только детали, платы, корпус, монтаж, сборка и тестирование) — так вот, оная себестоимость для нашей базовой модели UNC011 существенно зашкаливает за тысячу. Ещё раз повторю — это без учёта development costs, об их отбивке пока речи вообще не идёт. А ещё есть бухгалтерия и прочие организационные расходы, есть налоги, есть необходимость оставить 25% зазор для скидок ритейлерам, и так далее. Отпускная цена ниже быть не может в силу чисто объективных причин, мы бы сами её с удовольствием снизили, чтобы повысить количество.

Кстати, отдельное спасибо за идею с датчиками наличия тока :) Мы на эту тему обязательно подумаем.

Croco ★★★
()

Во-первых, выполнены они в стандартных DIN-корпусах, что существенно облегчает их размещение.

Это хорошо!

Deleted
()
Ответ на: комментарий от anonymous

Да легко. UPS с rs232

таки контекст совсем другой и не надо смешивать теплое с мягким. у меня болтается подключенным usb-serial на ftdi для консоли OBP уже наверное полгода и не завис плюс самопальный JTAG/HOSTBUS/SPI/I2C/ETC на ft2232 с которым тоже проблем пока не возникало. а по топику дорогое, не расширяемое и ненужное говно ибо USB для такого не приспособлено.

exception13 ★★★★★
()
Ответ на: Комментарий виновника торжества :) от Croco

Чего нет — это решения для бытового уровня, для, условно говоря, программиста с отвёрткой (ну, вы поняли, о чём я). Кто скажет «есть», пусть сдаст координаты — куда в России обращаться, чтобы это купить.

Есть: NetPing. Обзор на хабре . Хотя оно скорее под винду

router ★★★★★
()
Ответ на: комментарий от exception13

дорогое, не расширяемое и ненужное говно ибо USB для такого не приспособлено.

Это очень дорогое и очень надежное говно. Ему еще лет 15 жить. Мне гораздо дешевле поставить 5 виндовс-hosts, чем разбираться с говно-драйверами ftdi-sio в RHEL.

anonymous
()
Ответ на: Комментарий виновника торжества :) от Croco

Чего нет — это решения для бытового уровня, для, условно говоря, программиста с отвёрткой (ну, вы поняли, о чём я).

Андрей, мне очень нравятся ваши решения. Например - SPA салон. Доза экспозиции ультрофиолетовой лампы. Программа управляет током кварцевой лампы и временем экспозиции и автоматически расчитывает стоимость в зависимости от массы пациентки. Предварительное взвешивание на электронных весах, после - консультация психотерапевта.

anonymous
()
Ответ на: комментарий от anonymous

Для девочек с большими сиськами должны быть скидки?

anonymous
()
Ответ на: комментарий от router

Есть: NetPing. Обзор на хабре . Хотя оно скорее под винду

NetPing я смотрел, я его даже заказал и купил, и было это лет за пять до Unicontrollers. Не помню, как назывался тот дивайс, я его куда-то продевал в итоге. Всё бы хорошо, но реле там не было, там были тупо открытые коллекторы транзисторов, настолько тупо, что для подключения реле там нужно было ещё что-то куда-то припаять (диод, что-ли... ну в общем не разбираюсь я в схемотехнике). Если бы они вот столько-то лет назад смогли мне предложить даже не то чтобы непосредственно с релюхами дивайс, а хотя бы такой, в который релюхи просто включаются без дополнительных неочевидных телодвижений, то мне бы и в голову не пришло самому этот проект делать.

Croco ★★★
()
Ответ на: комментарий от exception13

мы вам много идей нагенерить может. главное скажите куда и в каком виде отсылать.

Ну, у нас на сайте форум есть. http://www.unicontrollers.com/forum (гм... где-то мимо проходил Капитан, не иначе) Все поданные идеи внимательно рассматриваются.

Croco ★★★
()
Ответ на: Комментарий виновника торжества :) от Croco

чтобы вентилятор с лампой можно было включать-выключать с клавиатуры.

Зачем? Для простых задач есть автоматика для дома с программируемыми таймерами и радиопультами, для которой даже компьютер не нужен.

quickquest ★★★★★
()
Ответ на: комментарий от anonymous

Например - SPA салон. Доза экспозиции ультрофиолетовой лампы.

Не, лучше так. Берётся бочка пива и соленоидный клапан. Клапан одним концом втыкается в бочку, на другой конец вешается шланг с загубником. Дозировка расчитывается исходя из количества нажатых клавиш, выдача корректируется с учётом изменений скорости набора. Во. Отдельной подпрограммой оформляется детект падения головы на клавиатуру, после чего для удобства пользователя выключается верхний свет.

Э-ммм... да, консультация нарколога тоже должна быть включена, видимо.

Croco ★★★
()
Ответ на: комментарий от quickquest

автоматика для дома

оспади. у нас тут скоро будет перзентация умного дома. надо сходить протроллировать это дело.

exception13 ★★★★★
()
Ответ на: комментарий от Croco

а готовы ли вы стандартизировать и развивать некую унифицированную и стандартизированную интерконнект шину для устройств? например некий core модуль c NM формфактором подключаемый к мультиплексору шин с совместимостью с шиной N0 + конфигурационное eeprom определяющее неким абстрактным языком описания конфигурацию (шины, ресурсы) целевой платы.

exception13 ★★★★★
()
Ответ на: комментарий от Croco

Всё бы хорошо, но реле там не было, там были тупо открытые коллекторы транзисторов, настолько тупо, что для подключения реле там нужно было ещё что-то куда-то припаять (диод, что-ли...

Если мне не изменяет склероз, подтягивать к линии питания через резистор. Да, это явно неудобно. Вроде сейчас исправили - есть некий «relay board» аж на 16 реле.

Кстати, по прочтении Руководства по эксплуатации возникли вопросы:

1)

Максимально допустимое напряжение, В, на встроенном реле .... 240

Если предположить, что пьяный электрик подключит вместо земли соседнюю фазу и в результате вместо 220 В имеем 380 В, что будет с UNC01X? Просто погибнет или возможен пожар?

2)

Максимально допустимое напряжение, В, на встроенном реле .... 240

Максимально допустимый ток на встроенном реле, А, при напряжении 240 В перем. .... 1,5

Т.е. максимальная мощность нагрузки ~ 200 Вт ?

240 * 1,5 = 360 ВА = 216 Вт

router ★★★★★
()
Ответ на: комментарий от router

Максимально допустимый ток на встроенном реле, А, при напряжении 240 В перем. .... 1,5

Т.е. максимальная мощность нагрузки ~ 200 Вт ?

И сразу вдогонку: есть какая-нибудь защита от КЗ в нагрузке?

router ★★★★★
()
Ответ на: комментарий от exception13

а готовы ли вы стандартизировать и развивать некую унифицированную и стандартизированную интерконнект шину для устройств?

Во-первых, такие уже есть (сходу в голову приходят 1-Wire, I2C, rs485, в конце концов). Во-вторых, лично я после взгляда внутрь USB глубоко убеждён, что техническая стандартизация — это такой особый вид международного терроризма, посему на всё, что касается стандартизации, у меня совершенно однозначная реакция.

Croco ★★★
()
Ответ на: Комментарий виновника торжества :) от Croco

«Это» в данном случае означает примерно так: пойти, дать денег, взять нечто,

Можно подумать, к вам можно прийти, дать денег и взять это нечто. Хрен там. Надо заполнять форму, в сберкассе оплачивать квитанцию, а потом, где-то через месяц, переть на почту и стоять очередь за посылкой. Таким макаром можно и из китая заказать - там выбор поразнообразнее.

но реле там не было, там были тупо открытые коллекторы транзисторов, настолько тупо, что для подключения реле там нужно было ещё что-то куда-то припаять

А чего так свет клином именно на реле сошелся? ОК - вещь более универсальная, туда можно, к примеру, оптосимистор подключить, у него контакты не подгорают. :) Это не тупое, а самое универсальное решение. Реле - это прошлый век. Но уж полениться повесить защитный диод параллельно катушки реле, а вместо этого изобрести новый велосипед - это нет слов...

forth32
()
Ответ на: Комментарий виновника торжества :) от Croco

Далее, по поводу высокой стоимости. Открою инсайдерскую информацию: первая партия устройств имеет размер 100 (прописью: сто) экземпляров. Естественно, это ручной монтаж и ручная сборка, ну и, как можно догадаться, опытное производство печатных плат.

У меня разрыв шаблона, может бросить работу инженера и пойти к вам сборщиком-монтажником. С такими ценами, у вас там классные бабки должны заколачивать. Если конечно ваши сотрудники, не первый раз в руках паяльники держат. На дворе 2012 год, плата под DIP, выводной монтаж... бррр. Мелкосерийная под SMD дешевле будет. Вопрос ценообразования даже обсуждать не хочу. Разработка разовая затрата, цена на конечное изделие включает в себя эти затраты. Но сумма размазывается, на предполагаемое количество произведенных плат за время жизни проекта. Завязываю, надеюсь рынок вы анализировали и уверены что будет приносить прибыль.

anonymous
()
Ответ на: комментарий от Deleted

Что за тормозной хостинг? Мои сайты и то быстрее вдесятером бегают через один общий домашний канал в Интернет. Memcached и Nginx хостер не предоставляет ? Срочно рекомендую перейти с тормоза Apache на связку Nginx+PHP-FPM усиленную Memcached.

А Вы на генте сервер держите?

ktulhu666 ☆☆☆
()
Ответ на: комментарий от router

Если предположить, что пьяный электрик подключит вместо земли соседнюю фазу и в результате вместо 220 В имеем 380 В, что будет с UNC01X?

Ничего не будет. Даже не погибнет. Это не значит, конечно, что его всегда надо так включать и тем более не значит, что нужно пользоваться услугами пьяных электриков.

Если серьёзно, то мы вполне намеренно жгли эти наши встроенные реле, чтобы посмотреть, как и что будет происходить. Подключали двухкиловаттную печку и несколько раз её средствами дивайса включали-выключали. Реле в итоге делает «пых» с облачном синего дыма и деформацией корпуса, ничего, естественно, не загорается, просто перестаёт работать. Заменой реле дивайс приводится в полностью рабочее состояние.

Нагрузки порядка 300 Вт (компьютеры, попросту говоря) никаких проблем не создают, имеются дивайсы в ежедневной эксплуатации с декабря 2010 г., ни один ещё не помер.

Croco ★★★
()
Ответ на: комментарий от forth32

Можно подумать, к вам можно прийти, дать денег и взять это нечто. Хрен там. Надо заполнять форму, в сберкассе оплачивать квитанцию, а потом, где-то через месяц, переть на почту и стоять очередь за посылкой.

Если в Москве — то всё гораздо проще, курьер к вам сам приедет и «нечто» привезёт, останется только денег дать. Если не в Москве — ну да, есть такое, розничной сети с точками по всей россии у нас нет :-) Но из Китая заказать, как ни странно, вот прямо чтобы такой дивайс, который втыкаем и он реле перещелкивает — мы не нашли.

ОК - вещь более универсальная, туда можно, к примеру, оптосимистор подключить, у него контакты не подгорают.

Ещё раз, и медленно: я схемотехнику не только не знаю, но и знать её не хочу. Схематически UNC0xx — дело рук не моих, мои там только софт, включая прошивку, и техзадание. И предназначен дивайс для людей таких же, как я — которые схемотехнику не знают и паять не умеют. Или не хотят. Такие люди есть и их несколько больше, чем вам могло показаться. На реле свет клином сошелся лишь по той причине, что реле — это хрень чисто силовая, сиречь не электроника и к схемотехнике отношения не имеющая, как с реле обращаться — понимает каждый, кто вообще приблизительно представляет, что такое электричество, а с этими вашими открытыми коллекторами — ну я вот, например, обращаться не умею.

Впрочем, наши нынешние дивайсы позволяют на управляемые каналы вешать что угодно. На прицеле, конечно, внешние реле, но вам никто не мешает туда повесить хоть чёрта лысого, лишь бы не слишком мощного.

Впрочем, лично вам, конечно, вряд ли туда что-то доведётся вешать, вы в нашу целевую аудиторию заведомо не попадаете — кто умеет схемы делать сам, тот, наверное, сам и сделает.

Croco ★★★
()
Ответ на: комментарий от ktulhu666

Сервер пока еще содержится на Gentoo. Лет пять назад экспериментировал с FreeBSD.

Теперь изучаю как можно Gentoo заменить на NixOS, а PHP и Ruby на Haskell. А возможно и Nginx когда-нибудь заменю на сервер, написанный на Haskell.

Почему пока еще Gentoo: Лучше нее ничего нет.

Почему и сервер, а не только дектопы и ноут, не на NixOS: Нет на ней нужных мне конфигураций приложений. Сейчас изучаю как перенести конфигурации и мои ebuildы на описание на языке nix. О результатах переезда сервера с Gentoo на NixOS обязательно попробую расскать по-русски на runixos.ru - временно это всего лишь редирект на сайт разработчиков.

Deleted
()
Ответ на: комментарий от anonymous

Какие нахрен драйверы, написано же русским языком — это hid.

И к каким же Usage Page и Usage отнесено данное устройство? Нумер из спеков HID в студию + Protocol code из Interface Descriptor.

Или это тот самый специальный абсолютно нестандартный виндовозный hid который используют всякие криворукие «умельцы» неосилившие поставить libusb-win32?

ЗЫ: в винде HID только клавиатуру с мышью и джойстиком знает. При втыкании реального HID - девайса с Usage Page - Alphanumeric display и Usage - Bitmapped Display винда впадает в ступор и показывает голубой экран, вместо того, чтобы дать стандартный gdi интерфейс к этому девайсу :) В каких-то редких других случаях она позволяет пользоваться функциями api для прямого доступа к endpoint'ам hid-девайса.

В общем, это костылище такое огромное. За его использование хорошо бы в рыло стучать, пока использующий не удосужится понять, что hid-девайсы должны обслуживаться системой, а не юзером, и что винда - далеко не единственная система на свете.

А вообще - для подобных штуковин есть замечательные bulk endpoint'ы.

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

И к каким же Usage Page и Usage отнесено данное устройство? Нумер из спеков HID в студию + Protocol code из Interface Descriptor.

0x06, 0x00, 0xff, // USAGE_PAGE (Generic Desktop) 0x09, 0x01, // USAGE (Vendor Usage 1)

Можно было бы и догадаться, кстати.

«умельцы» неосилившие поставить libusb-win32?

Благодарю покорно, мы этого монстра уже ставили. Самая первая версия UNC001 была на libusb расчитана. Так вот, себе-то его мы вполне можем поставить, несмотря даже на то, что вообще-то винду мы категорически не любим как класс.

Вы вот мне лучше расскажите, как сделать под винду программу БЕЗ ИНСТАЛЛЯТОРА (it's a rule, вопросы вида «а почему бы не сделать инсталлятор» не рассматриваются вообще, то есть совсем — мы, в отличие от большинства виндовых разработчиков, нашего пользователя уважаем и в комп ему не гадим), чтобы она ещё и работала с libusb, в том числе в случаях, когда у пользователя таковая в системе уже есть и, естественно, по закону подлости имеет другую версию. Вот под Linux'ом проще, там libusb можно статически вкомпилить в бинарник — что, собственно, и сделано в итоге. Исходники, разумеется, доступны, GPL3 и всё такое, но не всем охота ставить libusb-dev, потом говорить make и всё такое. Но вот под винду такие штуки не проходят, винде вынь да положь драйвер и прочие приседания и троекратное «ку».

Вообще, по моим наблюдениям, виндовый вариант libusb годится только особо изощрённым мазохистам. А у HID'а в этом плане есть явное достоинство — при виде HID'а винда хотя бы не требует, чтобы ей какой-то там драйвер немедленно выдали. Аналогичным достоинством обладает разве что MassStorage, но это уже было бы совсем по-панковски :)

в винде HID только клавиатуру с мышью и джойстиком знает.

Наша хреновина не является (и не прикидывается) ни тем, ни другим, и тем не менее винда ни в какой ступор не впадает. А управляющая программа представляет собой exe, не требующий инсталляции. Всё работает сразу после втыкания устройства в порт и запуска этой .exe'шки.

Для любителей самостоятельной пересборки отметим, что виндовая сборка производится с помощью MinGW, причём кроме собственно MinGW и того, что там входит в его комплект, требуются только наши исходники. Никаких лишних библиотек. Поставили MinGW, раскрыли архив исходников, всё собралось. Исходники, что характерно, те же, что и под Linux, отличие только в Makefile и плюс там модуль лишний, который под Linux'ом не используется, называется hidapi :) (нет, не наш, конечно, только чуток пропатченный) Что касается USB со всеми её спеками, то, как я уже выше говорил, именно стандарт USB окончательно убедил меня в том, что комитеты по техническим стандартам состоят из международных террористов. USB — это катастрофа, и деятельность разработчика должна быть направлена на то, чтобы последствия этой катастрофы были как можно менее ощутимы для пользователя. Иначе говоря, с USB надо бороться, а не прогибаться под неё. Мне представляется, что мы её в итоге более-менее побороли. Большего нам не надо.

Croco ★★★
()
Ответ на: комментарий от Stanson

Вдогонку: bulk endpoints вообще-то совершенно для другого, но это мелочи. При более внимательном просмотре вашего сообщения отдельно доставил пассаж про то, что винда - не единственная система, ага. Особенно если учесть, что у нас исходно базовой системой является Linux, что же лично до меня, то я об винду не марал руки с 1997 года, когда у меня в очередной раз слетела Win95 и я не стал её восстанавливать, и до 2010, когда пришлось снова вспомнить, как с этим мелкомягким убожищем надо обращаться — спасибо обсуждаемому проекту, ага. Хвала аллаху и создателям MinGW, сейчас винду побороть можно с меньшими кровопотерями, нежели 15 лет назад.

Croco ★★★
()
Ответ на: комментарий от Croco

USAGE (Vendor Usage 1)

Гениально :) Всё в духе винды, ага.

Вы вот мне лучше расскажите, как сделать под винду программу БЕЗ ИНСТАЛЛЯТОРА

Ну собираешь бинарник и всё. Делов-то.

чтобы она ещё и работала с libusb, в том числе в случаях, когда у пользователя таковая в системе уже есть и, естественно, по закону подлости имеет другую версию.

По секрету скажу, что у libusb 2 версии - 0.1 и 1.0. При этом вторая имеет compatibility level с 0.1

Поэтому приложению наплевать какая libusb стоит в системе.

Иначе говоря, с USB надо бороться, а не прогибаться под неё.

Ублюдочный протокол, да, но _бороться_ с ним??? :) :) :)

винде вынь да положь драйвер и прочие приседания и троекратное «ку».

Кто мешает сделать CDC Ether, CDC Serial для которых тоже ненужно никаких драйверов под винду, но оно хотя бы стандартно, и без всякого дерьма типа Vendor_чего_там?

Да даже USB Storage можно - при этом можно такую нарядную ФС сделать, что даже софтины никакой не нужно будет для управления девайсом, кстати.

Один из вариантов - на ФС USB-Storage кладёшь файлики html со ссылками друг-на друга для вкл-выкл и живую html-ку для статистики-статуса - в любой системе работает без какого-либо бубна ваще. :)

bulk endpoints вообще-то совершенно для другого, но это мелочи.

И для чего же они? Я всегда думал что для максимально быстрой нерегулярной передачи данных в произвольный момент, что и требуется для подобной автоматики.

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

Гениально :) Всё в духе винды, ага.

Я бы сказал, это скорее в духе USB. Так или иначе, libusb вообще-то эти все дескрипторы просто игнорирует благополучно; под Linux'ом мы используем libusb и проблем не имеем (и с самого начала не имели). Под виндой проблемы есть, и вот это вот Vendor Usage 1 их позволяет снять — все разом, одним махом. Вот только что проблемы были, теперь нет. Посему можно сказать, что все наши пляски с hid descriptor были исходно ориентированы на то, чтобы клятая винда заткнулась, и что результат получился «в духе винды» (я, правда, не понял, по какой классификации, ну да ладно) — дык и хрен бы с ним, по большому счёту.

Ну собираешь бинарник и всё. Делов-то.

Во-первых, libusb-win32 статически линковаться не хочет, и статического варианта либы на сайте не дают. Наверное, это возможно, если её мейкфайлы хакнуть, но разработчик такого варианта не предусматривает.

Во-вторых, к libusb-win32 прилагается ДРАЙВЕР. Который должен быть поставлен. Всё, точка. Дальше можно не смотреть. Инструкции, как обойтись без инстялляции чего бы то ни было при работе с libusb-win32, я не нашел. Смею заверить, искал — потому что в первой версии у нас этот hid descr вообще напоминал сводку погоды в африке, так что винда без libusb категорически отказывалась вообще признавать существование таких дивайсов. Так что сначала мы честно пытались приручить libusb-win32. Дескриптор стал корректным, когда было чётко осознано — libusb под виндой являет собой путь бесперспективный.

Ну то есть я не утверждаю, что всё это нельзя обойти, если вооружиться вооооот таким рашпилем и долго и вдумчиво всё это дело обрабатывать. Проблема в том, что у нас (а) винда не основная и (б) нанимать опытного виндузятного девелопера накладно для бюджета, да и гипотетический результат того не стоит. Посему задача стояла несколько иначе: не как сделать «правильно» (особенно если это «правильно» подразумевает «в духе USB»), а как с наименьшим геморроем заставить софт, написанный для Linux, работать под виндой.

Ублюдочный протокол, да, но _бороться_ с ним??? :) :) :)

Тьфу ты ну ты, а что, всё это биение лбом об стену в попытках понять, что этой скотине надо на этот раз — это на «борьбу» не тянет? :-) Ну ладно, снимаю предложение «бороться», но уж думать о том, что работающее решение «некрасиво», ибо «не соответствует духу USB» — да по мне весь этот USBшный дух надо вентиляторами, вентиляторами... а тех, кто USB придумал — лучше, пожалуй, из базуки. В назидание другим. Это ж не просто «комитет придумал», это там наслоения от целых поколений комитетов. А посреди всего этого великолепия — поллинг. Что характерно, это далеко не все осознают, что в начале третьего тысячелетия победил промышленный стандарт, предполагающий общение с периферией исключительно поллинговое. Только удивляются, откуда это берётся небольшой, но постоянный CPU load при подключении USB-клавиатуры.

В любом случае, я чё-та не догоняю, вы таки сторонник корректной работы с USB (в смысле, все классы/эндпоинты/дескрипторы оформлять «как надо» и приседать сколько положено) или сторонник libusb? Одновременно не получится: libusb тем и хороша, что на эти все дескрипторы плюёт с оттягом.

Один из вариантов - на ФС USB-Storage кладёшь файлики html со ссылками друг-на друга для вкл-выкл и живую html-ку для статистики-статуса - в любой системе работает без какого-либо бубна ваще. :)

Класс :) Особенно если учесть 8 Kb программной памяти контроллера, из которых и так больше половины занимает драйвер USB.

Но вообще подход красивый, да :) Не могу не признать :)

И для чего же они? Я всегда думал что для максимально быстрой нерегулярной передачи данных в произвольный момент,

Насколько я понимаю, там ещё уточнение есть про значительный объём. Ну то есть это всякие аудио-видео-потоки. Хотя, конечно, могу ошибаться.

А для «такой» автоматики как раз оперативность передачи не слишком важна, т.к. время срабатывания реле в любом случае достаточно ощутимое, USB его не перетормозит.

Croco ★★★
()
Ответ на: Комментарий виновника торжества :) от Croco

Собственно говоря, идея всего этого проекта появилась у меня достаточно давно и именно по той причине, что я не смог найти ответ на довольно простой вопрос: куда конкретно мне вот сейчас пойти, чтобы там купить железку, которую можно было бы воткнуть в комп и с компа щёлкать выключателем.

Чего нет — это решения для бытового уровня, для, условно говоря, программиста с отвёрткой (ну, вы поняли, о чём я). Кто скажет «есть», пусть сдаст координаты — куда в России обращаться, чтобы это купить. «Это» в данном случае означает примерно так: пойти, дать денег, взять нечто, прийти домой, воткнуть одной стороной в комп, другой стороной вместо выключателя вентилятора (обычного вентилятора, который на полу стоит, а не того, который в компе) и настольной лампы, и чтобы вентилятор с лампой можно было включать-выключать с клавиатуры. Вот у меня дома ровно это сделано. (Да, забыл сказать — чтобы никаких паяльников и ЛУТов и никакого разбирательства с тем, как надо соединять между собой модули Ардуины.) Кабы для этого было другое (готовое) решение, было бы на одну контору меньше :)

Между прочим, ответа на этот вопрос нет до сих пор, если только наши дивайсы не считать.

Милейший Croco, не вводите пожалуйста целевую аудиторию в заблуждение - вот по ссылке пример подобного устройства и заметьте не 4, а 16 каналов, и всего 760 р. (это если без реле). Могу сказать, что именно это устройство они делают уже далеко не первый год. Вашей конторы на момент когда они начали его выпускать еще и не существовало. Вы, весьма вероятно, попросту не утруждали себя поисками.

Кстати, они же делают и вариант с 2-мя реле и 1-wire шиной. Это на тот случай если захочется «конкретно мне вот сейчас пойти, чтобы там купить железку, которую можно было бы воткнуть в комп» :-)

ef37 ★★
()
Ответ на: комментарий от ef37

Милейший ef37, у меня и в мыслях не было кого-то вводить в заблуждение. И мастеркитовские железки, разумеется, я видел, как и ардуиновские. Вот здесь по ссылке http://www.masterkit.ru/info/faqanswer.php?num=4 можно прочитать, на кого ориентированы эти «киты». И я должен сказать со всей ответственностью, что лично мне эти штуки ничем помочь не могут, потому что я не только не радиолюбитель (даже не начинающий!), но и не хочу им быть. И UNC0xx предназначено для таких же людей, как я, которые, как я уже говорил, существуют, причём их гораздо больше, чем можно было бы ожидать.

Да, кстати, софт у мастеркита проприетарный, насколько я помню.

Croco ★★★
()
Ответ на: комментарий от Croco

И мастеркитовские железки, разумеется, я видел, как и ардуиновские. Вот здесь по ссылке http://www.masterkit.ru/info/faqanswer.php?num=4 можно прочитать, на кого ориентированы эти «киты». И я должен сказать со всей ответственностью, что лично мне эти штуки ничем помочь не могут, потому что я не только не радиолюбитель (даже не начинающий!), но и не хочу им быть.

Разверните свою мысль, в чем разница между их девайсами и Вашими ?

У них не нужно ничего ни паять, ни собирать - это готовая плата. Все как декларировалось выше - «железка, которую можно было бы воткнуть в комп».

Да, кстати, софт у мастеркита проприетарный, насколько я помню.

Мало того, он только под Win :-) Но они дают пример на Borland C(кажется), его достаточно, чтобы разобраться. Эээ ... вот пример для Linux с исходниками.

ef37 ★★
()
Ответ на: комментарий от ef37

У них не нужно ничего ни паять, ни собирать - это готовая плата. Все как декларировалось выше - «железка, которую можно было бы воткнуть в комп».

Эта плата, будучи вынутой из коробки, ничего не делает. К ней ещё другие платы нужны. А всё вместе это — радиоконструктор, на который я когда-то посмотрел, спросил, как его собирать, не понял половину слов из ответа, да так и забил. Было это действительно ещё до создания моей конторы.

Croco ★★★
()
Ответ на: комментарий от Deleted

Почему пока еще Gentoo: Лучше нее ничего нет.

Как это нету, а Openwall? (ну, если имеется в виду сервер, конечно; на декстопе Owl'а гонять мне упорства не хватает :) )

Croco ★★★
()
Ответ на: комментарий от Croco

Не лучше - так как не удобные для разработчика RPMS использует.

Язык nix - вот что завладело мною, а любые другие языки сценариев просто меркнут если не испопьзуют в основе DSL и ФП.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.