В рамках реализации проекта контроллера для сбора данных промышленных датчиков и управления механизмами есть задача обеспечить интерфейс взаимодействия с контроллером (а точнее системой сервер + контроллер).
Традиционным подходом к решению данного вопроса в реализациях конкурентных решений являлся специализированный интерфейс на базе ПК с предустанновленным ПО. Решение эксплуатируется десятилетиями – поэтому негибко и несовременно.
В основу разрабатываемого нами решения были положены требования гибкости интерфейсов для различных потенциальных интерфейсных устройств (специализированного терминала, удаленного ПК, планшета/сматрфона/телефона), которые могут подключаться к системе и мониторить или управлять исполнительными устройствами в пределах полномочий и приоритетов авторизовавшегося пользователя.
Рассматриваются несколько типов таких интерфейсов:
1. HTML+Java+AJAX интерфейс, загружаемый в браузер любого устройства, подключившегося к сети сервера+контроллера и авторизовавшего свои полномочия – для мониторинга и возможно управления вспомогательными устройствами.
2.Интерфейс Python+PyQt для специализированного ПК (Linux) для полнофункционального управления всеми устройствами в проводной сети сервера+контроллера
3. Android приложение для использования в планшетах/смартфонах для подключения через глобальный Интернет и мониторинга.
Для реализации второго интерфейса принято решение использовать Python 2.7 + PyQt4 на машине с Ubuntu 14.04
Последовательность установки PyQt4 из исходников
1. установка зависимостей проекта
sudo apt-get install python-dev python-qt4 python-qt4-dev python-sip python-sip-dev build-essential gfortran libqt4-dev qt4-qmake libpq-dev libsqlite3-dev qt4-dev-tools qt4-doc unixodbc-dev pyqt4-dev-tools
2. установка SIP не ниже 4.19 страница PyQt4
2.1. скачать по ссылке
2.2. разархивировать
2.3. зайти в директорию с разархивированным содержимым
2.4. исполнить python configure.py
2.5. make
2.6. sudo make install
3.Скачать последнюю версию PyQt4 страница PyQt4
3.1. разархивировать
3.2. зайти в директорию
3.3 исполнить python configure.py
3.4. make
3.5. sudo make install
4. Проверить все ли работает корректно
python
import PyQt4
import pylab
x = [1,2,3,4]
y = [3,4,8,6]
pylab.scatter(x,y,c=y)
pylab.show()