Python - это широко распространенный язык сценариев, который отличается удобочитаемостью и простотой. Это отличный язык для разработки программ на Omega, и его невероятно легко освоить.
Omega поддерживает Python, мы рекомендуем установить облегченную версию, чтобы сэкономить место.
Облегченная версия занимает около 2,5 Мб места на Omega, тогда как полная версия - около 6,3 Мб.
Мы собираемся использовать opkg для установки Python 2.7. Введите следующую команду для обновления:
opkg update
Теперь вы можете установить python-light:
opkg install python-light
или полную версию python:
opkg install python
Легкая и полная версия Python3 также доступна через opkg. Чтобы установить Python3, начните с обновления:
opkg update
Теперь вы можете установить python3-light:
opkg install python3-light
или полную версию python3:
opkg install python3
Есть два способа установить дополнительные модули Python на Omega: либо с помощью opkg для установки скомпилированных пакетов, либо с помощью pip, менеджера пакетов Python.
После того, как вы установили Python (или Python3), вы можете использовать opkg для установки дополнительных пакетов Python. Это более быстрый метод, но выбор доступных пакетов уже, чем при использовании pip.
Чтобы увидеть список пакетов python, доступных через opkg, введите следующие команды:
opkg update
opkg list | grep python
Примечание: используйте opkg list | grep python3, чтобы получить пакеты, адаптированные для Python3
Вы увидите все доступные пакеты, содержащие в имени python. Вы можете ввести:
opkg install
Для установки желаемого пакета.
Подробнее об opkg вы можете прочитать в нашем руководстве по использованию opkg.
Например, если вы хотите, чтобы ваш скрипт выполнял HTTP-запросы, вам понадобится пакет urllib3:
opkg update
opkg install python-urllib3
И тогда ваши скрипты могут импортировать модуль:
import urllib3
Официальный менеджер пакетов Python, pip, является стандартным способом установки модулей Python в системе. Вы получите большой выбор доступных пакетов.
Сначала необходимо установить pip на Omega:
opkg update
opkg install python-pip
Примечание: используйте opkg install python3-pip для установки pip для Python3
Чтобы установить модуль:
pip install
Если вы пишете скрипт, который использует MQTT, и хотели бы использовать модуль paho-mqtt:
pip install paho-mqtt
Как и opkg, pip является полнофункциональным менеджером пакетов. Запустите pip --help, чтобы увидеть больше вариантов использования или посмотреть их документацию.
Если вы пытаетесь установить модуль Python с помощью pip и получаете сообщение об ошибке, подобное следующему:
root@Omega-296A:~# pip install paho-mqtt
Collecting paho-mqtt
Downloading paho-mqtt-1.2.tar.gz (49kB)
100% |████████████████████████████████| 51kB 215kB/s
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-cHKrSf/paho-mqtt/
Не переживайте! Это всего лишь небольшая проблема конфигурации модуля setuptools и cab, которую можно легко исправить с помощью следующей команды:
pip install --upgrade setuptools
Теперь вы сможете успешно использовать pip:
root@Omega-296A:~# pip install --upgrade setuptools
Collecting setuptools
Downloading setuptools-34.2.0-py2.py3-none-any.whl (389kB)
100% |████████████████████████████████| 399kB 109kB/s
Collecting appdirs>=1.4.0 (from setuptools)
Downloading appdirs-1.4.0-py2.py3-none-any.whl
Collecting packaging>=16.8 (from setuptools)
Downloading packaging-16.8-py2.py3-none-any.whl
Collecting six>=1.6.0 (from setuptools)
Downloading six-1.10.0-py2.py3-none-any.whl
Collecting pyparsing (from packaging>=16.8->setuptools)
Downloading pyparsing-2.1.10-py2.py3-none-any.whl (56kB)
100% |████████████████████████████████| 61kB 343kB/s
Installing collected packages: appdirs, pyparsing, six, packaging, setuptools
Successfully installed appdirs-1.4.0 packaging-16.8 pyparsing-2.1.10 setuptools-34.2.0 six-1.10.0
root@Omega-296A:~# pip install paho-mqtt
Collecting paho-mqtt
Using cached paho-mqtt-1.2.tar.gz
Installing collected packages: paho-mqtt
Running setup.py install for paho-mqtt ... done
Successfully installed paho-mqtt-1.2
Поскольку Omega работает на Linux, начать работу с Python на Omega легко. Вы можете просто ввести python в командной строке.
Если вы установили Python3, вам нужно будет ввести python3 в командной строке, чтобы начать.
Обратите внимание, что интерпретатор является хорошим инструментом для быстрого тестирования некоторого кода, но настоящая сила Python заключается в написании повторно используемых скриптов.
Давайте начнем писать наш скрипт на Python, создав файл:
vi /root/greeting.py
Теперь мы скопируем следующий код в файл:
# Importing packages
import os, datetime, time, subprocess
# find the path to the Omega LED
ledName = subprocess.check_output(["uci", "get", "system.@led[0].sysfs"])
ledTriggerPath = "/sys/class/leds/%s/trigger"%(ledName.rstrip())
## Set the Omega LED trigger to "timer" so that it blinks
with open(ledTriggerPath, "w") as trigger:
trigger.write("timer")
## Print a gretting based on the time of day
# Gets the current time
currentTime = datetime.datetime.now()
# Sets the Omega LED trigger to "default-on"
if currentTime.hour < 12:
print ’Good morning.’
elif 12 <= currentTime.hour < 18:
print ’Good afternoon.’
else:
print ’Good evening.’
## Wait 5 seconds and then set the Omega LED back to being always on
# Waits for 5 seconds
time.sleep(5)
# Set the Omega LED back to being always on
with open(ledTriggerPath, "w") as trigger:
trigger.write("default-on")
Чтобы сохранить файл и выйти, нажмите ESC и введите :wq.
Вы можете выполнить скрипт, используя следующую команду:
python /root/greeting.py
Примечание. Если вы установили Python3, вы должны ввести python3 вместо python.
И вы увидите следующий вывод:
root@Omega-2757:~# python /root/greeting.py
Good evening.
В течение этого времени светодиод вашего Omega будет мигать.
Мы разработали модули для управления GPIO Omega и несколькими расширениями. Проверьте документацию модулей для более подробной информации:
Документация Python 2.7
Документация Python 3
г. Москва, Пятницкое ш. д. 18, пав. 566
zakaz@compacttool.ru
8-495-752-55-22
Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !
© Все права защищены 2015 - 2024г https://compacttool.ru