I also recently purchased a Raspberry Pi B+ from Sparkfun.com and had been tinkering with all sorts of things on it. As a side note, I also purchased a cool Plexiglas enclosure from Adafruit industries, I highly recommend it, she makes them on site and it is a perfect fit and looks cool. The Pi is a great little platform and can do all kinds of things big computers can do at a fraction of the price. Currently I have it interfacing to my weather station and posting the weather data from my backyard up to the Weather Underground, I thought it might make a good platform to interface to the Anova as well; this brings me to the point of this post.
Once I got the idea of interfacing to the Anova unit from my Raspberry Pi, I did a little research and found I needed to purchase a Bluetooth dongle that would be compatible with the Anova. Since the Anova uses Bluetooth LE, the dongle must also support that and I needed one that had already been successfully interfaced with the Raspberry Pi (no need to re-invent the wheel here). The one I chose is based on the Cambridge Silicon Radio and I got it from DX.com from their USA warehouse: ultra-mini-bluetooth-csr-4-0-usb-dongle-adapter.
So with the Pi, dongle and the Anova unit in place, it was time to see if I could interface them. My research found an awesome resource on eLinux.org on how to get Bluetooth LE working on a Raspberry Pi and I followed this almost exactly to get my Pi to talk to the Anova. Here is the blog post: http://www.elinux.org/RPi_Bluetooth_LE. The following pictures correspond to particular steps in the posting and I have tried to reference each of them for the pictures.
I followed all the steps up to the "First Test" header in the posting to get the proper software installed, configured and working on my Pi.Next I followed the instructions and the picture below are my results when following them.
|Results of "lsusb" with the CSR BT Dongle plugged in|
|Doing a detailed "lsusb" on the CSR BT Dongle|
|Results of the detailed "lsusb"|
|Results of the "hciconfig"|
|Bringing the CSR BT Dongle "up"|
|Results of the "hcitool lescan" command|
|Results of the "hcitool lecc" command|
That's it for now, the next step is to take the btle.py Python code and update it to send a command to the Anova. This is simply done by writing to the Characteristic with its value set to a recognized command (status, read temp nn, write temp nn, etc.).