Project Start

Please forgive me if this is a horrible thing to post, I apologize in advance, but I am unable to find help regarding the specifics of my query.

I am looking to build two devices at the moment, one is a multifunction GPS logger, but I would like to use the GSM network to upload that data to Google's 'My Tracks' service, which seems to be the complex part, but I would also like to be able to log the GPS data to an SD card as well as implement an accelerometer, so that I can track my motorcycle's acceleration, deceleration, tilt around corners, and the number of G's during all of these... I do not even know if this is specifically possible, but I know if it is, this is the place to find out...

The other project I am considering, is to create a solution that would monitor temperature inside and outside, and light conditions outside, to be able to open and close my curtains/blinds when the temp. reaches a certain Delta, and only if it is daylight outside, I would also like to have this data being logged to a website, so that I am able to monitor real time, whether the blinds are open/close, and what the current temperature is and light up a set of RGB LED's in accordance with whether it is warm or cold outside (Irrespective of the Delta). Ideally, I would also like to be able to manually open/close the blinds via some kind of web function, or send an SMS to a Google Voice account to do so, or any way that would be easiest to implement.

I have a general idea of the parts that I will need, I think, but I am ultimately lacking confidence to undertake such a task. If anybody were willing to help me to walk through some of the beginning steps of this, as I do not want to order the parts, only to find that the goal is not even possible. It is somewhat of a catch-22 for me, I can not justify the hardware if the goal is not possible, and I can not justify learning anything else if the hardware aspect is not possible (Meaning that I do not even know if all of this is possible on a single board/shield{s})... Is this something perhaps better suited to a RasPi build, I do not know how much a single Arduino can handle at once, for all I know this is just scratching the surface, barely, then again, for all I know, this could fry and catch fire... :wink:

Again, any and all help would be appreciated... If these are not possible, how much of my objective is possible?

Thank you for taking the time to read this,

~J

The Arduino is way ahead of the Raspberry Pi with interfacing sensors and controlling motors and connecting all kind of things. The Arduino can also be a webserver, but that is pushing it to it's limits.

Using GPS with Arduino is no problem. See this "ultimate" gps module, Adafruit Ultimate GPS Breakout - 66 channel w/10 Hz updates [PA1616S] : ID 746 : $29.95 : Adafruit Industries, Unique & fun DIY electronics and kits
Adding storage to microSD, accelerometers, and so on, is no problem.
I don't know about uploading it to a tracking service.

Home automation is a common project.
You could have a central unit (for example Arduino Mega 2560 with Ethernet Shield) that runs a webserver.
The Ethernet Shield contains a microSD card socket, so you can log everything to a file. Even the webpages could be on the microSD.
Sending SMS is something I have never done. You would need a GSM or GPRS shield. Perhaps you can use an internet sms service. That way you can use the same Ethernet shield to do that.
A few other Arduino boards could have sensors and control motors, and communicate wireless with the central unit via 433MHz.

You don't go into much detail about how many curtains/blinds you want to control or what the actuators are so it's hard to comment on what sort of hardware you would use to do that.

Since there are not many "shields" available for the Raspberry Pi yet, I would be tempted to suggest you use Arduino for your GPS project. On the other hand, if you're comfortable wiring up a simple perfboard interface board with an ATMega chip on it for the Raspberry Pi then you could do the "real time" things like taking data from an accelerometer with the ATMega and do the rest with a Raspberry Pi as a controller/data logger for the GPS and ATMega peripherals.

If I was doing the home automation project I would seriously consider using a Raspberry Pi. My reason would be because the RPi is far more capable and easy to use to do anything involving an ethernet connection or the Internet. After all, it is a full Linux based computer system with GPIO, I2C, SPI, UART, ethernet, USB, HDMI and stereo audio included. None of the things you want to monitor would be compromised by the latency caused by Linux going off for a few milliseconds to deal with operating system housekeeping. Whether or not you feel comfortable breadboarding up the sensors and relays you would need for environmental sensing and control would determine if this was a good solution for you.

One solution to combining an Arduino and a Raspberry Pi is this:

I am in the early stages of the same project for the motorcycle. The acceleration/tilt of the bike can certainly be handled with an Arduino and a gyro+accelerometer unit. I am working with the MPU-6050 personally, which is a single chip Gyro+accelerometer combo with many more features than you would ever want. Some information about this is in the following:
http://playground.arduino.cc/Main/MPU-6050
https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/MPU6050/Examples/MPU6050_DMP6

If you want to start out slow, you can also start with simply logging acceleration from an analog unit without worrying about tilt. This I think is a much easier place to start than the MPU-6050. I personally played with this unit on an Arduino Uno R3 and it was very easy to set up: http://www.amazon.com/gp/product/B0066XLWDE/ref=oh_details_o07_s01_i00?ie=UTF8&psc=1. I got it to measure tilt as well by using the acceleration due to gravity, but I do not think that alone would work for a moving motorcycle - you need a gyro for that.

I also plan to implement a GPS and log all this either on an SD card, or transmit it via bluetooth/USB, but I have not thought this far ahead. Hopefully a single arduino can do this, but maybe I am being overly optimistic here?