Përmbajtje:
- Hapi 1: Vendosni Pi Zero W
- Hapi 2: Lidhuni me WiFi
- Hapi 3: Përditësoni dhe instaloni softuerin e kërkuar
- Hapi 4: Lidhuni me një sensor (në këtë shembull një Arduino)
- Hapi 5: Vendosni aftësitë e pikës së hyrjes WiFi
- Hapi 6: Kalimi midis Pikës së Qasjes Wifi dhe Modaliteteve të Klientit
- Hapi 7: Vërejtjet përfundimtare
- Hapi 8: Shembull i Python Logging Script
Video: Raspberry Pi Zero W Datalogger: 8 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:27
Duke përdorur një Raspberry Pi Zero W, mund të bëni një regjistrues të dhënash të lirë dhe të lehtë për t’u përdorur, i cili ose mund të lidhet me një rrjet wifi lokal, ose të shërbejë si një pikë hyrjeje në fushë e cila ju lejon të shkarkoni të dhëna me valë me smartphone tuaj.
Unë e paraqita këtë konfigurim në Takimin Vjeshtë të Unionit Gjeofizik Amerikan 2017, si një mënyrë për të bërë konfigurimin tuaj të regjistruesit të të dhënave. Atë prezantim mund ta gjeni këtu.
Çfarë do t'ju duhet:
- Një Raspberry Pi Zero W
- Një kartë mikro SD
- një kabllo USB ose furnizim me energji USB
- Një kompjuter me një lexues kartash USB
-
Opsionale (por e dobishme):
- miniHDMI -> përshtatës HDMI (për të lidhur Pi në një ekran)
- Përshtatës USB OTG (për të lidhur një tastierë me Pi
Hapi 1: Vendosni Pi Zero W
Për të filluar, vendosni një imazh Rasbian në një kartë microSD (në këtë tutorial kam përdorur 2017-07-05-raspbian-jessie-lite, në dispozicion këtu). Mund të përdoret një version lite (pa një desktop) pasi konfigurimi do të bëhet përmes vijës së komandës.
Vendosni kartën SD në Pi, lidhni ekranin dhe tastierën dhe ndizeni atë duke lidhur kabllon e energjisë. Konfigurimi pa kokë është gjithashtu i mundur, por do të kërkonte lidhjen përmes SSH.
Pasi Pi të ketë filluar hyrjen (emri i përdoruesit i paracaktuar: pi, fjalëkalimi: mjedër), dhe ndryshoni fjalëkalimin me komandën "passwd".
Tastiera mund të konfigurohet duke futur "sudo raspi-config" në terminal.
Hapi 2: Lidhuni me WiFi
Për t'u lidhur me internetin, ne do t'i tregojmë Pi se në cilin rrjet të lidhet. Filloni duke hapur skedarin e mëposhtëm;
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Këtu, shtoni informacionin e rrjetit në fund;
rrjet = {
ssid = "emri i rrjetit" psk = "fjalëkalimi i rrjetit"}
Në rastin e një rrjeti ndërmarrjeje, mund të përdorni konfigurimin e mëposhtëm (rregulloni WPA-EAP // TTLA // MSCHAPv2 në cilësimet e zbatueshme).
rrjet = {
ssid = "ssid" #Shkruani emrin e rrjetit tuaj key_mgmt = WPA-EAP eap = Identiteti TTLS = "xxxxx" #Futni fjalëkalimin e llogarisë suaj të hyrjes = "xxxxx" #Hyni fazën e kalimit2 = "auth = MSCHAPv2"}
Ruani duke shtypur CTRL+O dhe dilni me CTRL+X.
Tani referojeni skedarin tuaj të konfigurimit në/etc/network/interfaces
sudo nano/etc/network/interfaces
Ndryshoni pjesën wlan0 në:
auto wlan0
iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Përsëri, ruani skedarin (CTRL+O) dhe pastaj dilni (CTRL+X).
Pas rindezjes (sudo reboot), lidhja juaj wifi duhet të funksionojë. Ju mund ta provoni këtë duke pinguar një faqe në internet;
ping www.google.com
Anuloni ping me CTRL+C
Për t'u lidhur me Pi mbi SSH pa tel, duhet të aktivizoni SSH:
sudo raspi-config
Shkoni te "5 opsionet e ndërlidhjes" dhe aktivizoni SSH. Pastaj kthehuni dhe dilni nga konfigurimi.
Kërkoni adresën IP të Pi:
ifconfig
IP -ja do të jetë nën "inet addr:" të ndërfaqes wlan0.
Tani mund të lidheni me Pi përmes WiFi, nëse jeni në të njëjtin rrjet. Shkarkoni Putty (për dritaret), futni adresën IP që keni gjetur nën "Emri i hostit" dhe shtypni "Open". Pasi të keni pranuar paralajmërimin, tani duhet të jeni në gjendje të shihni vijën e komandës dhe të identifikoheni.
Hapi 3: Përditësoni dhe instaloni softuerin e kërkuar
Pasi WiFi është duke punuar, përditësoni Pi me:
sudo apt -merrni përditësim -y && sudo apt -merrni përmirësim -y
Pasi të ketë përfunduar përditësimi (mund të zgjasë pak), instaloni programin me të cilin do të përdorim;
sudo apt-get install python3 python3-serial apache2 -y
Hapi 4: Lidhuni me një sensor (në këtë shembull një Arduino)
Ose lidhni Arduino së bashku me një tastierë duke përdorur një shpërndarës USB, ose lidhni Arduino përmes një porti të vetëm USB dhe bëni konfigurimin me SSH përmes WiFi.
Për të qenë në gjendje të hyni në portin serik me të cilin është lidhur Arduino, është e dobishme të jepni qasje në llogarinë e paracaktuar pi. Ndërsa Arduino zakonisht caktohet në portin "/dev/ttyACM0", përdorni komandën e mëposhtme për t'i dhënë përdoruesit 'pi' qasje në port:
sudo chown pi: /dev /ttyACM0
Duke supozuar, se Arduino tashmë është krijuar për të dërguar të dhëna mbi portin serik, ju mund t'i shihni të dhënat në python në mënyrën e mëposhtme:
Python i hapur;
python3
Seriali i importit:
serial importi
Hapni portën com:
ser = serial. Serial (port = '/dev/ttyACM0', baudrate = 9600, timeout = 5)
Ku baudrati i Arduino ishte vendosur në 9600 në këtë rast.
Ju mund të lexoni dhe printoni një rresht duke ekzekutuar kodin e mëposhtëm:
ser.readline (). deshifroj ('utf-8')
Nëse e keni duke punuar, mund ta mbyllni lidhjen dhe të dilni nga Python me:
ser.mbylle ()
dalje ()
Hapi 5: Vendosni aftësitë e pikës së hyrjes WiFi
Duke vendosur Pi Zero W tuaj në modalitetin e pikës së hyrjes wifi, mund të lidheni me të me çdo pajisje wifi. Kjo lejon vendosjen e regjistruesit dhe shkarkimin e të dhënave përmes wifi, nuk kërkohen kabllo ose drejtues.
Për këtë, Adafruit ka një tutorial të mirë në dispozicion. Disa vërejtje të vogla:
- Për shoferin /etc/hostapd/hostapd.conf, mos përdorni vijën e shoferit.
- Hapi "Përditëso hostapd" nuk duhet të jetë i nevojshëm.
Nëse pika e hyrjes nuk funksionon në fund të mësimit, provoni të rindizni Pi (rindezja sudo).
Hapi 6: Kalimi midis Pikës së Qasjes Wifi dhe Modaliteteve të Klientit
Ndonjëherë do të dëshironi të azhurnoni softuerin ose të instaloni softuer të ri në Raspberry Pi tuaj, por kjo kërkon një lidhje interneti. Për fat të mirë kalimi midis të dyve është shumë i lehtë.
Lidhuni me Pi me SSH (përmes një kablli, jo wifi!). Filloni duke ndaluar shërbimet e pikës së hyrjes:
sudo cystemctl stop hostapd.service
sudo cystemctl stop isc-dhcp-server.shërbimi
Pastaj redaktoni skedarin e ndërfaqeve të rrjetit:
sudo nano/etc/network/interfaces
Këtu duhet të komentoni parametrat e pritjes dhe të mos komentoni parametrat e lidhjes në rrjet. Ndryshojeni nga kjo:
#-Parametrat e strehimit:
allow-hotplug wlan0 iface wlan0 inet adresa statike 192.168.42.1 maskë në internet 255.255.255.0 # -Pamimet e rrjetit (klienti): #auto wlan0 # iface wlan0 inet dhcp # wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Për këtë:
#-Parametrat e strehimit: #allow-hotplug wlan0 #iface wlan0 inet static #adresa 192.168.42.1 #maskë me rrjetë 255.255.255.0 #-Parametrat e rrjetës (klienti): auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.con
Ruani dhe mbyllni skedarin.
Tjetra ju ekzekutoni komandat e mëposhtme:
sudo systemctl filloni wpa_supplicant.service
sudo ifdown wlan0 sudo ifup wlan0
Tani Pi juaj duhet të lidhet përsëri me wifi, duke ju lejuar të azhurnoni dhe instaloni softuer.
Për t'u kthyer në modalitetin e pikës së hyrjes, kaloni rreth komenteve në/etc/network/interfaces dhe rindizni Pi.
Hapi 7: Vërejtjet përfundimtare
Konfigurimi i faqes në internet
Serveri apache ndodhet në/var/www/. Për të ndryshuar faqen e paracaktuar, modifikoni skedarin /var/www/html/index.html.
Ju mund t'i bëni skedarët këtu të disponueshëm për t'u shkarkuar përmes lidhjes wifi, duke lundruar në shfletuesin tuaj në adresën IP të Pi (192.168.42.1). Çdo pajisje e aktivizuar me wifi mund t'i shkarkojë ato pa ndonjë softuer shtesë.
Lidhje SFTP
Mbi SSH, mund të bëhet një lidhje FTP. Ju mund të përdorni Filezilla për të transferuar shpejt dhe lehtë një sasi të madhe skedarësh (shiko figurën).
Ora në kohë reale
Meqenëse ora e brendshme e Pi do të zhvendoset ndjeshëm nëse nuk ka lidhje me internetin, do të nevojitet një modul i orës në kohë reale (RTC) nëse kërkohet mbajtje e saktë e kohës. Një modul i tillë është RasClock, udhëzimet e instalimit mund të gjenden këtu. Orë të tjera të bazuara në i2c janë gjithashtu në dispozicion (dmth. DS3231)
Përfundim
Nëse gjithçka shkoi si duhet, tani duhet të keni një regjistrues të të dhënave Pi Zero që punon! Një shembull i skriptit të regjistrimit të python përfshihet në hapin tjetër.
Hapi 8: Shembull i Python Logging Script
importo os
serial importi nga koha kohë importi nga dataetate import datetime import numpy si np ser = serial. Serial (port = 'COM4', baudrate = 57600, timeout = 5) directory = r '\ var / www / html / data / anemometer / WMPro1352_ 'ser.flushInput () ser.flushOutput () provo: ndërsa True: day_timestring = datetime.strftime (datetime.now (),'%Y%m%d ') file_today = directory + day_timestring +'.dat '#Read out të dhënave dhe merrni menjëherë linjën kohore = ser.readline (). deshifroj ('utf-8') tani = datetime.strftime (datetime.now (), '%Y-%m-%d%H:%M:% S.%f ') line = line.split (', ') provoni: u = notoni (rreshti [1]) përveç: u = np.nan provoni: v = notoni (rreshti [2]) përveç: v = np.nan provoni: w = noton (rreshti [3]) përveç: w = np.nan provoni: c = notoni (rreshti [5]) përveç: c = np.nan Ts = 1/403*c ** 2 - 273.15 provo: Ta = noton (rreshti [8]) përveç: Ta = np.nan nëse (os.path.isfile (file_today)): me hapur (file_today, 'a') si fileobject: fileobject.write (tani++, ') fileobject.write (str (u)+','+str (v)+','+str (w)+','+str (c)+','+str (Ts)+','+ str (Ta)+'\ n') fileobject.clos e () tjetër: me hapur (file_today, 'w') si fileobject: fileobject.write ('"Koha", "u", "v", "w", "c", "Ts", "Ta" / n ') fileobject.write (tani++,') fileobject.write (str (u)+','+str (v)+','+str (w)+','+str (c)+', '+str (Ts)+', '+str (Ta)+' / n ') fileobject.close () përveç KeyboardIntrupt: ser.close ()
Recommended:
Ekran druri i lojrave LED i mundësuar nga Raspberry Pi Zero: 11 hapa (me fotografi)
Ekran druri i lojrave LED i mundësuar nga Raspberry Pi Zero: Ky projekt realizon një ekran LED me bazë 20x10 pikselë WS2812 me madhësi 78x35 cm i cili mund të instalohet lehtësisht në dhomën e ndenjes për të luajtur lojëra retro. Versioni i parë i kësaj matricë u ndërtua në vitin 2016 dhe u rindërtua nga shumë njerëz të tjerë. Ky eksperiencë
Numëruesi i pajtimtarëve në YouTube duke përdorur një ekran letre dhe Raspberry Pi Zero W: 5 hapa (me fotografi)
Numëruesi i pajtimtarëve në YouTube duke përdorur një ekran të letrës elektronike dhe Raspberry Pi Zero W: Në këtë udhëzues, unë do t'ju tregoj se si të krijoni numëruesin tuaj të pajtimtarëve në Youtube duke përdorur një ekran letre dhe një Raspberry Pi Zero W për të kërkuar API-në e YouTube. dhe përditësoni ekranin. Ekranet e letrës elektronike janë të shkëlqyera për këtë lloj projekti pasi kanë
Astrofotografia Me Raspberry Pi Zero .: 11 hapa (me fotografi)
Astrofotografia Me Raspberry Pi Zero .: Kam bërë dy projekte të tjera të kamerës me bazë Raspberry Pi para [1] [2]. Kjo, ideja ime e tretë e kamerës, është projekti im i parë Raspberry Pi Zero. Ky është gjithashtu udhëtimi im i parë në Astrofotografi! I nxitur nga 'Supermëna' e fundit doja të merrja vëllain tim '
Waveshare Game-HAT MOD Raspberry PI Zero/Zero W [EN/ES]: 4 hapa
Waveshare Game-HAT MOD Raspberry PI Zero/Zero W [EN/ES]: SHQIP/INGLÉS: Siç e dini, montimi i Waveshare Game-HAT është mjaft i thjeshtë nëse është një nga modelet që janë plotësisht në përputhje me modelin, jini është Raspberry Pi 2/3 / 3A + / 3B / 3B + /, unë personalisht preferoj që tastiera e lojës të jetë e
Arduino Datalogger: 8 hapa (me fotografi)
Arduino Datalogger: Në këtë tutorial, ne do të bëjmë një regjistrues të thjeshtë të të dhënave duke përdorur Arduino. Çështja është të mësoni bazat e përdorimit të Arduino për të kapur informacion dhe për të printuar në terminal. Ne mund ta përdorim këtë konfigurim bazë për të përfunduar një sërë detyrash. Për të filluar