Kazalo:
- 1. korak: Nastavite Pi Zero W
- Korak: Povežite se z WiFi
- 3. korak: Posodobite in namestite potrebno programsko opremo
- 4. korak: Povežite se s senzorjem (v tem primeru Arduino)
- 5. korak: Nastavite zmogljivosti dostopne točke WiFi
- Korak 6: Preklapljanje med dostopovno točko Wifi in načini odjemalca
- 7. korak: Končne opombe
- 8. korak: Primer skripta za zapisovanje Python
Video: Podatkovni zapisnik Raspberry Pi Zero W: 8 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Z Raspberry Pi Zero W lahko naredite poceni in enostaven za uporabo zapisovalnik podatkov, ki ga lahko priključite na lokalno omrežje WiFi ali pa služi kot dostopna točka na terenu, ki vam omogoča brezžično nalaganje podatkov s pametnim telefonom.
To nastavitev sem predstavil na jesenskem srečanju American Geophysical Union 2017 kot način za nastavitev lastnega zapisovalnika podatkov. To predstavitev najdete tukaj.
Kaj boste potrebovali:
- Raspberry Pi Zero W
- Kartica mikro SD
- kabel USB ali napajalnik USB
- Računalnik z bralnikom kartic USB
-
Izbirno (vendar uporabno):
- miniHDMI -> HDMI adapter (za priključitev Pi na zaslon)
- USB OTG adapter (za priključitev tipkovnice na Pi
1. korak: Nastavite Pi Zero W
Za začetek postavite sliko Rasbian na kartico microSD (v tej vadnici sem uporabil 2017-07-05-raspbian-jessie-lite, na voljo tukaj). Lahko uporabite enostavnejšo različico (brez namizja), saj bo nastavitev izvedena prek ukazne vrstice.
Kartico SD vstavite v Pi, povežite zaslon in tipkovnico ter jo vklopite tako, da priključite napajalni kabel. Možna je tudi brezglava nastavitev, ki pa zahteva povezavo prek SSH.
Ko je Pi zagnal prijavo (privzeto uporabniško ime: pi, geslo: malina) in spremenite geslo z ukazom "passwd".
Tipkovnico lahko konfigurirate tako, da v terminal vnesete "sudo raspi-config".
Korak: Povežite se z WiFi
Če se želite povezati z internetom, bomo Pi povedali, s katerim omrežjem naj se poveže. Začnite tako, da odprete naslednjo datoteko;
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Tukaj na dnu dodajte podatke o omrežju;
omrežje = {
ssid = "ime omrežja" psk = "omrežno geslo"}
V primeru omrežja podjetja lahko uporabite naslednjo nastavitev (prilagodite WPA-EAP // TTLA // MSCHAPv2 ustreznim nastavitvam).
omrežje = {
ssid = "ssid" #Vnesite ime vašega omrežja key_mgmt = WPA-EAP eap = TTLS identity = "xxxxx" #Vnesite geslo za svoj račun za prijavo = "xxxxx" #Vnesite fazo prenosa2 = "auth = MSCHAPv2"}
Shranite s pritiskom na CTRL+O in zapustite s CTRL+X.
Zdaj se obrnite na konfiguracijsko datoteko v/etc/network/interfaces
sudo nano/etc/network/vmesniki
Del wlan0 spremenite v:
avto wlan0
iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Ponovno shranite datoteko (CTRL+O) in nato zapustite (CTRL+X).
Po ponovnem zagonu (sudo reboot) bi morala vaša povezava wifi delovati. To lahko preizkusite s pinganjem spletnega mesta;
ping www.google.com
Prekličite ping s CTRL+C
Če se želite brezžično povezati s Pi prek SSH, morate omogočiti SSH:
sudo raspi-config
Pomaknite se na "5 možnosti vmesnika" in omogočite SSH. Nato se vrnite in zapustite konfiguracijo.
Poiščite naslov IP Pi:
ifconfig
IP bo pod "inet addr:" vmesnika wlan0.
Zdaj se lahko povežete s Pi prek WiFi, če ste v istem omrežju. Prenesite Putty (za Windows), vnesite naslov IP, ki ste ga našli pod "Ime gostitelja", in pritisnite "Odpri". Ko sprejmete opozorilo, bi morali zdaj videti ukazno vrstico in se prijaviti.
3. korak: Posodobite in namestite potrebno programsko opremo
Ko WiFi deluje, posodobite Pi z:
sudo apt -get update -y && sudo apt -get upgrade -y
Ko je posodobitev končana (lahko traja nekaj časa), namestite programsko opremo, s katero bomo uporabljali;
sudo apt-get install python3 python3-serijski apache2 -y
4. korak: Povežite se s senzorjem (v tem primeru Arduino)
Arduino povežite skupaj s tipkovnico s pomočjo zvezdišča USB ali povežite Arduino prek enotnih vrat USB in nastavite s SSH prek WiFi.
Za dostop do serijskih vrat, s katerimi je povezan Arduino, je koristno omogočiti dostop do privzetega računa pi. Ker je Arduino običajno dodeljen vratom "/dev/ttyACM0", uporabite naslednji ukaz, da uporabniku 'pi' omogočite dostop do vrat:
sudo chown pi: /dev /ttyACM0
Ob predpostavki, da je Arduino že nastavljen za pošiljanje podatkov prek serijskih vrat, si lahko podatke v pythonu ogledate na naslednji način:
Odprite python;
python3
Uvozi serijsko številko:
uvozi serijsko
Odprite vrata com:
ser = serial. Serial (port = '/dev/ttyACM0', baudrate = 9600, timeout = 5)
Kjer je bila hitrost prenosa Arduina v tem primeru nastavljena na 9600.
Vrstico lahko preberete in natisnete z naslednjo kodo:
ser.readline (). decode ('utf-8')
Če deluje, lahko zaprete povezavo in zaprete Python z:
ser.close ()
izhod ()
5. korak: Nastavite zmogljivosti dostopne točke WiFi
Če nastavite Pi Zero W v načinu dostopne točke wifi, se lahko nanj povežete s katero koli WiFi napravo. To omogoča nastavitev zapisovalnika in nalaganje podatkov prek wifi, brez kablov ali gonilnikov.
Za to ima Adafruit na voljo dobro vadnico. Nekaj majhnih pripomb:
- Za gonilnik /etc/hostapd/hostapd.conf ne uporabljajte gonilniške vrstice.
- Korak »Posodobi hostapd« ne bi smel biti potreben.
Če dostopna točka ne deluje na koncu vadnice, poskusite znova zagnati Pi (sudo reboot).
Korak 6: Preklapljanje med dostopovno točko Wifi in načini odjemalca
Včasih boste želeli posodobiti programsko opremo ali namestiti novo programsko opremo na svoj Raspberry Pi, vendar to zahteva internetno povezavo. Na srečo je preklapljanje med tema dvema zelo preprosto.
Povežite se s Pi s SSH (preko kabla, ne prek wifija!). Začnite tako, da ustavite storitve dostopne točke:
sudo cystemctl stop hostapd.service
sudo cystemctl stop isc-dhcp-server.service
Nato uredite datoteko omrežnih vmesnikov:
sudo nano/etc/network/vmesniki
Tu morate komentirati parametre gostovanja in odstraniti komentarje o parametrih omrežne povezave. Spremenite iz tega:
#-Parametri gostovanja:
allow-hotplug wlan0 iface wlan0 inet statični naslov 192.168.42.1 maska omrežja 255.255.255.0 # -Mrežni (odjemalčevi) parametri: #auto wlan0 # iface wlan0 inet dhcp # wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Za to:
#-Parametri gostovanja: #allow-hotplug wlan0 #iface wlan0 inet static #naslov 192.168.42.1 #maska omrežja 255.255.255.0 #-Mrežni (odjemalčevi) parametri: auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Shranite in zaprite datoteko.
Nato zaženete naslednje ukaze:
sudo systemctl zaženite wpa_supplicant.service
sudo ifdown wlan0 sudo ifup wlan0
Zdaj se mora vaš Pi znova povezati z wifi, kar vam omogoča posodobitev in namestitev programske opreme.
Če se želite vrniti v način dostopne točke, preklopite med komentarji v/etc/network/interfaces in znova zaženite Pi.
7. korak: Končne opombe
Nastavitev spletnega mesta
Strežnik apache se nahaja v/var/www/. Če želite spremeniti privzeto stran, uredite datoteko /var/www/html/index.html.
Tukaj lahko omogočite prenos datotek prek povezave wifi, tako da v brskalniku poiščete Pi -jev naslov IP (192.168.42.1). Vsaka naprava, ki podpira WiFi, jih lahko nato prenese brez dodatne programske opreme.
SFTP povezava
Prek SSH je mogoče vzpostaviti povezavo FTP. Z datoteko Filezilla lahko hitro in enostavno prenesete veliko količino datotek (glej sliko).
Ura v realnem času
Ker se bo notranja ura Pi znatno oddaljila, če ni povezave z internetom, bo potreben modul ure v realnem času (RTC), če je potrebno natančno merjenje časa. Eden takih modulov je RasClock, navodila za namestitev najdete tukaj. Na voljo so tudi druge ure na osnovi i2c (npr. DS3231)
Zaključek
Če je vse potekalo pravilno, bi morali imeti delujoč zapisovalnik podatkov Pi Zero! Primer skripta za zapisovanje pythona je vključen v naslednji korak.
8. korak: Primer skripta za zapisovanje Python
uvoz os
uvoz serijsko od časa uvoz čas od datuma uvoz datum in čas uvoz numpy kot np ser = serial. Serial (port = 'COM4', baudrate = 57600, timeout = 5) directory = r '\ var / www / html / data / anemometer / WMPro1352_ 'ser.flushInput () ser.flushOutput () poskusite: medtem ko True: day_timestring = datetime.strftime (datetime.now (),'%Y%m%d ') file_today = imenik + day_timestring +'.dat '#Read out podatkov in takoj dobite časovno vrstico = 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]) razen: u = np.nan try: v = float (line [2]) razen: v = np.nan poskus: w = float (vrstica [3]) razen: w = np.nan poskus: c = float (vrstica [5]) razen: c = np.nan Ts = 1/403*c ** 2 - 273,15 poskusite: Ta = float (vrstica [8]) razen: Ta = np.nan if (os.path.isfile (file_today)): z odprto (file_today, 'a') kot fileobject: fileobject.write (nowtime+',') fileobject.write (str (u)+','+str (v)+','+str (w)+','+str (c)+','+str (Ts)+','+ str (Ta)+'\ n') fileobject.clos e () else: z odprto (file_today, 'w') kot fileobject: fileobject.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 () razen KeyboardInterrupt: ser.close ()
Priporočena:
Leseni LED igralni zaslon, ki ga poganja Raspberry Pi Zero: 11 korakov (s slikami)
Leseni LED igralni zaslon, ki ga poganja Raspberry Pi Zero: Ta projekt uresničuje LED zaslon na osnovi 20x10 slikovnih pik WS2812 velikosti 78x35 cm, ki ga je mogoče enostavno namestiti v dnevno sobo za igranje retro iger. Prvo različico te matrice so zgradili leta 2016 in jo obnovili številni drugi ljudje. Ta pričakovanje
Števec naročnikov v YouTubu z uporabo zaslona e-papirja in Raspberry Pi Zero W: 5 korakov (s slikami)
YouTubov števec naročnikov z uporabo zaslona e-papirja in Raspberry Pi Zero W: V tem navodilu vam bom pokazal, kako z zaslonom e-papirja sestavite svoj števec naročnikov na Youtube in Raspberry Pi Zero W za poizvedovanje po API-ju YouTube in posodobite zaslon. Zasloni iz e-papirja so odlični za tovrstne projekte, saj imajo
Astrofotografija z Raspberry Pi Zero .: 11 korakov (s slikami)
Astrofotografija z Raspberry Pi Zero .: Pred [1] [2] sem naredil dva druga projekta kamere na osnovi Raspberry Pi. To je moja tretja ideja o kameri, moj prvi projekt Raspberry Pi Zero. To je tudi moj prvi poseg v astrofotografijo! Spodbudil me je nedavni "Supermoon", ki sem si želel dobiti svojega brata "
Ročna igralna konzola Raspberry Pi Zero DIY: 6 korakov (s slikami)
Ročna igralna konzola Raspberry Pi Zero DIY: V tem projektu vam bom pokazal, kako sem uporabil Raspberry Pi Zero, NiMH baterije, domače zaščitno vezje za prekomerno praznjenje, LCD za vzvratno vožnjo in avdio ojačevalnik za ustvarjanje ročne igralne konzole, ki lahko predvaja retro igre. Začnimo
Podatkovni dnevnik ESP32 ADXL345 Z GPS_EXT RAM_EXT_RTC: 8 korakov
ESP32 ADXL345 DATALOGGER Z GPS_EXT RAM_EXT_RTC: Za tiste, ki se igrate s ploščo Wemos 32 LOLIN, sem mislil, da bom začel dokumentirati nekatere svoje dosedanje ugotovitve. Trenutni projekt je vmesnik s merilnikom pospeška ADXL345 in kot prikazuje fotografija zgoraj i uspešno povezali