Home automation

I had a little brain fart while i was thinking about home automation but now that i want to realize this project.

So this is the concept:

In each room there will be a Arduino Nano which is connected to a wired network. This Arduino monitors the temperature, humidity and misc other things. Depending on the room there will be other sensors, smoke sensor in the kitchen, water sensor in the room with the laundry machine.
So far, so good, this i can do.

There will be a server, and this server is going to poll all the Arduino's every somewhat time. The Arduino's are going to respond to the servers request with nice json encoded data filled with the sensor data and flushes it's memory/sd card when the server is done polling the Arduino. The server saves it in its database. This way, when the server is down or the network is down the Arduino saves the data until the server does the request.

I am not really sure if a Arduino Nano is going to cut it. But i want low power usage and ethernet connectivity.

Well now for the question, is a Nano good enough and is there a way that each Arduino serves as a own API (json encoded)? Or it this a really complex solution for something that is not really difficult?

I think its overkill :slight_smile:

Also the ethernet shield does not fit the Nano, so you would have to cook your own.

You could do it as simple as creating a RS485 "network" and have each Nano as a node on it.
You could still use the same Json or what ever for wrapping your data.

You can get a simple serial (usb) to RS485 board for the controlling PC.

Overkill? That was not the reaction that i would expect

What I would do [am actually in the process of doing] for home automation is not use the
2.4Ghz band for RF, but rather the 433 Mhz band with low-power transceivers. Where I live
I can pick up 30 other wifi routers.

So, a 433 Mhz transceiver in each room connected to whatever, and one central host for this
network. 5 mW transmit power at 433 Mhz can easily cover a house. Then the host only has
ethernet or wifi, and can connect to my router or main PC.

Although I am building my own pcbs for this, jeenode is one possibility for the remote nodes,
although the jeelib libraries and examples haves a lot of problems. Apparently, lowpower labs
has a better version of the s.w.

http://jeelabs.com/products/jeenode
http://lowpowerlab.com/

Also the ethernet shield does not fit the Nano, so you would have to cook your own.

Or use a little W5100 Ethernet Brick like this: http://yourduino.com/sunshop2/index.php?l=product_detail&p=243

You could do it as simple as creating a RS485 "network" and have each Nano as a node on it.

See this on using RS485 on Arduino:
http://arduino-info.wikispaces.com/SoftwareSerialRS485Example

You can get a simple serial (usb) to RS485 board for the controlling PC.

Like: http://yourduino.com/sunshop2/index.php?l=product_detail&p=325

DISCLAIMER: Mentioned stuff from my own shop... which is what I know about :slight_smile:

Hmm thank you guys for the input but i still think ethernet is the way to go. I don't trust wireless connections and ethernet around the house is much cheaper and easier.

I forgot to mention that i was already planning to implement a wired network in the house using ethernet. And i also forgot to mention is that we have stables with horses that i also want to monitor and there will be a ethernet connection that we will be using for the webcam.

The arduino nano has a ethernet shield:

So that wont be a problem i think. Powering the Nano might be a problem i guess? Don't want to use batteries for obvious reasons.

I am a full time php programmer and i had my fair share of basic arduino sketches using sensors and leds. But using the ethernet shield is something new for me. Especially when it comes to serving json content as if it was a API. Is this even possible?

metalmini:
I don't trust wireless connections and ethernet around the house is much cheaper and easier.

Easier? Probably, but certainly not cheaper. In your example, each "room node" will cost ~$55. Using 433 MHz wireless, you would only need a single "base station" and the smaller "room nodes" around the house could be made in most instances for less than $10.

I am a full time php programmer and i had my fair share of basic arduino sketches using sensors and leds. But using the ethernet shield is something new for me. Especially when it comes to serving json content as if it was a API. Is this even possible?

There is a JSON library out there, but I haven't used it so I can't attest to how well it works.

Ok now you got my attention.

I am used to working with tcp/ip but not with 433 MHz wireless. How would such a setup look like? One arduino with both ethernet and 433 MHz module? Using the ethernet talking to a server and the wireless module to talk to the nodes?

Any tips on the communication between de basestation and the nodes?

metalmini:
Ok now you got my attention.

I am used to working with tcp/ip but not with 433 MHz wireless. How would such a setup look like? One arduino with both ethernet and 433 MHz module? Using the ethernet talking to a server and the wireless module to talk to the nodes?

Any tips on the communication between de basestation and the nodes?

That's what the links on reply #3 were about. Also, if you track down the datasheets
on the RFM12 and RFM22 transceivers, you'll see they are very sophisticated devices
with 100 configuration registers, and packet transmissions. There have also been
many threads on these in the Networking section of this forum.

Another popular transceiver is the nRF2401, but it operates at 2.4Ghz, and only has
an effective range of 10m or so, similar to low-power Bluetooth. IOW, forget it for
the discussion at hand.

Well i did a little reading and i think that Moteino (868Mhz) as sensor nodes and a arduino with a ethernet shield and a RFM12B transceiver as a basestation. I wanted to use 868Mhz version because i live in the netherlands, so the 915Mhz is out of the question. And because of the range. But as i said before, my knowledge of RFM is not that big... So if anybody thinks this is a mistake, please let me know.

Because i live in the netherlands, and ordering the Moteino can be a hassle. So i want some certainty about using the Moteino and RFM.

For one, how can the arduino differentiate between multiple nodes?
How can i schedule the moment of probing? In my simple way of viewing this is putting a sleep in the code, but i am afraid that the nodes will keep transmitting, which is not very efficient. Or should i let the Moteino transmit data and then sleep? But what will happen if two Moteinos transmit at the same time?

The basestations only job is to gather the data from the nodes and then post it to a remote server. So i can store it in a database to later create a nice interface for it.

BTW there is an Arduino Forum specifically for Home Automation HERE:

terryking228:
BTW there is an Arduino Forum specifically for Home Automation HERE:

Oops!

Can a mod move this thread to where it belongs?

Moving this convo to here;

http://forum.arduino.cc/index.php?topic=168553.0