Table des matières:

IoT Data Science PiNet pour la visualisation de données d'écran intelligent en temps réel : 4 étapes
IoT Data Science PiNet pour la visualisation de données d'écran intelligent en temps réel : 4 étapes

Vidéo: IoT Data Science PiNet pour la visualisation de données d'écran intelligent en temps réel : 4 étapes

Vidéo: IoT Data Science PiNet pour la visualisation de données d'écran intelligent en temps réel : 4 étapes
Vidéo: PRÉ-TRAITEMENT DE DONNÉES avec Python (28/30) 2024, Juillet
Anonim
IoT Data Science PiNet pour la visualisation de données d'écran intelligent en temps réel
IoT Data Science PiNet pour la visualisation de données d'écran intelligent en temps réel
IoT Data Science PiNet pour la visualisation de données d'écran intelligent en temps réel
IoT Data Science PiNet pour la visualisation de données d'écran intelligent en temps réel
IoT Data Science PiNet pour la visualisation de données d'écran intelligent en temps réel
IoT Data Science PiNet pour la visualisation de données d'écran intelligent en temps réel

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)

Connectez le(s) Pi(s) au(x) affichage(s)
Connectez le(s) Pi(s) au(x) affichage(s)
Connectez le(s) Pi(s) au(x) affichage(s)
Connectez le(s) Pi(s) au(x) affichage(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

Préparez 1 ou plusieurs Raspberry Pi
Préparez 1 ou plusieurs Raspberry Pi
Préparez 1 ou plusieurs Raspberry Pi
Préparez 1 ou plusieurs Raspberry Pi
Préparez 1 ou plusieurs Raspberry Pi
Préparez 1 ou plusieurs Raspberry Pi
Préparez 1 ou plusieurs Raspberry Pi
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.

  1. Instructions de configuration détaillées et bien établies de la 3ème partie Raspberry Pi

    1. https://projects.raspberrypi.org/en/projects/noobs…
    2. https://www.howtoforge.com/tutorial/howto-install-…
  2. Mon aperçu de haut niveau

    1. Obtenez n'importe quel Pi compatible WiFi

      1. Pi 2 avec adaptateur réseau sans fil USB
      2. 3, 3B+
      3. Zéro W, Zéro WH
    2. Utilisez le câble HDMI ou micro-HDMI approprié pour connecter vos écrans au Pi

      1. les astuces de conversion (environ 10 $ sur Amazon, eBay, etc.) peuvent être utilisées pour les écrans plus anciens comme le VGA
      2. 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.
    3. 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

      1. Toute carte micro SD de 8 Go+ convient
      2. Tout outil de gravure comme Etcher.io, Unetbootin, LiLi, etc.
    4. Lancez le système d'exploitation, connectez-vous à votre réseau WiFi, enregistrez votre mot de passe
    5. Lancez Raspi-config (ou l'équivalent de votre système d'exploitation) et définissez les options suivantes

      1. Démarrer sur le bureau
      2. Connexion automatique en tant que pi (bon pour le développement IoT, mauvais pour la sécurité en production)
      3. Désactiver le sommeil (il existe de nombreuses façons de le faire)

        1. 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)
        2. 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
        3. https://raspberrypi.stackexchange.com/questions/75…
        4. https://raspberrypi.stackexchange.com/questions/75…
    6. Installer feh

      1. c'est juste un outil de visualisation d'images simple, léger et populaire pour Linux que nous pouvons utiliser
      2. sudo apt installer feh
      3. 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

Créez et distribuez automatiquement des visualisations de données aux écrans intelligents IoT en temps réel
Créez et distribuez automatiquement des visualisations de données aux écrans intelligents IoT en temps réel
Créez et distribuez automatiquement des visualisations de données aux écrans intelligents IoT en temps réel
Créez et distribuez automatiquement des visualisations de données aux écrans intelligents IoT en temps réel
Créez et distribuez automatiquement des visualisations de données aux écrans intelligents IoT en temps réel
Créez et distribuez automatiquement des visualisations de données aux écrans intelligents IoT en temps réel
Créez et distribuez automatiquement des visualisations de données aux écrans intelligents IoT en temps réel
Créez et distribuez automatiquement des visualisations de 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").

  1. D'abord le script R a été exécuté sur la ligne de commande à nouveau le fichier example. R de GitHub

    1. Comme indiqué dans la 1ère capture d'écran de l'invite cmd
    2. 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" />
  2. FACULTATIF Le script d'authentification s'exécute contre SCP (WinSCP dans cette démo)

    1. L'exécution de ce script en dehors de R ou Python n'est plus nécessaire, avec mon code GitHub mis à jour:)
    2. Vous pouvez également l'exécuter directement sur la ligne de commande cmd
    3. SSH c'est bien aussi
    4. SFTP c'est bien aussi
    5. Implémentation/application spécifique sans importance
    6. 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é: