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

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

    Планы на будущее:

    — подключение индуктивных петель для фиксации наличия машины
    — создание личного кабинета клиента с возможностью запоминания и дальнейшего использования остатка денежных средств на любом аппарате сети автомоек.
    Поделиться публикацией
    Ой, у вас баннер убежал!

    Ну. И что?
    Реклама
    Комментарии 19
    • НЛО прилетело и опубликовало эту надпись здесь
        0

        в интернет ходят по локалке через общий роутер. модемы пока не пробовали. какие у вас? как настраивается?

        • НЛО прилетело и опубликовало эту надпись здесь
          +1

          Чем малину питаете?

          • НЛО прилетело и опубликовало эту надпись здесь
              0

              А вы подумайте и проверьте. Малинка жуть как не любит плохое питание. Даже стрёмный USB-проводок может наделать вам головной боли. А уж если у вас там на USB висят модемы… А так-то "внушительно выглядеть" может что угодно, а что у него там "внутре неонка" не делает хорошего питания. Боюсь голословных оценок, но по моим ощущениям, процентов 80 нестабильности малинки — из-за питания.

              • НЛО прилетело и опубликовало эту надпись здесь
                  0

                  Ну, я тоже не ставлю под сомнение чью-то компетентность, вовсе нет!
                  Питание малинки через ЮСБ это самый простой вариант, домашний, я бы сказал. На плате какой-никакой стабилизатор есть. Но ЮСБ-провода — это головная боль. Питание через GPIO — изволь озаботиться стабилизированным питанием самостоятельно. ЮСБ-периферия из той же темы: хорошо если есть драйвера (это хорошо! но и тут подводные камни бывают), но еще лучше, если периферия потребляет считанные милливатты в пике. Для бытового/хоббийного применения это все не так важно, а для чего-то серьезного требуется вдумчиво почитать даташиты на… всё. Ну, это не мне вам объяснять.
                  Стабильного вам питания. И вечного аптайма.

          +2
          Тоже год занимаемся автомойками http://m.dvizh.net/ (правда, высокоуровневое ПО для моек, где машины моют люди).

          Вшивали веб-сервер в Малинку :) Работало стабильно.
            0

            в режиме электронной тетрадки? наличие машины, расход воды/пены контролируете?

              0
              Да, это электронный журнал. Например, услуга «экспресс с пеной» списывает 1 грамм того, 2 грамма сего и столько-то электричества. Физическое оборудование просили для табло и для учета въезжающих и выезжающих машин, чтобы персонал был честнее.

              Личный кабинет клиенту не нужен в этой сфере, никто не пользуется ни приложениями ни прочими фишками. Просто когда машина грязная, едут куда удобнее и все. Маркетинг со скидками и т.д. почти не работает. Основная сложность в начислении ЗП и изменчивостью в этом бизнес-процессе.
                0
                есть надежда на остаток на счете.
                  0
                  физическое оборудование просили, но не сделали?
                    0
                    Не сделали, пока что не умеем)
                      0
                      мы можем сделать )
              +2

              А можно добавить в приложение возможность заказа "мойщиц в бикини", на определенное время на нужную мойку? А то знаете-ли люблю друзей шокировать. Ради такого понта, никаких денег не жалко! :)

                +2
                Личный кабинет с возможностью заказа услуг к определенному времени есть. Надо только добавить соответствующую услугу. Надо изучить вопрос.
                0
                Про флеш память — не пробовали использовать нежурналируемую ФС ext2? Она должна меньше изнашивать ячейки по сравнению с современными журналируемыми ФСК
                  0
                  не знаю. просто ставил dietpi. как попробовать ФС ext2?

                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                Самое читаемое