Background BarDuino

BarDuino


BarDuino is the annual project for my master. This is a project that requires the creation of a REST API, a mobile application and a connected object (IoT).
This is a bar that distributes drinks automatically, the user orders what he wants to drink via the mobile application, then he must go to the bar so that the machine distributes it to him.

Software architecture

Software architecture

Hardware & Electronic:

  • Raspberry Pi 3
  • Camera Pi
  • 3 Air pumps
  • 3 Relay
  • 3 valve
  • Tubing 6mm
  • 3 Bottles

Hardware & Electronic

Hardware & Electronic

Software - Raspberry PI:

How it works: The air pumps are connected to the relays and the relays are connected to the GPIO ports of the raspberry. The python script directly controls the relays which themselves activate or deactivate the air pumps according to their state. First the camera is on standby. When the camera detects a QRCode, it looks at first if this QRCode is present in the list of commands. Then starts the service of the drink if it is the case.

Handle QRCode with ZBARCODE (Python script):

  • Read QRCode with the camera
  • Check the QRCode
  • Activate of air pumps

Software - Mobile Application (iOS):

Develop with Swift Libraries : Alamofire & SwiftyJSON Components :

  • Login
  • Historical orders
  • Credit purchases

Screen capture:

Hardware & Electronic

Login screen

Hardware & Electronic

List of cocktails

Hardware & Electronic

Details of a cocktail

Hardware & Electronic

Order pop-up confirmation

Hardware & Electronic

History of orders

Hardware & Electronic

QRCode of an order

Software - REST API:

Develop with Django-Rest-Framework (RESTful web services), it was host on Heroku Routes available (POST / PUT / GET / DELETE) :

  • /login
  • /cocktails
  • /drinks
  • /commander/:idCocktail

Develop with:

python

swift

django

heroku