This project started when a local entrepreneur needed a proof of concept prototype for his own business intelligence project. Our team accepted the challenge and, in their freetime, they managed to have the first prototype in a week. The goal is, in short, gather beer data consumption for business intelligence engineers, to answer questions like the following:
- How much beer is served in an average day? ... in a good day? ... in a promotion day?
- Which is the most popular beer format? ... the one you want to improve?
- Which are the best time ranges for a promotional campaign? ... for specific beers?
- What are the results of a specific campaign? ... of a new beer launch?
- Beer flowmeter
This project proposes to install a flowmeter between the beer barrel and the tap. Each time a beer is served the information is sent to Carriots. Then, all data is stored and pushed to external information systems to extract useful information by the smart Business Intelligence guys.
This Project is composed by the following components:
- Pulse reader
- Communication module
- Carriots platform
- External Information System
- Custom dashboard
- Project schema
The flowmeter per-se and a core electronic device for reading pulses and sending data to Carriots principally compose project’s hardware.
Flowmeter work is simple; it sends electronic pulses to the connected wire when a fluid passes through its internal blades. More fluid, more pulses. Some easy calibration to have a conversion constant from pulses to a volume unit (ml) and the work is done.
Looking for an accurate pulse read while keeping it simple and accessible to DIYers the best choice was an Arduino board.
When pulses are read, collected information has to be sent to Carriots. This task can be done via WiFi, Ethernet or GPRS. Wiring Ethernet next to the beer tap can be quite difficult and in some cases GPRS coverage is not guaranteed, so WiFi is the simplest solution.
Arduino can deal with communications tasks but while doing it pulse reads can be lost. Following the same simplicity and DIYer argument than before Raspberry Pi was the choice to deal with communication issues (WiFi config, retries, etc.).
Information collected can be as complex as wanted including more sensors, but in this case only time, volume and flowmeter ID data are sent securely to Carriots.
- Raspberry Pi board
Project’s software is distributed along the architecture, from Arduino’s and RPi’s code to external platforms passing by Carriots configuration. Keeping it simple in each component, all parts are important.
Arduino’s code has a single goal, read pulses and send them to the Raspberry Pi. Then RPi handle reads, keep a log and send data to Carriots.
- Listeners: Data streams are interpreted by Carriots to assess beer format (small, medium or large) and update format counters. Calibration is also done in Carriots.
- Triggers: They push data directly to external Information System
- Different apikeys: Using a read-only apikey to export data via Carriots REST API and keep data safe
External information system:
Business Intelligence analysts directly manage data pushed by Carriots. Data push is made by POSTing queries to an external URL.
- Dashboard screenshot