DÉVELOPPEMENT DE LOGICIELS EMBARQUÉS
Les logiciels embarqués sont des logiciels informatiques spécialisés conçus pour fonctionner sur des IHM intégrées qui ne sont généralement pas considérées comme des ordinateurs traditionnels. Le matériel (CPU/RAM/MÉMOIRE FLASH) est extrêmement optimisé pour l’application et donc limité. Le système d’exploitation est fortement optimisé pour n’avoir que le logiciel nécessaire à l’application - rien d’autre. Vous compilez votre système d’exploitation adapté à l’application. Il alimente divers systèmes, des appareils électroménagers aux machines industrielles et même des outils polyvalents comme le Raspberry Pi. Le Raspberry Pi, un ordinateur compact et abordable, est réputé pour l’apprentissage et l’expérimentation des systèmes embarqués. Grâce à lui, vous pouvez écrire et exécuter des logiciels qui contrôlent divers composants matériels, ce qui vous permet d’explorer le monde du développement de logiciels embarqués. Cette page propose une collection de tutoriels pour vous aider à démarrer avec Raspberry Pi et les projets de logiciels embarqués.
Le projet fournit un ensemble flexible d'outils et un espace où les développeurs de systèmes embarqués du monde entier peuvent partager des technologies, des piles logicielles, des configurations et des bonnes pratiques qui peuvent être utilisées pour créer des images Linux sur mesure pour les appareils embarqués et IOT, ou partout où un système d'exploitation Linux personnalisé est nécessaire.
Normalement, si vous créez votre image linux personnalisée avec Yocto pour un Raspberry Pi, vous voulez également afficher un splash screen personnalisé avec une barre de progression.
Dans ce guide nous vous fournissons des informations, comment configurer un projet Yocto pour installer Qt et une application de démonstration Qt pour un Raspberry Pi 4 et ensuite démarrer automatiquement cette application de démonstration Qt.
Configurez Yocto pour créer un Linux personnalisé pour Raspberry Pi 4 avec l'intégration de la bibliothèque pigpio, Qt et une chaîne d'outils pour la compilation croisée.
Partie 1 d'une série d'articles, comment configurer un environnement Yocto pour créer un Yocto Linux avec l'intégration d'un client Mender.
Récemment j’ai dû développer une application (système kiosque) pour/sur un Raspberry Pi 4. La particularité était que 2 moniteurs tactiles devaient être connectés via HDMI, qui devait être tourné de 90 degrés vers la droite. Donc formats portrait, 2 moniteurs l’un sur l’autre.
La rotation de l’écran et son agencement les uns sur les autres n’ont posé aucun problème, car cela est facilement possible via l’interface utilisateur - un « Raspbian Buster avec bureau et logiciel recommandé » a été installé.
En raison de l’écriture ou de l’écrasement fréquent des données, la durée de vie d’une carte SD est affectée.
Par exemple, il est recommandé d’écrire des données temporaires (par exemple, des valeurs de capteur pour des calculs comparatifs) sur un disque RAM pour les applications qui contiennent souvent des données temporaires (par exemple, des valeurs de capteur pour des calculs comparatifs) qui ne sont plus nécessaires après un redémarrage.
Vous pouvez également utiliser l’interface USB-C du Raspberry Pi 4, qui est normalement utilisée pour l’alimentation, comme une interface USB normale.
Dans ce cas, cependant, le Raspberry devrait fournir de l’énergie via les broches GPIO.
Qt est souvent utilisé pour développer des interfaces graphiques. Qt contient des bibliothèques C ++ pour créer des interfaces graphiques qui peuvent être compilées sur différents systèmes d'exploitation.
Cette compilation exigeant une grande puissance de calcul, il est conseillé aux processeurs relativement peu puissants d'effectuer le développement et la compilation sur un ordinateur hôte et de ne charger qu'ensuite l'application terminée sur l'ordinateur cible.
Il s’agit d’un guide pour l’installation de Raspberry Pi OS Lite sur le module de calcul 4. En tant qu’ordinateur de travail, j’utilise Ubuntu 20, installé dans une machine virtuelle.
Ceci est un guide pour la compilation croisée de Qt 5.15.2 pour Raspberry Pi 4 et son installation sur le module de calcul 4. C’est une mise à jour de mon article de blog Qt sur le Raspberry Pi 4, à la différence que cette fois j’utilise Raspberry Pi OS Lite.
Ceci est un guide pour configurer le Qt-Creator afin d’utiliser des bibliothèques Qt compilées croisées pour le Raspberry Pi 4 et de créer des applications pour le Raspberry.
Sur cette page, nous fournissons des liens de téléchargement pour des scripts permettant de configurer automatiquement la compilation croisée sur un hôte linux et un Raspberry Pi 4, ainsi qu'une description de leur utilisation.
Dans ce blog, j’aimerais fournir une petite application Qt Quick (qml) comme exemple de connexion Modbus sur TCP/IP.
Dans les exemples de Qt, je n’ai trouvé que des exemples QWidget pour les connexions Modbus, et après avoir récemment créé une application Qt Quick pour cela, j’aimerais en fournir une version allégée à titre d’exemple.
Si vous avez créé une application Qt - ou toute autre application - pour le Raspberry Pi 4, vous souhaitez souvent que l’application soit appelée immédiatement après le redémarrage du Raspberry une fois l’application terminée.
Ceci est souvent tenté avec des scripts de démarrage qui peuvent être entrés à différents endroits.
Cependant, il est plus raisonnable de le configurer via systemd .
La tâche consistait à écrire une application Qt Quick (GUI) pour télécharger un nouveau firmware sur un contrôleur tactile.
Le logiciel de téléchargement a été fourni par le fabricant dans une application .exe qui charge un fichier .bin sur le contrôleur tactile.
Je voulais utiliser les classes Qt « QProcess », qui peuvent être utilisées pour appeler et contrôler des applications shell. Du côté de Linux, je l’avais déjà utilisé avec succès plusieurs fois - mais sous Windows, cela ne fonctionnait pas au début.
Fiche Yocto pour installer ddcutil et contrôler les paramètres d'un moniteur HDMI via I2C.
Incluez la librairie libgpiod dans Yocto et utilisez-la dans votre système intégré.