İçindekiler:
- Adım 1: Pi Zero W'yi Ayarlayın
- 2. Adım: WiFi'ye bağlanın
- 3. Adım: Gerekli Yazılımı Güncelleyin ve Yükleyin
- Adım 4: Bir Sensöre Bağlayın (Bu Örnekte bir Arduino)
- Adım 5: WiFi Erişim Noktası Özelliklerini Ayarlayın
- 6. Adım: Wifi Erişim Noktası ve İstemci Modları Arasında Geçiş Yapma
- 7. Adım: Son Açıklamalar
- 8. Adım: Örnek Python Günlük Komut Dosyası
Video: Raspberry Pi Zero W Datalogger: 8 Adım (Resimli)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:21
Raspberry Pi Zero W kullanarak, yerel bir wifi ağına bağlanabilen veya akıllı telefonunuzla kablosuz olarak veri indirmenize izin veren sahada bir erişim noktası görevi görebilen ucuz ve kullanımı kolay bir datalogger yapabilirsiniz.
Bu kurulumu, kendi veri kaydedici kurulumunuzu yapmanın bir yolu olarak Amerikan Jeofizik Birliği Güz Toplantısı 2017'de sundum. O sunuma buradan ulaşabilirsiniz.
Neye ihtiyacınız olacak:
- Ahududu Pi Sıfır W
- Bir mikro SD kart
- bir USB kablosu veya USB güç kaynağı
- USB kart okuyuculu bir bilgisayar
-
İsteğe bağlı (ancak kullanışlı):
- miniHDMI -> HDMI adaptörü (Pi'yi ekrana bağlamak için)
- USB OTG adaptörü (pi'ye bir klavye bağlamak için
Adım 1: Pi Zero W'yi Ayarlayın
Başlamak için, bir microSD karta bir Rasbian görüntüsü koyun (bu eğitimde 2017-07-05-raspbian-jessie-lite kullandım, burada mevcut). Kurulum komut satırı üzerinden yapılacağından, bir lite sürümü (masaüstü olmadan) kullanılabilir.
SD kartı Pi'ye takın, ekranı ve klavyeyi bağlayın ve güç kablosunu takarak açın. Başsız kurulum da mümkündür, ancak SSH üzerinden bağlanmayı gerektirir.
Pi açıldıktan sonra oturum açın (varsayılan kullanıcı adı: pi, parola: ahududu) ve parolayı "passwd" komutuyla değiştirin.
Klavye, terminalde "sudo raspi-config" girilerek yapılandırılabilir.
2. Adım: WiFi'ye bağlanın
İnternete bağlanmak için Pi'ye hangi ağa bağlanacağını söyleyeceğiz. Aşağıdaki dosyayı açarak başlayın;
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Burada en alta ağ bilgilerini ekleyin;
ağ={
ssid="ağ adı" psk="ağ şifresi" }
Kurumsal ağ olması durumunda, aşağıdaki kurulumu kullanabilirsiniz (WPA-EAP // TTLA // MSCHAPv2'yi uygun ayarlara ayarlayın).
ağ={
ssid="ssid" #Ağ adınızı girin key_mgmt=WPA-EAP eap=TTLS kimliği="xxxxx" #Giriş hesabı şifrenizi girin="xxxxx" #Şifreyi girin faz2="auth=MSCHAPv2" }
CTRL+O ile kaydedin ve CTRL+X ile çıkın.
Şimdi /etc/network/interfaces içindeki yapılandırma dosyanıza başvurun
sudo nano /etc/ağ/arayüzler
wlan0 bölümünü şu şekilde değiştirin:
otomatik wlan0
iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Tekrar dosyayı kaydedin (CTRL+O) ve çıkın (CTRL+X).
Yeniden başlattıktan sonra (sudo yeniden başlatma), wifi bağlantınız çalışmalıdır. Bunu bir web sitesine ping atarak test edebilirsiniz;
www.google.com'a ping at
CTRL+C ile pingi iptal edin
Pi'ye SSH üzerinden kablosuz olarak bağlanmak için SSH'yi etkinleştirmelisiniz:
sudo raspi yapılandırması
"5 Arayüz Seçeneği"ne gidin ve SSH'yi etkinleştirin. Ardından geri dönün ve yapılandırmadan çıkın.
Pi'nin IP adresine bakın:
ifconfig
IP, wlan0 arabiriminin "inet addr:" altında olacaktır.
Artık aynı ağdaysanız WiFi üzerinden Pi'ye bağlanabilirsiniz. Putty'yi indirin (Windows için), "Ana Bilgisayar Adı" altında bulduğunuz IP adresini girin ve "Aç" a basın. Uyarıyı kabul ettikten sonra artık komut satırını görebilmeli ve giriş yapabilmelisiniz.
3. Adım: Gerekli Yazılımı Güncelleyin ve Yükleyin
WiFi çalıştıktan sonra Pi'yi şu şekilde güncelleyin:
sudo apt-get güncelleme -y && sudo apt-get yükseltme -y
Güncelleme bittikten sonra (biraz zaman alabilir) kullanacağımız yazılımı kurun;
sudo apt-get kurulum python3 python3-seri apache2 -y
Adım 4: Bir Sensöre Bağlayın (Bu Örnekte bir Arduino)
Arduino'yu bir USB hub kullanarak bir klavye ile birbirine bağlayın veya Arduino'yu tek USB portu üzerinden bağlayın ve kurulumu WiFi üzerinden SSH ile yapın.
Arduino'nun bağlı olduğu seri porta erişebilmek için varsayılan pi hesabına erişim vermekte fayda var. Arduino genellikle "/dev/ttyACM0" bağlantı noktasına atandığından, "pi" kullanıcısına bağlantı noktasına erişim vermek için aşağıdaki komutu kullanın:
sudo chown pi: /dev/ttyACM0
Arduino'nun seri port üzerinden veri göndermek için zaten kurulduğunu varsayarsak, verileri python'da aşağıdaki şekilde görüntüleyebilirsiniz:
Python'u açın;
piton3
Seriyi içe aktar:
seriyi içe aktar
com portunu açın:
ser = seri. Serial(port = '/dev/ttyACM0', baud hızı = 9600, zaman aşımı = 5)
Bu durumda Arduino'nun baud hızının 9600'e ayarlandığı yer.
Aşağıdaki kodu çalıştırarak bir satırı okuyabilir ve yazdırabilirsiniz:
ser.readline().decode('utf-8')
Çalışıyorsa, bağlantıyı kapatabilir ve Python'dan şu şekilde çıkabilirsiniz:
ser.kapat()
çıkış()
Adım 5: WiFi Erişim Noktası Özelliklerini Ayarlayın
Pi Zero W'nizi wifi erişim noktası modunda ayarlayarak, herhangi bir wifi cihazı ile ona bağlanabilirsiniz. Bu, kaydedicinin kurulmasına ve verilerin wifi üzerinden indirilmesine izin verir, kablo veya sürücü gerekmez.
Bunun için Adafruit'in iyi bir öğreticisi var. Bazı küçük açıklamalar:
- /etc/hostapd/hostapd.conf sürücüsü için, sürücü satırını kullanmayın.
- "hostapd'yi güncelle" adımı gerekli olmamalıdır.
Eğitimin sonunda erişim noktası çalışmazsa, Pi'yi yeniden başlatmayı deneyin (sudo yeniden başlatma).
6. Adım: Wifi Erişim Noktası ve İstemci Modları Arasında Geçiş Yapma
Bazen yazılımı güncellemek veya Raspberry Pi'nize yeni yazılım yüklemek isteyebilirsiniz, ancak bunun için internet bağlantısı gerekir. Neyse ki ikisi arasında geçiş yapmak çok kolay.
Pi'ye SSH ile bağlanın (kablo üzerinden, wifi üzerinden değil!). Erişim noktası hizmetlerini durdurarak başlayın:
sudo systemctl hostapd.service'i durdur
sudo systemctl isc-dhcp-server.service'i durdur
Ardından ağ arayüzleri dosyasını düzenleyin:
sudo nano /etc/ağ/arayüzler
Burada barındırma parametrelerini açıklamalı ve ağ bağlantısı parametrelerinin yorumunu kaldırmalısınız. Bundan değiştirin:
#-Barındırma parametreleri:
allow-hotplug wlan0 iface wlan0 inet statik adres 192.168.42.1 ağ maskesi 255.255.255.0 #-Ağ (istemci) parametreleri: #auto wlan0 # iface wlan0 inet dhcp # wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Buna:
#-Barındırma parametreleri:#allow-hotplug wlan0 #iface wlan0 inet statik # adres 192.168.42.1 # ağ maskesi 255.255.255.0 #-Ağ (istemci) parametreleri: auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Dosyayı kaydedin ve kapatın.
Ardından aşağıdaki komutları çalıştırırsınız:
sudo systemctl wpa_supplicant.service'i başlat
sudo ifdown wlan0 sudo ifup wlan0
Şimdi Pi'niz tekrar wifi'ye bağlanarak yazılımı güncellemenize ve yüklemenize izin vermelidir.
Erişim noktası moduna geri dönmek için /etc/network/interfaces içindeki yorumları değiştirin ve Pi'yi yeniden başlatın.
7. Adım: Son Açıklamalar
Web sitesi kurulumu
Apache sunucusu /var/www/ dizininde bulunur. Varsayılan sayfayı değiştirmek için /var/www/html/index.html dosyasını düzenleyin.
Tarayıcınızı Pi'nin IP adresine (192.168.42.1) yönlendirerek dosyaları buradan wifi bağlantısı üzerinden indirilebilir hale getirebilirsiniz. Herhangi bir wifi özellikli cihaz, herhangi bir ekstra yazılım olmadan bunları indirebilir.
SFTP bağlantısı
SSH üzerinden FTP bağlantısı yapılabilir. Büyük miktarda dosyayı hızlı ve kolay bir şekilde aktarmak için Filezilla'yı kullanabilirsiniz (resme bakın).
Gerçek Zamanlı Saat
İnternet bağlantısı olmadığında Pi'nin dahili saati önemli ölçüde kayacağından, doğru zaman işleyişi gerekiyorsa gerçek zamanlı bir saat (RTC) modülüne ihtiyaç duyulacaktır. Böyle bir modül RasClock'tur, kurulum talimatları burada bulunabilir. Diğer i2c tabanlı saatler de mevcuttur (örn. DS3231)
Çözüm
Her şey yolunda gittiyse, artık çalışan bir Pi Zero veri kaydediciniz olmalıdır! Bir sonraki adıma bir python günlük kaydı komut dosyası örneği eklenmiştir.
8. Adım: Örnek Python Günlük Komut Dosyası
işletim sistemini içe aktar
zamandan seriyi içe aktar datetime'dan içe aktar numpy as np ser = serial. Serial(port = 'COM4', baudrate = 57600, timeout = 5) directory = r'\var\www\html\data\anemometer\WMPro1352_ ' ser.flushInput() ser.flushOutput() deneyin: while True: day_timestring = datetime.strftime(datetime.now(), '%Y%m%d') file_today = dizin + day_timestring + '.dat' #Okuyun veri ve hemen zaman çizgisini alın = ser.readline().decode('utf-8') nowtime = datetime.strftime(datetime.now(), '%Y-%m-%d %H:%M:% S.%f') satır = satır.split(', ') deneyin: u = kayan nokta(satır[1]) hariç: u = np.nan deneyin: v = kayan(satır[2]) hariç: v = np.nan try: w = float(line[3]) hariç: w = np.nan try: c = float(line[5]) hariç: c = np.nan Ts = 1/403 * c**2 - 273.15 deneyin: Ta = float(line[8]) hariç: Ta = np.nan if (os.path.isfile(file_today)): fileobject olarak open(file_today, 'a') ile: fileobject.write(nowtime+', ') fileobject.write(str(u)+', '+str(v)+', '+str(w)+', '+str(c)+', '+str(Ts)+', '+ str(Ta)+'\n') fileobject.clos e() else: open(file_today, 'w') ile fileobject olarak: fileobject.write('"Time", "u", "v", "w", "c", "Ts", "Ta"\ n') fileobject.write(şimdiki+', ') fileobject.write(str(u)+', '+str(v)+', '+str(w)+', '+str(c)+', '+str(Ts)+', '+str(Ta)+'\n') fileobject.close() KeyboardInterrupt hariç: ser.close()
Önerilen:
E-Kağıt Ekranı ve Raspberry Pi Zero W Kullanan YouTube Abone Sayacı: 5 Adım (Resimli)
Bir E-Kağıt Ekranı ve Raspberry Pi Zero W Kullanan YouTube Abone Sayacı: Bu Eğitilebilir Kitapta, bir e-kağıt ekranı ve YouTube API'sini sorgulamak için bir Raspberry Pi Zero W kullanarak kendi Youtube Abone Sayacınızı nasıl oluşturacağınızı göstereceğim. ve ekranı güncelleyin. E-kağıt ekranlar, bu tür projeler için harikadır, çünkü
Arduino Datalogger: 8 Adım (Resimli)
Arduino Datalogger: Bu eğitimde Arduino kullanarak basit bir datalogger yapacağız. Buradaki nokta, bilgi toplamak ve terminale yazdırmak için Arduino kullanmanın temellerini öğrenmektir. Bir dizi görevi tamamlamak için bu temel kurulumu kullanabiliriz.Başlamak için
USBerry PI - USB Rasberry Pi Zero(W): 7 Adım (Resimli)
USBerry PI - USB Rasberry Pi Zero(W): Zaman zaman vitrine online giriyorum. Hepimizin pahalı suçluluk zevkleri var, değil mi? Gözüme takılan şeyleri (#DailyTemptations) sosyal kanallarım üzerinden sizlerle paylaşıyorum. Ayrıca “şimdi sipariş ver” düğmesine çok fazla basıyorum ve sonunda iki
Pi Zero W ile Dakboard Duvar Göstergesi: 6 Adım (Resimli)
Pi Zero W ile Dakboard Duvar Ekranı: IT'de çalışıyorum. Genellikle eski takımlarını çıkarmamızı isteyen müşterilerle karşılaşıyoruz. Bu genellikle bize bir yığın hurda bırakır ve monitörler bulduğumuz israf edilen şeylerden biridir. Evde kendi monitörlerimi yükseltmiştim ve bu eski
Raspberry Pi Zero Gitar Pedalı: 5 Adım (Resimli)
Raspberry Pi Zero Guitar Pedal: Pedal-Pi, Raspberry Pi ZERO Board ile çalışan lo-fi programlanabilir bir gitar pedalıdır. Proje tamamen Açık Kaynak & Açık Donanım ve seslerle denemeler yapmak ve kazı hakkında bilgi edinmek isteyen bilgisayar korsanları, programcılar ve müzisyenler için yapılmıştır