-Поиск по дневнику

Поиск сообщений в rss_rss_hh_new

 -Подписка по e-mail

 

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 17.03.2011
Записей:
Комментариев:
Написано: 51


Orange Pi на автомойке ч.3

Суббота, 03 Июня 2017 г. 13:07 + в цитатник
Продолжение статей Arduino на автомойке и Arduino на автомойке ч.2.

Как понятно из заголовка перешли на использование Orange Pi One. Машинка гораздо поинтереснее Arduino. Выбран среди себе подобных в основном из-за цены. По сравнению в Arduino лучше решает следующие задачи:
— сеть (проблем пока нет)
— подключение монитора вместо табло
— возможность использования тач-панели
— возможность использования базы данных
— возможность установки на «себя» веб-сервера

В качестве операционной системы выбрана DietPi. Программирование в QT.
Купюроприёмник подключен через последовательный порт. Монитор в HDMI. Тач панель в USB. Выходы на реле 29, 31, 33, 35, 37. Подключен жетоноприёмник на 22 ногу через делитель напряжения.

Также реализован режим приёма денег через кассу с выдачей клиенту пин-кода. Сервером для хранения статуса пин-кода может быть один из апельсинов. Выдача и контроль пин-кода через веб-страницу например со смартфона. Таким образом можно экономить на купюроприёмниках.

Некоторые лайф-хаки апельсина:

Останавливаем консоль на UART для купюрника
sudo systemctl stop serial-getty@ttyS0.service
sudo systemctl mask serial-getty@ttyS0.service


Поворот экрана (файл /etc/X11/xorg.conf)
Section "Device"
Identifier "default"
Driver "fbdev"
Option "Rotate" "CW"
EndSection


Включаем поддержку некоторых тач-панелей (файл /etc/modules)
hid_multitouch

Запрещаем спать ( файл /etc/X11/xorg.conf.d/10-dpms.conf)
Section "ServerFlags"
Option "blank time" "0"
Option "standby time" "0"
Option "suspend time" "0"
Option "off time" "0"
EndSection


Выставляем режим работы выхода.
void pinMode(int  pin, int mode)
{
    FILE *file;
    char path[80];
    file=fopen("/sys/class/gpio/export" , "w");
    fprintf(file, "%d", pin);
    fclose(file);
    sprintf(path, "/sys/class/gpio/gpio%d/direction", pin);
    file=fopen(path , "w");
    fprintf(file, "%s", mode ? "out" : "in");
    fclose(file);  
}


Включение/выключение реле.
void digitalWrite(int pin, int value)
{
    FILE *file;
    char path[40];
    sprintf(path, "/sys/class/gpio/gpio%d/value", pin);
    file=fopen(path , "w");
    fputc(value?'1':'0', file);
    fclose(file);
}


Краткие выводы на текущий момент:
— Orange пока работает стабильно, вылетов флеш-памяти не зафиксировано.
— От тач-панелей устойчивой работы не добились, переходим на кнопки.

Планы на будущее:
— подключение индуктивных петель для фиксации наличия машины
— создание личного кабинета клиента с возможностью запоминания и дальнейшего использования остатка денежных средств на любом аппарате сети автомоек.
Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/330124/

Метки:  

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку