Getting the most out of SmartMilk - SmartMilk/SmartMilk GitHub Wiki
Getting the most out of SmartMilk
As we stated on the main page of the wiki, the listed hardware will only get the SmartMilk program up and running. In order to get the full intended functionality out of the system, you're going to need a few extra components:
Our recommended hardware
- Raspberry pi (the model shouldn't be too important, but we recommend Model 2 Rev. B as its the one we used)
- DS18B20 temperature sensor
- 4.7k pullup resistor
- PCB configuration (a breadboard configuration can still work, but a PCB naturally has the advantage of permanent configurations)
- Wireless keyboard (or any other input method that can initialize the SmartMilk program)
- USB Wi-fi adapter, we recommend buying an officially licensed RPi Wi-fi adapter from the pi hut
- A rechargeable battery supply for the raspberry pi. Due to time limitations we were unable to find one of our own, but we recommend starting off by looking for Lithium Polymer batteries from Pimori
- A moisture/waterproof box for the raspberry pi to sit in while in the fridge. We repurposed an old box for one of our raspberry pi accessories, shown in the figure below:
- Adhesive stickers, double sided tape or blu-tack
- Milk container
The idea we had for SmartMilk's operation is that the milk would sit on top of the raspberry pi box, which could then be semi-permanently bound to the milk carton using adhesive stickers or something like blu-tak. You could then drill a watertight hole into the milk carton and fit the probe through. To avoid having to do this for every milk container, you could either use a singular refillable milk container, or just leave the probe near the milk container to get a rough sense of the milk's temperature, though obviously at the cost of having accurate measurements.
Messages will be sent through Wi-fi, so the USB wi-fi adapter will be needed here. Check out this tutorial to get you started.
The raspberry pi's minimum operating temperature is 0*C, so as long as your fridge isn't extremely cold it should operate without issue.
In order to save battery life, we recommend commenting code for the QTimer corresponding to the plotUpdate()
function in Window.cpp
, it is located with in the constructor function Window::Window()
:
\\timerP = new QTimer;
\\connect(timerP, SIGNAL(timeout()), SLOT(plotUpdate()));
\\timerP->setInterval(500);
\\timerP->start();
This effectively disables the most of GUI plotting, and should help reduce processing load and elongate battery life.