Куда поместить ts2591.mpy, чтобы raspberry pi мог использовать датчик освещенности

Первый пост, так что будьте осторожны.

Я пытаюсь запустить люксметр на raspberry pi 3 B +. Измеритель люкс - Ts2591, который, согласно adafruit, можно запустить, установив файлы схемы python. Я следую инструкциям, и у меня возникли проблемы с тем, куда поместить файл ts2591.mpy. Я предполагаю, что .mpy означает модуль Python. На веб-сайте указано разместить его в файле lib. Я поместил в файл lib python 3.7 и файл lib для raspberry pi, но продолжаю получать ошибку «не могу найти модуль». Если окажется, что он должен перейти в корневую файловую систему, я не уверен, где это. Я не вижу возможности напрямую спросить об этом у adafruit.

Вот формулировка с веб-сайта:

Прежде чем продолжить, убедитесь, что в папке lib или корневой файловой системе вашей платы есть скопированные файлы и папки adafruit_tsl2591.mpy и adafruit_bus_device.


person Daniel Alfonso    schedule 02.02.2020    source источник


Ответы (1)


Библиотека Adafruit ts2591 предназначена для использования с CircuitPython (который похож на вилку MicroPython). И CircuitPython, и MicroPython имеют встроенную поддержку оборудования, которое обычно присутствует на микроконтроллерах, например коммуникационных шин UART, I2C и SPI, а также таких вещей, как АЦП и включение и выключение аппаратных выводов.

По умолчанию этот код не будет работать со «стандартным» питоном. Во-первых, обычный Python не имеет встроенной поддержки I2C. Raspberry Pi имеет модули Python для поддержки своего специального оборудования, но они отличаются (имеют другой API) от модулей в CircuitPython.

В основном у вас есть несколько вариантов.

  1. Вы можете использовать слой совместимости adafruit blinka, а затем модуль adafruit_tsl2591.

  2. Вы можете перенести код tsl2591 для работы на Raspberry Pi. К счастью, это уже было сделано: maxlklaxl / python-tsl2591. Загрузите его с github или pypi.

В общем, поскольку вы можете читать код CircuitPython, переносить его на другую платформу с другой библиотекой I2C не так уж сложно.

person Roland Smith    schedule 02.02.2020
comment
Я пошел по пути github и смог запустить установочный файл. Когда я запускал пример программы quikstart, я обнаруживал следующие ошибки: ›››% Запуск tsl2591Quickstart.py Traceback (последний вызов последним): файл Quickstart.py, строка 4, в ‹module› tsl = tsl2591.Tsl2591 () # initialize Файл /tsl2591/tsl2591/read_tsl.py, строка 70, в __init__self.set_timing (self.integration_time) Файл /tsl2591/tsl2591/read_tsl.py, строка 75, в set_timing self.enable () Файл tsl2591 / tsl2591 / read_tsl.py , строка 143, в разрешении ENABLE_POWERON | ENABLE_AEN | ENABLE_AIEN OSError: [Errno 121] Ошибка удаленного ввода-вывода - person Daniel Alfonso; 09.02.2020
comment
Также я установил уровень совместимости adafruit blinka, но в какую конкретную папку я помещаю модуль adafruit -Tsl2591, чтобы программа на Python могла его найти. Спасибо еще раз. - person Daniel Alfonso; 09.02.2020
comment
Если вы используете maxlklaxl/python-tsl2591, вам не нужна блинка. Просто используйте setup.py из python-tsl2591, чтобы установить его. - person Roland Smith; 10.02.2020