SOFTWARE FRAMEWORKSoftware Presentation
Web services (cloud services)
Algorithmic cloud services TekTrain
- Weather report
- Sentiment analysis from sound, image or text
- Age / gender detection from image
- Image Character Detection (OCR)
- QR-Code and Bar-Code detection
- Dominant color detection
- Image motion recognition
- Text or audio translation
- Detect language from audio or text
- Voice command recognition
- Audio detection
- Face detection from image
The TekTrain App Store undertakes the storage, processing and acquisition of educational missions performed by third party users. Each user of the system (teacher or student) will be able to save a new educational mission, maintaining different versions, to make it easier to manage. The functionalities it includes are:
- Create / modify / delete an educational mission
- Search for an educational mission with keywords or tags
- Display information of a specific educational mission
- The TekTrain Application Store is available at https://tektrain-cloud.ddns.net/
Examples with screenshots of the App
Programming platform TekTrain
The user sees in his profile his exercises, robots and his performance. The TekTrain platform provides a set of training missions that aim to explain the graphical commands provided. The educational missions provided are of escalating difficulty. In order to solve a specific training mission, the user must left-click on the “Open” option of the desired mission. Then, the specialized screen-description of the mission appears, which includes detailed instructions in the form of text, a hyperlink for instructions in the form of audiovisual material (if provided by its creator) and two solution options.
By clicking on “Graphic Solution”, the TekTrain application design environment is displayed, which consists of three distinct parts: The toolbox, the graphical commands and the application design canvas.
Screen of provided Educational Missions
Robotic application design home screen
Indicative, complete, robotic application using the platform
Peripheral Control Software
The peripheral control software has been implemented in Python 3.7 programming language and has been developed in an object-oriented way, ie by defining abstract classes, from which they inherit more special classes, which result in low-level implementations.
The developed library is called Pidevices and its purpose is to easily manage connected peripherals with a Raspberry Pi 3 (RPI3), which is the main computing unit of the TekTrain robotic device. A device can be anything that is connected to an RPI3 and is divided into two general categories, sensors that receive information from the environment and actuators, which act on the environment and change its properties. The Pidevices library uses a common interface for all devices, which consists of three calls, start (), stop () and restart (). The difference between sensors and actuators is that the sensors have a read () call, while the actuators have a write () call. Thus, the individual programmer can expand the library, simply by implementing the above four functions, without having to know the overall management of the devices.
A hardware interface connects two devices in such a way that they can send data. In Pidevices each hardware interface has four basic methods, initialize (), read (), write () and close (). In this way, the respective programmer can extend the hardware interfaces simply by implementing the above methods.
The abstraction of material interfaces is done using the inheritance of abstract protocol classes. For example, the SPI class defines the parameters and general calls of the SPI protocol, and then the SPI_Implementation class inherits it and implements its methods using a specific library that implements the SPI protocol (eg spidev2).
Cloud Software Architecture TekTrain
To TekTrain περιλαμβάνει υποσυστήματα που εκτελούνται στο νέφος. Όλα τα υποσυστήματα εκτελούνται σε docker containers, κάτι το οποίο επιτρέπει την εύκολη διαχείριση και επέκταση και υποστηρίζεται από τις όλες τις σύγχρονες υποδομές cloud (AWS, Google Cloud Platform, κ.α.).
Η πλατφόρμα νέφους TekTrain (TekTrain Cloud Platform) αποτελείται από τα ακόλουθα επτά υποσυστήματα:
- το backend της πλατφόρμας, το οποίο υποστηρίζει την πλατφόρμα TekTrain (TekTrain Platform Front-End),
- μια βάση δεδομένων, στην οποία αποθηκεύονται τα στοιχεία χρηστών, αποστολών, εφαρμογών κτλ (TekTrain database),
- το backend της μηχανής MDE που πραγματοποιεί ελέγχους ορθότητας των εφαρμογών που σχεδιάζονται στην πλατφόρμα TekTrain και εκτελεί τους M2T μετασχηματισμούς ώστε να παραχθεί ο εκτελέσιμος κώδικας τους,
- υποσύστημα πιστοποίησης και εξουσιοδότησης (authentication backend), το οποίο χρησιμοποιείται από τα υπόλοιπα υποσυστήματα,
- υπηρεσία για το “πακετάρισμα” (packaging) των εφαρμογών (application packager),
- υποσύστημα σύνδεσης και επικοινωνίας των συσκευών (message broker) και
- διαδικτυακές υπηρεσίες νέφους, όπως αναγνώριση προσώπων, αντικειμένων, διάθεσης κτλ.
TekTrain includes cloud-based subsystems. All subsystems run on docker containers, which allows easy management and expansion and is supported by all modern cloud infrastructures (AWS, Google Cloud Platform, etc.).
The TekTrain Cloud Platform consists of the following seven subsystems:
1. the backend of the platform, which supports the TekTrain platform (TekTrain Platform Front-End),
2. a database, in which the data of users, shipments, applications, etc. (TekTrain database) are stored
3. the backend of the MDE machine that performs the checksum of the applications designed on the TekTrain platform and performs the M2T transformations to generate their executable code,
4. authentication and authorization subsystem used by the other subsystems (authentication backend),
5. service for the ‘packaging’ of applications (application packager),
6. device connection and communication subsystem (message broker) and
7. Internet cloud services, such as face recognition, objects, disposal, etc.