The goal of the RoadStar project is to measure and evaluate the quality of the road surface automatically through crowdsourcing. Therefore we need to choose a mobile sensor setup which will be implemented inside a car.
As the GPS accuracy lies within a few meters we will only use a single GPS sensor per car to locate the measurements.
To gain data about the quality of the road surface itself we could either use one sensor per wheel (thus 4), one per side (thus 2) or just one per car. We are going to start with 4 sensor to see if we gain more useful information this way or if e.g. the back wheels would mostly provide redundant information of the front wheels.
Those sensors will be connected to the I2C bus of a Raspberry Pi (RPi). Our top candidate sensor (MPU-6050) has two possible device address (0x68/0x69), thus we can connect two to the same RPi without multiplexing (option 1) or each separately to its own RPi (option 2). As I2C is designed for low range we will probably run into multiple problems with option 1 if the cable gets too long: With a capacity higher than 400pF we need to lower the frequency or use a I2C expander and also add pull-up resistors. In addition, we might face voltage drops. With a separate RPi per sensor (option 2) we can keep the I2C wiring to a minimum. Now we need to check if the RPis have to be synchronized or if we can simply send the sensor data in real time to a center (server) RPi – but for that the delays or transmitting the data must not be as identical as possible for all RPis.
(see next posting regarding the delay of websocket in our test scenario)
The on-board power socket of a modern car delivers 12 volt with (normally at least) 8 amps of current. We use RPi Model B and RPi 2-B which both use not more than 4 watts, thus a setup with multiple RPis connected through a switch (~5 watts) should easily be able to be powered.
Checkout the results of us, Testing the hardware of our road quality measurement setup!