Sadržaj:
- Korak 1: Postavite Pi Zero W
- Korak 2: Povežite se na WiFi
- Korak 3: Ažurirajte i instalirajte potreban softver
- Korak 4: Povežite se sa senzorom (u ovom primjeru Arduino)
- Korak 5: Postavite mogućnosti WiFi pristupne točke
- Korak 6: Prebacivanje između načina pristupne točke Wifi i klijenta
- Korak 7: Završne napomene
- Korak 8: Primjer Python skripte za bilježenje
Video: Zapisnik podataka Raspberry Pi Zero W: 8 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
Pomoću Raspberry Pi Zero W možete napraviti jeftin i jednostavan za korištenje datalogger, koji se može spojiti na lokalnu WiFi mrežu ili poslužiti kao pristupna točka na terenu koja vam omogućuje bežično preuzimanje podataka sa vašeg pametnog telefona.
Predstavila sam ovu postavku na jesenskom sastanku American Geophysical Union 2017, kao način za postavljanje vlastitog zapisnika podataka. Tu prezentaciju možete pronaći ovdje.
Što će vam trebati:
- Raspberry Pi Zero W
- Mikro SD kartica
- USB kabel ili USB napajanje
- Računalo s čitačem USB kartica
-
Izborno (ali korisno):
- miniHDMI -> HDMI adapter (za povezivanje Pi na zaslon)
- USB OTG adapter (za spajanje tipkovnice na Pi
Korak 1: Postavite Pi Zero W
Za početak stavite rasbijsku sliku na microSD karticu (u ovom sam vodiču koristio 2017-07-05-raspbian-jessie-lite, dostupno ovdje). Može se koristiti Lite verzija (bez radne površine) jer će se postavljanje izvršiti putem naredbenog retka.
Umetnite SD karticu u Pi, spojite zaslon i tipkovnicu i uključite je priključivanjem kabela za napajanje. Moguće je i postavljanje bez glave, no zahtijeva povezivanje putem SSH -a.
Nakon što je Pi pokrenuo prijavu (zadano korisničko ime: pi, lozinka: malina), i promijenite lozinku pomoću naredbe "passwd".
Tipkovnica se može konfigurirati unosom "sudo raspi-config" u terminal.
Korak 2: Povežite se na WiFi
Za povezivanje s internetom reći ćemo Pi na koju se mrežu treba povezati. Počnite otvaranjem sljedeće datoteke;
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Ovdje dodajte podatke o mreži pri dnu;
mreža = {
ssid = "naziv mreže" psk = "lozinka mreže"}
U slučaju poslovne mreže, možete koristiti sljedeće postavke (prilagodite WPA-EAP // TTLA // MSCHAPv2 primjenjivim postavkama).
mreža = {
ssid = "ssid" #Unesite naziv svoje mreže key_mgmt = WPA-EAP eap = TTLS identitet = "xxxxx" #Unesite lozinku svog računa za prijavu = "xxxxx" #Unesite fazu prolaska2 = "auth = MSCHAPv2"}
Spremite pritiskom na CTRL+O, a izađite s CTRL+X.
Sada referencirajte svoju konfiguracijsku datoteku u/etc/network/sučelja
sudo nano/etc/network/sučelja
Promijenite wlan0 dio u:
auto wlan0
iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Ponovo spremite datoteku (CTRL+O), a zatim izađite (CTRL+X).
Nakon ponovnog pokretanja (sudo reboot), vaša WiFi veza trebala bi raditi. To možete testirati pinganjem web stranice;
ping www.google.com
Otkažite ping pomoću CTRL+C
Za bežično povezivanje s Pi preko SSH -a trebate omogućiti SSH:
sudo raspi-config
Idite na "5 mogućnosti sučelja" i omogućite SSH. Zatim se vratite i izađite iz konfiguracije.
Potražite IP adresu Pi:
ifconfig
IP će biti pod "inet addr:" sučelja wlan0.
Sada se možete povezati s Pi putem WiFi -a, ako ste na istoj mreži. Preuzmite Putty (za Windows), unesite IP adresu koju ste pronašli pod "Naziv hosta" i pritisnite "Otvori". Nakon prihvaćanja upozorenja sada biste trebali moći vidjeti naredbeni redak i prijaviti se.
Korak 3: Ažurirajte i instalirajte potreban softver
Nakon što WiFi radi, ažurirajte Pi sa:
sudo apt -get update -y && sudo apt -get upgrade -y
Nakon što ažuriranje završi (može potrajati), instalirajte softver s kojim ćemo koristiti;
sudo apt-get install python3 python3-serijski apache2 -y
Korak 4: Povežite se sa senzorom (u ovom primjeru Arduino)
Ili povežite Arduino zajedno s tipkovnicom pomoću USB čvorišta ili spojite Arduino putem jednog USB priključka i izvršite postavljanje pomoću SSH -a putem WiFi -a.
Da biste mogli pristupiti serijskom portu na koji je Arduino spojen, korisno je omogućiti pristup zadanom pi računu. Kako je Arduino obično dodijeljen portu "/dev/ttyACM0", upotrijebite sljedeću naredbu da biste 'pi' korisniku dali pristup do porta:
sudo chown pi: /dev /ttyACM0
Pod pretpostavkom da je Arduino već postavljen za slanje podataka preko serijskog porta, možete vidjeti podatke u pythonu na sljedeći način:
Otvoreni python;
python3
Serijski uvoz:
serijski uvoz
Otvorite com port:
ser = serial. Serial (port = '/dev/ttyACM0', baudrate = 9600, timeout = 5)
Tamo gdje je brzina prijenosa Arduina u ovom slučaju postavljena na 9600.
Možete pročitati i ispisati redak pokretanjem sljedećeg koda:
ser.readline (). decode ('utf-8')
Ako vam radi, možete zatvoriti vezu i izaći iz Pythona pomoću:
ser.close ()
Izlaz()
Korak 5: Postavite mogućnosti WiFi pristupne točke
Postavljanjem svog Pi Zero W u način rada WiFi pristupne točke, možete se povezati s njim s bilo kojim WiFi uređajem. To omogućuje postavljanje zapisnika i preuzimanje podataka putem WiFi -ja, nisu potrebni kabeli ili upravljački programi.
Za to Adafruit ima na raspolaganju dobar vodič. Neke male primjedbe:
- Za /etc/hostapd/hostapd.conf upravljački program, nemojte koristiti liniju upravljačkog programa.
- Korak "Ažuriraj hostapd" ne bi trebao biti potreban.
Ako pristupna točka ne radi na kraju vodiča, pokušajte ponovno pokrenuti Pi (sudo ponovno podizanje sustava).
Korak 6: Prebacivanje između načina pristupne točke Wifi i klijenta
Ponekad ćete htjeti ažurirati softver ili instalirati novi softver na svoj Raspberry Pi, ali za to je potrebna internetska veza. Na sreću prebacivanje između njih dvoje vrlo je jednostavno.
Spojite se na Pi putem SSH -a (preko kabela, ne putem WiFi -a!). Započnite zaustavljanjem usluga pristupne točke:
sudo cystemctl stop hostapd.service
sudo cystemctl stop isc-dhcp-server.service
Zatim uredite datoteku mrežnih sučelja:
sudo nano/etc/network/sučelja
Ovdje biste trebali komentirati parametre hostinga, a ne komentirati parametre mrežne veze. Promijeni iz ovoga:
#-Hosting parametri:
allow-hotplug wlan0 iface wlan0 inet statička adresa 192.168.42.1 maska mreže 255.255.255.0 # -Mrežni (klijentski) parametri: #auto wlan0 # iface wlan0 inet dhcp # wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Na ovo:
#-Hosting parametri: #allow-hotplug wlan0 #iface wlan0 inet static #adresa 192.168.42.1 #maska mreže 255.255.255.0 #-Mrežni (klijentski) parametri: auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Spremite i zatvorite datoteku.
Zatim pokrećete sljedeće naredbe:
sudo systemctl start wpa_supplicant.service
sudo ifdown wlan0 sudo ifup wlan0
Sada bi se vaš Pi trebao ponovno spojiti na WiFi, što vam omogućuje ažuriranje i instaliranje softvera.
Da biste se vratili u način pristupne točke, prebacite se na komentare u/etc/network/sučelja i ponovno pokrenite Pi.
Korak 7: Završne napomene
Postavljanje web stranice
Apache poslužitelj nalazi se u/var/www/. Da biste promijenili zadanu stranicu, uredite /var/www/html/index.html datoteku.
Ovdje možete učiniti datoteke dostupnima za preuzimanje putem WiFi veze, navigacijom preglednika do Pi -ove IP adrese (192.168.42.1). Svaki uređaj s omogućenim WiFi -jem može ih preuzeti bez dodatnog softvera.
SFTP veza
Preko SSH -a može se uspostaviti FTP veza. Filezilla možete koristiti za brz i jednostavan prijenos velike količine datoteka (vidi sliku).
Sat u realnom vremenu
Budući da će se unutarnji sat Pi značajno pomaknuti ako nema veze s internetom, bit će potreban modul sata u stvarnom vremenu (RTC) ako je potrebno točno mjerenje vremena. Jedan od takvih modula je RasClock, upute za instalaciju možete pronaći ovdje. Dostupni su i drugi satovi zasnovani na i2c (npr. DS3231)
Zaključak
Ako je sve prošlo kako treba, sada biste trebali imati ispravni Pi Zero zapisnik podataka! Primjer python skripte za bilježenje uključen je u sljedeći korak.
Korak 8: Primjer Python skripte za bilježenje
uvoz os
uvoz serijske iz vremena uvoz vremena iz datuma uvoza datum -datum uvoz numpy kao np ser = serial. Serial (port = 'COM4', baudrate = 57600, timeout = 5) direktorij = 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 = direktorij + day_timestring +'.dat ' #Pročitajte podataka i odmah nabavite vremensku liniju = 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]) osim: u = np.nan try: v = float (line [2]) osim: v = np.nan try: w = float (linija [3]) osim: w = np.nan try: c = float (line [5]) osim: c = np.nan Ts = 1/403*c ** 2 - 273.15 pokušajte: Ta = float (redak [8]) osim: Ta = np.nan if (os.path.isfile (file_today)): s otvorenim (file_today, 'a') kao fileobject: fileobject.write (nowtime+',') fileobject.write (str (u)+','+str (v)+','+str (w)+','+str (c)+','+str (Ts)+','+ str (Ta)+'\ n') fileobject.clos e () else: s otvorenim (file_today, 'w') kao fileobject: fileobject.write ('"Vrijeme", "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 () osim KeyboardInterrupt: ser.close ()
Preporučeni:
Zapisnik podataka GPS Cap Cap: 7 koraka (sa slikama)
GPS Cap Log Logger: Evo izvrsnog projekta za vikend, ako se bavite trekingom ili dugim vožnjama biciklom, te vam je potreban GPS data logger za praćenje svih vaših putovanja/vožnji koje ste poduzeli … Nakon što dovršite izgradnju i preuzeo podatke s GPS modula tr
DIY GPS zapisnik podataka za sljedeću vožnju/pješačku stazu: 11 koraka (sa slikama)
DIY GPS zapisnik podataka za sljedeću vožnju/pješačku stazu: Ovo je GPS zapisnik podataka koji možete koristiti u više svrha, recimo ako želite prijaviti svoju dugu vožnju koju ste uzeli tijekom vikenda kako biste provjerili boje jeseni. ili imate omiljenu stazu koju svake jeseni posjetite i
Zapisnik podataka o nadzoru izmjenične struje: 9 koraka (sa slikama)
Zapisnik podataka o nadzoru izmjenične struje: Bok svima, dobrodošli u moju prvu instrukciju! Po danu sam inženjer za testiranje u tvrtki koja opskrbljuje industrijsku opremu za grijanje, noću sam strastveni ljubitelj tehnologije i DIY'er. Dio mog rada uključuje ispitivanje performansi grijača, o
Vrhunski zapisnik podataka balona na visokoj nadmorskoj visini: 9 koraka (sa slikama)
Vrhunski zapisnik podataka o balonima za vremenske balone na velikoj nadmorskoj visini: Snimite podatke o balonu za velike nadmorske visine s vrhunskim zapisnikom o vremenskim balonima na velikim nadmorskim visinama. Vremenski balon na velikoj nadmorskoj visini, poznat i kao balon na velikoj nadmorskoj visini ili HAB, ogroman je balon ispunjen helijem. Ovi baloni su platforma
Zapisnik podataka otvorenog koda (OPENSDL): 5 koraka (sa slikama)
Zapisnik podataka otvorenog koda (OPENSDL): Cilj ovog projekta je dizajnirati, izgraditi i testirati jeftin mjerni sustav za studije vrednovanja performansi zgrade koji uključuje najmanje temperaturu, relativnu vlažnost, osvijetljenost i proširiv je na dodatne senzore, i za razvoj