Strona Główna / M-Projekty / Mlekomat (Vending Manager)
Komunikacja pomiędzy maszynami, serwerem i klientami odbywa się przy pomocy GraphQl-a, czyli open sourcowego języka do zapytań i manipulacji danym. Sercem naszego Mlekomatu jest platforma komputerowa Raspberry Pi w wersji 3 rozszerzona o zaprojektowaną przez nas płytę główną MR_ADAPT_400 oraz adapter I2C. Komunikacja pomiędzy podzespołami odbywa się przy użyciu wielu protokołów, między innymi zaprojektowanego przez naszą firmę protokołu MRAP (Mayeryn Asynchronous Protocol), dzięki któremu możemy odbierać i wysyłać dane do czujnika dystansu, służącego do wyliczania ilości mleka które obecnie jest dostępne w Mlekomacie.
System Embedded został zaprogramowany przy użyciu Java oraz C++. Interfejs użytkownika wykorzystuje bibliotekę JavaFx. System pozwala użytkownikowi na zakup mleka w maszynie oraz odbiór wcześniej zarezerwowanego zamówienia. Dodatkowo została zaimplementowana logika, która w sytuacji gdy maszyna nie posiada odpowiedniej ilości pieniędzy do wydawania reszty, wyświetla sugerowane propozycje. Dla właściciela maszyny oraz serwisanta istnieje możliwość zalogowania się do systemu bezpośrednio na maszynie. Daje to dostęp do dodatkowych funkcji takich jak np. czyszczenie maszyny, przełączenie maszyny na pracę ręczną lub aktualizacja dostawy mleka.
Aplikacja i wszystkie jej komponenty będzie hostowała w całości centralny punkt dla całego systemu przy użyciu Apache Tomcat Server. Dla każdego użytkownika i typu jego profilu (Właściciel, Serwisant lub Klient) będą obsługiwane odpowiednie funkcje. W celu ułatwienia procesu rezerwacji i sprzedaży mleka została stworzona intuicyjna aplikacja mobilna dedykowana na telefony z systemem Android. Dzięki niej również klient będzie mógł dokonywać drobnych modyfikacji zamówień.
Continuous Integration - praca developerska została wsparta zaimplementowanym systemem CI, dzięki któremu każda dodatkowa funkcjonalność jest uruchomiana wraz ze wszystkimi testami zanim zostanie dodana do głównego repozytorium. CI zostało wykonane za pomocą funkcjonalności jakie daje GitLab Server. Dzięki takiemu rozwiązaniu mamy ciągłą kontrole nad dodawanymi kawałkami kodu. Dodatkowo nasze CI automatycznie zwiększa numer wersji systemu przy dodawaniu nowych funkcji.
Komunikacja pomiędzy maszynami, serwerem i klientami odbywa się przy pomocy GraphQl-a, czyli open sourcowego języka do zapytań i manipulacji danym Sercem naszego mlekomatu jest
platforma
komputerowa Raspberry Pi w wersji 3 rozszerzona o zaprojektowaną przez nas płytę
główną MR_ADAPT_400 oraz adapter I2C. Komunikacja pomiędzy podzespołami
odbywa się przy użyciu wielu
protokołów między innymi zaprojektowanego przez naszą firmę MRAP (Mayeryn
Asynchronous Protocol)
dzięki któremu możemy odbierać i wysyłać dane do czujnika dystansu służącego do wyliczania
ilości mleka które obecnie jest dostępne.
System Embedded został zaprogramowany przy
użyciu Java
8 oraz C++. Interfejs użytkownika wykorzystuje bibliotekę JavaFx. System pozwala użytkownikowi
na zakup mleka w maszynie oraz odbiór wcześniej zarezerwowanego zamówienia. Dodatkowo została
zaimplementowana logika, która w sytuacji gdy maszyna nie posiada odpowiedniej ilości pieniędzy
do wydawania reszty, wyświetla sugerowane propozycje Dla właściciela maszyny oraz serwisanta
istnieje możliwość zalogowania się do systemu bezpośrednio na maszynie. Daje to
dostęp do
dodatkowych funkcji takich jak np. czyszczenie maszyny, przełączenie maszyny na pracę ręczną lub
aktualizacja dostawy mleka.
Aplikacja i wszystkie jej komponenty będzie hostowała w całości
centralny punkt dla całego systemu przy użyciu Apache Tomcat Server. Dla każdego
użytkownika i
typu jego profilu (Właściciel, Serwisant lub Klient) będą obsługiwane odpowiednie funkcje. W
celu ułatwienia procesu rezerwacji i sprzedaży mleka została stworzona intuicyjna aplikacja
mobilna dedykowana na telefony z systemem Android. Dzięki niej również klient
będzie mógł
dokonywać drobnych modyfikacji zamówień.
Continuous Integration - praca developerska została
wsparta zaimplementowanym systemem CI, dzięki któremu każda dodatkowa
funkcjonalność jest
uruchomiana wraz ze wszystkimi testami zanim zostanie dodana do głównego repozytorium. CI
zostało wykonane za pomocą funkcjonalności jakie daje GitLab Server. Dzięki takiemu
rozwiązaniu
mamy ciągłą kontrole nad dodawanymi kawałkami kodu. Dodatkowo nasze CI automatycznie zwiększa
numer wersji systemu przy dodawaniu nowych funkcji.
Co zrobiliśmy?
Produkt Vending Manager łączy w sobie ideę wspólnego systemu dla trzech rodzajów urządzeń odbiorczych - składa się z części aplikacji webowej, komórkowej oraz oprogramowania systemu embedded. Poza oprogramowaniem został stworzony również hardware samych maszyn i części mechaniczne.
Jesteś teraz offline