Снова подрыгаем светодиодом, на этот раз красиво через GUI с кнопочками.
Медленно но верно дело двигается, постепенно подбираюсь к моменту, когда уже начну пилить какие то полноценные проекты на raspberry. Итак, до сих пор я использовал консольные приложения, хоть это и хорошо, но иногда все таки с гуйней удобнее. Ознакомившись вариантами, доступными для малины, долго сомневался, ибо хочется попробовать и gtk и wxwidget, но таки на текущий момент нужен был быстрый результат, поэтому Qt.
Честно говоря, в сети гуляет много пугающих гуайдов, но таки процесс установки оказался довольно прост
sudo apt-get install qt5-default sudo apt-get install qtcreator
Собственно на этом установка закончена. Далее заходим в
Tools — Options — Build & Run — Compilers
Там добавляем путь до компилятора /usr/bin/arm-linux-gnueabihf-gcc-4.8 и отладчика /usr/bin/gdb
Все можно пилить свои приложения. Надо отметить, что на Raspberry Pi Model B, процесс компиляции да и работы в целом нельзя назвать комфортным, компиляция пустого проекта заняла почти 30 сек, так что это скорее пригодно для академического интереса.
И как повелось в последних статьях, нужно обязательно помигать светодиодом. Когда то до этого я уже тестил wiringPi, поэтому для разнообразия решил зачекать либу bcm2835. Юзать ее просто. Скачиваем архив с полезняшками.
wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.51.tar.gz
Далее распаковываем архив, компилим и устанавливаем.
tar zxvf bcm2835-1.51.tar.gz cd bcm2835-1.xx ./configure make sudo make check sudo make install
После этого создаем проект и добавляем на форму 2 кнопки включить и выключить. Добавляем библиотеку и обработчики кнопок — включить и выключить светодиод.
#include "mainwindow.h" #include "ui_mainwindow.h" #include "bcm2835.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { bcm2835_init(); bcm2835_gpio_fsel(RPI_GPIO_P1_11, BCM2835_GPIO_FSEL_OUTP); ui->setupUi(this); } MainWindow::~MainWindow() { delete ui; } void MainWindow::on_pushButton_clicked() { bcm2835_gpio_write(RPI_GPIO_P1_11, HIGH); } void MainWindow::on_pushButton_2_clicked() { bcm2835_gpio_write(RPI_GPIO_P1_11, LOW); } |
В итоге все сходу завелось без гемора, светодиод включается выключается. Пояснять в общем то особо нечего, кроме номеров светодиодов. Они здесь соответствуют распиновке на разъеме, что в принципе как по мне не удобно, ибо нужно дрыгать 17 ногой, а на разъеме она 11, неудобно.
А нельзя подетальнее по поводу «Там добавляем путь до компилятора /usr/bin/arm-linux-gnueabihf-gcc-4.8 и отладчика /usr/bin/gdb»
Пробовал разные варианты, все равно пишет:
Error while building/deploying project untitled (kit: Desktop)
When executing step «qmake»
Иногда ошибку qmake вызывает не правильно выбранная целевая платформа, должно быть:
Device type: Local PC если такой нет нужно заливать образ системы заново и в строгой последовательности:
sudo apt-get install qt5-default
sudo apt-get install qtcreator
Если дело в отсутствии отладчика или компилятора его можно установить в менеджере пакетов например gdb можно найти в поиске.