Table des matières:
- Fournitures
- Étape 1: Téléchargement et installation des fichiers de configuration initiale
- Étape 2: deuxième partie: installer Raspbian à l'aide de Rufus
- Étape 3: Troisième partie: Branchement du Pi
- Étape 4: quatrième partie: Configuration de votre compte
- Étape 5: cinquième partie: configurer votre Pi comme sans tête (la meilleure chose de tous les temps)
- Étape 6: Sixième partie: Installation de tous les outils de base pour le développement sur un Pi
- Étape 7: Septième partie: Installation du WebIDE Adafruit
- Étape 8: huitième partie: mettre à jour Node-red et Node.js
- Étape 9: neuvième partie: Installation de l'IDE Arduino
- Étape 10: Dixième partie: Ffmpeg
- Étape 11:
Vidéo: Raspberry Pi HomeLab et Who Is Home : 11 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
Il s'agit de mon premier indestructible, mais cette instructable a deux fazes.
faze one: configure un pi pour qu'il fonctionne comme un laboratoire à domicile pour le travail IOT pour une équipe d'étudiants développeurs.
faze two: utilise le système pour le développement, en mettant en œuvre une démonstration à l'aide de notre projet who is home.
à la fin de cela, vous aurez un pi sans tête accessible à distance qui peut être utilisé par des personnes pour programmer et travailler à distance sur des appareils IOT.
maintenant, je préviens qu'en ouvrant votre pi au public sans sécurité, vous vous exposez au risque d'attaque de votre réseau domestique.
nous allons passer en revue la première faze dans les étapes suivantes, mais il s'agit d'un lien vers des informations sur notre club et le projet who is home.
github.com/ValenciaRobotics/embeddedclub
QuiEstMaison
le projet Who Is home effectue les opérations suivantes: exécute un script python qui vérifie les adresses mac des appareils connectés à votre réseau. il utilise Nmap pour cela. il exécute ces adresses contre une liste d'adresses et si l'adresse répertoriée est présente, il envoie un caractère à un arduino en utilisant des communications série. l'arduino contrôle une bande LED et lorsqu'il reçoit un char, il a une couleur associée pour cet appareil et il allume les LED pour cette personne en fonction de leur présence.
sous-site de nos divisions
sites.google.com/view/valencia-robotics
sites.google.com/view/valencia-robotics/cl…
le site de nos clubs
sites.google.com/view/valenciatechclub
le script Python a été fourni par: Jonathan De La Cruz
www.linkedin.com/in/jonathandelacruz96/
le script Arduino, la marche à suivre et la configuration du laboratoire à domicile ont été effectués par: Dylan Poll
www.linkedin.com/in/dylan-poll-4a324a1a2/
Je suis Dylan Poll, je suis l'actuel président du club technologique de notre collège et je suis également le responsable des systèmes embarqués.
Fournitures
Un pi
Un arduino
Une planche à pain
fils de liaison
Une webcam
Bande LED RVB adressable individuellement
alimentation pour votre pi, un clavier une souris, un ordinateur pour faire la configuration initiale.
Étape 1: Téléchargement et installation des fichiers de configuration initiale
télécharger et installer putty (windows)
www.putty.org
télécharger rufus et installer
rufus.ie
télécharger raspbian full buster et le logiciel recommandé (.zip)
www.raspberrypi.org/downloads/raspbian/
extraire le contenu du.zip ce sera votre [fichier image].
prenez une carte micro sd et utilisez un dock ou un périphérique microsd vers usb et branchez-le sur votre ordinateur formatez votre carte sd
Étape 2: deuxième partie: installer Raspbian à l'aide de Rufus
exécutez rufus sélectionnez votre carte SD dans le premier champ sélectionnez le fichier image raspbian pour le.iso/.img sélectionnez démarrer et attendez qu'il se termine.
Étape 3: Troisième partie: Branchement du Pi
une fois cela fait, retirez la carte SD, insérez-la dans la fente pour carte SD sur le pi, c'est sur la prise "inférieure" du cordon HDMI au pi d'abord, qu'un clavier et une souris, et le dernier câble d'alimentation. si vous branchez d'abord l'alimentation, il se peut que votre moniteur/téléviseur ne soit pas enregistré.
Étape 4: quatrième partie: Configuration de votre compte
connectez-vous à pi !faites la première configuration d'exécution ! ne le sautez pas ! sélectionnez le clavier anglais américain ou vous ne trouverez pas votre symbole @ plus tard… si vous ne le faites pas, votre symbole @ est là où se trouve votre ". connectez-vous à votre wifi sur pi ne mettez pas encore à jour. J'ai une raison. appuyez sur la touche du clavier Windows " et allez dans les préférences, allez dans la configuration pi. allez dans l'onglet interfaces.
activer VNC…. et tout le reste ne redémarre pas.
Étape 5: cinquième partie: configurer votre Pi comme sans tête (la meilleure chose de tous les temps)
regardez en haut à droite de votre écran. vous verrez le logo VNC noir et bleu. ouvre ça. appuyez sur connexion, créez et comptez. ajouter le pi. sur votre ordinateur de bureau/ordinateur portable, ouvrez la recherche du navigateur sur l'installation de téléchargement de la visionneuse google VNC. Connectez-vous à votre compte. vérifiez votre e-mail pour la connexion et autorisez-vous. connectez-vous à votre pi (tapez le mot de passe pi dans le deuxième menu de connexion) si cela fonctionne, éteignez votre pi. débranchez votre pi et tout. placez le pi dans un coin de votre pièce et n'y acheminez que le câble d'alimentation. vous pouvez vous connecter au pi à l'aide de la visionneuse VNC. vous avez maintenant un pi "sans tête". vous pouvez également y accéder en SSH (voir les informations SSH dans la section trucs sympas)
Étape 6: Sixième partie: Installation de tous les outils de base pour le développement sur un Pi
en utilisant SSH ou VNC (ou si vous avez décidé de ne pas être cool et de le configurer sans tête), procédez comme suit. open terminal (cette prochaine partie peut prendre un certain temps….) exécutez ces commandes une à la fois après qu'elles soient TERMINÉES.
sudo apt-get mise à jour; sudo apt-get upgrade install ffmpeg{ sudo apt-get install ffmpeg
Étape 7: Septième partie: Installation du WebIDE Adafruit
curl https://raw.githubusercontent.com/adafruit/Adafruit-WebIDE/master/scripts/install.sh | sudo sh ouvre un navigateur sur votre bureau principal. pointez l'URL de votre navigateur sur "https://***.*.*.***:8080" remplacez le "*" par l'adresse IP locale de votre Pi. faire un nom d'utilisateur et passer. vous avez maintenant la configuration webIDE d'adafruit.
Étape 8: huitième partie: mettre à jour Node-red et Node.js
update-nodejs-and-nodered le prochain code fera fonctionner nodered au démarrage tout comme le webIDE adafruit, c'est important si vous voulez développer sur ces choses. sudo systemctl enable nodered.service redémarrer le Pi
Étape 9: neuvième partie: Installation de l'IDE Arduino
vous pouvez le faire via la ligne de commande mais…. ce ne sera pas la version complète.. ce qui signifie que vous ne pouvez pas utiliser l'outil d'importation/recherche de bibliothèque, pour installer la version complète, vous devez vous rendre sur le site Web d'arduino et télécharger la version pour votre modèle pi. ce sera l'ARM32bit pour le pi3, obtenez la version stable. open terminal. (remplacez les * par les informations de version) exécutez ces commandes.
www.arduino.cc/en/Main/Software
Téléchargements de cd/ tar -xf arduino-1.*.*-linuxarm.tar.xz sudo mv arduino-1.*.* /opt sudo /opt/arduino-1.*.*/install.sh
Étape 10: Dixième partie: Ffmpeg
1x webcam logitech
(les éléments suivants n'incluent pas ce dont vous avez besoin pour exécuter un flux 24h / 24 et 7j / 7) 1x planche à pain une deuxième bande de LED adressable individuellement raspberry pi modèle 3 b (avec carte sd). le fil de connexion arduino nano active la visionneuse VNC sur les deux Pi(s)
préférences pi, activer vnc créer un compte avec la visionneuse VNC IMPORTANT: sur le pi que vous prévoyez d'utiliser comme banc de travail public, accédez aux paramètres du serveur vnc, options, onglet expert et faites un délai d'inactivité: 0 secondes, il est configuré pour fermer Vnc viewer si inactif après une heure, cela empêchera votre fenêtre de se fermer à mi-chemin installez vnc viewer sur streamer pi dans le terminal.
sudo apt-get install vnc-java y
branchez votre webcam et..installez votre webcam.
sudo apt installer fswebcam
installer ffmpeg sudo apt-get installer ffmpeg y
c'est là que vos propres choix entrent en jeu. dans le terminal, exécutez ce script pour ouvrir une fenêtre sur le bureau de votre streamer pi pour votre webcam.
ffplay -window_title "pi-cam" /dev/video0 -video_size 1920x1080 -vf crop=400:500:300:50 -framerate 20 ffplay vous permettra de voir cela dans une fenêtre nommée pi-cam, la webcam qu'elle vous montre est à l'emplacement dev/video0 et sa taille d'origine est de 1920x1080. Je veux seulement voir le crop=width:height:topleft_X:topleft_Y et un framerate de 20 me suffit. le prochain code sera diffusé sur Twitch.
ffmpeg -f x11grab -video_size 1280x1024 -framerate 24 -i $DISPLAY -f alsa -vf scale=1280x720 -c:v h264 -g 24 -b:v 2M -preset ultrafast -c:a aac -pix_fmt yuv420p -f flv " rtmp://live-lax.twitch.tv/app/(insertyourstreamkeyici)"
-f x11grab est utilisé pour récupérer votre écran. ma résolution d'écran est réglée sur 1280x1024. Je veux l'afficher au format vidéo 1280x720 donc -vf.
2 m = taux de téléchargement de 2 mgb. -f flv est de formater la vidéo en.flv afin que Twitch puisse l'utiliser.
maintenant, vous pouvez donner à votre équipe vos informations d'identification VNC à l'établi Pi et ils peuvent voir les modifications apportées à la bande led en direct à distance. Bravo à ce gars~ ! sa vidéo m'a aidé à me mettre sur la bonne voie, je devais quand même trouver comment faire apparaître ma webcam… et découvrir ffmpeg X/
Arthur Reeder https://www.youtube.com/embed/kb_5_9GkwZc REMARQUE: je ne suis pas la personne la plus informée, cela fonctionne simplement pour mes besoins, si quelqu'un a des conseils constructifs, j'aimerais les entendre mais s'il vous plaît ne le faites pas Cela signifie que l'une des voies possibles pour aller plus loin serait d'utiliser ce mécanisme pour diffuser cela, et d'utiliser un autre pi et l'extension chrome lightstream pour récupérer ce flux et alimenter la webcam dans cela ou de toute autre manière. https://www.youtube.com/embed/kb_5_9GkwZc AUSSI: si vous souhaitez ajouter de l'audio, comme on le voit dans la vidéo youtube de l'homme, vous pouvez utiliser cette chaîne, je ne voulais pas que ma maison soit enregistrée et envoyé à twitch, cela est assis dans ma chambre donc je ne diffuse aucun audio, cela aide également à réduire la charge sur le pi.
ffmpeg -f x11grab -video_size 1280x1024 -framerate 24 -i $DISPLAY -f alsa -i default -af acompressor=threshold=0.089:ratio=9:attack=200:release=1000 -vf scale=1280x720 -c:v h264 - g 24 -b:v 2M -preset ultrarapide -c:a aac -pix_fmt yuv420p -f flv "rtmp://live-lax.twitch.tv/app/(insertyourstreamkeyhere)"
Étape 11:
maintenant à la dernière ligne droite, implémentant la communication série arduino et pi avec python.
---le projet who is home --- Le projet utilise un script python qui exécute nmap dans le terminal, copie le contenu de celui-ci, analyse le texte dont nous n'avons pas besoin et compare les adresses mac sur le réseau avec celles répertoriées adresses mac et s'il y a une correspondance, cette personne est à la maison. les adresses mac ont été trouvées en effectuant un travail d'enquête sur le routeur, mais l'outil nmap vous donne des informations sur les périphériques dans le fichier texte généré par le code. si l'utilisateur est présent, il envoie un caractère à l'arduino, et l'arduino attend que la liste de contrôle soit terminée, et allume les LED correspondant aux profils répertoriés pour les adresses mac des appareils présents. vous pouvez ajouter d'autres choses, comme faire en sorte que les robots discord exécutent des commandes sur des personnes entrant ou sortant avec ce même code en utilisant l'opérateur de sous-processus pour exécuter des commandes de terminal dans votre script python. donc d'abord nous installons nmap sudo apt-get install nmap. Ensuite, vous voudrez télécharger les fichiers sur nos clubs Git-Hub.
github.com/ValenciaRobotics/embeddedclub
pour le code python, l'installation de raspbian est livrée avec tout ce qui est utilisé dans ce code, vous n'avez donc besoin de rien d'autre installé. nous avons utilisé import re, import subprocess, import time, import serial il est important de noter que python utilise l'indentation pour séparer les blocs de code, alors sachez-le si vous décidez de changer la façon dont le code est écrit:) le py est livré avec thonny ide et quelques autres options, je trouve que l'exécution du script dans thonny est vraiment simple, si vous cliquez sur le fichier et essayez de l'exécuter, il a été suggéré ou supposé que thonny est ce que vous vouliez utiliser. avant d'exécuter le programme, vous devrez modifier les éléments suivants. ligne 14: les symboles * sont utilisés pour masquer les informations de mon propre routeur, vous devrez les remplacer par votre propre ip locale. ce serait la même chose que ce que vous utilisez pour vous connecter à votre routeur. lignes 28, 38, 48, 58: elles utilisent toutes le symbole * pour masquer les adresses mac des appareils répertoriées sur mon réseau, vous devez les remplacer par les adresses mac des appareils de votre propre réseau pour détecter les connexions. pourquoi les adresses mac ? car sans réserver d'emplacements pour votre appareil, ils sont sûrs de rester les mêmes, à moins que quelqu'un ne les falsifie. problèmes avec ce code, il ne détectera que lorsqu'une connexion utilise activement Internet, il peut donc ne pas être détecté malgré la présence d'un utilisateur. dans le code arduino, vous voudrez changer ce qui suit. tout d'abord, vous voudrez aller dans l'onglet outils, sélectionner le gestionnaire de bibliothèques, rechercher "fastLED" et installer la bibliothèque pour "fastLED". Ensuite, vous devrez charger le code.ino "qui est à la maison" à partir de la page github et modifier les éléments suivants à votre guise. ligne 86: changez les couleurs en fonction de ce que vous voulez que vos utilisateurs attachent:)
// activer ce dont vous avez besoin
if(d == 1){ leds[0] = 0xdd8bff; // leds violettes[1] = 0xdd8bff;}
if(l == 1){ leds[2] = CRGB::Vert; leds[3] = CRGB::Vert;}
if(k == 1){ leds[4] = CRGB::Rouge; leds[5] = CRGB::Rouge; }
if(j == 1){ leds[6] = CRGB::Bleu; led[7] = CRGB::Bleu;}
FastLED.show(); retard (30000); //10 secondes d'attente sur le boîtier du commutateur, une brève explication sur la façon d'ajouter plus d'utilisateurs est la suivante
boucle vide(){
if (Série.disponible() > 0) {
Serial.println();
personne = Serial.read();
retard(1000);
changer (personne){
cas 'D': d = 1;
personne = 'F';
compte=compte+1;
Pause;
case'd':
d = 0;
personne = 'F';
compte=compte+1;
Pause;
le D majuscule est le caractère reçu du script python, il sait donc que l'utilisateur est présent car la lettre reçue est le D majuscule, il change donc la valeur de l'ENTIER d en 1, s'il s'agit d'une minuscule qu'il ne le sait sont absents, donc l'ENTIER est défini sur 0. la condition d'éclairage des leds dans le script d'avant utilise une déclaration selon laquelle IF d est égal à 1, mais si ce n'est pas le cas, la led reste "noire", ce qui signifie éteint. ce code utilise la bibliothèque "fastLED" et il y a beaucoup de documentation à ce sujet. notez que si vous modifiez les caractères, ajoutez des caractères ou supprimez des caractères, vous devrez modifier le script python pour renvoyer ceux que vous avez modifiés également, vous devrez également modifier la condition dans la boucle void. if(count == 4){holdup();} } le nombre devra refléter le nombre d'appareils que vous "suivez". dans mon cas c'est 4, donc il attend que 4 appareils aient été déclarés présents ou absents puis il met à jour la bande LED. dans le code python, les lignes 31, 34, 41, 44, 51, 54, 61, 64 ont la ligne suivante ser.write(b'*') # envoie le caractère converti en octet sur serial où * est un caractère c'est envoyer à l'arduino. changez cela si vous changez le code dans l'arduino ou vice versa:)
Encore une fois, en guise de conclusion, je tiens à remercier mon coéquipier Jon, il a fait un excellent travail pour prendre le relais quand nous en avions besoin.
Le script Python a été fourni par: Jonathan De La Cruzhttps://www.linkedin.com/in/jonathandelacruz96/
le script Arduino, la marche à suivre et la configuration du laboratoire à domicile ont été effectués par: Dylan Poll
www.linkedin.com/in/dylan-poll-4a324a1a2/
J'espère que nous gagnerons au moins un t-shirt ! Je vais le mettre à jour avec des commandes shell pour télécharger et installer automatiquement la plupart de ces éléments. Le site Web de nos clubs contient en fait des scripts shell téléchargeables pour effectuer les opérations ffmpeg.
Ce projet a pris beaucoup de temps, j'ai fondé cette division du club à partir de zéro donc je peux dire avec fierté que ce moment m'apporte beaucoup de joie.:) merci pour votre temps, nous avons une plateforme de travail à développer maintenant dans mon club à cause de ce projet.
Conseillé:
Smart Home par Raspberry Pi : 5 étapes (avec photos)
Smart Home par Raspberry Pi : Il existe déjà plusieurs produits qui rendent votre appartement plus intelligent, mais la plupart d'entre eux sont des solutions propriétaires. Mais pourquoi avez-vous besoin d'une connexion Internet pour allumer une lumière avec votre smartphone ? C'était l'une des raisons pour lesquelles j'ai construit mon propre Smar
Raspberry Pi Whole Home Synchronous Audio avec les télécommandes de l'application téléphonique : 10 étapes (avec photos)
Raspberry Pi Whole Home Synchronous Audio With Phone App Remotes : l'objectif est de synchroniser l'audio et/ou des sources individuelles dans n'importe quelle pièce, facilement contrôlables avec un téléphone ou une tablette via iTunes Remote (apple) ou Retune (android). Je veux aussi que les zones audio s'allument/s'éteignent automatiquement alors je me suis tourné vers le Raspberry Pi et
Pi Home, un assistant virtuel alimenté par Raspberry : 11 étapes (avec photos)
Pi Home, un assistant virtuel alimenté par Raspberry : Le Google Home est utile à avoir à la maison. C'est un bel appareil avec Google Assistant intégré - Un assistant personnel numérique de pointe de Google. Il peut lire des médias, enregistrer vos rappels et notes, vous indiquer la durée de votre trajet domicile-travail
Obtenez un écran pour votre Google Home à l'aide de Raspberry Pi et Dialogflow (alternative à Chromecast) : 13 étapes
Obtenez un écran pour votre maison Google à l'aide de Raspberry Pi et Dialogflow (alternative à Chromecast): Depuis que j'ai acheté ma maison Google, je voulais contrôler mes appareils à la maison à l'aide de commandes vocales. Cela fonctionne très bien à tous points de vue, mais je me sentais mal pour sa fonction vidéo. Nous ne pouvons regarder Youtube et Netflix que si nous avons un appareil Chromecast ou T
DIY Google Home avec haut-parleur Bluetooth sur Raspberry Pi Zero Docking Hub : 7 étapes (avec photos)
DIY Google Home avec haut-parleur Bluetooth sur Raspberry Pi Zero Docking Hub : Nous avons une instruction sur DIY Amazon Echo Alexa - Alexa Voice Assistant sur Raspberry Pi Zero Docking Hub. Cette fois, nous voulons vous montrer comment construire un Google Home DIY. Dans cette instructable, nous allons vous montrer comment installer et configurer Google Assistant