LINUX.ORG.RU

Python, обслуживание ноды устройства


0

0

Начинающий программист, пишу драйвер устройства на питоне. Понимаю. что выбор языка необычен, но на то есть куча причин. Хочу чтоб записывая или читая из char-ноды /dev/myDevice можно было общаться с моей прогой-драйвером на python ?

Подскажите, хоть, что гуглить, а то, даже не знаю в какую сторону рыть.

Помоему это невозможно. Если еще можно как-то организовать драйвер файловой системы на python, используя fuse python bindings, то реализовать character device driver нет.

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

Если реальное устройство управляется через COM-порт (или USB, или что-то похожее), то можно. Другое дело, что смысла мало.

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

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

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

ну я так понял автору нужен эмулятор чардевайса с логикой на педоне, как зафигачить чардевайс нагуглилось первым же запросом

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

Я понял вот это:

1) у афтара есть устройство
2) он хочет написать к нему драйвер на педоне
3) но так, чтобы в системе оно выглядело как чардевайс

соответсвенно
1) пишем чардевайс (туториал)
2) где-нибудь внутри вкорячиваем, чтобы всё полученное он фигачил в сокет или файл
3) и этот сокет или файл уже окучиваем педонной программой хоть с другого конца мира

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

1) пишем чардевайс (туториал)

Уже неверно. В туториале драйвер на Си, ТС хочет на Python.

2) где-нибудь внутри вкорячиваем, чтобы всё полученное он фигачил в сокет или файл

Что «всё»? Если, условно говоря, коды и аргументы запросов пользовательской программы, то это CUSE.

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

Если, условно говоря, коды и аргументы запросов пользовательской программы, то это CUSE.

но есть профит — можно не читать, что такое CUSE (там столько умных буков и все по-английски), а чардевайс написать копипастом с опеннета )))

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

но есть профит — можно не читать, что такое CUSE

Если мерять временем, то профит будет отрицательный. В любом случае, по условию задачи - только Python.

tailgunner ★★★★★ ()

Интересно все таки узнать, почему драйвер должен быть именно на питоне? Может быть мы смогли бы предложить другую архитектуру. Например, зачем взаимодействовать через char device, если можно взаимодействовать через pipe, fifo?

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

Драйвер на питоне по причине того, что уже написана большая прога, которая работает с устройствами подключенными на GPIO порты arm проца по различным импульсным протоколам. Устройств много, переписывать всё на сях некогда, да и знание си у меня не супер.

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

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