Taula de continguts:
- Pas 1: configureu Pi Zero W
- Pas 2: connecteu-vos a WiFi
- Pas 3: actualitzeu i instal·leu el programari requerit
- Pas 4: connecteu-vos a un sensor (en aquest exemple, un Arduino)
- Pas 5: configureu les funcions del punt d'accés WiFi
- Pas 6: canviar entre el punt d’accés Wifi i les formes de client
- Pas 7: Observacions finals
- Pas 8: exemple de script de registre de Python
Vídeo: Registrador de dades Raspberry Pi Zero W: 8 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
Amb un Raspberry Pi Zero W, podeu crear un registre de dades barat i fàcil d’utilitzar, que es pot connectar a una xarxa wifi local o bé servir de punt d’accés al camp que us permet descarregar dades sense fils amb el vostre telèfon intel·ligent.
Vaig presentar aquesta configuració a la American Geophysical Union Fall Meeting 2017, com una manera de configurar el vostre propi registre de dades. Podeu trobar aquesta presentació aquí.
Què necessiteu:
- A Raspberry Pi Zero W
- Una targeta micro SD
- un cable USB o una font d'alimentació USB
- Un ordinador amb un lector de targetes USB
-
Opcional (però útil):
- miniHDMI -> Adaptador HDMI (per connectar el Pi a una pantalla)
- Adaptador USB OTG (per connectar un teclat al Pi
Pas 1: configureu Pi Zero W
Per començar, poseu una imatge Rasbian a una targeta microSD (en aquest tutorial he utilitzat el 2017-07-05-raspbian-jessie-lite, disponible aquí). Es pot utilitzar una versió simplificada (sense escriptori), ja que la configuració es realitzarà a través de la línia d’ordres.
Introduïu la targeta SD al Pi, connecteu la pantalla i un teclat i engegueu-la endollant el cable d’alimentació. La configuració sense cap també és possible, però caldria connectar-se mitjançant SSH.
Després que el Pi hagi iniciat l'inici de sessió (nom d'usuari per defecte: pi, contrasenya: raspberry) i canvieu la contrasenya amb l'ordre "passwd".
El teclat es pot configurar introduint "sudo raspi-config" al terminal.
Pas 2: connecteu-vos a WiFi
Per connectar-vos a Internet, li direm al Pi a quina xarxa voleu connectar-vos. Comenceu obrint el fitxer següent;
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Aquí, afegiu la informació de la xarxa a la part inferior;
xarxa = {
ssid = "nom de xarxa" psk = "contrasenya de xarxa"}
En el cas d’una xarxa empresarial, podeu utilitzar la configuració següent (ajusteu WPA-EAP // TTLA // MSCHAPv2 a la configuració aplicable).
xarxa = {
ssid = "ssid" #Enter your network name key_mgmt = WPA-EAP eap = TTLS identity = "xxxxx" #Enter your login account password = "xxxxx" #Enter the passwork phase2 = "auth = MSCHAPv2"}
Estalvieu prement CTRL + O i sortiu amb CTRL + X.
Ara feu referència al fitxer de configuració a / etc / network / interfaces
sudo nano / etc / network / interfaces
Canvieu la part wlan0 per:
auto wlan0
iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Una vegada més, deseu el fitxer (CTRL + O) i, a continuació, sortiu (CTRL + X).
Després de reiniciar (reinici sudo), la vostra connexió wifi hauria de funcionar. Podeu provar-ho fent ping a un lloc web;
ping www.google.com
Cancel·leu el ping amb CTRL + C
Per connectar-vos al Pi mitjançant SSH sense fils, heu d’habilitar SSH:
sudo raspi-config
Aneu a "5 opcions d'interfície" i activeu SSH. A continuació, torneu enrere i sortiu de la configuració.
Cerqueu l'adreça IP del Pi:
ifconfig
La IP estarà a "inet addr:" de la interfície wlan0.
Ara podeu connectar-vos al Pi mitjançant WiFi, si esteu a la mateixa xarxa. Baixeu Putty (per a Windows), introduïu l'adreça IP que trobareu a "Nom de l'amfitrió" i premeu "Obre". Després d’acceptar l’advertència, ara hauríeu de poder veure la línia d’ordres i iniciar la sessió.
Pas 3: actualitzeu i instal·leu el programari requerit
Un cop el WiFi funcioni, actualitzeu el Pi amb:
sudo apt-get update -y && sudo apt-get upgrade -y
Un cop finalitzada l’actualització (pot trigar una estona), instal·leu el programari amb què farem servir;
sudo apt-get install python3 python3-serial apache2 -y
Pas 4: connecteu-vos a un sensor (en aquest exemple, un Arduino)
Connecteu l'Arduino juntament amb un teclat mitjançant un concentrador USB, o bé connecteu l'Arduino mitjançant el port USB únic i feu la configuració amb SSH a través de WiFi.
Per poder accedir al port sèrie al qual està connectat Arduino, és útil donar accés al compte pi predeterminat. Com Arduino sol assignar-se al port "/ dev / ttyACM0", utilitzeu l'ordre següent per donar accés a l'usuari 'pi' al port:
sudo chown pi: / dev / ttyACM0
Suposant que l'Arduino ja s'ha configurat per enviar dades a través del port sèrie, podeu veure les dades en python de la següent manera:
Pitó obert;
python3
Importa la sèrie:
importació de sèries
Obriu el port de com:
ser = serial. Serial (port = '/ dev / ttyACM0', velocitat de transmissió = 9600, temps d'espera = 5)
On la velocitat de transmissió de l'Arduino es va fixar en 9600 en aquest cas.
Podeu llegir i imprimir una línia executant el codi següent:
ser.readline (). decode ('utf-8')
Si el teniu funcionant, podeu tancar la connexió i sortir de Python amb:
ser.close ()
sortir ()
Pas 5: configureu les funcions del punt d'accés WiFi
En configurar el Pi Zero W en mode de punt d’accés wifi, podeu connectar-vos-hi amb qualsevol dispositiu wifi. Això permet configurar el registrador i descarregar dades per wifi, sense cables ni controladors.
Per a això, Adafruit disposa d’un bon tutorial. Algunes petites observacions:
- Per al controlador /etc/hostapd/hostapd.conf, utilitzeu no utilitzeu la línia del controlador.
- El pas "Actualitzar hostapd" no hauria de ser necessari.
Si el punt d'accés no funciona al final del tutorial, proveu de reiniciar el Pi (sudo reboot).
Pas 6: canviar entre el punt d’accés Wifi i les formes de client
De vegades, voldreu actualitzar el programari o instal·lar-ne un de nou al vostre Raspberry Pi, però això requereix una connexió a Internet. Per sort, canviar entre tots dos és molt fàcil.
Connecteu-vos al Pi amb SSH (per cable, no wifi!). Comenceu parant els serveis del punt d’accés:
sudo cystemctl atura hostapd.service
sudo cystemctl stop isc-dhcp-server.service
A continuació, editeu el fitxer d'interfícies de xarxa:
sudo nano / etc / network / interfaces
Aquí hauríeu de comentar els paràmetres d'allotjament i deixar de comentar els paràmetres de connexió de xarxa. Canvieu-lo a partir d'aquest:
# -Paràmetres d'allotjament:
allow-hotplug wlan0 iface wlan0 inet adreça estàtica 192.168.42.1 màscara de xarxa 255.255.255.0 # -Paràmetres de xarxa (client): #auto wlan0 # iface wlan0 inet dhcp # wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Per a això:
# -Paràmetres d'allotjament: # allow-hotplug wlan0 #iface wlan0 inet static # address 192.168.42.1 # netmask 255.255.255.0 # -Paràmetres de xarxa (client): auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Deseu i tanqueu el fitxer.
A continuació, executeu les ordres següents:
sudo systemctl iniciar wpa_supplicant.service
sudo ifdown wlan0 sudo ifup wlan0
Ara el Pi hauria de tornar a connectar-se a wifi, cosa que us permetrà actualitzar i instal·lar programari.
Per tornar al mode de punt d'accés, canvieu els comentaris a / etc / network / interfaces i reinicieu el Pi.
Pas 7: Observacions finals
Configuració del lloc web
El servidor apache es troba a / var / www /. Per canviar la pàgina predeterminada, editeu el fitxer /var/www/html/index.html.
Podeu fer que els fitxers estiguin disponibles aquí per descarregar-los mitjançant la connexió wifi navegant al navegador fins a l’adreça IP del Pi (192.168.42.1). Qualsevol dispositiu amb connexió wifi pot descarregar-los sense cap programari addicional.
Connexió SFTP
A través de SSH, es pot establir una connexió FTP. Podeu utilitzar Filezilla per transferir de forma ràpida i senzilla una gran quantitat de fitxers (vegeu la imatge).
Rellotge en temps real
Com que el rellotge intern del Pi es desplaçarà significativament si no hi ha connexió a Internet, caldrà un mòdul de rellotge en temps real (RTC) si es requereix una indicació exacta del temps. Un d’aquests mòduls és el RasClock, les instruccions d’instal·lació es poden trobar aquí. També hi ha altres rellotges basats en i2c (és a dir, DS3231)
Conclusió
Si tot ha anat correctament, ara hauríeu de tenir un datalogger Pi Zero en funcionament. Al següent pas s’inclou un exemple d’escriptura de registre de Python.
Pas 8: exemple de script de registre de Python
import os
importació de sèries a partir de temps importació de dades: importació de dades i importació de dades: 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 = directori + day_timestring +'.dat '#Llegir dades i obtingueu immediatament la línia 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]) except: u = np.nan try: v = float (line [2]) except: v = np.nan try: w = float (línia [3]) excepte: w = np.nan try: c = float (line [5]) except: c = np.nan Ts = 1/403 * c ** 2 - 273.15 prova: Ta = float (línia [8]) excepte: Ta = np.nan if (os.path.isfile (file_today)): amb open (file_today, 'a') com a fileobject: fileobject.write (nowtime + ',') fileobject.write (str (u) + ',' + str (v) + ',' + str (w) + ',' + str (c) + ',' + str (Ts) + ',' + str (Ta) + '\ n') fileobject.clos e () else: amb obert (fitxer_avui, 'w') com a objecte de fitxer: fileobject.write ('"Temps", "u", "v", "w", "c", "Ts", "Ta" / n ') fileobject.write (ara +', ') fileobject.write (str (u) +', '+ str (v) +', '+ str (w) +', '+ str (c) +', '+ str (Ts) +', '+ str (Ta) +' / n ') fileobject.close () excepte KeyboardInterrupt: ser.close ()
Recomanat:
Registrador de dades GPS Cap: 7 passos (amb imatges)
Registrador de dades GPS Cap: Aquí teniu un gran projecte de cap de setmana, si esteu en trekking o passejades en bicicleta i necessiteu un registrador de dades GPS per fer un seguiment de tots els vostres viatges / recorreguts que heu fet … Un cop hàgiu completat la construcció i descarregat les dades del mòdul GPS del tr
Registrador de dades GPS de bricolatge per a la vostra propera ruta / senderisme: 11 passos (amb imatges)
Registrador de dades GPS de bricolatge per a la vostra propera ruta o senderisme: es tracta d’un registrador de dades GPS que podeu utilitzar amb diversos usos, per exemple, si voleu registrar la vostra unitat llarga que heu fet durant el cap de setmana per comprovar els colors de la tardor. o bé teniu una ruta preferida que visiteu cada tardor a la tardor i
Registrador de dades de control de corrent altern: 9 passos (amb imatges)
Registrador de dades de control actual de CA: Hola a tothom, us donem la benvinguda al meu primer instructable. De dia sóc enginyer de proves per a una empresa que subministra equips de calefacció industrial, de nit sóc un aficionat als aficionats a la tecnologia i al bricolatge. Part del meu treball consisteix a provar el rendiment dels escalfadors, o
Registrador de dades de codi obert (OPENSDL): 5 passos (amb imatges)
Open Source Data Logger (OPENSDL): l’objectiu d’aquest projecte és dissenyar, construir i provar un sistema de mesura de baix cost per als estudis d’avaluació del rendiment de l’edifici que inclogui almenys temperatura, humitat relativa, il·luminació i extensible a sensors addicionals. i per desenvolupar
Fer un registrador de dades amb el Raspberry Pi: 3 passos (amb imatges)
Fer un registrador de dades amb el Raspberry Pi: aquest senzill registrador de dades pren mesures regulars de llum amb un LDR (Photoresistor) analògic i els emmagatzema en un fitxer de text al vostre Raspberry Pi. Aquest registrador de dades mesurarà i registrarà el nivell de llum cada 60 segons, cosa que us permetrà controlar