OpenRoberta / openroberta-lab

The programming environment »Open Roberta Lab« by Fraunhofer IAIS enables children and adolescents to program robots. A variety of different programming blocks are provided to program motors and sensors of the robot. Open Roberta Lab uses an approach of graphical programming so that beginners can seamlessly start coding. As a cloud-based application, the platform can be used without prior installation of specific software but runs in any popular browser, independent of operating system and device.
Apache License 2.0
125 stars 121 forks source link

EV3 and NAO update process needs refactoring #3

Open bjost2s opened 5 years ago

bjost2s commented 5 years ago

todo

VinArt commented 5 years ago

This issue refers to the change in update procedures of all robots that require HAL updates: EV3 (all versions), NAO v5 & v6, raspberry pi and possible others.

This refactoring should include the development of automatic update procedures for the openroberta-connector program.

The idea is to separate the main openroberta server and the update server into two parts and make a change in the robot-server protocol.

The update could be executed as follows:

  1. Robot requests version information
  2. This information is used to compare current (local) and server (remote) versions
  3. If versions are the same, do nothing, otherwise request a link to the update server from the main one
  4. Main server sends the link to the update server.
  5. Update server provides up-to-date files as resources for download
  6. Robot downloads all provided files.

Current implementation of REST endpoints could be reused for this separate update server.

bjost2s commented 5 years ago

Another server has to be discussed in detail because of the costs, maintenance, man power, ...

VinArt commented 5 years ago

By the server I mean a separate software piece, not another machine. Anyway, I made a sketch of the sequence diagram for the update process: image

VinArt commented 5 years ago

Or maybe like this: image