If you own a smart phone, you're probably holding a device with a number of sensors that is constantly collecting information from its surroundings. Many of the apps on your phone make use of these various sensors to operate. Now, you can read from your phone's sensors using MATLAB! If you have R2013a or newer and an Android phone or an iPhone/iPad, you will want to check this out.
After installing a free app for your Android or iPhone/iPad, you can now receive sensor data from you phone directly into your MATLAB session. It is written using MATLAB Classes, and it has a simple interface to read sensor data from your phone.
Establish connection with your phone:
sensor = sensorgroup('AndroidMobile')
sensor = sensorgroup logging data from Android device on port 60000 Measurements: (showLatestValues) Acceleration Orientation Latitude Speed Longitude Altitude MagneticField
Read the latest values from the sensors:
Measurement Latest Values Units Log Size ------------- ---------------------------------- ------- -------- Acceleration 4.51 -3.30 -8.16 m/s^2 <1x3> MagneticField -3.56e-06 -2.49e-05 1.11e-05 Tesla <2x3> Orientation 27.08 27.14 -19.39 degrees <2x3> Waiting for: Latitude, Longitude, Altitude, and Speed. More information.
Get specific measurements:
ans = 20.6081 34.4375 -15.0781
The entry also comes with a MATLAB app that shows a live view of the data coming in, as well as an example of using the magnetic field information from the phone to rotate a 3D plot.
Get the MATLAB code
Published with MATLAB® R2013a
3 CommentsOldest to Newest
It would be cool if the sensor transmit functionality was included with the MATLAB app ;)
Is the connection between the smartphone and computer performed by bluetooth or WiFi???
The packets from the phone can be sent via Wi-Fi, or cellular. With cellular access you may need a VPN client depending on your network setup for your computer.