Milestone 1: Control Car Via Api - DIT113-V22/group-01 GitHub Wiki

Milestone Description: Covered in this milestone is the initial creation of the smartcar, giving the developer as well as the user access to all the features that are connected to the car. The car itself will be connected via MQTT, leading to the creation of topics where the car can receive and send data via localhost or the internet. Along with these changes, there are going to be tests to accompany these first implementations on the car; testing each sensor's activity when an MQTT message has been sent through the terminal (we arent expected to have an android app at this point so terminal mqtt messages suffice)

Central Use Case of the Milestone: As a developer, I want to control the cars remotely via an api, in order to reduce the scope of work when adding new car features to the app.

Link to Milestone

Requirements

Functional Requirements

  • The system shall provide all the car's provided sensor data
  • The system shall calculate the speed and distance of the car
  • The system shall allow the motors to propel the car in any given direction
  • The system shall allow the user to change the speed of the car
  • The system shall provide a blinker for indicating direction of travel
  • The system shall provide an emergency stop feature
  • The api should use the MQTT protocol
  • The system shall have an sdk (Facade) implemented to abstract MQTT commands

Non-Functional Requirements

  • The sdk (Facade) is fully tested
  • The api implementation is fully tested

Features List