Arduino in the workplace
Recently I was faced with an interesting challenge at work. How could I monitor our paging infrastructure (pagers, yes pagers, I work in healthcare) to ensure it was up and running 24 hours a day, 7 days a week? I had the ability to monitor certain portions of the system but no way to automate the monitoring of the end-to-end system, all the way out to the pager, keep in mind this technology is a one-way technology. My experience in the electronics hobby and having a developer background gave me an idea, I could attach the pager to an Arduino and write a Microsoft Windows service that would receive heartbeats and page received alerts via serial over USB and log those to a file that our enterprise monitoring system could watch. In fact, our enterprise monitoring system could send an email which gets converted to TAP via some SMTP-to-TAP software we have in use already.
So, the enterprise monitoring tool will send a page to our test pager, once the pager receives the page it'll notify the windows service using serial communications, which will in turn write the event to a log file (I could have used the event log). The Arduino will also send a heartbeat message every minute which also gets written to the log file. This will allow our monitoring tool to raise an event if the Arduino goes offline. We'll add some additional business logic in the monitoring software to page several times before opening up an incident but yes, I think this will indeed work and work quite well. How else is a company that is dependent on 1970 open-loop technology monitor it without something like this? I'm curious if others have solved a problem like this and how?
It didn't take me long to get a simple windows service built that listens on the specified COM port for serial messages from the Arduino. There are lots of examples of this being done, just google it. Hooking the pager up to the Arduino was also super simple, I just used the existing connection to the vibration motor on the pager and tied that to an analog pin on the Arduino. I also didn't want to have to bother with batteries for the pager so I hooked up a LM317 adjustable voltage regulator to supply the 1.5V the pager was expecting from the 5V on the USB line. After hooking everything up, I must say the system works quite nicely, we'll see how well it behaves long term but this project proves how useful a simple Arduino can be in the workplace. As always all the project files are attached to this post for everyone.
Till next time...
Healthy Habitats For Home Labs
I've slowly been able to expand my home lab to include the type of equipment that allows me to continually improve my technical skills as well as experiment with home automation and DIY electronics. As my home lab has grown so has the need to ensure it's kept healthy. One way to ensure it stays healthy is to make sure it's got a nice comfortable habitat in which to work and live.
My first feeble attempt to monitor the environment where I keep my server rack was to buy a cheap-o temp and humidity meter from eBay. It worked in so much as I could tell what the temperature and humidity was if I bothered to go down to the basement and look. I'm lazy, heck I have IP KVMs so I don't have to go downstairs to reboot a server, I'm not going to go down there to check the environmental conditions. Something better had to be implemented....
I started looking for environmental monitors/sensors on eBay thinking I could pick something up cheap from one of the numerous companies that sell used computer equipment. Data centers are always upgrading such things and I was confident I'd get something to meet my needs for less than $100USD. Wow, I was ever so wrong. I found some things around the $100USD range but they typically required other pieces or sensors that costs as much or more. This was starting to suck.
Not sure why it took so long, but I finally remembered I had purchased a temperature and humidity sensor from AdaFruit.com many months back for a project I hadn't completed. I also remembered I had an Ethernet shield and I always have a few Arduinos on hand. I had struck gold, I'll build my on networked environmental sensor and I can do it for FREE (as I already owned all the pieces).
Thanks to AdaFruit.com's learning site, I was able to get my DHT22 temperature and humidity sensor working in just a few minutes but I needed some way to get to the data remotely over the network. I hooked up my Ethernet shield and started messing about with building a HTTP client and after a bit realized there had to be someone who had done this already. I found this article which leveraged the Ethernet shield to log the data to a cloud service which had a nice user interface for making sense of the data points I was capturing. Exosite was going to be a great, no fantastic solution! I downloaded the Arduino library for Exosite and I was done in about 30 minutes.
This is why I love Arduinos and the community of Arduino users. I was able to build an environmental sensor that was networked, captured historical data points and even has alerting features (via email) in about an hour and for about $75USD in parts.
Check out my Exosite portal here.
Now I've just got find a nice way to mount this in my rack and add a display for local viewing of the temperature and humidity for those times I actually am standing in front of the rack. But I'll save that for another post....
My example code and high resolution pictures can be downloaded below.
Great read for battery powered projects!
I've had many a project lately that needed to use batteries rather than being powered from the mains. I've been reading lots lately about saving power in AVR chips and general concepts for power conservation in my projects. It's made me a better engineer in general and I think all my future projects will benefit from the knowledge regardless of their power source. During all my research I did stumble upon this article that I thought would be useful to the masses and thought I'd share it with everyone.
http://www.sparkfun.com/tutorials/309
I <3 Raspberry Pi
I finally got my shipment of Raspberry Pis today and I am stoked! I didn't pay the crazy prices on eBay and so I now have a $36 computer. I've allocated both of my PIs as XBMC boxes to power my basement and living room TVs. I had been running a BoxeeBox and while I initially loved it, I've grown to HATE it. They should rename it "FlakeyBox"; a $200 box of crap.
Anyhow, I spent about 30 minutes working on it and I have my first Pi up and running and streaming 1080 video to my TV without issue. If you are in the market for a Pi allow me to suggest Adafruit. If you want information on how you too can use a Raspberry Pi as a media center, check this site out. There are several different firmwares available for XBMC but I've settled on Raspbmc for now, it's fast enough for daily use and seems very stable.
Update (2/11/2013):
Make sure you use a powered USB hub and pick up one of these power supplies for your PI, otherwise it'll be very unstable. I learned this the hard way. These power supplies from AdaFruit supply 5.25V to the PI which helps with it's rather shoddy power design which will allow the board to become under powered and reset.
Why did I wait so long to toast my boards?
I've recently redesigned my Retro WiFi Radio project to include some "extra" functionality and the design requirements required some tiny spacing of the components in addition to some tiny SMD parts. While I'm all for hand soldering SMD when needed, I wasn't looking forward to attempting this board build by hand...I really needed to look for a better, faster and more reliable way to solder SMD boards. I'd read articles from Adafruit and some other sites about utilizing electric skillets to re-flow boards but I've also read plenty that say it's not the ideal way to re-flow. I even went as far as to "Watch" some eBay listings for a few cheap Chinese re-flow ovens. I knew folks had been having lots of luck using a PID controller and a toaster oven and after reading reviews about those cheap Chinese re-flow ovens, I figured my $50 investment in a toaster oven from wally world would be the safest gamble. I knew I wanted a toaster with no digital controls (easier to hack up, I suspected) and dual top and bottom heating elements. I also had read some good reports using toaster ovens with a fan which supposedly prevented hot/cold spots in the oven. I found a Black and Decker at Wal-Mart for about $40 that fit the bill perfectly so I made the plunge, I sure hope it would reach high enough temps fast enough to hold a good re-flow profile.... The first test for the toaster before tearing it apart was to ensure it'd get hot enough without any modifications.
My particular oven has both a "Baking" and "Toasting" settings with the difference being the "Baking" setting enables the convection fan. I tested the oven in both settings to ensure it'd easily exceed the required 250C my lead-free profile would require for re-flow. It didn't take any time at all for the toaster to exceed my temperature requirements in both settings. Looks like I got myself a champ here folks! Given the fact that I had already purchased an appropriate solid state relay for a different project and I had a spare Arduino laying around, I knew I could quickly throw together a PID controller and test the toaster's ability to hold a profile. I used a sketch from these great folks (which they use for their Arduino re-flow shield) and an LCD display I had laying about. I had a working PID controller in about 45 minutes. So far, this project was looking like it was going to be super easy! Why hadn't I done this before? Using my Fluke meter (with temp probe), I manually charted the temperatures of 3 re-flow runs and while not as accurate as an industrial re-flow oven, I think it'll do just fine. My first few boards worked perfectly and I must say, it's WAY faster and easier than soldering by hand! Bring on those 0603 resistors now!
Update:
Not one to leave good enough alone, I decided there were a few easy things I could do to improve the responsiveness of the toaster and help it follow my profile more accurately. Here's what I did to the toaster to "improve" it and the results. 1. Added reflective "flue tape" to the inside of the toaster's internal metal walls (back wall and bottom with ceramic fill inside cavity) as well as the glass front door (minus the "peep" window). 2. Filled internal voids with ceramic fiber insulation wool. Got some cheap from eBay
Unaltered Toaster:
Time to 250C (Toast Setting): 3:41.3 Time to 250C (Bake Setting): 6:46.9
"Improved" Toaster:
Time to 250C (Toast Setting): 2:25.8 Time to 250C (Bake Setting): 3:53.6
Preparedness 101
With all the natural disasters in the news today, I thought about how so many people are becoming more self-reliant and how that's such a great thing. But then I thought about how many people must go through their day without even giving thought to what would happen if they found themselves in the middle of such disasters. Heck, even the government stepped up its attempts to educate Americans on being prepared when disaster strikes.
Being prepared is being American in my opinion and I have always striven to ensure my family was prepared for the unknown that mother nature (or fellow man) could throw at us. While I'm certain we are nowhere near as prepared as others, I do try every day to do something to help us become more prepared.
If anything good can come from the disastrous hurricane Katrina bestowed upon Louisiana, it's the knowledge that you can't count on the government to take care of you and your family in a crisis situation and you can always count on mother nature putting a whooping on ya when you least expect it. Since Katrina, I must say I stepped up my knowledge on being prepared as well as actually investing in what it takes to be prepared.
One way I've invested is with Shelf Reliance's Thrive Q program. It's a program that lets you build (with the help of their online calculator) a food storage program for your family and then either you can purchase it all right away or set a budget and get it shipped monthly. I opted for the monthly shipments and I'm quite happy with the program. I get a shipment of food (#10 cans) each month delivered to my door, which is as close to my set budget as possible without going over. The food has an incredible shelf life (most foods are ~25 years unopened) but it's really meant to be rotated through your normal pantry items. We open and use cans from time to time, replacing them on the list as we consume them. Of all the options for food preparedness, I honestly think these guys have the best solution. The food is excellent and it's reasonably priced.
If you don't have a food preparedness plan yet, you should really check them out, it's one less thing to worry about when mother nature finally gets fed up with your polluting butt. If you don't have any idea how to even start getting prepared, you should start here.