Enabling Smart Driving Through Sensing And Communication In Vehicular Networks