Table des matières:

Configurer à partir de zéro un Raspberry Pi pour enregistrer les données d'Arduino : 5 étapes
Configurer à partir de zéro un Raspberry Pi pour enregistrer les données d'Arduino : 5 étapes

Vidéo: Configurer à partir de zéro un Raspberry Pi pour enregistrer les données d'Arduino : 5 étapes

Vidéo: Configurer à partir de zéro un Raspberry Pi pour enregistrer les données d'Arduino : 5 étapes
Vidéo: Choisir sa carte électronique Arduino, Raspberry pi ? | Guide débutant 2024, Novembre
Anonim
Configurer à partir de zéro un Raspberry Pi pour enregistrer les données d'Arduino
Configurer à partir de zéro un Raspberry Pi pour enregistrer les données d'Arduino

Ce didacticiel est destiné à ceux qui n'ont aucune expérience dans l'installation d'un nouveau matériel ou logiciel, sans parler de Python ou de Linux.

Disons que vous avez commandé un Raspberry Pi (RPi) avec une carte SD (au moins 8 Go, j'ai utilisé 16 Go, type I) et une alimentation (5 V, au moins 2,5 A). Aujourd'hui, vous décidez de le configurer et d'enregistrer les données d'Arduinos. Alors commençons !

Le didacticiel comprend la configuration de Raspberry Pi depuis le début, y compris Desktop Remote, la préparation d'un Arduino avec des capteurs de température 18B20 et l'exécution d'un script Python dans Raspberry Pi pour collecter et enregistrer les données. J'ai mis à jour le message en ajoutant un partage samba pour transférer le fichier entre l'ordinateur hôte (votre PC) et le Raspberry Pi

Étape 1: préparer le Raspberry Pi

Préparer Raspberry Pi
Préparer Raspberry Pi
Préparer Raspberry Pi
Préparer Raspberry Pi
Préparer Raspberry Pi
Préparer Raspberry Pi
Préparer Raspberry Pi
Préparer Raspberry Pi
  1. Téléchargez le système d'exploitation pour RPi. Je recommande une version complète de Raspbian, comme celle-ci ici.
  2. Supposons que votre ordinateur fonctionne sous Windows, téléchargez le logiciel Rufus pour écrire l'image sur la carte SD. Faites défiler vers le bas et obtenez rufus 3.0 (juin 2018)
  3. Décompressez le fichier Raspbian (4,6 Go) et sélectionnez soigneusement votre carte SD cible. Il faut environ 3 minutes pour terminer l'écriture de l'image sur la carte.
  4. Insérez la carte SD dans la fente, branchez le câble d'alimentation sur le port micro USB, un écran avec un câble HDMI, un clavier, une souris en option.
  5. Attendez que le RPi démarre et affiche le bureau, appuyez sur la touche Fenêtre, accédez à Accessoires/Terminal et Entrée.
  6. Configurer RPi par type:

sudo raspi-config

7. Modifiez quelques éléments dans la configuration RPi:

  • Dans 1. Changer de mot de passe
  • Dans 2. Option réseau: modifiez le nom d'hôte (quelque chose d'unique, le mien est rpi1001), ainsi que le SSID et le mot de passe wifi.
  • Dans 4. Options de localisation: modifier le fuseau horaire, le clavier, les paramètres régionaux
  • Dans 5. Options d'interfaçage: Activer SSH (pour se connecter via la ligne de commande), Activer VNC (pour le bureau à distance)
  • En 7: Option avancée: Développez les systèmes de fichiers:
  • Redémarrer
  • Après le démarrage: notez l'adresse IP en exécutant

sudo ifconfig

Si Ethernet utilise, l'IP doit être le premier bloc, si Wifi est utilisé, l'IP est sur le troisième bloc, quelque chose comme 192.168.1.40, exécutez cette commande pour mettre à jour la distribution Linux:

sudo apt-get update && sudo apt-get upgrade –y && sudo poweroff

Le dernier éteindra le RPi après avoir terminé les mises à jour

8. Si vous avez oublié la note IP de RPi, ou si elle a été modifiée récemment, utilisez PowerShell (tapez PowerShell pour rechercher dans Windows)

Dans PowerShell pour cingler le Rpi: ping rpi1001.local -4 obtenez quelque chose comme ceci 192.168.1.40. rpi1001 est mon nom d'hôte pour mon Rpi.

9. Installez VNCViewer, ce logiciel fonctionne comme TeamViewer ou Desktop Remote sous Windows (seul Win 10 Pro dispose de la fonction Desktop Remote).

Installez sur votre machine Windows, dans la zone de recherche en haut de VNCViewer, tapez l'IP du RPi (192.168.1.40) ou le nom d'hôte du RPi (le mien est rpi1001.local) et entrez. Entrez le mot de passe de votre nom RPi, sélectionnez « Mémoriser le mot de passe » si vous le souhaitez. Si tout s'est bien passé, vous devriez voir le bureau Rpi contextuel.

10. Pour transférer un fichier depuis ou vers TeamView, le moyen le plus simple d'utiliser le transfert de fichiers intégré par VNCView:

Et cela, vous pouvez utiliser un Raspberry pour collecter des données pour vous et vous connecter pour obtenir des données en cas de besoin.

Étape 2: Préparez un exemple simple pour collecter des données à partir d'Arduino

Préparer un exemple simple pour collecter des données à partir d'Arduino
Préparer un exemple simple pour collecter des données à partir d'Arduino
Préparer un exemple simple pour collecter des données à partir d'Arduino
Préparer un exemple simple pour collecter des données à partir d'Arduino

Disons que vous voulez collecter la température à partir de 4 capteurs. Dans cet exemple, j'ai utilisé 18B20, un capteur de température populaire. D'autres options sont le TMP35, la famille 36 ou une thermistance.

Le câblage est inclus ci-dessus. Les 18B20 partagent le fil (ou le bus), et voici le code Arduino sur Github. La pièce jointe dans le fichier ci-dessous contient également les codes et la carte de câblage.

Installez également le pilote USB pour Arduino sous Windows. La plupart des Arduino « clones » utilisent le pilote USB CH341. Le chauffeur est là.

Installez le pilote, lorsque vous branchez l'Arduino sur l'USB de votre Windows, il devrait reconnaître le pilote et attribuer un port COM (le mien est COM4)

Le moniteur série devrait sortir comme la photo ci-dessus.

Étape 3: Démarrez RPi en débranchant et en branchant l'alimentation sur RPi. Démarrez VNCViewer, connectez-vous à votre RPi

Démarrez RPi en déconnectant et en branchant l'alimentation sur RPi. Démarrez VNCViewer, connectez-vous à votre RPi
Démarrez RPi en déconnectant et en branchant l'alimentation sur RPi. Démarrez VNCViewer, connectez-vous à votre RPi
Démarrez RPi en déconnectant et en branchant l'alimentation sur RPi. Démarrez VNCViewer, connectez-vous à votre RPi
Démarrez RPi en déconnectant et en branchant l'alimentation sur RPi. Démarrez VNCViewer, connectez-vous à votre RPi
Démarrez RPi en déconnectant et en branchant l'alimentation sur RPi. Démarrez VNCViewer, connectez-vous à votre RPi
Démarrez RPi en déconnectant et en branchant l'alimentation sur RPi. Démarrez VNCViewer, connectez-vous à votre RPi
Démarrez RPi en déconnectant et en branchant l'alimentation sur RPi. Démarrez VNCViewer, connectez-vous à votre RPi
Démarrez RPi en déconnectant et en branchant l'alimentation sur RPi. Démarrez VNCViewer, connectez-vous à votre RPi

Transférez le script Python à l'aide de l'outil VNCViewer. Il y a une bannière près du haut de VNCViewer, recherchez le bouton à deux flèches. Pour transférer des données du RPi vers Windows, utilisez le symbole Transfert de fichiers dans VNC en haut à droite (près du symbole Wifi) sur le bureau du RPi.

Raspberry fonctionne sous Linux et Python 2 et 3 sont installés par défaut. Il vous suffit d'installer une bibliothèque Python appelée pyserial pour collecter les données imprimées à partir de la ligne série.

pour installer python Serial, tapez cette ligne sur le terminal Linux

sudo apt-get install python3-serial

  • sous Windows: tapez ce PowellShell:
  • pip.exe installer pyserlal

Ensuite, téléchargez le script et enregistrez-le sur le bureau du RPi

Pour exécuter le script, rendez-le d'abord exécutable en:

sudo chown u+x recordSerial.py

Téléchargez le code Arduino sur la carte Arduino, puis branchez votre câble USB avec USB, vérifiez le port en:

  • Sous Linux, tapez ceci sur le terminal: ls /dev/ttyUSB*
  • Sur Wndows: allez dans le Gestionnaire de Périphériques, cochez COM #

Si le script est modifié sous Windows, vous devrez peut-être exécuter le script Python sur dos2unix pour supprimer le caractère de fin de ligne étrange par Windows. Installez-le par

sudo apt-get install dos2unix

et convertissez le script en l'exécutant dans le terminal

dos2unix recordSerial.py

Modification du port réel dans le script par un éditeur de texte:

sudo nano recordSerial.py

puis exécutez./recordSerial.py yourfilename.txt

Le script Python enregistrera les données de la RAM sur le disque toutes les 10 lignes, ce qui peut être ajusté.

Pour arrêter l'enregistrement, appuyez sur Ctrl + C, Le script peut être exécuté sous Windows (double clic), le nom des données du journal est le nom par défaut qui comprend un horodatage

Si vous utilisez PowerShell, vous pouvez entrer votre nom de fichier personnalisé, python.exe recordSerial.py awesome.txt

Tous les 18B20 ne sont pas identiques. Voir la lecture !

J'ai également poussé le code vers GitHub.

J'espère que ce tutoriel est utile!

Étape 4: Installez Samba pour partager le dossier

Installer Samba pour partager le dossier
Installer Samba pour partager le dossier
Installer Samba pour partager le dossier
Installer Samba pour partager le dossier
Installer Samba pour partager le dossier
Installer Samba pour partager le dossier

Cette étape vous guidera à travers une configuration de base pour avoir un dossier partagé hébergé sur Raspberry Pi auquel on peut accéder à partir d'autres ordinateurs.

Tout d'abord, installez samba, un programme pour partager et gérer le dossier de partage sur le réseau:

sudo apt-get installer samba

créer un dossier partagé

mkdir ~/Desktop/sambaShare

modifiez le fichier de configuration de la samba en:

sudo samba /etc/samba/smb.conf

ajoutez les lignes suivantes à la fin du fichier:

[sambaShare] comment = share Folder on Research RPI path = /home/pi/Desktop/sambaShare navigable = yes read only = no writable = yes public = yes create mask = 0777 presbytère mask = 0777 guest ok = yes

Si vous avez un problème avec l'écriture sous windows, forcez-le en ajoutant cette ligne à la fin du fichier: force user = pi

Sous Linux, vous devrez peut-être utiliser l'utilisateur root (je posterai le problème une fois que je l'aurai découvert)

Ensuite, ajoutez un utilisateur à samba et créez également un mot de passe:

sudo smbpasswd -a pi

puis entrez un mot de passe pour la samba (peut être le même ou différent du mot de passe de l'utilisateur pi sur le système)

tester si le fichier de configuration est correct

testparm

appuyez sur Ctrl+X pour enregistrer, puis redémarrez le service samba en:

sudo systemctl redémarrer smbd

Sur l'ordinateur hôte, disons Linux:

sinon, installez samba plus sambaclient et cifs pour prendre en charge le lecteur de partage, veuillez le faire en exécutant:

sudo apt-get installe samba smbclient cifs-utils

Vérifiez si le dossier partagé sur RPI est prêt en:

sudo smbclient -L yourRPI_IP

si vous voyez le lecteur partagé, créez un point de montage sous Linux:

sudo mkdir /mnt/researchRPi

sudo chown user:usergroup -R /mnt/researchRPI

user, usergroup est votre nom d'utilisateur et de groupe Linux

puis montez le partage en:

sudo mount -f cifs -o username=pi //your_rpi_IP/sambaShare /mnt/researchRPi

entrez vos mots de passe et créez un lien logiciel vers votre bureau:

sudo ln -s /mnt/researchRPi ~/Desktop/researchRPi

si vous rencontrez un problème avec l'autorisation de lecture-écriture sur le dossier de partage, essayez une autorisation faible:

sur PI:

sudo chmod -R 776 ~/Desktop/sambaShare

Sous Windows, c'est encore plus simple, Accédez à Poste de travail et mappez un dossier, puis entrez l'adresse IP de RPI, le dossier partagé devrait apparaître. Je crois qu'il y a quelque chose sur Mac que vous pouvez parcourir le dossier partagé sur le réseau.

Étape 5: Références utiles

Voici quelques références utiles:

  1. Il existe une autre approche ici utilisant les bibliothèques pyserial et numpy
  2. Un aperçu complet de la communication électronique commence par l'installation d'Arduino IDE. Une bonne référence si vous voulez une plongée plus profonde.
  3. Une écriture courte mais concrète. Des options courtes et suffisantes pour les alternatives pour enregistrer les données

Conseillé: