Obsah:
- Krok 1: Nastavte Pi Zero W
- Krok 2: Připojte se k WiFi
- Krok 3: Aktualizujte a nainstalujte požadovaný software
- Krok 4: Připojte se k senzoru (v tomto příkladu Arduino)
- Krok 5: Nastavení možností přístupového bodu WiFi
- Krok 6: Přepínání mezi přístupovým bodem Wifi a klientskými režimy
- Krok 7: Závěrečné poznámky
- Krok 8: Příklad skriptu pro protokolování Pythonu
Video: Datalogger Raspberry Pi Zero W: 8 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:23
Pomocí Raspberry Pi Zero W můžete vytvořit levný a snadno použitelný datalogger, který lze připojit buď k místní síti Wi -Fi, nebo sloužit jako přístupový bod v terénu, který vám umožní bezdrátově stahovat data pomocí smartphonu.
Toto nastavení jsem představil na American Geophysical Union Fall Meeting 2017 jako způsob, jak si vytvořit vlastní nastavení záznamníku dat. Tuto prezentaci najdete zde.
Co budete potřebovat:
- Raspberry Pi Zero W
- Karta micro SD
- kabel USB nebo napájecí zdroj USB
- Počítač se čtečkou karet USB
-
Volitelné (ale užitečné):
- miniHDMI -> HDMI adaptér (pro připojení Pi k obrazovce)
- USB OTG adaptér (pro připojení klávesnice k Pi
Krok 1: Nastavte Pi Zero W
Chcete-li začít, vložte obrázek Rasbian na kartu microSD (v tomto tutoriálu jsem použil 2017-07-05-raspbian-jessie-lite, k dispozici zde). Lze použít verzi Lite (bez pracovní plochy), protože nastavení bude provedeno pomocí příkazového řádku.
Vložte kartu SD do počítače Pi, připojte obrazovku a klávesnici a zapojte napájecí kabel do zásuvky. Bezhlavé nastavení je také možné, ale vyžadovalo by připojení přes SSH.
Po spuštění systému Pi se přihlaste (výchozí uživatelské jméno: pi, heslo: malina) a změňte heslo příkazem „passwd“.
Klávesnici lze konfigurovat zadáním „sudo raspi-config“do terminálu.
Krok 2: Připojte se k WiFi
Chcete -li se připojit k internetu, řekneme Pi, ke které síti se připojit. Začněte otevřením následujícího souboru;
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Zde ve spodní části přidejte informace o síti;
síť = {
ssid = "název sítě" psk = "heslo sítě"}
V případě podnikové sítě můžete použít následující nastavení (upravit WPA-EAP // TTLA // MSCHAPv2 na příslušná nastavení).
síť = {
ssid = "ssid" #Zadejte název sítě key_mgmt = WPA-EAP eap = TTLS identity = "xxxxx" #Zadejte heslo pro přihlášení k účtu = "xxxxx" #Zadejte pasovou fázi2 = "auth = MSCHAPv2"}
Uložte stisknutím kláves CTRL+O a ukončete stisknutím kláves CTRL+X.
Nyní se podívejte na konfigurační soubor v/etc/network/interfaces
sudo nano/etc/network/interfaces
Změňte část wlan0 na:
auto wlan0
iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Znovu uložte soubor (CTRL+O) a poté ukončete (CTRL+X).
Po restartu (sudo restart) by mělo fungovat vaše wifi připojení. Můžete to otestovat odesláním příkazu ping na web;
ping www.google.com
Zrušte ping pomocí CTRL+C
Pro bezdrátové připojení k Pi přes SSH byste měli povolit SSH:
sudo raspi-config
Přejděte na „5 možností rozhraní“a povolte SSH. Poté se vraťte zpět a ukončete konfiguraci.
Vyhledejte IP adresu Pi:
ifconfig
IP adresa bude pod „inet addr:“rozhraní wlan0.
Nyní se můžete k Pi připojit přes WiFi, pokud jste ve stejné síti. Stáhněte si Putty (pro Windows), zadejte IP adresu, kterou jste našli pod „Název hostitele“, a stiskněte „Otevřít“. Po přijetí varování byste nyní měli vidět příkazový řádek a přihlásit se.
Krok 3: Aktualizujte a nainstalujte požadovaný software
Jakmile WiFi funguje, aktualizujte Pi pomocí:
sudo apt -get update -y && sudo apt -get upgrade -y
Po dokončení aktualizace (může to chvíli trvat) nainstalujte software, který budeme používat s;
sudo apt-get install python3 python3-serial apache2 -y
Krok 4: Připojte se k senzoru (v tomto příkladu Arduino)
Buď připojte Arduino společně s klávesnicí pomocí USB rozbočovače, nebo připojte Arduino přes jeden USB port a proveďte nastavení pomocí SSH přes WiFi.
Aby bylo možné přistupovat k sériovému portu, ke kterému je připojeno Arduino, je užitečné poskytnout přístup k výchozímu účtu pi. Protože je Arduino obvykle přiřazeno k portu „/dev/ttyACM0“, použijte následující příkaz, který uživateli „pí“umožní přístup k portu:
sudo chown pi: /dev /ttyACM0
Za předpokladu, že Arduino již bylo nastaveno pro odesílání dat přes sériový port, můžete data zobrazit v pythonu následujícím způsobem:
Otevřený python;
python3
Importovat sériové číslo:
importní seriál
Otevřete port com:
ser = serial. Serial (port = '/dev/ttyACM0', přenosová rychlost = 9600, časový limit = 5)
Kde byla přenosová rychlost Arduina v tomto případě nastavena na 9600.
Řádek můžete přečíst a vytisknout spuštěním následujícího kódu:
ser.readline (). decode ('utf-8')
Pokud to funguje, můžete ukončit připojení a ukončit Python pomocí:
ser.close ()
výstup()
Krok 5: Nastavení možností přístupového bodu WiFi
Nastavením Pi Zero W v režimu přístupového bodu wifi se k němu můžete připojit s jakýmkoli zařízením wifi. To umožňuje nastavení záznamníku a stahování dat přes wifi, nejsou potřeba žádné kabely ani ovladače.
K tomu má Adafruit k dispozici dobrý návod. Několik malých poznámek:
- U ovladače /etc/hostapd/hostapd.conf použijte nepoužívat řádek ovladače.
- Krok „Aktualizovat hostapd“by neměl být nutný.
Pokud přístupový bod na konci výukového programu nefunguje, zkuste restartovat Pi (sudo reboot).
Krok 6: Přepínání mezi přístupovým bodem Wifi a klientskými režimy
Někdy budete chtít aktualizovat software nebo nainstalovat nový software na váš Raspberry Pi, ale to vyžaduje připojení k internetu. Naštěstí je přepínání mezi nimi velmi snadné.
Připojte se k Pi pomocí SSH (přes kabel, ne přes wifi!). Začněte zastavením služeb přístupového bodu:
sudo cystemctl stop hostapd.service
sudo cystemctl stop isc-dhcp-server.service
Poté upravte soubor síťových rozhraní:
sudo nano/etc/network/interfaces
Zde byste měli okomentovat parametry hostingu a zrušit komentář parametrů síťového připojení. Změňte to z tohoto:
#-Hosting parametry:
allow-hotplug wlan0 iface wlan0 statická adresa inet 192.168.42.1 maska sítě 255.255.255.0 # -síťové (klientské) parametry: #auto wlan0 # iface wlan0 inet dhcp # wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
K tomuto:
#-Hosting parametry: #allow-hotplug wlan0 #iface wlan0 inet static #address 192.168.42.1 #netmask 255.255.255.0 #-Network (client) parameters: auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Uložte a zavřete soubor.
Dále spustíte následující příkazy:
sudo systemctl start wpa_supplicant.service
sudo ifdown wlan0 sudo ifup wlan0
Nyní by se váš Pi měl znovu připojit k wifi, což vám umožní aktualizovat a nainstalovat software.
Chcete -li se vrátit do režimu přístupového bodu, přepněte komentáře v/etc/network/interfaces a restartujte Pi.
Krok 7: Závěrečné poznámky
Nastavení webu
Server apache je umístěn na/var/www/. Chcete -li změnit výchozí stránku, upravte soubor /var/www/html/index.html.
Zde můžete zpřístupnit soubory ke stažení přes wifi připojení tak, že v prohlížeči přejdete na IP adresu Pi (192.168.42.1). Jakékoli zařízení s podporou WiFi je pak může stáhnout bez dalšího softwaru.
Připojení SFTP
Přes SSH lze navázat připojení FTP. Pomocí Filezilla můžete rychle a snadno přenášet velké množství souborů (viz obrázek).
Hodiny reálného času
Jelikož se vnitřní hodiny Pi výrazně posunou, pokud není k dispozici připojení k internetu, bude v případě potřeby přesného měření času zapotřebí modul hodin reálného času (RTC). Jedním z takových modulů je RasClock, pokyny k instalaci najdete zde. K dispozici jsou také další hodiny založené na i2c (tj. DS3231)
Závěr
Pokud vše proběhlo správně, měli byste nyní mít funkční záznamník dat Pi Zero! V dalším kroku je zahrnut příklad skriptu protokolování pythonu.
Krok 8: Příklad skriptu pro protokolování Pythonu
import os
importovat seriál z času importovat čas z datetime import datetime import numpy jako np ser = serial. Serial (port = 'COM4', baudrate = 57600, timeout = 5) adresář = 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ář + day_timestring +'.dat ' #Přečíst data a okamžitě získejte časový řádek = ser.readline (). decode ('utf-8') nowtime = datetime.strftime (datetime.now (), '%Y-%m-%d%H:%M:% S.%f ') line = line.split (', ') try: u = float (řádek [1]) kromě: u = np.nan try: v = float (řádek [2]) kromě: v = np.nan try: w = float (řádek [3]) kromě: w = np.nan try: c = float (řádek [5]) kromě: c = np.nan Ts = 1/403*c ** 2 - 273,15 zkuste: Ta = float (řádek [8]) kromě: 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 otevřeným (file_today, 'w') jako 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 () kromě KeyboardInterrupt: ser.close ()
Doporučuje:
Dřevěný herní LED displej poháněný Raspberry Pi Zero: 11 kroků (s obrázky)
Dřevěný herní LED displej poháněný Raspberry Pi Zero: Tento projekt realizuje 20x10 pixelový LED displej WS2812 o velikosti 78x35 cm, který lze snadno nainstalovat do obývacího pokoje a hrát retro hry. První verze této matice byla postavena v roce 2016 a přestavěna mnoha dalšími lidmi. Tento expe
Počítadlo odběratelů YouTube pomocí displeje z elektronického papíru a Raspberry Pi Zero W: 5 kroků (s obrázky)
Počítadlo odběratelů YouTube pomocí displeje E-Paper a Raspberry Pi Zero W: V tomto Instructable vám ukážu, jak si vytvořit vlastní čítač předplatitelů Youtube pomocí displeje z e-papíru a Raspberry Pi Zero W k dotazování na API YouTube a aktualizujte displej. Displeje z elektronického papíru jsou pro tento typ projektu skvělé, protože mají
Astrofotografie s Raspberry Pi Zero: 11 kroků (s obrázky)
Astrofotografie s Raspberry Pi Zero: Před [1] [2] jsem vytvořil dva další projekty kamer založené na Raspberry Pi. Toto je můj třetí nápad s kamerou, je to můj první projekt Raspberry Pi Zero. Toto je také můj první start na astrofotografii! Podněcován nedávným „Supermoonem“Chtěl jsem dostat svého bratra
Aljaška Datalogger: 5 kroků (s obrázky)
Aljaška Datalogger: Aljaška je na pokraji postupujících změn klimatu. Jeho jedinečná poloha v poměrně nedotčené krajině osídlené různými kanáry z uhelných dolů umožňuje mnoho výzkumných možností. Náš přítel Monty je archeolog, který pomáhá s
Datalogger Arduino: 8 kroků (s obrázky)
Arduino Datalogger: V tomto tutoriálu vytvoříme jednoduchý záznamník dat pomocí Arduina. Jde o to, naučit se úplně základy používání Arduina k získávání informací a tisku na terminál. Toto základní nastavení můžeme použít k dokončení řady úkolů. Chcete -li začít