I'm very new to robotics so bear with me. I'm looking for a way to detect when my raspberry pi is in motion. More specifically, I'm looking to attach a raspberry pi to my motorcycle and have it send a text when the motorcycle starts and stops moving. I'm an avid programer so the sending a text is not a problem but when I look up how to detect motion all I get is results for PIR sensors detecting when somthing moves in front of it. I'm looking into accelerometers and gyroscopes but I'm not sure if this is the right way to go. Any point in the right direction is appreciated.
A power hungry Raspberry Pi is NOT the way to go, look into Arduino and perhaps a "tilt switch" to reduce the power consumption with the magnitude of hundreds.
This will give you a indication that the bike is experiencing bumps or shakes. The "Accelerometer and Gyroscope" that is proposed uses I2C interface and the same interface is also present on Arduinos.
The benefit is also that a Arduino is resilient to power lost and that is a weakness that Raspberry Pi has.
There is GMS modules like SIM800, but that is something that I understand that you are quite aware of, so I will not dwell on that topic.
Note: There is a feature called "Deep sleep" where you could put a Arduino into deep power saving mode and then wake it up with the tilt switch. I use the same concept for alarm devices and then they can use small batteries independent of the bikes power source. There is also a deep sleep feature that it can wake up every "time interval" and perform a task. The time interval could be seconds/minutes/hours.