Есть ли работающая и полная библиотека 1-Wire .NET?
У меня есть 1-проводной USB-адаптер (синеватый), и я хотел использовать его из небольшого Linux-бокса для контроля температуры. Коробка Linux вышла из строя прямо сейчас, поэтому я хотел использовать свое программное обеспечение для мониторинга на основе.NET на моем рабочем столе Windows для регистрации температуры. Но, похоже, не существует единственной пригодной для использования библиотеки.NET для.NET. Тот, который поставляется с Maxim SDK, требует J#, которого у меня нет и я хочу использовать. Я даже не уверен, смогу ли я использовать его с моим приложением на основе.NET 4.0, так как JA прекращается AFAIK. Другая "работа с открытым исходным кодом" на SourceForge (owdotnet) датирована 2008 годом и выглядит довольно мертвой. Там даже нет информационной страницы об этом. Maxim SDK также поставляется с версией "Compact .NET", которая может, по крайней мере, найти устройство, подключенное к адаптеру, но мне кажется, мне нужно было бы реализовать весь протокол 1-Wire самостоятельно (отправка необработанных байтов, некоторое время ожидания и тому подобное). Так что это не очень помогает прямо сейчас. Google не нашел ничего другого. Вы?
У меня сложилось впечатление, что вся вещь 1-Wire довольно мертва. Его можно использовать только в системах Linux (с компиляцией owfs, которая огромна для компиляции), и вся экосистема продуктов не совсем активна. Какие существуют другие решения для измерения температуры, параметров окружающей среды (влажность, вода, давление и т. Д.) И состояний (например, открытых дверей) и, возможно, даже переключения (включения и выключения света), которые не стоят целого состояния (как с "домашней автоматизацией")? И желательно также доступны из кода.NET?
5 ответов
Хорошо, ради ответов на вопросы, этот вопрос был здесь достаточно долго.
Я пришел к выводу, что такой библиотеки нет.
Просто добавьте свой ответ, если найдете что-нибудь, пожалуйста, чтобы я мог что-то обновить здесь.
У меня были те же проблемы с моим последним проектом на работе.
Я использовал OW.NET и предоставил файл патча svn несколько недель назад в проекте sourceforge для класса Container41. С моим патчем должна поддерживаться в основном вся функциональность для этого семейства устройств.
Но да, нет полной библиотеки. А библиотека J# от Максима - плохая шутка.
Вам не нужно OWFS, хотя я понимаю, почему это облегчит жизнь. Я пробовал это в прошлом, но он не делал то, что хотел, потому что у меня было несколько устройств, которые не поддерживаются.
В настоящее время я использую OWW, который сейчас запущен на Raspberry Pi, и он действительно работает очень хорошо. Тем не менее, это только на основе Linux.
Извините, но я не могу помочь с вашим запросом.net, поскольку я никогда не использовал его. Кажется, что нет ничего другого, основанного на.net, который я могу найти, кроме Максима.
Я не уверен, что знаю достаточно о вашей проблеме, чтобы дать вам правильный ответ (но это только начало, и, возможно, мы сможем улучшить ее вместе).
Я понимаю, что у вас есть что-то в J#, что делает работу.
Приложение A J# компилируется в обычную сборку.NET. Есть ли у вас код J# (в этом случае вы можете скомпилировать его в библиотеку с помощью старого компилятора J#, а затем ссылаться на эту библиотеку в приложении.NET, чтобы использовать его с любого языка.NET), или у вас уже есть сборка ab, в В этом случае не стесняйтесь использовать его на любом языке.
В противном случае вы можете найти собственную библиотеку, а затем создать оболочку.NET вокруг нее, используя C++ / CLI. Этот вариант работает очень хорошо из моего опыта. Основная проблема заключается в совместимости с 32/64 битами: ваше приложение.NET должно быть ограничено собственным форматом dll (64 бит или 32 бит)
Я использую 1-проводной датчик температуры DS1820 на Raspberry Pi. Это основано на новом пакете nuget System.Device.Gpio. На данный момент это просто доказательство концепции. https://github.com/dos-ise/OneWire