Arduino interfaced with Raspberry Pi 2

I have been working on a smart home idea. The project would need to control about 30 variables that would be stored in a database on the cloud.

The idea is that a "home-center" (either Arduino or RasPi) would read the database values off the database at the start.

A user can modify the values at any time and this means the webservice would have to notify the home center to update its values upon modifications.

Once this occurs the home center would operate based on those new values.

So my question is as follows:

Do you recommend I use Raspberry Pi as the home center instead of the Arduino?

The operation would be:
Home-center with ethernet client could query the database and use those values to run different functions.

But Im worried that Arduino would have too little storage capability to handle the 30 variables plus all the functions necessary. Those variables are mostly text strings which represent times of the day & booleans.

I dont have any code yet but just the code to fetch data from the webserver takes a good chunk of memory on the arduino. The functions would take the updated values form the web service and perform functionsl like:

  • turn about 3 different sets of light On or Off
  • run servos to open and close about 4 shades
  • control a solenoid to water a garden
  • monitor water and energy consumption
  • post text string data to 2 different webservice (Google and another private service)
  • read data for 5 days of weather service

and eventually I plan to:

  • have it take jpeg pics and upload them
  • receive commands to handle a home robot

So Im leaning towards using raspberry pi as the main controller at home and have the pi interface with arduino's instead.

Comments?

A RasPi should work well as the master controller, with Arduino slaves at the various places of sensors and actors.

How do you intend to exchange commands and feedback between the master and slave controllers?

That's what I'm not sure of yet. Since the Arduino slaves would be in separate places, I was thinking using BT instead of wiring them.