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: Podesite mogućnosti WiFi pristupne tačke
- Korak 6: Prebacivanje između Wifi pristupne tačke i režima klijenta
- Korak 7: Završne napomene
- Korak 8: Primjer Python skripte za logovanje
Video: Raspberry Pi Zero W Datalogger: 8 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
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 jesenjem sastanku American Geophysical Union 2017, kao način za postavljanje vlastitog registratora podataka. Tu prezentaciju možete pronaći ovdje.
Šta će vam trebati:
- A Raspberry Pi Zero W
- Mikro SD kartica
- USB kabel ili USB izvor napajanja
- Računar sa čitačem USB kartica
-
Opcionalno (ali korisno):
- miniHDMI -> HDMI adapter (za povezivanje Pi na ekran)
- USB OTG adapter (za povezivanje tastature sa Pi
Korak 1: Postavite Pi Zero W
Za početak stavite Rasbian sliku na microSD karticu (u ovom vodiču sam koristio 2017-07-05-raspbian-jessie-lite, dostupno ovdje). Može se koristiti jednostavna verzija (bez radne površine) jer će se postavljanje izvršiti putem naredbene linije.
Umetnite SD karticu u Pi, povežite ekran i tastaturu i uključite je napajanjem kabla za napajanje. Moguće je i postavljanje bez glave, ali će zahtijevati povezivanje putem SSH -a.
Nakon što je Pi pokrenuo prijavu (zadano korisničko ime: pi, lozinka: malina), i promijenite lozinku pomoću naredbe "passwd".
Tastatura se može konfigurirati unosom "sudo raspi-config" u terminal.
Korak 2: Povežite se na WiFi
Za povezivanje na internet, reći ćemo Pi -ju 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 = "mrežna lozinka"}
U slučaju poslovne mreže, možete koristiti sljedeće postavke (prilagodite WPA-EAP // TTLA // MSCHAPv2 odgovarajućim postavkama).
mreža = {
ssid = "ssid" #Unesite naziv vaše mreže key_mgmt = WPA-EAP eap = TTLS identitet = "xxxxx" #Unesite lozinku za prijavu = "xxxxx" #Unesite fazu rada2 = "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 sačuvajte 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
Da biste se bežično povezali na Pi preko SSH -a, trebate omogućiti SSH:
sudo raspi-config
Idite na "5 opcija sučelja" i omogućite SSH. Zatim se vratite i izađite iz konfiguracije.
Potražite IP adresu Pi:
ifconfig
IP adresa će se nalaziti pod "inet addr:" sučelja wlan0.
Sada se možete povezati na 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 komandnu liniju 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 povežite 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 povezan, korisno je omogućiti pristup zadanim pi nalogom. Kako je Arduino obično dodijeljen portu "/dev/ttyACM0", upotrijebite sljedeću naredbu da biste 'pi' korisniku dali pristup portu:
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:
Open python;
python3
Serijski uvoz:
uvoz serijske
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.
Red možete pročitati i odštampati pomoću sljedećeg koda:
ser.readline (). decode ('utf-8')
Ako vam radi, možete zatvoriti vezu i izaći iz Pythona sa:
ser.close ()
Izlaz()
Korak 5: Podesite mogućnosti WiFi pristupne tačke
Postavljanjem vašeg 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 kablovi ili upravljački programi.
Za to Adafruit ima na raspolaganju dobar vodič. Nekoliko malih primjedbi:
- Za /etc/hostapd/hostapd.conf upravljački program, nemojte koristiti liniju upravljačkih 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 reboot).
Korak 6: Prebacivanje između Wifi pristupne tačke i režima 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 je vrlo jednostavno.
Povežite se na Pi putem SSH -a (preko kabla, ne putem WiFi -a!). Započnite zaustavljanjem usluga pristupne tač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. Promenite ovo sa ovog:
#-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
Za 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
Sačuvajte i zatvorite datoteku.
Zatim pokrenite sljedeće naredbe:
sudo systemctl pokrenite 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 tačke, prebacite se na komentare u/etc/network/interfejs i ponovo pokrenite Pi.
Korak 7: Završne napomene
Postavljanje web stranice
Apache server se nalazi 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). Bilo koji uređaj s Wi -Fi funkcijom može ih preuzeti bez dodatnog softvera.
SFTP veza
Preko SSH -a se može uspostaviti FTP veza. Filezilla možete koristiti za brz i jednostavan prijenos velike količine datoteka (pogledajte sliku).
Sat u realnom vremenu
Budući da će se unutarnji sat Pi -a 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 takav modul 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 logovanje uključen je u sljedeći korak.
Korak 8: Primjer Python skripte za logovanje
import os
uvoz serijskog iz vremena uvoz vremena iz datuma uvoza datum i 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 (red [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čuje se:
Drveni LED ekran za igre Pokreće Raspberry Pi Zero: 11 koraka (sa slikama)
Drveni LED ekran za igre sa napajanjem Raspberry Pi Zero: Ovaj projekat realizuje LED ekran sa 20x10 piksela zasnovan na WS2812 veličine 78x35 cm koji se može lako instalirati u dnevnoj sobi za igranje retro igara. Prva verzija ove matrice izgrađena je 2016. godine i obnovili su je mnogi drugi ljudi. Ovo očekivanje
Brojač pretplatnika YouTube-a pomoću ekrana e-papira i Raspberry Pi Zero W: 5 koraka (sa slikama)
Brojač pretplatnika na YouTubeu pomoću ekrana e-papira i Raspberry Pi Zero W: U ovom uputstvu pokazat ću vam kako izgraditi vlastiti brojač pretplatnika na YouTubeu pomoću zaslona e-papira i Raspberry Pi Zero W za postavljanje upita YouTube API-ju i ažurirajte ekran. Ekrani od e-papira odlični su za ovu vrstu projekata jer imaju
Waveshare Game-HAT MOD Raspberry PI Zero/Zero W [EN/ES]: 4 koraka
Waveshare Game-HAT MOD Raspberry PI Zero/Zero W [EN/ES]: ENGLESKI/INGLESI: Kao što znate, sastavljanje Waveshare Game-HAT-a prilično je jednostavno ako se radi o jednom od modela koji su u potpunosti kompatibilni s dizajnom, to je Raspberry Pi 2/3 / 3A + / 3B / 3B + /, ja lično više volim da igraća konzola može biti h
Alaska Datalogger: 5 koraka (sa slikama)
Aljaski datalogger: Aljaska je na ivici napredovanja klimatskih promjena. Njegov jedinstveni položaj s prilično netaknutim krajolikom naseljenim raznim kanarincima rudnika uglja omogućuje mnoge istraživačke mogućnosti. Naš prijatelj Monty je arheolog koji pomaže
Arduino Datalogger: 8 koraka (sa slikama)
Arduino Datalogger: U ovom ćemo vodiču napraviti jednostavan zapisnik podataka pomoću Arduina. Poanta je naučiti same osnove korištenja Arduina za hvatanje informacija i ispis na terminalu. Ovu osnovnu postavku možemo koristiti za dovršavanje niza zadataka. Za početak