Obsah:
- Krok 1: Nastavte Pi Zero W
- Krok 2: Pripojte sa k WiFi
- Krok 3: Aktualizujte a nainštalujte požadovaný softvér
- Krok 4: Pripojenie k senzoru (v tomto prípade Arduino)
- Krok 5: Nastavte možnosti prístupového bodu WiFi
- Krok 6: Prepínanie medzi prístupovým bodom Wifi a režimami klienta
- Krok 7: Záverečné poznámky
- Krok 8: Príklad skriptu na zapisovanie do jazyka Python
Video: Datalogger Raspberry Pi Zero W: 8 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
Použitím Raspberry Pi Zero W môžete vytvoriť lacný a ľahko použiteľný záznamník údajov, ktorý je možné pripojiť buď k lokálnej sieti Wi -Fi, alebo slúžiť ako prístupový bod v teréne, ktorý vám umožní bezdrôtovo sťahovať údaje pomocou smartfónu.
Toto nastavenie som predstavil na stretnutí American Geophysical Union Fall Meeting 2017 ako spôsob, ako si vytvoriť vlastné nastavenie záznamníka údajov. Prezentáciu nájdete tu.
Čo budete potrebovať:
- Raspberry Pi Zero W
- Micro SD karta
- kábel USB alebo napájací zdroj USB
- Počítač s čítačkou kariet USB
-
Voliteľné (ale užitočné):
- miniHDMI -> HDMI adaptér (na pripojenie Pi k obrazovke)
- USB OTG adaptér (na pripojenie klávesnice k Pi
Krok 1: Nastavte Pi Zero W
Na začiatok vložte obrázok Rasbian na kartu microSD (v tomto návode som použil 2017-07-05-raspbian-jessie-lite, dostupný tu). Je možné použiť lite verziu (bez pracovnej plochy), pretože nastavenie sa vykoná pomocou príkazového riadka.
Vložte kartu SD do počítača Pi, pripojte obrazovku a klávesnicu a napájajte ju zapojením napájacieho kábla. Je možné aj bezhlavé nastavenie, ale vyžadovalo by to pripojenie cez SSH.
Po spustení Pi sa prihláste (predvolené používateľské meno: pi, heslo: malina) a zmeňte heslo príkazom „passwd“.
Klávesnicu je možné nakonfigurovať zadaním „sudo raspi-config“do terminálu.
Krok 2: Pripojte sa k WiFi
Ak sa chcete pripojiť na internet, Píovi povieme, ku ktorej sieti sa má pripojiť. Začnite otvorením nasledujúceho súboru;
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Tu zadajte informácie o sieti v spodnej časti;
sieť = {
ssid = "názov siete" psk = "heslo siete"}
V prípade podnikovej siete môžete použiť nasledujúce nastavenie (prispôsobiť WPA-EAP // TTLA // MSCHAPv2 na príslušné nastavenia).
sieť = {
ssid = "ssid" #Zadajte názov svojej siete key_mgmt = WPA-EAP eap = TTLS identity = "xxxxx" #Zadajte svoje prihlasovacie konto heslo = "xxxxx" #Zadajte priechodovú fázu2 = "auth = MSCHAPv2"}
Uložte stlačením klávesov CTRL+O a ukončite stlačením klávesov CTRL+X.
Teraz si pozrite konfiguračný súbor v súbore/etc/network/interfaces
sudo nano/etc/network/interfaces
Zmeňte časť wlan0 na:
auto wlan0
iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Znova uložte súbor (CTRL+O) a potom ukončite (CTRL+X).
Po reštarte (sudo reboot) by malo fungovať vaše wifi pripojenie. Môžete to otestovať odoslaním ping na webovú stránku;
ping www.google.com
Zrušte ping pomocou klávesov CTRL+C
Na bezdrôtové pripojenie k Pi cez SSH by ste mali povoliť SSH:
sudo raspi-config
Prejdite na „5 možností rozhrania“a povoľte SSH. Potom sa vráťte a ukončite konfiguráciu.
Vyhľadajte IP adresu Pi:
ifconfig
IP adresa bude pod „inet addr:“rozhrania wlan0.
Teraz sa môžete k Pi pripojiť cez WiFi, ak ste v rovnakej sieti. Stiahnite si Putty (pre Windows), zadajte IP adresu, ktorú ste našli pod „Názov hostiteľa“, a kliknite na „Otvoriť“. Po prijatí varovania by ste teraz mali vidieť príkazový riadok a prihlásenie.
Krok 3: Aktualizujte a nainštalujte požadovaný softvér
Keď WiFi funguje, aktualizujte Pi pomocou:
sudo apt -get update -y && sudo apt -get upgrade -y
Po dokončení aktualizácie (môže to chvíľu trvať) nainštalujte softvér, s ktorým budeme používať;
sudo apt-get install python3 python3-serial apache2 -y
Krok 4: Pripojenie k senzoru (v tomto prípade Arduino)
Buď prepojte Arduino s klávesnicou pomocou rozbočovača USB, alebo pripojte Arduino prostredníctvom jediného portu USB a vykonajte nastavenie pomocou SSH cez WiFi.
Aby ste mali prístup k sériovému portu, ku ktorému je pripojené Arduino, je užitočné poskytnúť prístup k predvolenému účtu pi. Pretože je Arduino obvykle priradený k portu „/dev/ttyACM0“, prístup k portu poskytne používateľovi 'pi' nasledujúci príkaz:
sudo chown pi: /dev /ttyACM0
Za predpokladu, že Arduino už bolo nastavené na odosielanie údajov cez sériový port, môžete údaje v pythone zobraziť nasledujúcim spôsobom:
Otvorený python;
python3
Importovať sériové číslo:
importný seriál
Otvorte port com:
ser = serial. Serial (port = '/dev/ttyACM0', prenosová rýchlosť = 9600, časový limit = 5)
V tomto prípade bola prenosová rýchlosť Arduina nastavená na 9600.
Riadok môžete prečítať a vytlačiť spustením nasledujúceho kódu:
ser.readline (). decode ('utf-8')
Ak to funguje, môžete ukončiť pripojenie a ukončiť Python pomocou:
ser.close ()
východ()
Krok 5: Nastavte možnosti prístupového bodu WiFi
Nastavením Pi Zero W v režime prístupového bodu wifi sa k nemu môžete pripojiť s akýmkoľvek zariadením wifi. To umožňuje nastavenie záznamníka a sťahovanie údajov cez wifi, nie sú potrebné žiadne káble ani ovládače.
Na to má Adafruit k dispozícii dobrý návod. Niekoľko malých poznámok:
- V prípade ovládača /etc/hostapd/hostapd.conf nepoužívajte riadok ovládača.
- Krok „Aktualizovať hostapd“by nemal byť potrebný.
Ak prístupový bod na konci tutoriálu nefunguje, skúste reštartovať Pi (sudo reboot).
Krok 6: Prepínanie medzi prístupovým bodom Wifi a režimami klienta
Niekedy budete chcieť aktualizovať softvér alebo nainštalovať nový softvér na svoj Raspberry Pi, ale vyžaduje to internetové pripojenie. Našťastie prepínanie medzi nimi je veľmi jednoduché.
Pripojte sa k Pi pomocou SSH (cez kábel, nie cez wifi!). Začnite zastavením služieb prístupového bodu:
sudo cystemctl stop hostapd.service
sudo cystemctl stop isc-dhcp-server.service
Potom upravte súbor sieťových rozhraní:
sudo nano/etc/network/interfaces
Tu by ste mali komentovať parametre hostiteľa a zrušiť komentovanie parametrov sieťového pripojenia. Zmeňte to z tohto:
#-Hostiteľské parametre:
allow-hotplug wlan0 iface wlan0 statická adresa inet 192.168.42.1 maska siete 255.255.255.0 # -Sieťové (klientske) parametre: #auto wlan0 # iface wlan0 inet dhcp # wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Do tohto:
#-Parametre hostingu: #allow-hotplug wlan0 #iface wlan0 statická #adresa 192.168.42.1 #maska siete 255.255.255.0 #-sieťové (klientske) parametre: auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Uložte a zatvorte súbor.
Ďalej spustíte nasledujúce príkazy:
sudo systemctl start wpa_supplicant.service
sudo ifdown wlan0 sudo ifup wlan0
Teraz by sa vaše Pi malo znova pripojiť k sieti Wi -Fi, čo vám umožní aktualizovať a nainštalovať softvér.
Ak sa chcete vrátiť do režimu prístupového bodu, prepnite komentáre v/etc/network/interfaces a reštartujte Pi.
Krok 7: Záverečné poznámky
Nastavenie webovej stránky
Server apache sa nachádza na adrese/var/www/. Ak chcete zmeniť predvolenú stránku, upravte súbor /var/www/html/index.html.
Tu môžete sprístupniť súbory, ktoré chcete sťahovať prostredníctvom wifi pripojenia, tak, že v prehliadači prejdete na IP adresu Pi (192.168.42.1). Akékoľvek zariadenie s podporou WiFi ich potom môže stiahnuť bez akéhokoľvek ďalšieho softvéru.
Pripojenie SFTP
Cez SSH je možné vytvoriť pripojenie FTP. Program Filezilla môžete použiť na rýchly a ľahký prenos veľkého množstva súborov (pozri obrázok).
Hodiny v reálnom čase
Pretože vnútorné hodiny Pi sa výrazne posunú, ak nie je pripojené k internetu, bude v prípade potreby presného merania času potrebný modul hodín v reálnom čase (RTC). Jedným z takýchto modulov je RasClock, návod na inštaláciu nájdete tu. K dispozícii sú aj ďalšie hodiny založené na i2c (tj. DS3231)
Záver
Ak všetko prebehlo správne, teraz by ste mali mať funkčný datalogger Pi Zero! V nasledujúcom kroku je zahrnutý príklad skriptu protokolovania pythonu.
Krok 8: Príklad skriptu na zapisovanie do jazyka Python
import os
importovať seriál z času importovať čas z datetime importovať datetime importovať počet np ser = serial. Sériový (port = 'COM4', prenosová rýchlosť = 57600, časový limit = 5) adresár = 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 = adresár + day_timestring +'.dat '#Read dáta a okamžite získajte časovú os = ser.readline (). decode ('utf-8') nowtime = datetime.strftime (datetime.now (), '%Y-%m-%d%H:%M:% S.%f ') line = line.split (', ') try: u = float (riadok [1]) okrem: u = np.nan try: v = float (riadok [2]) okrem: v = np.nan try: w = float (riadok [3]) okrem: w = np.nan try: c = float (riadok [5]) okrem: c = np.nan Ts = 1/403*c ** 2 - 273,15 skúste: Ta = float (riadok [8]) okrem: Ta = np.nan if (os.path.isfile (file_today)): s 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: s otvoreným (file_today, 'w') ako 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 () okrem KeyboardInterrupt: ser.close ()
Odporúča:
Drevený LED herný displej poháňaný Raspberry Pi Zero: 11 krokov (s obrázkami)
Drevený LED herný displej poháňaný Raspberry Pi Zero: Tento projekt realizuje LED displej s rozlíšením 20 x 10 pixelov WS2812 s veľkosťou 78 x 35 cm, ktorý je možné ľahko nainštalovať do obývačky a hrať retro hry. Prvá verzia tejto matice bola postavená v roku 2016 a prestavaná mnohými ďalšími ľuďmi. Tento expe
Počítadlo predplatiteľov YouTube pomocou displeja z elektronického papiera a Raspberry Pi Zero W: 5 krokov (s obrázkami)
Počítadlo predplatiteľov YouTube pomocou displeja elektronického papiera a Raspberry Pi Zero W: V tomto návode vám ukážem, ako si zostaviť vlastné počítadlo predplatiteľov Youtube pomocou displeja z elektronického papiera a Raspberry Pi Zero W na zadanie dotazu do rozhrania YouTube API. a aktualizujte displej. Displeje z elektronického papiera sú pre tento typ projektu skvelé, pretože
Aljaška Datalogger: 5 krokov (s obrázkami)
Aljaška Datalogger: Aljaška je na pokraji postupujúcich klimatických zmien. Jeho jedinečná poloha v pomerne nedotknutej krajine osídlenej rôznymi kanálikmi uhoľných baní ponúka veľa možností výskumu. Náš priateľ Monty je archeológ, ktorý pomáha s
Datalogger Arduino: 8 krokov (s obrázkami)
Arduino Datalogger: V tomto tutoriáli vytvoríme jednoduchý záznamník údajov pomocou Arduina. Ide o to, naučiť sa úplné základy používania Arduina na zachytávanie informácií a tlač na terminál. Toto základné nastavenie môžeme použiť na dokončenie celého radu úloh. Ak chcete začať
Kardio datalogger: 7 krokov (s obrázkami)
Cardio Data Logger: Aj keď je v dnešnej dobe k dispozícii mnoho prenosných zariadení (smartband, smartwatch, smartphone, …), ktoré dokážu detekovať srdcovú frekvenciu (HR) a vykonávať stopovú analýzu, systémy založené na hrudných pásoch (ako napríklad v hornej časti) z obrázku) sú naj