Sisällysluettelo:
- Vaihe 1: Asenna Pi Zero W
- Vaihe 2: Yhdistä WiFi -verkkoon
- Vaihe 3: Päivitä ja asenna tarvittava ohjelmisto
- Vaihe 4: Yhdistä anturiin (tässä esimerkissä Arduino)
- Vaihe 5: Määritä WiFi -tukiaseman ominaisuudet
- Vaihe 6: Vaihtaminen Wifi -tukiaseman ja asiakastilan välillä
- Vaihe 7: Viimeiset huomautukset
- Vaihe 8: Esimerkki Python -kirjausskriptistä
Video: Raspberry Pi Zero W Datalogger: 8 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Raspberry Pi Zero W: n avulla voit tehdä halvan ja helppokäyttöisen dataloggerin, joka voidaan liittää paikalliseen wifi -verkkoon tai toimia tukiasemana kentässä, jonka avulla voit ladata tietoja langattomasti älypuhelimellasi.
Esittelin tämän kokoonpanon American Geophysical Union Fall Meeting 2017 -tapahtumassa tapana tehdä omat dataloggeri -asetukset. Esityksen löydät täältä.
Mitä tarvitset:
- Raspberry Pi Zero W
- Micro SD -kortti
- USB -kaapeli tai USB -virtalähde
- Tietokone, jossa on USB -kortinlukija
-
Valinnainen (mutta hyödyllinen):
- miniHDMI -> HDMI -sovitin (Pi: n liittämiseksi näyttöön)
- USB OTG -sovitin (näppäimistön liittämiseksi Pi -laitteeseen
Vaihe 1: Asenna Pi Zero W
Aloita asettamalla Rasbian-kuva microSD-kortille (tässä opetusohjelmassa käytin 2017-07-05-raspbian-jessie-lite, saatavana täältä). Yksinkertaista versiota voidaan käyttää (ilman työpöytää), koska asennus suoritetaan komentorivin kautta.
Aseta SD -kortti Pi -laitteeseen, liitä näyttö ja näppäimistö ja käynnistä se kytkemällä virtajohto. Päätön asennus on myös mahdollista, mutta se vaatii yhteyden SSH: n kautta.
Kun Pi on käynnistänyt kirjautumisen (oletuskäyttäjätunnus: pi, salasana: vadelma), ja vaihda salasana komennolla "passwd".
Näppäimistö voidaan määrittää kirjoittamalla päätelaitteeseen "sudo raspi-config".
Vaihe 2: Yhdistä WiFi -verkkoon
Jotta voimme muodostaa yhteyden Internetiin, kerromme Pi: lle, mihin verkkoon haluat muodostaa yhteyden. Aloita avaamalla seuraava tiedosto;
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Lisää tänne verkkotiedot alareunaan;
verkko = {
ssid = "verkon nimi" psk = "verkon salasana"}
Jos kyseessä on yritysverkko, voit käyttää seuraavia asetuksia (säädä WPA-EAP // TTLA // MSCHAPv2 sovellettavien asetusten mukaan).
verkko = {
ssid = "ssid" #Anna verkkosi nimi key_mgmt = WPA-EAP eap = TTLS identity = "xxxxx" #Anna kirjautumistilisi salasana = "xxxxx" #Anna passwork phase2 = "auth = MSCHAPv2"}
Tallenna painamalla CTRL+O ja poistu painamalla CTRL+X.
Katso nyt määritystiedostoasi/etc/network/interfaces
sudo nano/etc/network/interfaces
Vaihda wlan0 -osa:
auto wlan0
iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Tallenna tiedosto (CTRL+O) ja lopeta sitten (CTRL+X).
Uudelleenkäynnistyksen (sudo reboot) jälkeen wifi -yhteyden pitäisi toimia. Voit testata tämän pingittämällä verkkosivuston;
ping www.google.com
Peruuta ping painamalla CTRL+C
Jos haluat muodostaa yhteyden Pi: hen SSH: n kautta langattomasti, ota SSH käyttöön:
sudo raspi-config
Siirry kohtaan "5 liitäntävaihtoehtoa" ja ota SSH käyttöön. Palaa sitten ja poistu asetuksista.
Etsi Pi: n IP -osoite:
ifconfig
IP -osoite on wlan0 -käyttöliittymän "inet addr:" -kohdassa.
Nyt voit muodostaa yhteyden Pi -laitteeseen WiFi -yhteyden kautta, jos olet samassa verkossa. Lataa Putty (Windows), kirjoita IP -osoite, jonka löysit kohdasta "Host Name", ja paina "Open". Kun olet hyväksynyt varoituksen, sinun pitäisi nyt nähdä komentorivi ja kirjautua sisään.
Vaihe 3: Päivitä ja asenna tarvittava ohjelmisto
Kun WiFi toimii, päivitä Pi:
sudo apt -get update -y && sudo apt -get upgrade -y
Kun päivitys on valmis (se voi viedä hetken), asenna käyttämämme ohjelmisto;
sudo apt-get install python3 python3-sarja apache2 -y
Vaihe 4: Yhdistä anturiin (tässä esimerkissä Arduino)
Liitä Arduino joko näppäimistöllä USB -keskittimen avulla tai yhdistä Arduino yhden USB -portin kautta ja tee asetukset SSH: n kautta WiFi -yhteyden kautta.
Jotta voit käyttää sarjaporttia, johon Arduino on kytketty, on hyödyllistä antaa pääsy oletusarvoiselle pi -tilille. Kuten Arduino yleensä määrittää portille "/dev/ttyACM0", anna seuraava komento antaa "pi" -käyttäjälle pääsy porttiin:
sudo chown pi: /dev /ttyACM0
Olettaen, että Arduino on jo määritetty lähettämään tietoja sarjaportin kautta, voit tarkastella tietoja pythonissa seuraavasti:
Avaa python;
python3
Tuo sarja:
tuoda sarja
Avaa com -portti:
ser = sarja. sarja (portti = '/dev/ttyACM0', baudrate = 9600, aikakatkaisu = 5)
Tässä tapauksessa Arduinon siirtonopeus oli 9600.
Voit lukea ja tulostaa rivin suorittamalla seuraavan koodin:
ser.readline (). purkaa ('utf-8')
Jos se toimii, voit sulkea yhteyden ja poistua Pythonista seuraavasti:
ser.close ()
poistu ()
Vaihe 5: Määritä WiFi -tukiaseman ominaisuudet
Asettamalla Pi Zero W: n wifi -tukiaseman tilaan voit muodostaa yhteyden siihen millä tahansa wifi -laitteella. Tämä mahdollistaa lokitiedoston määrittämisen ja tietojen lataamisen wifi -yhteyden kautta ilman kaapeleita tai ohjaimia.
Tätä varten Adafruitilla on hyvä opetusohjelma. Muutama pieni huomautus:
- Älä käytä ohjainriviä /etc/hostapd/hostapd.conf -ohjaimelle.
- Päivitä hostapd -vaihe ei pitäisi olla tarpeen.
Jos tukiasema ei toimi opetusohjelman lopussa, yritä käynnistää Pi uudelleen (sudo reboot).
Vaihe 6: Vaihtaminen Wifi -tukiaseman ja asiakastilan välillä
Joskus haluat päivittää ohjelmiston tai asentaa uuden ohjelmiston Raspberry Pi -laitteeseesi, mutta tämä edellyttää Internet -yhteyttä. Onneksi vaihtaminen näiden kahden välillä on erittäin helppoa.
Yhdistä Pi -laitteeseen SSH: lla (kaapelilla, ei wifi -yhteydellä!). Aloita pysäyttämällä tukiasemapalvelut:
sudo cystemctl pysäytä hostapd.service
sudo cystemctl stop isc-dhcp-server.service
Muokkaa sitten verkkoliitäntätiedostoa:
sudo nano/etc/network/interfaces
Täällä sinun on kommentoitava isäntäparametrit ja poistettava verkkoyhteysparametrien kommentit. Muuta se tästä:
#-Isännöintiparametrit:
allow-hotplug wlan0 iface wlan0 inet staattinen osoite 192.168.42.1 netmask 255.255.255.0 # -Verkko (asiakas) parametrit: #auto wlan0 # iface wlan0 inet dhcp # wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Tähän:
#-Hosting-parametrit: #allow-hotplug wlan0 #iface wlan0 inet staattinen #osoite 192.168.42.1 #netmask 255.255.255.0 #-Network (client) parametrit: auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Tallenna ja sulje tiedosto.
Seuraavaksi suoritat seuraavat komennot:
sudo systemctl käynnistä wpa_supplicant.service
sudo ifdown wlan0 sudo ifup wlan0
Nyt Pi: n pitäisi muodostaa yhteys wifi -verkkoon uudelleen, jolloin voit päivittää ja asentaa ohjelmiston.
Palataksesi tukiasematilaan, vaihda kommentit/etc/network/interfaces ja käynnistä Pi uudelleen.
Vaihe 7: Viimeiset huomautukset
Verkkosivuston asetukset
Apache -palvelin sijaitsee/var/www/. Jos haluat muuttaa oletussivua, muokkaa /var/www/html/index.html -tiedostoa.
Voit asettaa täällä olevat tiedostot ladattavaksi wifi -yhteyden kautta navigoimalla selaimesi Pi: n IP -osoitteeseen (192.168.42.1). Kaikki wifi -yhteensopivat laitteet voivat ladata ne ilman lisäohjelmistoa.
SFTP -yhteys
SSH: n kautta voidaan muodostaa FTP -yhteys. Filezillan avulla voit siirtää nopeasti ja helposti suuren määrän tiedostoja (katso kuva).
Reaaliaikainen kello
Koska Pi: n sisäinen kello ajautuu merkittävästi, jos Internet -yhteyttä ei ole, tarvitaan reaaliaikaisen kellon (RTC) moduuli, jos tarvitaan tarkkaa kellonaikaa. Yksi tällainen moduuli on RasClock, asennusohjeet löytyvät täältä. Saatavilla on myös muita i2c -pohjaisia kelloja (esim. DS3231)
Johtopäätös
Jos kaikki meni oikein, sinulla pitäisi nyt olla toimiva Pi Zero -dataloggeri! Esimerkki python -kirjautumiskomentosarjasta sisältyy seuraavaan vaiheeseen.
Vaihe 8: Esimerkki Python -kirjausskriptistä
tuonti
tuoda sarjaa ajasta tuontiajasta päivämäärän tuonnista päivämäärän tuonti numpy muodossa np ser = sarja. sarja (portti = 'COM4', baudrate = 57600, aikakatkaisu = 5) hakemisto = 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 = hakemisto + day_timestring +'.dat '#Lue tietoja ja saat heti aikaviivan = ser.readline (). dekoodata ('utf-8') nowtime = datetime.strftime (datetime.now (), '%Y-%m-%d%H:%M:% S.%f ') line = line.split (', ') try: u = float (line [1]) paitsi: u = np.nan try: v = float (line [2]) paitsi: v = np.nan try: w = float (line [3]) paitsi: w = np.nan try: c = float (line [5]) paitsi: c = np.nan Ts = 1/403*c ** 2-273,15 kokeile: Ta = float (rivi [8]) paitsi: Ta = np.nan if (os.path.isfile (file_today)): jossa open (file_today, 'a') kuten fileobject: fileobject.write (nowtime+',') fileobject.write (str (u)+','+str (v)+','+str (w)+','+str (c)+','+str (Ts)+','+ str (Ta)+'\ n') fileobject.clos e () else: jossa open (file_today, 'w') kuten fileobject: fileobject.write ('"Aika", "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 () paitsi näppäimistöInterrupt: ser.close ()
Suositeltava:
Puinen LED -pelinäyttö Powered by Raspberry Pi Zero: 11 vaihetta (kuvilla)
Puinen LED -pelinäyttö Powered by Raspberry Pi Zero: Tämä projekti toteuttaa 20x10 pikselin WS2812 -pohjaisen LED -näytön, jonka koko on 78x35 cm ja joka voidaan helposti asentaa olohuoneeseen retro -pelejä pelaamaan. Tämän matriisin ensimmäinen versio rakennettiin vuonna 2016 ja monet muut ihmiset rakensivat sen uudelleen. Tämä esimerkki
YouTube-tilaajalaskuri käyttämällä sähköistä paperinäyttöä ja Raspberry Pi Zero W: 5 vaihetta (kuvilla)
YouTube-tilaajalaskuri käyttämällä sähköistä paperinäyttöä ja Raspberry Pi Zero W: Tässä opetusohjelmassa näytän sinulle, kuinka voit rakentaa oman Youtube-tilaajalaskurisi käyttämällä sähköistä paperinäyttöä, ja Raspberry Pi Zero W: tä YouTube-sovellusliittymän kyselyyn ja päivitä näyttö. Sähköpostinäytöt sopivat erinomaisesti tämän tyyppisiin projekteihin, koska niillä on
Waveshare Game-HAT MOD Raspberry PI Zero/Zero W [EN/ES]: 4 vaihetta
Waveshare Game-HAT MOD Raspberry PI Zero/Zero W [EN/ES]: SUOMI/INGLÉS: Kuten tiedätte, Waveshare Game-HATin kokoaminen on melko yksinkertaista, jos se on yksi malleista, jotka ovat täysin yhteensopivia suunnittelun kanssa. se Raspberry Pi 2/3 / 3A + / 3B / 3B + /, henkilökohtaisesti pidän parempana, että pelikonsoli voi olla h
Alaska Datalogger: 5 vaihetta (kuvilla)
Alaska Datalogger: Alaska on ilmastonmuutoksen etenemisen reunalla. Sen ainutlaatuinen asema, jossa suhteellisen koskematon maisema on täynnä erilaisia hiilikaivoskanaria, mahdollistaa paljon tutkimusmahdollisuuksia. Ystävämme Monty on arkeologi, joka auttaa
Arduino Datalogger: 8 vaihetta (kuvilla)
Arduino Datalogger: Tässä opetusohjelmassa aiomme tehdä yksinkertaisen dataloggerin Arduinon avulla. Tarkoitus on oppia Arduinon käytön perusteet tietojen tallentamiseen ja tulostamiseen päätelaitteeseen. Voimme käyttää tätä perusasetusta useiden tehtävien suorittamiseen. Aloittaaksesi