Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have decided, as a arrogant geek, to build my own home ventilation and heating system, and will try to do this as my little project. I have always been annoyed with the lack of good ventilation systems at work, so I accept building my own is arrogant.

Does anyone know about a device I can interact with that allows me to get temperature and humidity that I can interact with using C#?

I cannot get it from the Internet because I need to get the humidity from my server "room", so I can control the dehumidifier there. Similar with temperature, outside is not that important. It would be a huge plus if the sensors had some sort of wireless access.

share|improve this question
Sensors are not absolutely necessary. You can get the local weather information through internet and control AC/ventilation system by an experiencing model. You still need do some IO to control the devices. I suspect that controlling by experience is more easy to implement and has better result than some control algorithm based on sensor data. However, reading and processing sensor data are definitely more fun. – Codism Jun 29 '11 at 22:21

closed as off topic by gnat, Martijn Pieters, Glenn Nelson, Walter, thorsten müller Mar 7 at 12:50

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined in the FAQ. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about closed questions here.

5 Answers

up vote 5 down vote accepted

Going truly geeky way, you can use Netduino - a microcontroller that has micro-CLR on board for data collecting and aggregation.

To get actual values for temperature combine it with required sensors.

For controlling vent flaps and fans you can use IO board.

I bet, you can port and integrate Kayayak web server into the device, to get web access to metrics and controls.

In addition community around ardunio/netdunio has a plenty of nice tutorials and hardware for ethernet, wireless, USB etc.

share|improve this answer
One thing that confuses me is ardunio/netdunio the "same" or at least can be used together? – EKS Jun 30 '11 at 13:49
Mostly yes, Arduino (and all extra hardware with it) is a system, that comes with low-level programming language (C for Atmel AVR), while Netduino is a Arduino with CLR on top of it. Due to this, you can experience some drivers problem, but it is easy to write your own in C#. More detailed discussion: forums.netduino.com/index.php?/topic/20-arduino-vs-netduino – Valera Kolupaev Jun 30 '11 at 13:57

Your best bet would be to find a device that has RS-232 support. Talking to a serial port from C# isn't too bad.

Or.....

Digi makes a variety of Zigbee modules. They also have as a demo one with integrated temp, light, and humidity http://www.digi.com/products/wireless-modems-peripherals/wireless-range-extenders-peripherals/xbee-sensors.jsp#overview

You could take that, and find a C# zigbee stack to interface with.

Otherwise, some of their gateways can be programmed with Python scripts, and they have zigbee radios. http://www.digi.com/products/wireless-routers-gateways/routing-gateways/connectportx4.jsp#overview is one such model. Anyways, you could write a python script to get info from zigbee device, then send that over wifi/ethernet to a C# service listening.

share|improve this answer

Try looking at 1-wire and the sensors and libraries available for it.

e.g. http://www.maxim-ic.com/products/1-wire/software/ is one of many

share|improve this answer

http://www.tequipment.net/ReedC-342_345.asp

Found this one, but its insandly expensive in my books

share|improve this answer

When using the zigbee/802.15.4 protocol you communicate with sensors.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.