BlackBox - générateur de code source (JAVA, C #, C) traitant le protocole binaire de votre application distribuée

Dans la continuité du sujet où les lecteurs se concentrant uniquement sur le sujet de l'interface (les hooligans privent les boutons et les encodeurs) , ils ont complètement manqué le fait que la proposition de transférer l'interface du microcontrôleur vers un téléphone portable ou un ordinateur n'est qu'une des nombreuses options pour utiliser le générateur de code BlackBox . Un certain temps s'est écoulé, le projet se développe et il est temps d'écrire exclusivement sur le générateur de code lui-même.

Permettez-moi de vous rappeler que le générateur de code BlackBox génère le code source ( JAVA, C #, C ) pour traiter le protocole d'échange, selon la description de l'utilisateur, dans un format prédéfini. Il s'agit d'un fichier JAVA standard pour lequel vous devez modifier un ensemble d' annotations de description de données à un projet JAVA et suivre un petit ensemble de règles .

Après avoir décrit le protocole d'échange, les paquets, les canaux, les hôtes, les interfaces de communication, la topologie du réseau et en indiquant les langues (JAVA, C #, C) dans lesquelles vous avez besoin du code source, nous vérifions qu'il n'y a pas d'erreur et que le fichier est correctement compilé.

Ensuite, nous envoyons la source en pièce jointe de la lettre à l'adresse postale OneBlackBoxPlease@outlook.com .

Le serveur récupère périodiquement les spécifications soumises, vérifie leur exactitude.
Génère le code source ordonné dans la spécification, dans les langages de programmation requis.
Après cela, il crée plusieurs tests et les sources les parcourent.

Si tous les tests ont réussi, le code généré, le dernier test réussi, ainsi qu'un exemple d'utilisation de l'API commandée, sont placés dans l'archive et envoyés au destinataire.

Si une erreur est détectée, l'expéditeur est informé d'un retard possible et le support de BlackBox traitera le problème.

Le contenu de l'archive que vous envoyez peut, par exemple, ressembler à ceci.



Et récemment, pour confirmer la maturité et comme démonstration des capacités de la BlackBox , un projet a été créé pour convertir les informations sur les packages du protocole largement connu pour contrôler les appareils sans pilote MAVLink au format BlackBox.

Dans MAVLink, la description du protocole est au format XML . Au format BlackBox, ce fichier ressemble à ceci .

Bien sûr, la BlackBox a une variété de types de données considérablement plus grande que MAVLink, donc le projet ne démontre qu'une partie des capacités de la BlackBox. En savoir plus sur le projet de conversion ici .

Le résultat du projet a été confirmé - BlackBox peut facilement remplacer MAVLink. Tous les tests ont réussi, tout fonctionne très bien. Mais, afin de, dans le cadre de MAVLink, profiter de toutes les fonctionnalités de la BlackBox, vous devrez revoir la description du protocole.



Résumé:

Si vous pensez au protocole d'échange lors de l'écriture de votre application distribuée, vous n'êtes pas satisfait des performances du protocole que vous utilisez déjà, ou vous en avez assez de chercher des erreurs et de souffrir lors de l'extension du protocole - essayez BlackBox .

En plus de l'application évidente dans les applications distribuées, avec BlackBox, vous pouvez facilement par exemple: écrire votre protocole dans SQLite, dans n'importe quelle langue JAVA, C #, C ,
créer votre propre format optimal pour télécharger des informations dans un fichier, puis lire.

Et, bien sûr ... transférez l'interface de contrôle du microcontrôleur du côté de l'opérateur.

Source: https://habr.com/ru/post/fr410297/


All Articles