Tartalomjegyzék:

Raspberry Pi Zero W Datalogger: 8 lépés (képekkel)
Raspberry Pi Zero W Datalogger: 8 lépés (képekkel)

Videó: Raspberry Pi Zero W Datalogger: 8 lépés (képekkel)

Videó: Raspberry Pi Zero W Datalogger: 8 lépés (képekkel)
Videó: ПОЛНАЯ ИГРА ПОЛНЫЙ ПРОВАЛ 2 | КАМПАНИЯ — Прохождение / PS4 (Все шлемы пилотов) 2024, Július
Anonim
Raspberry Pi Zero W Datalogger
Raspberry Pi Zero W Datalogger

A Raspberry Pi Zero W használatával olcsó és könnyen használható adatgyűjtőt készíthet, amelyet vagy helyi wifi -hálózathoz csatlakoztathat, vagy hozzáférési pontként szolgálhat a területen, amely lehetővé teszi az adatok vezeték nélküli letöltését okostelefonjával.

Ezt a beállítást az Amerikai Geofizikai Unió 2017 -es őszi értekezletén mutattam be, saját adatgyűjtő beállításának módjaként. A bemutatót itt találja.

Amire szüksége lesz:

  • A Raspberry Pi Zero W
  • Egy micro SD kártya
  • USB kábel vagy USB tápegység
  • Számítógép USB -kártyaolvasóval
  • Választható (de hasznos):

    • miniHDMI -> HDMI adapter (a Pi képernyőhöz való csatlakoztatásához)
    • USB OTG adapter (billentyűzet csatlakoztatásához a Pi -hez

1. lépés: A Pi Zero W beállítása

A kezdéshez tegyen egy rasbiai képet egy microSD-kártyára (ebben az oktatóanyagban a 2017-07-05-raspbian-jessie-lite-t használtam, itt érhető el). Egy egyszerű verzió is használható (asztal nélkül), mivel a beállítás a parancssoron keresztül történik.

Helyezze be az SD -kártyát a Pi -be, csatlakoztassa a képernyőt és a billentyűzetet, és kapcsolja be a tápkábel csatlakoztatásával. Fej nélküli beállítás is lehetséges, de ehhez SSH -n keresztül kell csatlakozni.

Miután a Pi elindította a bejelentkezést (alapértelmezett felhasználónév: pi, jelszó: málna), és módosítsa a jelszót a "passwd" paranccsal.

A billentyűzet konfigurálható a "sudo raspi-config" beírásával a terminálon.

2. lépés: Csatlakozzon a WiFi -hez

Csatlakozzon a WiFi -hez
Csatlakozzon a WiFi -hez
Csatlakozzon a WiFi -hez
Csatlakozzon a WiFi -hez
Csatlakozzon a WiFi -hez
Csatlakozzon a WiFi -hez
Csatlakozzon a WiFi -hez
Csatlakozzon a WiFi -hez

Az internethez való csatlakozáshoz megmondjuk a Pi -nek, hogy melyik hálózathoz csatlakozzon. Kezdje a következő fájl megnyitásával;

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Itt adja hozzá a hálózati információkat alul;

hálózat = {

ssid = "hálózat neve" psk = "hálózati jelszó"}

Vállalati hálózat esetén a következő beállításokat használhatja (állítsa be a WPA-EAP // TTLA // MSCHAPv2 alkalmazandó beállításokat).

hálózat = {

ssid = "ssid" #Írja be a hálózat nevét

Mentse a CTRL+O billentyűkombinációval, majd lépjen ki a CTRL+X billentyűkombinációval.

Most hivatkozzon a konfigurációs fájljára az/etc/network/interfaces fájlban

sudo nano/etc/network/interfaces

Módosítsa a wlan0 részt erre:

auto wlan0

iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Ismét mentse a fájlt (CTRL+O), majd lépjen ki (CTRL+X).

Az újraindítás (sudo reboot) után a wifi kapcsolatnak működnie kell. Ezt egy webhely pingelésével tesztelheti;

ping www.google.com

Törölje a ping -et a CTRL+C billentyűkombinációval

Ha vezeték nélkül szeretne csatlakozni a Pi -hez SSH -n keresztül, engedélyeznie kell az SSH -t:

sudo raspi-config

Keresse meg az "5 interfész opciót", és engedélyezze az SSH -t. Ezután térjen vissza, és lépjen ki a konfigurációból.

Keresse meg a Pi IP -címét:

ifconfig

Az IP a wlan0 interfész "inet addr:" alatt lesz.

Most már csatlakozhat a Pi -hez WiFi -n keresztül, ha ugyanazon a hálózaton van. Töltse le a Putty alkalmazást (Windows esetén), írja be a "Host Name" alatt található IP -címet, majd nyomja meg az "Open" gombot. A figyelmeztetés elfogadása után látnia kell a parancssort és a bejelentkezést.

3. lépés: Frissítse és telepítse a szükséges szoftvert

Frissítse és telepítse a szükséges szoftvert
Frissítse és telepítse a szükséges szoftvert
Frissítse és telepítse a szükséges szoftvert
Frissítse és telepítse a szükséges szoftvert

Miután a WiFi működik, frissítse a Pi -t:

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

A frissítés befejezése után (eltarthat egy ideig) telepítse azt a szoftvert, amelyet használni fogunk;

sudo apt-get install python3 python3-serial apache2 -y

4. lépés: Csatlakozás egy érzékelőhöz (ebben a példában egy Arduino)

Vagy csatlakoztassa az Arduino -t billentyűzettel egy USB -elosztó segítségével, vagy csatlakoztassa az Arduino -t egyetlen USB -porton keresztül, és végezze el a beállítást SSH -n keresztül WiFi -n keresztül.

Az Arduino által csatlakoztatott soros port eléréséhez hasznos hozzáférést biztosítani az alapértelmezett pi -fiókhoz. Mivel az Arduino általában a "/dev/ttyACM0" porthoz van rendelve, használja a következő parancsot, hogy hozzáférést biztosítson a "pi" felhasználónak a porthoz:

sudo chown pi: /dev /ttyACM0

Feltételezve, hogy az Arduino már be van állítva az adatok küldésére a soros porton keresztül, az adatokat a következő módon tekintheti meg pythonban:

Nyissa meg a python -ot;

python3

Sorozat importálása:

sorozat importálása

Nyissa meg a com portot:

ser = soros. Soros (port = '/dev/ttyACM0', baudrate = 9600, timeout = 5)

Ahol az Arduino baudrate -je ebben az esetben 9600 volt.

A következő kód futtatásával olvashat és nyomtathat egy sort:

ser.readline (). dekódolás ('utf-8')

Ha működőképes, akkor lezárhatja a kapcsolatot és kiléphet a Pythonból:

ser.close ()

kijárat()

5. lépés: Állítsa be a WiFi hozzáférési pont képességeit

A Pi Zero W wifi hozzáférési pont módban történő beállításával bármilyen wifi -eszközzel csatlakozhat hozzá. Ez lehetővé teszi a naplózó beállítását és az adatok letöltését wifi -n keresztül, nincs szükség kábelekre vagy illesztőprogramokra.

Ehhez az Adafruit jó oktatóanyagot kínál. Néhány apró megjegyzés:

  • Az /etc/hostapd/hostapd.conf illesztőprogramhoz ne használja az illesztőprogramot.
  • A "hostapd frissítése" lépésre nincs szükség.

Ha a hozzáférési pont nem működik az oktatóanyag végén, próbálja meg újraindítani a Pi -t (sudo reboot).

6. lépés: Váltás a Wifi hozzáférési pont és az ügyfélmód között

Néha frissíteni kell a szoftvert, vagy új szoftvert kell telepíteni a Raspberry Pi -re, de ehhez internetkapcsolat szükséges. Szerencsére a kettő közötti váltás nagyon egyszerű.

Csatlakozzon a Pi -hez SSH -val (kábelen, nem wifin!). Kezdje a hozzáférési pont -szolgáltatások leállításával:

sudo cystemctl stop hostapd.service

sudo cystemctl stop isc-dhcp-server.service

Ezután szerkessze a hálózati interfész fájlt:

sudo nano/etc/network/interfaces

Itt meg kell jegyeznie a tárhely paramétereit, és megszüntetnie a hálózati kapcsolat paramétereinek megjegyzését. Változtasd meg ettől:

#-Hoszting paraméterek:

allow-hotplug wlan0 iface wlan0 inet static address 192.168.42.1 netmask 255.255.255.0 # -Hálózati (ügyfél) paraméterek: #auto wlan0 # iface wlan0 inet dhcp # wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Ehhez:

#-Hoszting paraméterek: #allow-hotplug wlan0 #iface wlan0 inet static #cím 192.168.42.1 #netmask 255.255.255.0 #-Hálózati (ügyfél) paraméterek: auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Mentse és zárja be a fájlt.

Ezután futtassa a következő parancsokat:

sudo systemctl indítsa el a wpa_supplicant.service szolgáltatást

sudo ifdown wlan0 sudo ifup wlan0

Most a Pi -nek újra csatlakoznia kell a wifi -hez, lehetővé téve a szoftver frissítését és telepítését.

A hozzáférési pont módba való visszatéréshez váltsa meg a megjegyzéseket az/etc/network/interfaces fájlban, és indítsa újra a Pi -t.

7. lépés: Záró megjegyzések

Záró megjegyzések
Záró megjegyzések

Weboldal beállítása

Az apache szerver a/var/www/mappában található. Az alapértelmezett oldal módosításához szerkessze a /var/www/html/index.html fájlt.

Az itt található fájlokat letölthetővé teheti a wifi kapcsolaton keresztül, ha böngészőjében navigál a Pi IP -címére (192.168.42.1). Ezt követően bármely wifi -kompatibilis eszköz letöltheti őket, külön szoftver nélkül.

SFTP kapcsolat

SSH -n keresztül FTP kapcsolat létesíthető. A Filezilla segítségével nagy mennyiségű fájlt gyorsan és egyszerűen átvihet (lásd a képet).

Valós idejű óra

Mivel a Pi belső órája jelentősen eltolódik, ha nincs internetkapcsolat, valós idejű óra (RTC) modulra lesz szükség, ha pontos időmérésre van szükség. Az egyik ilyen modul a RasClock, a telepítési utasítások itt találhatók. Más i2c alapú órák is rendelkezésre állnak (pl. DS3231)

Következtetés

Ha minden rendben ment, akkor rendelkeznie kell egy működő Pi Zero adatgyűjtővel! A python naplózási szkript példája szerepel a következő lépésben.

8. lépés: Példa Python naplózási parancsfájlra

importál

importáljon sorozatot az időből 'ser.flushInput () ser.flushOutput () try: while True: day_timestring = datetime.strftime (datetime.now (),'%Y%m%d ') file_today = directory + day_timestring +'.dat ' #Olvassa el adatokat, és azonnal megkapja az idővonalat = ser.readline (). dekódolja ('utf-8') nowtime = datetime.strftime (datetime.now (), '%Y-%m-%d%H:%M:% S.%f ') line = line.split (', ') try: u = float ([1]. Sor), kivéve: u = np.nan try: v = float ([2]. Sor), kivéve: v = np.nan try: w = float ([3] sor), kivéve: w = np.nan try: c = float ([5]. sor), kivéve: c = np.nan Ts = 1/403*c ** 2 - 273,15 try: Ta = float ([8] sor), kivéve: Ta = np.nan if (os.path.isfile (file_today)): open (file_today, 'a') as fileobject: fileobject.write (nowtime+',') fileobject.write (str (u)+','+str (v)+','+str (w)+','+str (c)+','+str (Ts)+','+ str (Ta)+'\ n') fileobject.clos e () else: open (file_today, 'w') fájlnévvel: fileobject.write ('"Idő", "u", "v", "w", "c", "Ts", "Ta" / n ') fileobject.write (mostidő+', ') fileobject.write (str (u)+', '+str (v)+', '+str (w)+', '+str (c)+', '+str (Ts)+', '+str (Ta)+' / n ') fileobject.close () kivéve a KeyboardInterrupt: ser.close ()

Ajánlott: