Woohoo! Finally it’s Saturday so I can work on my CognitiveBox — my project to build with a Raspberry Pi and IBM Watson Services a Personal Cognitive Assistant able to understand complex voice commands and answer me gathering data from services like Watson Conversation, Watson Discovery and from its various sensors like temperature, Barometric pressure, Humidity and Air Quality using Watson IoT Platform. I am planning very soon to add Visual Recognition capabilities on my CognitiveBox.
Today.. I will work a little bit on Hardware — adding a brushless cooling fan, a Barometric Pressure sensor and a small OLED display.
Dealing with the Hardware
Starting from the cooling fan.. I bought a 5V, 0.20A cooling fan on amazon and now it’s time to add it.
To be honest, the Raspberry Pi doesn’t actually need a fan on it. The CPU doesn’t generate much heat even overclocked (I will overclock it very soon). The main chip is designed to work in mobile phones with no cooling at all. If it reaches 85°C it will slow down automatically until the temperature drops a bit but it’s part of my Hardware experiments and training so I feel so happy while adding this fan in my CognitiveBox.
I’ve plugged the fan directly into my Raspberry Pi’s 5V+GND GPIO power pins (#2 and #6) and placed it on top of the Pi’s CPU to give it extra air-flow using a thermical glue for eletronics and voila!
Now the second challenge: Recently I bought a SunFounder 0.96" OLED Module. A small and beautiful OLED screen with high contrast, working on a voltage range from 2.7V to 5.5V and an elegant layout, 3-mm holes at two corners for easy fixing and of course, low power consumption: 0.04W during normal operation. I will use the OLED module to display CPU Information, Temperature and other data from my sensors.
Following a scheme provided by the Sunfounder website, the connection and the first test was quite simple. Basically I’m using the GPIO pins #01, #03, #05 and #09 (see diagram above) and controlling the display using a python library that I found on GitHub. I will find the way to collect the data I want to collect during the next days… so it will start to display some interesting information. And of course I will fix the display somewhere on the CognitiveBox’s case. By now… it can hang around, freely!
Now that I have a cooling fan and I fancy OLED display.. it’s time to install my first IoT Sensor to provide data to Watson IoT Platform.
In the future I will install a lot of sensors on my CognitiveBox but I decided to start with a Barometric Pressure sensor, the BPM180.
The BMP180 device is a digital barometric pressure sensor. This small module provides access to the sensor via the I2C interface. This allows me to connect it to the Raspberry Pi with a minimum of wiring. I2C is a particularly useful bus because it only requires two shared lines: SCL for the clock signal, and SDA for the bi-direction data transfers and each I2C device uses a unique 7-bit address, meaning I can have more than 120 unique I2C devices sharing the bus, and I can freely communicate with them one at a time on an as-needed basis. Since I am planning to use more sensors, it can be very useful.
My module is a small pcb measuring 15x13mm with a 4 pin header. The order of the pins may vary on other modules so keep an eye on the labels so you connect up the correct wires from the Pi.
I found some interesting tutorials to help me to use Python to read data from the sensor, so I will start to play with it and let see what can i get. I will perform a series of experiments with this sensor and Watson IoT — I am really sure that I will have a lot of fun with that.
Now that the body of my CognitiveBox is OK, let’s talk about its soul :-)
TJ-800 is learning everyday!
I’ve been training continuously my robot powered by Watson with some daily conversations, general information, my social data and others. This will be a long long road but I am having a lot of fun while doing it.
You can see a short video, clicking on the next image:
On the next articles I will share the results of this hands-on weekend. I think the best is yet to come!!!
See you next time!
Wave Project Manager for Datacenter Migrations | Design Thinker | Cognitive Learning Leader at IBM
Originally published at https://www.linkedin.com on September 23, 2017.