Table des matières:
- Étape 1: Connectez le(s) Pi(s) au(x) écran(s)
- Étape 2: préparez 1 ou plusieurs Raspberry Pi
- Étape 3: Cloner + Mettre à jour mon code pour créer un pipeline de données automatisé en temps réel
- Étape 4: créer et distribuer automatiquement la visualisation des données aux écrans intelligents IoT en temps réel
Vidéo: IoT Data Science PiNet pour la visualisation de données d'écran intelligent en temps réel : 4 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-31 10:19
Vous pouvez facilement mettre en place un réseau IoT d'écrans intelligents pour la visualisation des données afin de dynamiser vos efforts de recherche en science des données ou dans tout autre domaine quantitatif.
Vous pouvez appeler le "push" de vos tracés vers les clients directement depuis votre code statistique (Python, R, Matlab/Octave, SAS, etc.), et il met à jour les affichages en temps réel.
L'idée est que les vieux moniteurs de bureau bon marché que vous avez peut-être peuvent être réutilisés pour des appareils IoT où les cartes de développement Raspberry Pi bon marché reçoivent et affichent vos visualisations de données sans fil en temps réel à partir de votre appareil principal (par exemple, un ordinateur portable). Si vous n'avez pas d'écrans plats, ne vous inquiétez pas, ils sont gratuits - presque gratuits.
Le coût et les exigences matérielles sont minimes.
CE DONT VOUS AUREZ BESOIN
-
1 ou plusieurs Raspberry Pi
- J'ai commencé avec 3, dont 2 étaient 3B+ et 1 était un zéro
- Coût: ~10 $ - 40 $
-
Tout affichage
-
J'ai commencé avec quelques écrans plats pré-HDMI
- Gratuit - 25 $/chacun sur Free Cycle, Craigslist, les magasins d'occasion, votre garage, eBay, etc. Pour obtenir de bonnes affaires sur des articles plus anciens et plus lourds comme ce magasin localement. Les gens jettent leur équipement de bureau.
- En option: supports muraux pour écran plat (environ 9 $ pour les écrans de taille normale, 20 $ à 30 $ pour les grands écrans, par exemple 50")
- S'il n'a pas de HDMI (ou si vous utilisez un Pi Zero), vous pouvez simplement obtenir un convertisseur < 8 $ auprès d'Amazon, eBay, Micro Center, Walmart, votre ami, où que vous soyez.
-
-
Câbles HDMI ou micro-HDMI
- Gratuit si vous l'avez avec votre Pi ou si vous avez des tonnes de pièces de rechange comme moi
- 2 $ avec livraison gratuite de divers détaillants en ligne
Une fois que vous avez le code de GitHub, le matériel et vos Raspberry Pi exécutent le système d'exploitation de votre choix, j'estime que cela devrait prendre quelques minutes à 1 heure au maximum.
Vous pouvez facilement adapter ce projet à d'autres cas d'utilisation de l'IoT. Vous voudrez peut-être aussi faire une version Arduino ! N'hésitez pas à collaborer avec moi sur GitHub.
Étape 1: Connectez le(s) Pi(s) au(x) écran(s)
C'est rapide et facile.
Prenez simplement le câble HDMI (pour Pi) ou micro-HDMI (pour Pi Zero) susmentionné et insérez-le dans le Pi. Répétez l'opération pour l'affichage, en utilisant les adaptateurs appropriés (HDMI vers micro-HDMI, etc.).
Terminé.
Étape 2: préparez 1 ou plusieurs Raspberry Pi
Votre Pi est-il opérationnel ? Vous pouvez aller de l'avant !
Cours juste
sudo apt installer feh
si vous voulez utiliser la même visionneuse d'images que moi.
Sinon, cette étape n'est pas spécifique à ce tut - comme pour tout projet Pi, nous avons juste besoin que vous disposiez d'un Pi exécutant Raspbian ou votre système d'exploitation préféré. De plus, nous voudrons aller de l'avant et nous assurer qu'il est configuré avec votre mot de passe WiFi (ou mécanisme d'autorisation préféré) et je vais vous donner quelques paramètres de "meilleures pratiques" IMHO qui conviennent aux projets IoT/Pi amateurs (pas nécessairement pour la sécurité, la performance, l'utilisation en production ou tout autre contexte de ce type).
Ma stratégie en deux parties consiste à vous lier à des instructions détaillées et bien établies de tiers, puis à vous donner mon aperçu de haut niveau de ce qu'il faut faire.
-
Instructions de configuration détaillées et bien établies de la 3ème partie Raspberry Pi
- https://projects.raspberrypi.org/en/projects/noobs…
- https://www.howtoforge.com/tutorial/howto-install-…
-
Mon aperçu de haut niveau
-
Obtenez n'importe quel Pi compatible WiFi
- Pi 2 avec adaptateur réseau sans fil USB
- 3, 3B+
- Zéro W, Zéro WH
-
Utilisez le câble HDMI ou micro-HDMI approprié pour connecter vos écrans au Pi
- les astuces de conversion (environ 10 $ sur Amazon, eBay, etc.) peuvent être utilisées pour les écrans plus anciens comme le VGA
- Les écrans plats VGA plus anciens coûtent environ 5 $ à 25 $ dans les magasins d'occasion ! Vous pouvez également remplacer les supports de bureau par un support mural pour écran plat à 9 $, si vous le souhaitez.
-
Gravez NOOBS, Raspbian, Google AIY, Debian, Ubuntu, Slackware ou l'un des nombreux systèmes d'exploitation Linux amusants que vous pouvez explorer et utiliser gratuitement
- Toute carte micro SD de 8 Go+ convient
- Tout outil de gravure comme Etcher.io, Unetbootin, LiLi, etc.
- Lancez le système d'exploitation, connectez-vous à votre réseau WiFi, enregistrez votre mot de passe
-
Lancez Raspi-config (ou l'équivalent de votre système d'exploitation) et définissez les options suivantes
- Démarrer sur le bureau
- Connexion automatique en tant que pi (bon pour le développement IoT, mauvais pour la sécurité en production)
-
Désactiver le sommeil (il existe de nombreuses façons de le faire)
- Pour moi, il suffisait de désactiver l'économiseur d'écran (peut-être en raison de l'économiseur d'écran pré-installé dans mon fork Google AIY de Raspbian)
- Dans tous les autres cas, il existe un certain nombre de façons CLI de le faire ou vous pouvez installer `xscreensaver` puis le désactiver dans l'interface graphique
- https://raspberrypi.stackexchange.com/questions/75…
- https://raspberrypi.stackexchange.com/questions/75…
-
Installer feh
- c'est juste un outil de visualisation d'images simple, léger et populaire pour Linux que nous pouvons utiliser
- sudo apt installer feh
- Toute autre visionneuse d'images convient également
-
Étape 3: Cloner + Mettre à jour mon code pour créer un pipeline de données automatisé en temps réel
Si vous ne l'avez pas déjà fait, vous devez copier mon exemple de code depuis GitHub pour le moment.
Vous avez plusieurs choix quant à la façon de procéder:
- Rendez-vous sur GitHub et téléchargez les fichiers au format.zip
- Cloner avec
- git clone [email protected]:hack-r/IoT_Data_Science_Pi_Net.git
- Jetez un coup d'œil à mon code et écrivez votre propre version à partir de zéro
Une fois que vous avez le code, veuillez mettre à jour les chemins avec vos propres chemins, mots de passe et clés SSH.
Étape 4: créer et distribuer automatiquement la visualisation des données aux écrans intelligents IoT en temps réel
Dans cette dernière étape, la plus satisfaisante, nous avons simplement mis notre réseau Pi assemblé à l'épreuve !
Pour notre équivalent statistique de "Hello World", exécutons un script sur votre ordinateur portable ou appareil principal pour effectuer un apprentissage automatique sur certaines données, créer des visualisations de données et les afficher sur nos écrans intelligents basés sur Pi ("clients").
DÉMO
La démo suivante utilise un ordinateur portable Windows exécutant R comme exemple de périphérique principal ("serveur").
-
D'abord le script R a été exécuté sur la ligne de commande à nouveau le fichier example. R de GitHub
- Comme indiqué dans la 1ère capture d'écran de l'invite cmd
- Le fichier d'exemple imprime les premières lignes de 2 ensembles de données et crée des tracés de visualisation de données (fichiers-p.webp" />
-
FACULTATIF Le script d'authentification s'exécute contre SCP (WinSCP dans cette démo)
- L'exécution de ce script en dehors de R ou Python n'est plus nécessaire, avec mon code GitHub mis à jour:)
- Vous pouvez également l'exécuter directement sur la ligne de commande cmd
- SSH c'est bien aussi
- SFTP c'est bien aussi
- Implémentation/application spécifique sans importance
-
Il s'agit du fichier scp_pi_pushN.txt de GitHub
Je l'ai configuré avec 1 par appareil client
Alto!
Vos écrans intelligents affichent maintenant les visualisations de données de votre programme statistique !
Conseillé:
Comment faire un enregistreur de données en temps réel d'humidité et de température avec Arduino UNO et carte SD - Simulation d'enregistreur de données DHT11 dans Proteus : 5 étapes
Comment faire un enregistreur de données en temps réel d'humidité et de température avec Arduino UNO et carte SD | Simulation de l'enregistreur de données DHT11 dans Proteus : Introduction : salut, c'est Liono Maker, voici le lien YouTube. Nous réalisons un projet créatif avec Arduino et travaillons sur des systèmes embarqués. Enregistreur de données : un enregistreur de données (également un enregistreur de données ou un enregistreur de données) est un appareil électronique qui enregistre des données au fil du temps avec
Programme MicroPython : Mettre à jour les données sur la maladie à coronavirus (COVID-19) en temps réel : 10 étapes (avec photos)
Programme MicroPython : Mettre à jour les données sur la maladie à coronavirus (COVID-19) en temps réel : au cours des dernières semaines, le nombre de cas confirmés de maladie à coronavirus (COVID 19) dans le monde a dépassé 100 000, et l'Organisation mondiale de la santé (OMS) a déclaré le la nouvelle épidémie de pneumonie à coronavirus est une pandémie mondiale. Je ai été très
Système d'acquisition et de visualisation de données pour un vélo de course électrique MotoStudent : 23 étapes
Système d'acquisition de données et de visualisation de données pour un vélo de course électrique MotoStudent : un système d'acquisition de données est un ensemble de matériel et de logiciels fonctionnant ensemble afin de collecter des données à partir de capteurs externes, de les stocker et de les traiter ensuite afin qu'elles puissent être visualisées graphiquement et analysées, permettant aux ingénieurs de faire
Comment faire une horloge en temps réel à l'aide d'Arduino et d'un écran TFT - Arduino Mega RTC avec écran TFT de 3,5 pouces : 4 étapes
Comment faire une horloge en temps réel à l'aide d'Arduino et d'un écran TFT | Arduino Mega RTC avec un écran TFT de 3,5 pouces : visitez ma chaîne Youtube. Module RTC 2560 et DS3231….Avant de commencer…vérifiez la vidéo de ma chaîne YouTube..Remarque : - Si vous utilisez Arduin
Enregistrement de données MPU-6050/A0 en temps réel avec Arduino et Android : 7 étapes (avec photos)
Enregistrement de données MPU-6050/A0 en temps réel avec Arduino et Android : j'ai été intéressé par l'utilisation d'Arduino pour l'apprentissage automatique. Dans un premier temps, je souhaite créer un affichage et un enregistreur de données en temps réel (ou presque) avec un appareil Android. Je veux capturer les données de l'accéléromètre du MPU-6050 donc je conçois