Sisukord:
- Samm: seadistage Pi Zero W
- Samm: ühendage WiFi -ga
- Samm: värskendage ja installige vajalik tarkvara
- Samm: ühendage anduriga (selles näites Arduino)
- Samm: seadistage WiFi pääsupunkti võimalused
- 6. toiming: Wifi pääsupunkti ja kliendirežiimi vahel vahetamine
- 7. etapp: lõppmärkused
- Samm 8: Pythoni logimisskripti näide
Video: Raspberry Pi Zero W andmebaas: 8 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:50
Raspberry Pi Zero W abil saate teha odava ja hõlpsasti kasutatava andmekoguja, mille saab ühendada kohaliku WiFi -võrguga või kasutada pääsupunktina väljal, mis võimaldab teil nutitelefoniga juhtmevabalt andmeid alla laadida.
Ma esitasin selle seadistuse Ameerika Geofüüsika Liidu sügiskoosolekul 2017, et luua oma andmete logija seadistus. Selle esitluse leiate siit.
Mida vajate:
- A Raspberry Pi Zero W
- Micro SD kaart
- USB -kaabel või USB -toiteallikas
- USB -kaardilugejaga arvuti
-
Valikuline (kuid kasulik):
- miniHDMI -> HDMI -adapter (Pi ühendamiseks ekraaniga)
- USB OTG -adapter (klaviatuuri ühendamiseks Pi -ga
Samm: seadistage Pi Zero W
Alustuseks pange rassi pilt microSD-kaardile (selles õpetuses kasutasin 2017-07-05-raspbian-jessie-lite, saadaval siit). Võib kasutada lihtsat versiooni (ilma töölauata), kuna seadistamine toimub käsurealt.
Sisestage SD -kaart Pi -sse, ühendage ekraan ja klaviatuur ning lülitage toide sisse, ühendades toitekaabli. Võimalik on ka peata seadistamine, kuid see nõuab ühendamist SSH kaudu.
Pärast seda, kui Pi on käivitanud sisselogimise (vaikimisi kasutajanimi: pi, parool: vaarikas) ja muutke parool käsuga "passwd".
Klaviatuuri saab konfigureerida, sisestades terminali "sudo raspi-config".
Samm: ühendage WiFi -ga
Interneti -ühenduse loomiseks ütleme Pi -le, millise võrguga ühenduse luua. Alustage järgmise faili avamisega;
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Lisage siia võrguteave allosas;
võrk = {
ssid = "võrgu nimi" psk = "võrgu parool"}
Ettevõttevõrgu puhul saate kasutada järgmist seadistust (kohandage WPA-EAP // TTLA // MSCHAPv2 kehtivatele seadetele).
võrk = {
ssid = "ssid" #Sisestage oma võrgu nimi key_mgmt = WPA-EAP eap = TTLS identity = "xxxxx" #Sisestage oma sisselogimiskonto parool = "xxxxx" #Sisestage passwork phase2 = "auth = MSCHAPv2"}
Salvestage, vajutades klahvikombinatsiooni CTRL+O, ja väljuge klahvikombinatsiooni CTRL+X abil.
Nüüd viidake oma konfiguratsioonifailile kataloogis/etc/network/interfaces
sudo nano/etc/network/interfaces
Muutke wlan0 osa järgmiselt:
auto wlan0
iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Jällegi salvestage fail (CTRL+O) ja seejärel väljuge (CTRL+X).
Pärast taaskäivitamist (sudo reboot) peaks teie wifi -ühendus toimima. Saate seda testida veebisaidi pingiga;
ping www.google.com
Tühistage ping CTRL+C abil
Juhtmeta ühenduse loomiseks Pi abil SSH kaudu peaksite lubama SSH:
sudo raspi-config
Liikuge jaotisse "5 liidesevalikut" ja lubage SSH. Seejärel minge tagasi ja väljuge konfiguratsioonist.
Otsige üles Pi IP -aadress:
ifconfig
IP asub wlan0 liidese "inet addr:" all.
Nüüd saate Pi -ga ühenduse luua WiFi kaudu, kui olete samas võrgus. Laadige alla Putty (Windowsi jaoks), sisestage jaotises "Host Name" leitud IP -aadress ja vajutage "Open". Pärast hoiatuse vastuvõtmist peaksite nüüd nägema käsurida ja sisselogimist.
Samm: värskendage ja installige vajalik tarkvara
Kui WiFi töötab, värskendage Pi -d järgmiselt:
sudo apt -get update -y && sudo apt -get upgrade -y
Kui värskendus on lõppenud (see võib veidi aega võtta), installige tarkvara, millega me kasutame;
sudo apt-get install python3 python3-seeria apache2 -y
Samm: ühendage anduriga (selles näites Arduino)
Ühendage Arduino USB -jaoturi abil klaviatuuriga või ühendage Arduino ühe USB -pordi kaudu ja tehke häälestus SSH -ga WiFi kaudu.
Et pääseda juurde jadaportile, millega Arduino on ühendatud, on kasulik anda juurdepääs vaikimisi pi kontole. Kuna Arduino määratakse tavaliselt pordile "/dev/ttyACM0", kasutage pi -kasutajale juurdepääsu andmiseks järgmist käsku:
sudo chown pi: /dev /ttyACM0
Eeldades, et Arduino on juba seadistatud andmete saatmiseks jadapordi kaudu, saate andmeid pythonis vaadata järgmiselt.
Avatud python;
python3
Impordi seeria:
impordi seeria
Avage com -port:
ser = jada. Seriaalne (port = '/dev/ttyACM0', baudrate = 9600, timeout = 5)
Kui Arduino andmeedastuskiirus oli antud juhul 9600.
Rea lugemiseks ja printimiseks kasutage järgmist koodi:
ser.readline (). dekodeerida ('utf-8')
Kui see töötab, saate ühenduse sulgeda ja Pythonist väljuda järgmiselt.
ser.close ()
välju ()
Samm: seadistage WiFi pääsupunkti võimalused
Seadistades oma Pi Zero W WiFi -pöörduspunkti režiimis, saate sellega ühenduse luua mis tahes WiFi -seadmega. See võimaldab logija seadistamist ja andmete allalaadimist wifi kaudu, kaableid ega draivereid pole vaja.
Selleks on Adafruitil hea õpetus saadaval. Mõned väikesed märkused:
- /Etc/hostapd/hostapd.conf draiveri puhul ärge kasutage draiveririda.
- Samm „Värskenda hostapd” ei peaks olema vajalik.
Kui pääsupunkt ei tööta õpetuse lõpus, proovige Pi taaskäivitada (sudo reboot).
6. toiming: Wifi pääsupunkti ja kliendirežiimi vahel vahetamine
Mõnikord soovite tarkvara värskendada või oma Raspberry Pi -le uut tarkvara installida, kuid selleks on vaja Interneti -ühendust. Õnneks on nende kahe vahel vahetamine väga lihtne.
Ühendage Pi -ga SSH -ga (üle kaabli, mitte wifi kaudu!). Alustage pääsupunktiteenuste peatamisega.
sudo cystemctl peata hostapd.service
sudo cystemctl stop isc-dhcp-server.service
Seejärel muutke võrguliideste faili:
sudo nano/etc/network/interfaces
Siin peaksite kommenteerima hostimise parameetrid ja tühistama võrguühenduse parameetrite kommentaarid. Muutke seda siit:
#-Hostingu parameetrid:
allow-hotplug wlan0 iface wlan0 inet staatiline aadress 192.168.42.1 netmask 255.255.255.0 # -Võrgu (kliendi) parameetrid: #auto wlan0 # iface wlan0 inet dhcp # wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Selleks:
#-Hostingu parameetrid: #allow-hotplug wlan0 #iface wlan0 inet staatiline #aadress 192.168.42.1 #netmask 255.255.255.0 #-Võrgu (kliendi) parameetrid: auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Salvestage ja sulgege fail.
Järgmisena käivitate järgmised käsud:
sudo systemctl käivitage wpa_supplicant.service
sudo ifdown wlan0 sudo ifup wlan0
Nüüd peaks teie Pi uuesti WiFi -ga ühenduse looma, võimaldades teil tarkvara värskendada ja installida.
Pöörduspunkti režiimi naasmiseks lülitage kommentaarid ümber kataloogis/etc/network/interfaces ja taaskäivitage Pi.
7. etapp: lõppmärkused
Veebisaidi seadistamine
Apache server asub kaustas/var/www/. Vaikelehe muutmiseks muutke faili /var/www/html/index.html.
Siin saate faile WiFi -ühenduse kaudu allalaadimiseks kättesaadavaks teha, navigeerides brauseri kaudu Pi IP -aadressile (192.168.42.1). Iga wifi -toega seade saab need alla laadida ilma lisatarkvarata.
SFTP ühendus
SSH kaudu saab luua FTP -ühenduse. Filezilla abil saate kiiresti ja hõlpsalt üle kanda palju faile (vt pilti).
Reaalajas kell
Kuna Pi sisekell triivib märkimisväärselt, kui Interneti -ühendust pole, on täpse ajavõtmise korral vaja reaalaja kella (RTC) moodulit. Üks selline moodul on RasClock, paigaldusjuhised leiate siit. Saadaval on ka muud i2c -põhised kellad (st DS3231)
Järeldus
Kui kõik läks õigesti, peaks teil nüüd olema töötav Pi Zero andmeedastaja! Python logimise skripti näide on lisatud järgmisse etappi.
Samm 8: Pythoni logimisskripti näide
import os
importida seeriat ajast importimise ajast kuupäevast ja ajast importida datetime import numpy kui np ser = jada. Sarja (port = 'COM4', baudrate = 57600, timeout = 5) kataloog = r '\ var / www / html / data / anemometer / WMPro1352_ 'ser.flushInput () ser.flushOutput () proovige: samas True: day_timestring = datetime.strftime (datetime.now (),'%Y%m%d ') file_today = kataloog + day_timestring +'.dat ' #Loe välja andmed ja saate kohe ajajoone = ser.readline (). dekodeerida ('utf-8') nowtime = datetime.strftime (datetime.now (), '%Y-%m-%d%H:%M:% S.%f ') line = line.split (', ') try: u = float (line [1]) izņemot: u = np.nan try: v = float (line [2]) izņemot: v = np.nan try: w = float (line [3]) izņemot: w = np.nan try: c = float (line [5]), va: c = np.nan Ts = 1/403*c ** 2 - 273,15 proovige: Ta = float (rida [8]), välja arvatud: Ta = np.nan if (os.path.isfile (file_today)): koos open (file_today, 'a') kui fileobject: fileobject.write (nowtime+',') fileobject.write (str (u)+','+str (v)+','+str (w)+','+str (c)+','+str (Ts)+','+ str (Ta)+'\ n') fileobject.clos e () else: avatud (file_today, 'w') kui fileobject: fileobject.write ('"Time", "u", "v", "w", "c", "Ts", "Ta" / n ') fileobject.write (nüüdaeg+', ') fileobject.write (str (u)+', '+str (v)+', '+str (w)+', '+str (c)+', '+str (Ts)+', '+str (Ta)+' / n ') fileobject.close () v.a klaviatuurInterrupt: ser.close ()
Soovitan:
Alaska andmebaas: 5 sammu (piltidega)
Alaska andmebaas: Alaska on kliimamuutuste edenemise äärel. Selle ainulaadne asukoht, kus üsna puutumatu maastik on asustatud mitmesuguste söekaevanduste kanalitega, võimaldab palju uurimisvõimalusi. Meie sõber Monty on arheoloog, kes aitab
Arduino andmebaas koos RTC, Nokia LCD ja kodeerijaga: 4 sammu
Arduino andmebaas RTC, Nokia LCD ja kodeerijaga: Osad: Arduino Nano või Arduino Pro Mini Nokia 5110 84x48 LCD DHT11 temperatuuri/niiskuse andur DS1307 või DS3231 RTC moodul koos sisseehitatud AT24C32 EEPROM Odav kodeerija 3 väljalülituskondensaatoriga Omadused: Nokia LCD-l põhinev GUI ja et
Arduino andmebaas: 8 sammu (piltidega)
Arduino Datalogger: Selles õpetuses teeme Arduino abil lihtsa andmelogija. Mõte on õppida Arduino kasutamise põhitõed teabe kogumiseks ja terminali printimiseks. Seda põhiseadistust saame kasutada mitmesuguste ülesannete täitmiseks. Alustamiseks
Ühendage Raspberry Pi IOT andmebaas MS Exceli abil - seadistamine: 3 sammu
Ühendage Raspberry Pi IOT andmebaas MS Exceliga - seadistage: IOT -andmete kogumise maailmas luuakse palju andmeid, mis salvestatakse alati andmebaasisüsteemi, näiteks Mysql või Oracle. Nendele andmetele juurdepääsu saamiseks ja nendega manipuleerimiseks on üks tõhusamaid meetodeid Microsoft Office'i toote kasutamine
EAL-Industri4.0-RFID andmete kogumise andmebaas: 10 sammu (koos piltidega)
EAL-Industri4.0-RFID Dataopsamling Til Andmebaas: Dette projekt omhandler opsamling af v æ gtdata, registreering af identiteter vha. RFID, kurnavad andmed ja en MySQL andmebaas vha. sõlme-PUNANE, samaväärne ja käitumine andmete edastamise ja C# programmiga, mis on vormis Windows Form Application