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
Hardware & Electronic:
- Raspberry Pi 3
- Camera Pi
- 3 Air pumps
- 3 Relay
- 3 valve
- Tubing 6mm
- 3 Bottles
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:
Login screen
List of cocktails
Details of a cocktail
Order pop-up confirmation
History of orders
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
- …