Show HN: Raspberry Pi Temperature Sensor Project
github.comI hate to be "that guy" but if this is what passes for an interesting project these days, I could flood github with all the miscellaneous crap I have on my testbench.
Temperature is the most commonly measured process variable. Measuring it in most cases is trivial!
Show me an RPi project that calculates the temperature of a blast furnace by measuring the air pressure and the speed of sound in the vicinity and I'll change my mind.
Embedded guy here as well. I have to chuckle when I see a mountain of Java code to do a simple sensor operation but, hey, at least they're trying to understand how to make it all work.
What's distressing is that these folks will win in the end, and IoT wind up being quad-core devices @ 800Mhz because everyone is writing their system nodes in node.js or running a JVM. Small and tight just isn't worth the effort anymore.
Hell, Java is too much of a pain to build and deploy (especially for something like this that requires custom hardware). I built a similar project 2 years ago in Python and it's good enough.
Embedded hardware still has its place though. General purpose kernels like this can't handle timing-sensitive operations well, so there will always be a need for small and tight real-time programming. Other solutions exist such as binding a separate microcontroller to the host OS, but they're clunky and require additional drivers/libraries.
But you're right, IoT will end up being quad-core devices running some version of Linux because it's an easily accessible development platform that provides TCP/IP and a bazillion actively maintained drivers. And why not? The silicon is getting cheaper every day.
This code looks to me to be fairly well constructed. There's a nicely written Sensor class and it looks like reasonable MVC. Yes, today it might be overkill for such a simple application, but I contend that this will be easier to extend into something less trivial down the line. If you are a Java guy, this is an excellent example to learn some basics of dealing with sensors.
"I could flood github with all the miscellaneous crap I have on my testbench."
I would say the vast majority of projects on Github qualify as 'miscellaneous crap'. Most employers these days require a link to your Github profile during the application process, which can be a pain if you have been working with closed-source systems your entire career, or are relatively new to the field (Github isn't part of most CS curriculums). Throwing up a few toy projects can be enough to get you through the screening process.
With that said, I personally wouldn't submit a project like this to HN (I have a very similar project on GH). But if it got enough up votes to get on the front page, who are we to judge.
I like this project :). I made a similar temperature alert system with Raspberry Pi called Fido. It supports the Temper1 USB sensor and the Temperature/Humidity Pro sensor for GrovePi board that attaches to the R-Pi.
See the page for farmers -> http://farmhack.net/tools/fido-temperature-alarm-sends-text-...
Code here -> https://github.com/fidoserver/Fido
Also, I got funded today by the Knight Foundation to work on the Open Pipe Kit which should be a more modular version of Fido. The goal is to make it dead simple for anyone to send data from sensor to anywhere on the Internet.
Blog post -> http://www.knightfoundation.org/blogs/knightblog/2015/2/10/k...
Project page -> http://farmhack.net/tools/open-pipe-kit
Tomorrow I might post our 3D printer operating system, which includes calibrated temperature readings and SMS alerts among many other things (webcam, motor control, and printing objects remotely)
I see no mention of calibration.. Calibration is important. Even if you don't do it you should be aware of what the error might be.
Thanks for the suggestion - I've added a note to my issues list about this.