Sending Commands To The Car - DIT113-V22/group-06 GitHub Wiki

Requirements for Milestone "Sending Commands To The Car"

Functional Requirements:

  • The webpage must be able to connect to the mqtt broker. (Issue 23)
  • The mqtt client for the webpage must subscribe to the correct topic. (Issue 23)
  • There must be a specific topic for every code block except "repeat x times". (Issue 23 and Issue 49)
  • The contents gotten from the canvas in Milestone "Read and Execute Blocks" are translated into a message that can be send to the car via mqtt. (Issue 23 and Issue 49)
  • The message includes the number of seconds/degrees and a destination name / topic. (Issue 23)
  • The commands should be send when the start button is pressed. (Issue 23 and Issue 40)
  • The commands should be send in the correct sequence (top to bottom). (Issue 23)
  • The car must connect to the wifi and the mqtt broker. (Issue 24)
  • The car must subscribe to the correct topic. (Issue 24)
  • The car must be able to translate the messages into the correct actions e.g., if the topic is "forward" and the message is 2 it should be translated into moving 2 seconds forward. (Issue 24 and Issue 49)
  • The car must perform the translated actions, by setting the correct speed and angle to the car. (Issue 24 and Issue 49)
  • When the stop button is pressed no more messages should be received by the car. (Issue 39)
  • When the sensors detect an obstacle the speed and angle of the car should be set to 0 and the user should receive a message on the screen asking to move the car to a position without obstacles. (Issue 50)
  • All the requirements mentioned above should also apply for the code blocks added later. (Issue 48)

Non-Functional Requirements:

  • The topics should have a clear name fitting to the action they represent. (Issue 23 and Issue 24)