Mündəricat:
- Addım 1: Pi Zero W qurun
- Addım 2: WiFi -yə qoşulun
- Addım 3: Lazımi Proqramı Yeniləyin və Qurun
- Addım 4: Sensora qoşulun (Bu nümunədə Arduino)
- Addım 5: WiFi giriş nöqtəsi imkanlarını qurun
- Addım 6: Wifi giriş nöqtəsi ilə müştəri rejimi arasında keçid
- Addım 7: Son qeydlər
- Addım 8: Python Logging Script nümunəsi
Video: Raspberry Pi Zero W Datalogger: 8 Addım (Şəkillərlə birlikdə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:48
Bir Raspberry Pi Zero W istifadə edərək, yerli wifi şəbəkəsinə qoşula bilən və ya məlumatlarınızı smartfonunuzla simsiz yükləməyinizə imkan verən sahədə bir giriş nöqtəsi olaraq xidmət edə biləcək ucuz və istifadəsi asan bir datalogger edə bilərsiniz.
Bu qurğunu Amerika Geofizika Birliyinin Payız Toplantısı 2017 -də öz məlumat qeyd etmə qurğunuzu qurmağın bir yolu olaraq təqdim etdim. Bu təqdimatı burada tapa bilərsiniz.
Nə lazımdır:
- A Raspberry Pi Zero W
- Mikro SD kart
- USB kabel və ya USB enerji təchizatı
- USB kart oxuyan kompüter
-
İsteğe bağlı (lakin faydalıdır):
- miniHDMI -> HDMI adapteri (Pi'yi ekrana bağlamaq üçün)
- USB OTG adapteri (klaviaturanı Pi -yə bağlamaq üçün)
Addım 1: Pi Zero W qurun
Başlamaq üçün bir microSD kartına Rasbian şəkli qoyun (bu dərslikdə 2017-07-05-raspbian-jessie-lite istifadə etdim, burada mövcuddur). Quraşdırma əmr xətti vasitəsilə həyata keçiriləcəyi üçün sadə bir versiya (masa üstü olmadan) istifadə edilə bilər.
SD kartı Pi -yə daxil edin, ekranı və klaviaturanı bağlayın və elektrik kabelini bağlayaraq açın. Başsız quraşdırma da mümkündür, ancaq SSH üzərindən əlaqə tələb olunur.
Pi girişi başladıqdan sonra (standart istifadəçi adı: pi, parol: moruq) və "passwd" əmri ilə şifrəni dəyişdirin.
Klaviatura terminalda "sudo raspi-config" yazaraq konfiqurasiya edilə bilər.
Addım 2: WiFi -yə qoşulun
İnternetə qoşulmaq üçün Pi -yə hansı şəbəkəyə qoşulacağımızı bildirəcəyik. Aşağıdakı faylı açaraq başlayın;
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Burada aşağıya şəbəkə məlumatlarını əlavə edin;
şəbəkə = {
ssid = "şəbəkə adı" psk = "şəbəkə şifrəsi"}
Müəssisə şəbəkəsi vəziyyətində aşağıdakı quruluşdan istifadə edə bilərsiniz (WPA-EAP // TTLA // MSCHAPv2-ni tətbiq olunan parametrlərə uyğunlaşdırın).
şəbəkə = {
ssid = "ssid" #Şəbəkə adınızı daxil edin key_mgmt = WPA-EAP eap = TTLS identifikasiyası = "xxxxx" #Giriş hesabınızın parolunu daxil edin = "xxxxx" #Keçid mərhələsinə daxil olun2 = "auth = MSCHAPv2"}
CTRL+O düyməsini basaraq qənaət edin və CTRL+X ilə çıxın.
İndi/etc/network/interfeyslərdə konfiqurasiya sənədinizə istinad edin
sudo nano/etc/network/interfeysləri
Wlan0 hissəsini dəyişdirin:
avtomatik wlan0
iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Yenidən faylı saxla (CTRL+O) və sonra çıx (CTRL+X).
Yenidən başladıqdan sonra (sudo reboot), wifi bağlantınız işləməlidir. Bunu bir veb saytı ping edərək sınaya bilərsiniz;
ping www.google.com
Pinqi CTRL+C ilə ləğv edin
Pi üzərində SSH -ə simsiz qoşulmaq üçün SSH -ni aktiv etməlisiniz:
sudo raspi-config
"5 İnterfeys Seçimləri" nə gedin və SSH -i aktiv edin. Sonra geri qayıdın və konfiqurasiyadan çıxın.
Pi -nin IP ünvanını axtarın:
ifconfig
IP, wlan0 interfeysinin "inet addr:" altında olacaq.
Eyni şəbəkədəsinizsə, artıq WiFi üzərindən Pi -yə qoşula bilərsiniz. Putty (Windows üçün) yükləyin, "Host Adı" altında tapdığınız IP ünvanını daxil edin və "Aç" düyməsini basın. Xəbərdarlığı qəbul etdikdən sonra indi əmr satırını və girişi görə bilməlisiniz.
Addım 3: Lazımi Proqramı Yeniləyin və Qurun
WiFi işlədikdən sonra Pi ilə yeniləyin:
sudo apt -get yeniləmə -y && sudo apt -get upgrade -y
Yeniləmə başa çatdıqdan sonra (bir müddət çəkə bilər) istifadə edəcəyimiz proqramı quraşdırın;
sudo apt-get python3 python3-serial apache2 -y quraşdırın
Addım 4: Sensora qoşulun (Bu nümunədə Arduino)
Arduino ya bir USB hub istifadə edərək bir klaviatura ilə birləşdirin, ya da Arduino'yu tək bir USB portu ilə bağlayın və WiFi üzərindən SSH ilə qurun.
Arduinonun qoşulduğu serial portuna daxil olmaq üçün standart pi hesabına giriş vermək faydalıdır. Arduino ümumiyyətlə "/dev/ttyACM0" limanına təyin olunduğundan, 'pi' istifadəçisinin limana girişini təmin etmək üçün aşağıdakı əmri istifadə edin:
sudo chown pi: /dev /ttyACM0
Arduinonun serial port üzərindən məlumat göndərmək üçün artıq qurulduğunu fərz etsək, pythondakı məlumatlara aşağıdakı şəkildə baxa bilərsiniz:
Açıq piton;
python3
İdxal serialı:
idxal serialı
Giriş limanını açın:
ser = serial. Serial (port = '/dev/ttyACM0', baudrate = 9600, zaman aşımı = 5)
Bu vəziyyətdə Arduino -nun baud hızı 9600 olaraq təyin olundu.
Aşağıdakı kodu işlədərək bir sətir oxuya və çap edə bilərsiniz:
ser.readline (). deşifr edin ('utf-8')
İşləsəniz, əlaqəni bağlaya və Python -dan çıxa bilərsiniz:
ser.close ()
çıxmaq ()
Addım 5: WiFi giriş nöqtəsi imkanlarını qurun
Pi Zero W cihazınızı wifi giriş nöqtəsi rejimində quraraq, ona hər hansı bir wifi cihazı ilə qoşula bilərsiniz. Bu, qeyd cihazını qurmağa və məlumatları wifi üzərindən yükləməyə imkan verir, heç bir kabel və ya sürücü tələb olunmur.
Bunun üçün Adafruit -də yaxşı bir dərs var. Bəzi kiçik ifadələr:
- /Etc/hostapd/hostapd.conf sürücüsü üçün sürücü xəttindən istifadə etməyin.
- "Hostapd yeniləmə" addımı lazım olmamalıdır.
Dərsliyin sonunda giriş nöqtəsi işləmirsə, Pi'yi (sudo reboot) yenidən başladın.
Addım 6: Wifi giriş nöqtəsi ilə müştəri rejimi arasında keçid
Bəzən proqramı yeniləmək və ya Raspberry Pi -yə yeni bir proqram quraşdırmaq istəyəcəksiniz, ancaq bunun üçün internet bağlantısı lazımdır. Xoşbəxtlikdən ikisi arasında keçid etmək çox asandır.
SSH ilə Pi -yə qoşulun (wifi deyil, kabel üzərindən!). Giriş nöqtəsi xidmətlərini dayandıraraq başlayın:
sudo cystemctl hostapd.service'i dayandırın
sudo cystemctl stop isc-dhcp-server.service
Sonra şəbəkə interfeysi faylını redaktə edin:
sudo nano/etc/network/interfeysləri
Burada hosting parametrlərini şərh etməli və şəbəkə bağlantısı parametrlərini şərh etməməlisiniz. Bunu bundan dəyişdirin:
#-Hosting parametrləri:
allow-hotplug wlan0 iface wlan0 inet statik ünvan 192.168.42.1 netmask 255.255.255.0 # -Ağ (müştəri) parametrləri: #auto wlan0 # iface wlan0 inet dhcp # wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Buna:
#-Hosting parametrləri: #allow-hotplug wlan0 #iface wlan0 inet static #address 192.168.42.1 #netmask 255.255.255.0 #-Ağ (müştəri) parametrləri: auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_confupplicant/wpa_conf
Faylı qeyd edin və bağlayın.
Sonra aşağıdakı əmrləri yerinə yetirirsiniz:
sudo systemctl wpa_supplicant.service başlayın
sudo ifdown wlan0 sudo ifup wlan0
İndi Pi'iniz, proqramı yeniləməyinizə və quraşdırmağınıza imkan verərək yenidən wifi -yə qoşulmalıdır.
Giriş nöqtəsi rejiminə qayıtmaq üçün/etc/network/interfeyslərindəki şərhlərə keçin və Pi'yi yenidən başladın.
Addım 7: Son qeydlər
Veb saytın qurulması
Apache serveri/var/www/-də yerləşir. Varsayılan səhifəni dəyişdirmək üçün /var/www/html/index.html faylını redaktə edin.
Brauzerinizi Pi -nin IP ünvanına (192.168.42.1) gedərək wifi bağlantısı üzərindən yükləyə biləcəyiniz faylları buradan əldə edə bilərsiniz. Wi -Fi ilə işləyən hər hansı bir cihaz daha sonra heç bir əlavə proqram olmadan yükləyə bilər.
SFTP bağlantısı
SSH üzərindən bir FTP bağlantısı edilə bilər. Çoxlu sayda faylları tez və asanlıqla köçürmək üçün Filezilla'dan istifadə edə bilərsiniz (şəkilə bax).
Real vaxt saatı
İnternetə qoşulma olmadıqda Pi -nin daxili saatı əhəmiyyətli dərəcədə sürüşdüyünə görə, dəqiq zaman tutma tələb olunarsa, real vaxt saatı (RTC) modulu lazım olacaq. Belə bir modul RasClock -dur, quraşdırma təlimatlarını burada tapa bilərsiniz. Digər i2c əsaslı saatlar da mövcuddur (yəni. DS3231)
Nəticə
Hər şey düzgün gedirsə, indi işləyən Pi Zero datalogger olmalıdır! Bir python giriş skript nümunəsi növbəti addıma daxil edilmişdir.
Addım 8: Python Logging Script nümunəsi
id id
nat ser = serial. Serial (port = 'COM4', baudrate = 57600, zaman aşımı = 5) dizini = r '\ var / www / html / data / anemometr / WMPro1352_ 'ser.flushInput () ser.flushOutput () cəhd edin: isə Doğru: day_timestring = datetime.strftime (datetime.now (),'%Y%m%d ') file_today = kataloq + day_timestring +'.dat ' #Oxuyun data və dərhal vaxt xəttini əldə edin = ser.readline (). deşifr edin ('utf-8') nowtime = datetime.strftime (datetime.now (), '%Y-%m-%d%H:%M:% S.%f ') line = line.split (', ') cəhd edin: u = float (line [1]) istisna olmaqla: u = np.nan cəhd edin: v = float (line [2]) istisna olmaqla: v = np.nan cəhd edin: w = üzmək (xətt [3]) istisna olmaqla: w = np.nan cəhd edin: c = üzmək (xətt [5]) istisna olmaqla: c = np.nan Ts = 1/403*c ** 2 - 273.15 cəhd edin: Ta = float (xətt [8]) istisna olmaqla: Ta = np.nan if (os.path.isfile (file_today))): fileobject: fileobject.write (nowtime+',' olaraq open (file_today, 'a') ilə) fileobject.write (str (u)+','+str (v)+','+str (w)+','+str (c)+','+str (Ts)+','+ str (Ta)+'\ n') fileobject.clos e () başqa: fileobject olaraq open (file_today, 'w') ilə: fileobject.write ('"Zaman", "u", "v", "w", "c", "Ts", "Ta" / n ') fileobject.write (indi+', ') fileobject.write (str (u)+', '+str (v)+', '+str (w)+', '+str (c)+', '+str (Ts)+', '+str (Ta)+' / n ') fileobject.close () KeyboardInterrupt istisna olmaqla: ser.close ()
Tövsiyə:
DIY Raspberry Pi Zero El Oyun Konsolu: 6 Addım (Şəkillərlə birlikdə)
DIY Raspberry Pi Zero Əl Oyun Konsolu: Bu layihədə sizə Raspberry Pi Zero, NiMH batareyaları, ev şəraitində çox boşalma qoruma dövrəsi, arxa görünüşlü bir lcd və səs gücləndiricisini oynaya bilən bir oyun konsolu yaratmaq üçün necə göstərəcəyəm. retro oyunlar. Gəlin başlayaq
GamePi Zero - Əlverişli Emulyasiya Stansiyası: 23 Addım (Şəkillərlə birlikdə)
GamePi Zero - Əlverişli Emulyasiya Stansiyası: Giriş: Bu təlimatlı bir Raspberry Pi Zero W ilə işləyən el emulyasiya konsolunun quruluşunu təsvir edir.Bu, bəzi istifadəçilərin çox təklifləri olan ilk GamePi əlimin dəyişməsidir: Ucuz: təxminən 40 dollar (birinci biri 16 dollardı
Alaska Datalogger: 5 Adım (Şəkillərlə birlikdə)
Alaska Datalogger: Alyaska iqlim dəyişikliyinin irəliləməsinin kənarındadır. Müxtəlif kömür mədəni kanareyalarının məskunlaşdığı kifayət qədər toxunulmamış bir mənzərəyə malik olması, bir çox araşdırma imkanları verir. Dostumuz Monty, bizə kömək edən bir arxeoloqdur
Raspberry Pi Zero Gitara Pedalı: 5 Addım (Şəkillərlə birlikdə)
Raspberry Pi Zero Guitar Pedal: Pedal-Pi, Raspberry Pi ZERO Board ilə işləyən lo-fi proqramlaşdırılan gitara pedalıdır. Layihə tamamilə Açıq Mənbədir & Avadanlıqları açın və səsləri sınamaq və qazmağı öyrənmək istəyən hakerlər, proqramçılar və musiqiçilər üçün hazırlanmışdır
LEGO Raspberry Pi Zero Case: 4 addım (şəkillərlə birlikdə)
LEGO Raspberry Pi Zero Case: Raspberry Pi Zero -nu LEGO quruluşlarına inteqrasiya etmək üçün asan bir yol axtarırdıq. Bazarda bəzi LED kərpic seçimləri var, amma heç biri istifadə, güc və xüsusiyyətlərdəki məhdudiyyətlər səbəbindən bizim üçün işləmədi. Pi bütün bunları kiçik bir formada təqdim edir