Isi kandungan:
- Langkah 1: Sediakan Pi Zero W
- Langkah 2: Sambungkan ke WiFi
- Langkah 3: Kemas kini dan Pasang Perisian yang Diperlukan
- Langkah 4: Sambungkan ke Sensor (dalam Contoh ini Arduino)
- Langkah 5: Sediakan Keupayaan Titik Akses WiFi
- Langkah 6: Beralih Antara Mod Akses Wifi dan Mod Pelanggan
- Langkah 7: Ucapan Akhir
- Langkah 8: Contoh Skrip Log Python
Video: Raspberry Pi Zero W Datalogger: 8 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:12
Dengan menggunakan Raspberry Pi Zero W, anda dapat membuat datalogger yang murah dan mudah digunakan, yang boleh disambungkan ke rangkaian wifi tempatan, atau berfungsi sebagai titik akses di lapangan yang membolehkan anda memuat turun data tanpa wayar dengan telefon pintar anda.
Saya membentangkan persediaan ini pada Mesyuarat Kejatuhan Kesatuan Geofizik Amerika 2017, sebagai cara untuk membuat persediaan pencatat data anda sendiri. Anda boleh mendapatkan persembahan itu di sini.
Apa yang anda perlukan:
- A Raspberry Pi Zero W
- Kad SD mikro
- kabel USB atau bekalan kuasa USB
- Komputer dengan pembaca kad USB
-
Pilihan (tetapi berguna):
- miniHDMI -> penyesuai HDMI (untuk menyambungkan Pi ke skrin)
- Penyesuai USB OTG (untuk menyambungkan papan kekunci ke Pi
Langkah 1: Sediakan Pi Zero W
Untuk memulakan, letakkan gambar Rasbian pada kad microSD (dalam tutorial ini saya menggunakan 2017-07-05-raspbian-jessie-lite, boleh didapati di sini). Versi lite dapat digunakan (tanpa desktop) kerana penyiapan akan dilakukan melalui baris perintah.
Masukkan kad SD ke dalam Pi, sambungkan layar dan papan kekunci, dan hidupkan dengan memasang kabel kuasa. Penyediaan tanpa kepala juga mungkin dilakukan, tetapi memerlukan penyambungan melalui SSH.
Setelah Pi membuat boot masuk (nama pengguna lalai: pi, kata laluan: raspberry), dan ubah kata laluan dengan arahan "passwd".
Papan kekunci dapat dikonfigurasi dengan memasukkan "sudo raspi-config" di terminal.
Langkah 2: Sambungkan ke WiFi
Untuk menyambung ke internet, kami akan memberitahu Pi rangkaian mana yang hendak disambungkan. Mulakan dengan membuka fail berikut;
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Di sini, tambahkan maklumat rangkaian di bahagian bawah;
rangkaian = {
ssid = "nama rangkaian" psk = "kata laluan rangkaian"}
Dalam kes rangkaian perusahaan, anda dapat menggunakan pengaturan berikut (sesuaikan WPA-EAP // TTLA // MSCHAPv2 ke pengaturan yang berlaku).
rangkaian = {
ssid = "ssid" #Masukkan nama rangkaian anda key_mgmt = WPA-EAP eap = TTLS identiti = "xxxxx" #Masukkan kata laluan akaun masuk anda = "xxxxx" #Masukkan fasa kerja pasif2 = "auth = MSCHAPv2"}
Simpan dengan menekan CTRL + O, dan keluar dengan CTRL + X.
Sekarang rujuk fail konfigurasi anda di / etc / network / interfaces
sudo nano / etc / network / antaramuka
Tukar bahagian wlan0 kepada:
auto wlan0
iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Sekali lagi, simpan fail (CTRL + O) dan kemudian keluar (CTRL + X).
Selepas reboot (sudo reboot), sambungan wifi anda akan berfungsi. Anda boleh mengujinya dengan melakukan ping di laman web;
ping www.google.com
Batalkan ping dengan CTRL + C
Untuk menyambung ke Pi melalui SSH tanpa wayar, anda harus mengaktifkan SSH:
sudo raspi-config
Navigasi ke "5 Pilihan Antaramuka", dan aktifkan SSH. Kemudian kembali dan keluar dari konfigurasi.
Cari alamat IP Pi:
ifconfig
IP akan berada di bawah "inet addr:" dari antara muka wlan0.
Sekarang anda boleh menyambung ke Pi melalui WiFi, jika anda berada di rangkaian yang sama. Muat turun Putty (untuk windows), masukkan alamat IP yang anda dapati di bawah "Host Name", dan tekan "Open". Setelah menerima amaran, anda seharusnya dapat melihat baris arahan dan log masuk.
Langkah 3: Kemas kini dan Pasang Perisian yang Diperlukan
Setelah WiFi berfungsi, kemas kini Pi dengan:
sudo apt-get update -y && sudo apt-get upgrade -y
Setelah kemas kini selesai (memerlukan beberapa saat), pasang perisian yang akan kita gunakan;
sudo apt-get install python3 python3-serial apache2 -y
Langkah 4: Sambungkan ke Sensor (dalam Contoh ini Arduino)
Sambungkan Arduino bersama-sama dengan papan kekunci menggunakan hab USB, atau sambungkan Arduino melalui port USB tunggal, dan lakukan penyiapan dengan SSH melalui WiFi.
Untuk dapat mengakses port bersiri yang disambungkan oleh Arduino, berguna untuk memberi akses ke akaun pi lalai. Oleh kerana Arduino biasanya diberikan ke port "/ dev / ttyACM0", gunakan perintah berikut untuk memberi pengguna 'pi' akses ke port:
sudo chown pi: / dev / ttyACM0
Dengan mengandaikan, bahawa Arduino telah disiapkan untuk mengirim data melalui port bersiri, anda dapat melihat data di python dengan cara berikut:
Buka ular sawa;
ular sawa3
Siri import:
siri import
Buka port com:
ser = serial. Serial (port = '/ dev / ttyACM0', baudrate = 9600, timeout = 5)
Di mana baudrate Arduino ditetapkan menjadi 9600 dalam kes ini.
Anda boleh membaca dan mencetak baris dengan menjalankan kod berikut:
ser.readline (). decode ('utf-8')
Sekiranya anda berjaya, anda boleh menutup sambungan dan keluar dari Python dengan:
ser.tutup ()
keluar ()
Langkah 5: Sediakan Keupayaan Titik Akses WiFi
Dengan menyiapkan Pi Zero W anda dalam mod titik akses wifi, anda dapat menyambungkannya dengan mana-mana peranti wifi. Ini membolehkan menyiapkan logger dan memuat turun data melalui wifi, tidak memerlukan kabel atau pemacu.
Untuk ini, Adafruit mempunyai tutorial yang bagus. Beberapa komen kecil:
- Untuk pemacu /etc/hostapd/hostapd.conf, gunakan jangan gunakan garis pemacu.
- Langkah "Kemas kini hostapd" tidak semestinya diperlukan.
Sekiranya titik akses tidak berfungsi pada akhir tutorial, cuba reboot Pi (rebo sudo).
Langkah 6: Beralih Antara Mod Akses Wifi dan Mod Pelanggan
Kadang kala anda ingin mengemas kini perisian, atau memasang perisian baru ke Raspberry Pi anda, tetapi ini memerlukan sambungan internet. Nasib baik bertukar antara keduanya sangat mudah.
Sambungkan ke Pi dengan SSH (melalui kabel, bukan wifi!). Mulakan dengan menghentikan perkhidmatan pusat akses:
sudo cystemctl hentikan hostapd.service
sudo cystemctl stop isc-dhcp-server.service
Kemudian edit fail antara muka rangkaian:
sudo nano / etc / network / antaramuka
Di sini anda harus memberi komen mengenai parameter hosting, dan membatalkan komen parameter sambungan rangkaian. Ubah dari ini:
Parameter hosting:
allow-hotplug wlan0 iface wlan0 inic address static 192.168.42.1 netmask 255.255.255.0 # -Network (client) parameter: #auto wlan0 # iface wlan0 inet dhcp # wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Untuk ini:
# -Hosting parameter: # allow-hotplug wlan0 #iface wlan0 inet static # address 192.168.42.1 # netmask 255.255.255.0 # -Network (client) parameter: auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Simpan dan tutup fail.
Seterusnya anda menjalankan arahan berikut:
sudo systemctl mulakan wpa_supplicant.service
sudo ifdown wlan0 sudo ifup wlan0
Sekarang Pi anda harus menyambung ke wifi lagi, yang membolehkan anda mengemas kini dan memasang perisian.
Untuk kembali ke mod titik akses, beralih komen di / etc / network / interfaces, dan reboot Pi.
Langkah 7: Ucapan Akhir
Penyediaan laman web
Pelayan apache terletak di / var / www /. Untuk menukar halaman lalai, edit fail /var/www/html/index.html.
Anda boleh menyediakan fail di sini untuk dimuat melalui sambungan wifi, dengan menavigasi penyemak imbas anda ke alamat IP Pi (192.168.42.1). Sebarang peranti berkemampuan wifi kemudian boleh memuat turunnya tanpa perisian tambahan.
Sambungan SFTP
Melalui SSH, sambungan FTP dapat dibuat. Anda boleh menggunakan Filezilla untuk memindahkan sejumlah besar fail dengan cepat dan mudah (lihat gambar).
Jam Masa Sebenar
Memandangkan jam dalaman Pi akan melayang dengan ketara jika tidak ada sambungan ke internet, modul jam masa nyata (RTC) akan diperlukan jika penjadualan masa yang tepat diperlukan. Salah satu modul tersebut adalah RasClock, arahan pemasangan boleh didapati di sini. Jam berasaskan i2c lain juga tersedia (iaitu DS3231)
Kesimpulannya
Sekiranya semuanya berjalan dengan betul, kini anda harus mempunyai datalogger Pi Zero yang berfungsi! Contoh skrip pembalakan python disertakan dalam langkah seterusnya.
Langkah 8: Contoh Skrip Log Python
import os
import siri dari waktu import time dari datetime import datetime import numpy sebagai np ser = serial. Serial (port = 'COM4', baudrate = 57600, timeout = 5) direktori = r '\ var / www / html / data / anemometer / WMPro1352_ 'ser.flushInput () ser.flushOutput () cubalah: while True: day_timestring = datetime.strftime (datetime.now (),'% Y% m% d ') file_today = direktori + day_timestring +'.dat '#Baca data dan segera dapatkan garis masa = ser.readline (). decode ('utf-8') nowtime = datetime.strftime (datetime.now (), '% Y-% m-% d% H:% M:% S.% f ') line = line.split (', ') try: u = float (line [1]) kecuali: u = np.nan cuba: v = float (garisan [2]) kecuali: v = np.nan cuba: w = terapung (garisan [3]) kecuali: w = np.nan cuba: c = terapung (garis [5]) kecuali: c = np.nan Ts = 1/403 * c ** 2 - 273.15 cuba: Ta = float (baris [8]) kecuali: Ta = np.nan if (os.path.isfile (file_today)): dengan terbuka (file_today, 'a') sebagai fileobject: fileobject.write (nowtime + ',') fileobject.write (str (u) + ',' + str (v) + ',' + str (w) + ',' + str (c) + ',' + str (Ts) + ',' + str (Ta) + '\ n') fileobject.clos e () lain: dengan terbuka (file_today, 'w') sebagai fileobject: fileobject.write ('"Time", "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 () kecuali KeyboardInterrupt: ser.close ()
Disyorkan:
Astrofotografi Dengan Raspberry Pi Zero .: 11 Langkah (dengan Gambar)
Astrophotography Dengan Raspberry Pi Zero .: Saya telah membuat dua projek kamera berasaskan Raspberry Pi yang lain sebelum [1] [2]. Ini, idea kamera ketiga saya, adalah projek Raspberry Pi Zero pertama saya. Ini juga merupakan lawatan pertama saya di Astrophotography! Didorong oleh 'Supermoon' baru-baru ini saya mahu mendapatkan abang saya
Buat Pencahayaan Suasana Sendiri Dengan Raspberry Pi Zero: 5 Langkah (dengan Gambar)
Buat Pencahayaan Suasana Sendiri Dengan Raspberry Pi Zero: Dalam projek ini saya akan menunjukkan kepada anda cara menggabungkan Raspberry Pi Zero dengan beberapa bahagian pelengkap untuk menambahkan kesan pencahayaan ambien ke TV anda yang meningkatkan pengalaman menonton. Mari kita mulakan
Alaska Datalogger: 5 Langkah (dengan Gambar)
Alaska Datalogger: Alaska berada dalam kemajuan kemajuan iklim. Kedudukannya yang unik mempunyai lanskap yang cukup tersentuh dengan berbagai kenari lombong arang batu memungkinkan banyak kemungkinan penyelidikan. Rakan kami Monty adalah Ahli Arkeologi yang membantu
Arduino Datalogger: 8 Langkah (dengan Gambar)
Arduino Datalogger: Dalam tutorial ini, kita akan membuat logger data mudah menggunakan Arduino. Intinya adalah mempelajari asas-asas menggunakan Arduino untuk menangkap maklumat dan mencetak ke terminal. Kita boleh menggunakan persediaan asas ini untuk menyelesaikan pelbagai tugas. Untuk memulakan
Titik Akses Wifi Raspberry Pi Zero Dengan Antena PCB Custom: 6 Langkah (dengan Gambar)
Titik Akses Raspberry Pi Zero Wifi Dengan Antena PCB Custom: Apa yang kita buat? Tajuk tutorial ini mempunyai banyak istilah teknikal di dalamnya. Mari memecahkannya. Apa itu Raspberry Pi Zero (Rπ0)? Raspberry Pi Zero adalah komputer kecil. Ia adalah versi komputer papan tunggal Raspberry Pi yang lebih kecil