TCup is a device+app that helps you improve the quality of your tea consumption, by adapting the infusion process accordingly to the type of tea, and by notifying you when your cup of tea has arrived to your favorite drinking temperature.
We have developed this project during Intel IoT Roadshow in Paris, in September 13th, 2015. Our team is composed of Kevin Lefevre (iPhone development) and Adrien Joly (Node.js development).
Step 1: Assemble the Hardware
You will need the following hardware:
After connecting and configuring the Edison board so that it connects to your Wifi network, execute the following steps:
- Plug the shield on the Edison board
- Plug the temperature sensors to A0
- Plug the LCD display to the first I2C
- Don't forget to set the shield board to 5 volts, for the LCD to work properly.
Now that the hardware is set up, let's push some code to give it some life!
Step 2: Fit the Temperature Sensor Into a Cup
The temperature sensor is composed of a chip and 3 resistors. In order to get a reliable measurement, the resistors must be as close to the hot water as possible, without ever getting wet (because the circuit is not waterproof).
In order to do that:
- Take two plastic or cardboard cups;
- Cut a piece of the first cup so that the temperature sensor can fit in;
- Put the second cup inside the first cup;
- Make sure that the resistors of the temperature sensor touch the second cup.
Step 3: Push the Software
The software is composed of the following:
- A Node.js application that will run on the Edison board, for sensing the temperature of the cup and displaying status.
- An iOS app that will run on an iPhone to control the device, and enable Push notifications.
- And an alternative web client (shipped with the Node.js application) to control the device.
Execute the following steps:
- Download/clone the Node.js server
- Push the Node.js server to your Edison board (e.g. using XDK)
- Run `npm install` in the server's directory (on your board) to install the dependencies
- Download/clone the iPhone app
- Update the IP address of your Edison board in the iPhone app's source code
- Compile and install the app on your iPhone
- Generate a certificate + key for sending APNS notifications to your iPhone
- Upload the files cert.pem and key.pem to the Node.js server's directory, on your Edison board
- Run the Node.js server on the Edison board (`node main.js`)
- Start the iPhone app, and enjoy!
If you experience any trouble with the iPhone app, you can alternatively use our web client, by opening the port 1337 of your Edison in your web browser.
Step 4: Craft a Box for Your Edison Board (BONUS)
You can re-use the cardboard box of your Edison board.
- Cut it so that your USB (or A/C) cables and sensor wires can find a way out of your box;
- Cut a hole for your LCD display;
- Then cut a piece of the top of the box, so that it pushes the LCD display forward.
Your DIY box looks great!