— Привет, Хабр! Гляди!
— Мужик, ты чё? Этим детектором без тебя уже весь ресурс вдоль и поперёк… А тут ещё ты. Сколько можно одну и ту же тему мусолить-то?
— Спокуха, пацаны! Конечно, я не собираюсь повторять уже имеющиеся обзоры. Что это, зачем это, как работает, как пользоваться, что внутри… А органично эти обзоры дополню тем, что предыдущие обзорщики не сделали. А именно, проверю, запустится ли ПО для этого детектора в одном известном НЕэмуляторе (том, который «is not an emulator») и увидит ли висящий на порте прибор. Получится — отлично, не получится — отрицательный результат в науке тоже считается результатом.
Спойлер: я криворук, так что фейл, но найдено другое решение, для которого НЕэмулятор не пригодился.
Ну что, НЕэмулятор у нас бодро качается:
А пока сначала посмотрим вывод lsusb:
Вот то, что от Holtek — это и есть оно. При отключении исчезает. Теперь скачаем ПО, которое мы «скормим» Wine, как только он установится:
ПО скачалось, НЕэмулятор тоже, попробуем запустить одну из программулин:
Никаких установщиков, программа «портативная». Работает сразу, но воткнутый девайс не видит. Попробуем настроить:
Можно попробовать выбрать USB и восемь разных COM-портов. Поначалу я на это купился и попробовал известные способы проброса USB-COM в Wine. При подключении прибора появляется устройство /dev/usb/hiddev0, которое я и принял за такой порт. Но пробросить его не вышло, ибо… Не будем забегать вперёд. Сначала другую программку проверим.
Почти близнец. Только меню чуть отличается. Лезем в настройки:
И результат, разумеется, аналогичен. И неудивительно: само название hiddev0 говорит о том, что это не USB-COM, а USB-HID-устройство. Поиск по форумам показал, что таковые в стабильном Wine не поддерживаются. К тому же, если chmod'ом обеспечить доступ к hiddev0 непривилегированным пользователям, то после каждого отключения и подключения детектора устройство снова становится доступным только руту. Но даже когда оно доступно всем, Wine думает, что его нет.
Запустить Wine от рута? Не рекомендуется, но допустим, этим двум программам я доверяю. Пробую… Облом, НЕэмулятор вообще отказывается под рутом запускаться. Папка .wine не твоя, говорит. Оказывается, надо не sudo wine, а сначала sudo su, потом wine делать, и он в папке /root тоже папку .wine создаст. Только от этого не изменилось ничего.
Что ж, есть ещё нативный линуксовый co2mon. Только скачать его я решил в другом месте — там, где он уже скомпилирован.
> Вот тут
После того, как RPM выкачался, я установил его своим любимым способом. А именно, взялся за mc и ручками под рутом раскидал файлы из папки CONTENTS.cpio в архиве по тем папкам файловой системы, где им положено быть.
Запускаем co2mond, а оно хочет libhidapi-libusb0. Немного гугления-яндексения, и выясняется, что для этого надо скормить ему пакет libhidapi-dev:
Пакет бодро ставится, запускаю и вижу:
Ах, да, я же перетыкал устройство. Снова chmod'ом делаю, чтобы hiddev0 был доступен непривилегированным пользователем, запускаю и вижу то же самое. Тогда запускаю co2mond от рута, и — успех!
Пока датчик не разогрет, выводится только Tamb — temperature ambient, как я понял. Как разогреется — ещё и CntR (content of чего-то на R, не знаю синонимов углекислого газа на R).
Если на встроенном дисплее прибор показывает температуру с одним знаком после запятой, то в компьютер выводит аж с четырьмя! Действительно ли там настолько точный термодатчик? Не знаю. Ну а показания содержания углекислого газа приходят с той же точностью, что на встроенном дисплее, только завышенными на несколько единиц.
Ну, думаю, раз в процессе установки линуксового ПО файл 99-co2mon.rules с прописанными данными, совпадающими с увиденными в lsusb, оказался на своём месте, может, заработают и те программы, которые я пробовал запустить в Wine. Нет, не в этом файле дело. По-прежнему ни так, ни под рутом не хочет. Похоже, без экспериментального Wine с поддержкой USB-HID или каких-нибудь патчей не обойтись.
Вот, собственно, и всё. Оно заработало, но не так, как хотелось бы: та программа, которая «завелась», не выводит графиков. Считать ли это отрицательным результатом, или нет, ведь вытащить данные из прибора удалось? А Wine за годы своего существования весьма «повзрослел». По сравнению с тем, что было несколько лет назад, его просто не узнать, многие программы работают в нём так, как будто написаны специально для него. Только интровертом оказался — с некоторыми желёзками общаться боится. Десятипроцентная скидка на девайс — по ссылке с промокодом TORMOZ CO2.
Таким образом, среднестатистическому Linux-пользователю, подкованному на уровне азов работы с командной строкой, но не умеющему или не желающему возиться с патчами и экспериментальными сборками программ, сопрячь это устройство с компьютером удастся. Но та программа, которая сможет наладить с прибором диалог, будет минималистической. Всё сказанное касается и других устройств того же назначения на том же Holtek'овском чипе.
P.S. Через отверстия для вентиляции видно, как в корпусе прибора периодически вспыхивает… «лампочка Ильича». Я читал об этом в старых обзорах, но думал, что у меня устройство более новой версии, где применён светодиод. Нет. Значит, это принципиально — нужен спектр без «горбов».
Всем спасибо за внимание!
— Мужик, ты чё? Этим детектором без тебя уже весь ресурс вдоль и поперёк… А тут ещё ты. Сколько можно одну и ту же тему мусолить-то?
— Спокуха, пацаны! Конечно, я не собираюсь повторять уже имеющиеся обзоры. Что это, зачем это, как работает, как пользоваться, что внутри… А органично эти обзоры дополню тем, что предыдущие обзорщики не сделали. А именно, проверю, запустится ли ПО для этого детектора в одном известном НЕэмуляторе (том, который «is not an emulator») и увидит ли висящий на порте прибор. Получится — отлично, не получится — отрицательный результат в науке тоже считается результатом.
Спойлер: я криворук, так что фейл, но найдено другое решение, для которого НЕэмулятор не пригодился.
Ну что, НЕэмулятор у нас бодро качается:
А пока сначала посмотрим вывод lsusb:
$ lsusb
Bus 002 Device 004: ID 138a:0011 Validity Sensors, Inc. VFS5011 Fingerprint Reader
Bus 002 Device 005: ID 0cf3:3004 Atheros Communications, Inc. AR3012 Bluetooth 4.0
Bus 002 Device 002: ID 0438:7900 Advanced Micro Devices, Inc.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 5986:0652 Acer, Inc
Bus 001 Device 003: ID 89e5:1001
Bus 001 Device 002: ID 0438:7900 Advanced Micro Devices, Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
<b>Bus 003 Device 002: ID 04d9:a052 Holtek Semiconductor, Inc.</b>
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Вот то, что от Holtek — это и есть оно. При отключении исчезает. Теперь скачаем ПО, которое мы «скормим» Wine, как только он установится:
ПО скачалось, НЕэмулятор тоже, попробуем запустить одну из программулин:
Никаких установщиков, программа «портативная». Работает сразу, но воткнутый девайс не видит. Попробуем настроить:
Можно попробовать выбрать USB и восемь разных COM-портов. Поначалу я на это купился и попробовал известные способы проброса USB-COM в Wine. При подключении прибора появляется устройство /dev/usb/hiddev0, которое я и принял за такой порт. Но пробросить его не вышло, ибо… Не будем забегать вперёд. Сначала другую программку проверим.
Почти близнец. Только меню чуть отличается. Лезем в настройки:
И результат, разумеется, аналогичен. И неудивительно: само название hiddev0 говорит о том, что это не USB-COM, а USB-HID-устройство. Поиск по форумам показал, что таковые в стабильном Wine не поддерживаются. К тому же, если chmod'ом обеспечить доступ к hiddev0 непривилегированным пользователям, то после каждого отключения и подключения детектора устройство снова становится доступным только руту. Но даже когда оно доступно всем, Wine думает, что его нет.
Запустить Wine от рута? Не рекомендуется, но допустим, этим двум программам я доверяю. Пробую… Облом, НЕэмулятор вообще отказывается под рутом запускаться. Папка .wine не твоя, говорит. Оказывается, надо не sudo wine, а сначала sudo su, потом wine делать, и он в папке /root тоже папку .wine создаст. Только от этого не изменилось ничего.
Что ж, есть ещё нативный линуксовый co2mon. Только скачать его я решил в другом месте — там, где он уже скомпилирован.
> Вот тут
После того, как RPM выкачался, я установил его своим любимым способом. А именно, взялся за mc и ручками под рутом раскидал файлы из папки CONTENTS.cpio в архиве по тем папкам файловой системы, где им положено быть.
Запускаем co2mond, а оно хочет libhidapi-libusb0. Немного гугления-яндексения, и выясняется, что для этого надо скормить ему пакет libhidapi-dev:
$ sudo apt-get install libhidapi-dev
Пакет бодро ставится, запускаю и вижу:
$ co2mond
hid_open: error
Unable to open CO2 device
hid_open: error
hid_open: error
hid_open: error
hid_open: error
hid_open: error
hid_open: error
hid_open: error
hid_open: error
hid_open: error
Ах, да, я же перетыкал устройство. Снова chmod'ом делаю, чтобы hiddev0 был доступен непривилегированным пользователем, запускаю и вижу то же самое. Тогда запускаю co2mond от рута, и — успех!
$ sudo co2mond
[sudo] пароль для username: КОШКА
Tamb 25.1000
Tamb 25.1000
Tamb 25.1000
Tamb 25.0375
CntR 1617
Tamb 25.0375
CntR 1617
Tamb 25.1000
CntR 1617
Tamb 25.1000
CntR 1617
Tamb 25.0375
CntR 1617
Tamb 25.1000
CntR 1617
Tamb 25.0375
CntR 1617
Tamb 25.1000
CntR 1617
Tamb 25.1000
CntR 1617
Tamb 25.1000
Пока датчик не разогрет, выводится только Tamb — temperature ambient, как я понял. Как разогреется — ещё и CntR (content of чего-то на R, не знаю синонимов углекислого газа на R).
Если на встроенном дисплее прибор показывает температуру с одним знаком после запятой, то в компьютер выводит аж с четырьмя! Действительно ли там настолько точный термодатчик? Не знаю. Ну а показания содержания углекислого газа приходят с той же точностью, что на встроенном дисплее, только завышенными на несколько единиц.
Ну, думаю, раз в процессе установки линуксового ПО файл 99-co2mon.rules с прописанными данными, совпадающими с увиденными в lsusb, оказался на своём месте, может, заработают и те программы, которые я пробовал запустить в Wine. Нет, не в этом файле дело. По-прежнему ни так, ни под рутом не хочет. Похоже, без экспериментального Wine с поддержкой USB-HID или каких-нибудь патчей не обойтись.
Вот, собственно, и всё. Оно заработало, но не так, как хотелось бы: та программа, которая «завелась», не выводит графиков. Считать ли это отрицательным результатом, или нет, ведь вытащить данные из прибора удалось? А Wine за годы своего существования весьма «повзрослел». По сравнению с тем, что было несколько лет назад, его просто не узнать, многие программы работают в нём так, как будто написаны специально для него. Только интровертом оказался — с некоторыми желёзками общаться боится. Десятипроцентная скидка на девайс — по ссылке с промокодом TORMOZ CO2.
Таким образом, среднестатистическому Linux-пользователю, подкованному на уровне азов работы с командной строкой, но не умеющему или не желающему возиться с патчами и экспериментальными сборками программ, сопрячь это устройство с компьютером удастся. Но та программа, которая сможет наладить с прибором диалог, будет минималистической. Всё сказанное касается и других устройств того же назначения на том же Holtek'овском чипе.
P.S. Через отверстия для вентиляции видно, как в корпусе прибора периодически вспыхивает… «лампочка Ильича». Я читал об этом в старых обзорах, но думал, что у меня устройство более новой версии, где применён светодиод. Нет. Значит, это принципиально — нужен спектр без «горбов».
Всем спасибо за внимание!
Комментарии (4)
nad_oby
02.12.2018 23:07+2Ну зачем же так с RPM. Ручками да по системе.
Пользуйтесь пакетом "alien" позволяет делать из одного пакета дистрибуции другой и даже иногда справляется.
tunelix
02.12.2018 23:09+1у этого детектора есть ресурс? если он будет работать постоянно, точност не поплывет?
instalator
03.12.2018 20:28Ну вот опять...)
А это не производитель?
http://www.zyaura.com/products/ZGm05.asp
Gritsuk
А внутре у ней неонка!