Table des matières:
- Étape 1: Configurer Pi Zero W
- Étape 2: Connectez-vous au Wi-Fi
- Étape 3: Mettre à jour et installer le logiciel requis
- Étape 4: Connectez-vous à un capteur (dans cet exemple, un Arduino)
- Étape 5: Configurer les capacités du point d'accès WiFi
- Étape 6: Basculer entre les modes point d'accès Wifi et client
- Étape 7: Remarques finales
- Étape 8: Exemple de script de journalisation Python
Vidéo: Enregistreur de données Raspberry Pi Zero W : 8 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
À l'aide d'un Raspberry Pi Zero W, vous pouvez créer un enregistreur de données bon marché et facile à utiliser, qui peut être soit connecté à un réseau wifi local, soit servir de point d'accès sur le terrain qui vous permet de télécharger des données sans fil avec votre smartphone.
J'ai présenté cette configuration à l'American Geophysical Union Fall Meeting 2017, comme un moyen de créer votre propre configuration d'enregistreur de données. Vous pouvez retrouver cette présentation ici.
Ce dont vous aurez besoin:
- Un Raspberry Pi Zero W
- Une carte micro SD
- un câble USB ou une alimentation USB
- Un ordinateur avec un lecteur de carte USB
-
Facultatif (mais utile):
- adaptateur miniHDMI -> HDMI (pour connecter le Pi à un écran)
- Adaptateur USB OTG (pour connecter un clavier au Pi
Étape 1: Configurer Pi Zero W
Pour commencer, placez une image Rasbian sur une carte microSD (dans ce tutoriel, j'ai utilisé 2017-07-05-raspbian-jessie-lite, disponible ici). Une version allégée peut être utilisée (sans bureau) car la configuration se fera via la ligne de commande.
Insérez la carte SD dans le Pi, connectez l'écran et un clavier, et allumez-le en branchant le câble d'alimentation. Une configuration sans tête est également possible, mais nécessiterait une connexion via SSH.
Une fois que le Pi a démarré, connectez-vous (nom d'utilisateur par défaut: pi, mot de passe: framboise) et modifiez le mot de passe avec la commande « passwd ».
Le clavier peut être configuré en saisissant « sudo raspi-config » dans le terminal.
Étape 2: Connectez-vous au Wi-Fi
Pour se connecter à Internet, nous dirons au Pi à quel réseau se connecter. Commencez par ouvrir le fichier suivant;
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Ici, ajoutez les informations sur le réseau en bas;
réseau={
ssid="nom du réseau" psk="mot de passe du réseau" }
Dans le cas d'un réseau d'entreprise, vous pouvez utiliser la configuration suivante (ajuster WPA-EAP // TTLA // MSCHAPv2 aux paramètres applicables).
réseau={
ssid="ssid" #Entrez votre nom de réseau key_mgmt=WPA-EAP eap=TTLS identity="xxxxx" #Entrez le mot de passe de votre compte de connexion="xxxxx" #Entrez le passwork phase2="auth=MSCHAPv2" }
Enregistrez en appuyant sur CTRL+O et quittez avec CTRL+X.
Référencez maintenant votre fichier de configuration dans /etc/network/interfaces
sudo nano /etc/network/interfaces
Remplacez la partie wlan0 par:
WLAN 0 automatique
iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Encore une fois, enregistrez le fichier (CTRL+O) puis quittez (CTRL+X).
Après le redémarrage (redémarrage sudo), votre connexion wifi devrait fonctionner. Vous pouvez tester ceci en cinglant un site Web;
ping www.google.com
Annuler le ping avec CTRL+C
Pour vous connecter au Pi via SSH sans fil, vous devez activer SSH:
sudo raspi-config
Accédez à "5 options d'interfaçage" et activez SSH. Revenez ensuite en arrière et quittez la configuration.
Recherchez l'adresse IP du Pi:
ifconfig
L'IP sera sous "inet addr:" de l'interface wlan0.
Vous pouvez maintenant vous connecter au Pi via WiFi, si vous êtes sur le même réseau. Téléchargez Putty (pour Windows), entrez l'adresse IP que vous avez trouvée sous "Nom d'hôte" et appuyez sur "Ouvrir". Après avoir accepté l'avertissement, vous devriez maintenant pouvoir voir la ligne de commande et vous connecter.
Étape 3: Mettre à jour et installer le logiciel requis
Une fois que le WiFi fonctionne, mettez à jour le Pi avec:
sudo apt-get update -y && sudo apt-get upgrade -y
Une fois la mise à jour terminée (cela peut prendre un certain temps), installez le logiciel avec lequel nous utiliserons;
sudo apt-get install python3 python3-serial apache2 -y
Étape 4: Connectez-vous à un capteur (dans cet exemple, un Arduino)
Connectez l'Arduino avec un clavier à l'aide d'un concentrateur USB ou connectez l'Arduino via le seul port USB et effectuez la configuration avec SSH via WiFi.
Pour pouvoir accéder au port série auquel l'Arduino est connecté, il est utile de donner accès au compte pi par défaut. Comme l'Arduino est généralement affecté au port "/dev/ttyACM0", utilisez la commande suivante pour donner à l'utilisateur "pi" l'accès au port:
sudo chown pi: /dev/ttyACM0
En supposant que l'Arduino a déjà été configuré pour envoyer des données via le port série, vous pouvez afficher les données en python de la manière suivante:
Python ouvert;
python3
Importer la série:
importer la série
Ouvrez le port com:
ser = serial. Serial(port = '/dev/ttyACM0', vitesse de transmission = 9600, délai d'attente = 5)
Où le débit en bauds de l'Arduino a été fixé à 9600 dans ce cas.
Vous pouvez lire et imprimer une ligne en exécutant le code suivant:
ser.readline().decode('utf-8')
Si cela fonctionne, vous pouvez fermer la connexion et quitter Python avec:
ser.close()
sortir()
Étape 5: Configurer les capacités du point d'accès WiFi
En configurant votre Pi Zero W en mode point d'accès wifi, vous pouvez vous y connecter avec n'importe quel appareil wifi. Cela permet de configurer l'enregistreur et de télécharger des données via wifi, aucun câble ou pilote requis.
Pour cela, Adafruit dispose d'un bon tutoriel. Quelques petites remarques:
- Pour le pilote /etc/hostapd/hostapd.conf, n'utilisez pas la ligne du pilote.
- L'étape "Mettre à jour hostapd" ne devrait pas être nécessaire.
Si le point d'accès ne fonctionne pas à la fin du tutoriel, essayez de redémarrer le Pi (redémarrage sudo).
Étape 6: Basculer entre les modes point d'accès Wifi et client
Parfois, vous souhaiterez mettre à jour le logiciel ou installer un nouveau logiciel sur votre Raspberry Pi, mais cela nécessite une connexion Internet. Heureusement, basculer entre les deux est très facile.
Connectez-vous au Pi avec SSH (via un câble, pas le wifi !). Commencez par arrêter les services du point d'accès:
sudo cystemctl arrêter hostapd.service
sudo cystemctl arrêter isc-dhcp-server.service
Modifiez ensuite le fichier d'interfaces réseau:
sudo nano /etc/network/interfaces
Ici, vous devez commenter les paramètres d'hébergement et dé-commenter les paramètres de connexion réseau. Changez-le de ceci:
#-Paramètres d'hébergement:
allow-hotplug wlan0 iface wlan0 inet static address 192.168.42.1 netmask 255.255.255.0 #-Paramètres réseau (client): #auto wlan0 # iface wlan0 inet dhcp # wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Pour ça:
#-Paramètres d'hébergement:#allow-hotplug wlan0 #iface wlan0 inet static # address 192.168.42.1 # netmask 255.255.255.0 #-Paramètres réseau (client): auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Enregistrez et fermez le fichier.
Ensuite, vous exécutez les commandes suivantes:
sudo systemctl démarrer wpa_supplicant.service
sudo ifdown wlan0 sudo ifup wlan0
Maintenant, votre Pi devrait se connecter à nouveau au wifi, vous permettant de mettre à jour et d'installer le logiciel.
Pour revenir au mode point d'accès, basculez les commentaires dans /etc/network/interfaces et redémarrez le Pi.
Étape 7: Remarques finales
Configuration du site Web
Le serveur Apache est situé dans /var/www/. Pour modifier la page par défaut, modifiez le fichier /var/www/html/index.html.
Vous pouvez rendre des fichiers ici disponibles pour téléchargement via la connexion wifi, en naviguant dans votre navigateur jusqu'à l'adresse IP du Pi (192.168.42.1). Tout appareil compatible wifi peut ensuite les télécharger sans logiciel supplémentaire.
connexion SFTP
Sur SSH, une connexion FTP peut être établie. Vous pouvez utiliser Filezilla pour transférer rapidement et facilement une grande quantité de fichiers (voir image).
Horloge en temps réel
Comme l'horloge interne du Pi dérivera considérablement s'il n'y a pas de connexion à Internet, un module d'horloge en temps réel (RTC) sera nécessaire si un chronométrage précis est requis. L'un de ces modules est le RasClock, les instructions d'installation peuvent être trouvées ici. D'autres horloges basées sur i2c sont également disponibles (par exemple DS3231)
Conclusion
Si tout s'est bien passé, vous devriez maintenant avoir un enregistreur de données Pi Zero fonctionnel ! Un exemple de script de journalisation Python est inclus dans l'étape suivante.
Étape 8: Exemple de script de journalisation Python
importer le système d'exploitation
importer la série à partir de l'heure importer l'heure à partir de la date et l'heure importer la date et l'heure importer numpy en tant que np ser = serial. Serial(port = 'COM4', baudrate = 57600, timeout = 5) directory = r'\var\www\html\data\anemometer\WMPro1352_ ' ser.flushInput() ser.flushOutput() try: while True: day_timestring = datetime.strftime(datetime.now(), '%Y%m%d') file_today = directory + day_timestring + '.dat' #Lire données et obtenez immédiatement la ligne de temps = ser.readline().decode('utf-8') nowtime = datetime.strftime(datetime.now(), '%Y-%m-%d %H:%M:% S.%f') line = line.split(', ') try: u = float(line[1]) sauf: u = np.nan try: v = float(line[2]) sauf: v = np.nan try: w = float(line[3]) sauf: w = np.nan try: c = float(line[5]) sauf: c = np.nan Ts = 1/403 * c**2 - 273.15 essayez: Ta = float(line[8]) sauf: Ta = np.nan if (os.path.isfile(file_today)): avec open(file_today, 'a') comme fileobject: fileobject.write(nowtime+', ') fileobject.write(str(u)+', '+str(v)+', '+str(w)+', '+str(c)+', '+str(Ts)+', '+ str(Ta)+'\n') objetfichier.clos e() else: avec open(file_today, 'w') comme objet-fichier: objet-fichier.write('"Time", "u", "v", "w", "c", "Ts", "Ta"\ n') fileobject.write(nowtime+', ') fileobject.write(str(u)+', '+str(v)+', '+str(w)+', '+str(c)+', '+str(Ts)+', '+str(Ta)+'\n') fileobject.close() sauf KeyboardInterrupt: ser.close()
Conseillé:
Enregistreur de données GPS Cap : 7 étapes (avec photos)
Enregistreur de données GPS Cap : voici un excellent projet de week-end, si vous aimez faire de la randonnée ou de longues balades à vélo et que vous avez besoin d'un enregistreur de données GPS pour garder une trace de toutes vos randonnées/tours que vous avez effectués… Une fois que vous avez terminé la construction et téléchargé les données du module GPS du tr
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
Enregistreur de données GPS bricolage pour votre prochain trajet / sentier de randonnée : 11 étapes (avec photos)
Enregistreur de données GPS bricolage pour votre prochain trajet / sentier de randonnée : il s'agit d'un enregistreur de données GPS que vous pouvez utiliser à plusieurs fins, par exemple si vous souhaitez enregistrer votre long trajet en voiture que vous avez pris le week-end pour vérifier les couleurs d'automne. ou vous avez un sentier préféré que vous visitez chaque année à l'automne et vous v
Lecteur/enregistreur ScanUp NFC et enregistreur audio pour aveugles, malvoyants et autres : 4 étapes (avec photos)
Lecteur/enregistreur ScanUp NFC et enregistreur audio pour aveugles, malvoyants et autres : j'étudie le design industriel et le projet est le travail de mon semestre. L'objectif est de soutenir les personnes malvoyantes et aveugles avec un appareil, qui permet d'enregistrer de l'audio au format .WAV sur une carte SD et d'appeler cette information par un tag NFC. Alors dans
Faire un enregistreur de données avec le Raspberry Pi : 3 étapes (avec photos)
Faire un enregistreur de données avec le Raspberry Pi : Cet enregistreur de données simple prend des mesures de lumière régulières avec un LDR analogique (photorésistance) et les stocke dans un fichier texte sur votre Raspberry Pi. Cet enregistreur de données mesurera et enregistrera le niveau de lumière toutes les 60 secondes, vous permettant de surveiller l'h