Продолжение статей 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 пока работает стабильно, вылетов флеш-памяти не зафиксировано.
— От тач-панелей устойчивой работы не добились, переходим на кнопки.
Планы на будущее:
— подключение индуктивных петель для фиксации наличия машины
— создание личного кабинета клиента с возможностью запоминания и дальнейшего использования остатка денежных средств на любом аппарате сети автомоек.
Автор: paul_155