Daftar Isi:
- Langkah 1: Siapkan Pi Zero W
- Langkah 2: Hubungkan ke WiFi
- Langkah 3: Perbarui dan Instal Perangkat Lunak yang Diperlukan
- Langkah 4: Hubungkan ke Sensor (dalam Contoh Ini Arduino)
- Langkah 5: Siapkan Kemampuan Titik Akses WiFi
- Langkah 6: Beralih Antara Titik Akses Wifi dan Mode Klien
- Langkah 7: Catatan Akhir
- Langkah 8: Contoh Script Python Logging
Video: Raspberry Pi Zero W Datalogger: 8 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:58
Dengan menggunakan Raspberry Pi Zero W, Anda dapat membuat datalogger yang murah dan mudah digunakan, yang dapat terhubung ke jaringan wifi lokal, atau berfungsi sebagai titik akses di lapangan yang memungkinkan Anda mengunduh data secara nirkabel dengan smartphone Anda.
Saya mempresentasikan pengaturan ini di American Geophysical Union Fall Meeting 2017, sebagai cara untuk membuat pengaturan pencatat data Anda sendiri. Anda dapat menemukan presentasi itu di sini.
Apa yang Anda perlukan:
- Sebuah Raspberry Pi Nol W
- Kartu micro SD
- kabel USB atau catu daya USB
- Komputer dengan pembaca kartu USB
-
Opsional (tetapi bermanfaat):
- miniHDMI -> adaptor HDMI (untuk menghubungkan Pi ke layar)
- Adaptor USB OTG (untuk menghubungkan keyboard ke Pi
Langkah 1: Siapkan Pi Zero W
Untuk memulai, letakkan gambar Rasbian pada kartu microSD (dalam tutorial ini saya menggunakan 2017-07-05-raspbian-jessie-lite, tersedia di sini). Versi lite dapat digunakan (tanpa desktop) karena pengaturan akan dilakukan melalui baris perintah.
Masukkan kartu SD ke Pi, sambungkan layar dan keyboard, dan nyalakan dengan mencolokkan kabel daya. Pengaturan tanpa kepala juga dimungkinkan, tetapi akan membutuhkan koneksi melalui SSH.
Setelah Pi boot, login (nama pengguna default: pi, kata sandi: raspberry), dan ubah kata sandi dengan perintah "passwd".
Keyboard dapat dikonfigurasi dengan memasukkan "sudo raspi-config" di terminal.
Langkah 2: Hubungkan ke WiFi
Untuk terhubung ke internet, kami akan memberi tahu Pi jaringan mana yang harus terhubung. Mulailah dengan membuka file berikut;
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Di sini, tambahkan informasi jaringan di bagian bawah;
jaringan={
ssid="nama jaringan" psk="kata sandi jaringan" }
Dalam kasus jaringan perusahaan, Anda dapat menggunakan pengaturan berikut (sesuaikan WPA-EAP // TTLA // MSCHAPv2 ke pengaturan yang berlaku).
jaringan={
ssid="ssid" #Masukkan nama jaringan Anda key_mgmt=WPA-EAP eap=TTLS identity="xxxxx" #Masukkan kata sandi akun login Anda="xxxxx" #Masukkan passwork phase2="auth=MSCHAPv2" }
Simpan dengan menekan CTRL+O, dan keluar dengan CTRL+X.
Sekarang rujuk file konfigurasi Anda di /etc/network/interfaces
sudo nano /etc/network/interfaces
Ubah bagian wlan0 menjadi:
wlan otomatis0
iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Sekali lagi, simpan file (CTRL+O) lalu keluar (CTRL+X).
Setelah reboot (sudo reboot), koneksi wifi Anda akan berfungsi. Anda dapat menguji ini dengan melakukan ping ke situs web;
ping www.google.com
Batalkan ping dengan CTRL+C
Untuk terhubung ke Pi melalui SSH secara nirkabel, Anda harus mengaktifkan SSH:
sudo raspi-config
Arahkan ke "5 Interfacing Options", dan aktifkan SSH. Kemudian kembali dan keluar dari konfigurasi.
Cari alamat IP Pi:
ifconfig
IP akan berada di bawah "inet addr:" dari antarmuka wlan0.
Sekarang Anda dapat terhubung ke Pi melalui WiFi, jika Anda berada di jaringan yang sama. Unduh Putty (untuk windows), masukkan alamat IP yang Anda temukan di bawah "Nama Host", dan tekan "Buka". Setelah menerima peringatan, Anda sekarang dapat melihat baris perintah dan login.
Langkah 3: Perbarui dan Instal Perangkat Lunak yang Diperlukan
Setelah WiFi berfungsi, perbarui Pi dengan:
sudo apt-get update -y && sudo apt-get upgrade -y
Setelah pembaruan selesai (dapat memakan waktu cukup lama), instal perangkat lunak yang akan kita gunakan;
sudo apt-get install python3 python3-serial Apache2 -y
Langkah 4: Hubungkan ke Sensor (dalam Contoh Ini Arduino)
Hubungkan Arduino bersama dengan keyboard menggunakan hub USB, atau sambungkan Arduino melalui port USB tunggal, dan lakukan pengaturan dengan SSH melalui WiFi.
Untuk dapat mengakses port serial yang terhubung dengan Arduino, ada baiknya memberikan akses ke akun pi default. Karena Arduino biasanya ditetapkan ke port "/ dev/ttyACM0", gunakan perintah berikut untuk memberikan akses pengguna 'pi' ke port:
sudo chown pi: /dev/ttyACM0
Dengan asumsi, bahwa Arduino telah diatur untuk mengirim data melalui port serial, Anda dapat melihat data dengan python dengan cara berikut:
Buka python;
python3
Impor serial:
impor serial
Buka port com:
ser = serial. Serial(port = '/dev/ttyACM0', baudrate = 9600, batas waktu = 5)
Dimana baudrate Arduino diatur ke 9600 dalam hal ini.
Anda dapat membaca dan mencetak satu baris dengan menjalankan kode berikut:
ser.readline().decode('utf-8')
Jika berhasil, Anda dapat menutup koneksi dan keluar dari Python dengan:
ser.close()
keluar()
Langkah 5: Siapkan Kemampuan Titik Akses WiFi
Dengan mengatur Pi Zero W Anda dalam mode titik akses wifi, Anda dapat menghubungkannya dengan perangkat wifi apa pun. Ini memungkinkan pengaturan logger dan mengunduh data melalui wifi, tidak diperlukan kabel atau driver.
Untuk ini, Adafruit memiliki tutorial yang bagus. Beberapa komentar kecil:
- Untuk driver /etc/hostapd/hostapd.conf, gunakan jangan gunakan baris driver.
- Langkah "Perbarui hostapd" seharusnya tidak diperlukan.
Jika titik akses tidak berfungsi di akhir tutorial, coba reboot Pi (sudo reboot).
Langkah 6: Beralih Antara Titik Akses Wifi dan Mode Klien
Terkadang Anda ingin memperbarui perangkat lunak, atau menginstal perangkat lunak baru ke Raspberry Pi Anda, tetapi ini memerlukan koneksi internet. Untungnya beralih di antara keduanya sangat mudah.
Hubungkan ke Pi dengan SSH (melalui kabel, bukan wifi!). Mulailah dengan menghentikan layanan titik akses:
sudo cystemctl stop hostapd.service
sudo cystemctl stop isc-dhcp-server.service
Kemudian edit file antarmuka jaringan:
sudo nano /etc/network/interfaces
Di sini Anda harus mengomentari parameter hosting, dan menghapus komentar pada parameter koneksi jaringan. Ubah dari ini:
#-Parameter hosting:
allow-hotplug wlan0 iface wlan0 inet static address 192.168.42.1 netmask 255.255.255.0 #-Parameter jaringan (klien): #auto wlan0 # iface wlan0 inet dhcp # wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Untuk ini:
#-Parameter hosting:#allow-hotplug wlan0 #iface wlan0 inet static # address 192.168.42.1 # netmask 255.255.255.0 #-Parameter jaringan (klien): auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Simpan dan tutup file.
Selanjutnya Anda menjalankan perintah berikut:
sudo systemctl start wpa_supplicant.service
sudo ifdown wlan0 sudo ifup wlan0
Sekarang Pi Anda harus terhubung ke wifi lagi, memungkinkan Anda memperbarui dan menginstal perangkat lunak.
Untuk kembali ke mode titik akses, alihkan komentar di /etc/network/interfaces, dan reboot Pi.
Langkah 7: Catatan Akhir
Pengaturan situs web
Server apache terletak di /var/www/. Untuk mengubah halaman default, edit file /var/www/html/index.html.
Anda dapat membuat file di sini tersedia untuk diunduh melalui koneksi wifi, dengan menavigasi browser Anda ke alamat IP Pi (192.168.42.1). Perangkat berkemampuan wifi apa pun kemudian dapat mengunduhnya tanpa perangkat lunak tambahan apa pun.
koneksi SFTP
Melalui SSH, koneksi FTP dapat dibuat. Anda dapat menggunakan Filezilla untuk mentransfer file dalam jumlah besar dengan cepat dan mudah (lihat gambar).
Jam Waktu Nyata
Karena jam internal Pi akan melayang secara signifikan jika tidak ada koneksi ke internet, modul jam waktu nyata (RTC) akan diperlukan jika diperlukan ketepatan waktu yang akurat. Salah satu modul tersebut adalah RasClock, petunjuk instalasi dapat ditemukan di sini. Jam berbasis i2c lainnya juga tersedia (mis. DS3231)
Kesimpulan
Jika semuanya berjalan dengan benar, Anda sekarang harus memiliki datalogger Pi Zero yang berfungsi! Contoh skrip logging python disertakan dalam langkah berikutnya.
Langkah 8: Contoh Script Python Logging
impor os
import serial from time import time from datetime import datetime import numpy as np ser = serial. Serial(port = 'COM4', baudrate = 57600, timeout = 5) directory = r'\var\www\html\data\anemometer\WMPro1352_ ' ser.flushInput() ser.flushOutput() try: while True: day_timestring = datetime.strftime(datetime.now(), '%Y%m%d') file_today = directory + day_timestring + '.dat' #Read out data dan segera dapatkan garis waktu = 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 try: v = float(line[2]) kecuali: v = np.nan coba: w = float(baris[3]) kecuali: w = np.nan coba: c = float(baris[5]) kecuali: c = np.nan Ts = 1/403 * c**2 - 273,15 coba: Ta = float(line[8]) kecuali: Ta = np.nan if (os.path.isfile(file_today)): dengan open(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() else: dengan open(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()
Direkomendasikan:
Astrophotography Dengan Raspberry Pi Zero.: 11 Langkah (dengan Gambar)
Astrophotography Dengan Raspberry Pi Zero.: Saya telah membuat dua proyek kamera berbasis Raspberry Pi sebelumnya [1] [2]. Ini, ide kamera ketiga saya, adalah proyek Raspberry Pi Zero pertama saya. Ini juga pertama kalinya saya pergi ke Astrophotography! Didorong oleh 'Supermoon' baru-baru ini, saya ingin mendapatkan saudara laki-laki saya
Buat Pencahayaan Ambient Anda Sendiri Dengan Raspberry Pi Zero: 5 Langkah (dengan Gambar)
Buat Pencahayaan Ambient Anda Sendiri Dengan Raspberry Pi Zero: Dalam proyek ini saya akan menunjukkan cara menggabungkan Raspberry Pi Zero dengan beberapa bagian pelengkap untuk menambahkan efek pencahayaan sekitar ke TV Anda yang meningkatkan pengalaman menonton. Mari kita mulai
Alaska Datalogger: 5 Langkah (dengan Gambar)
Alaska Datalogger: Alaska berada di ambang kemajuan perubahan iklim. Posisinya yang unik memiliki lanskap yang cukup tak tersentuh yang diisi dengan berbagai kenari tambang batu bara memungkinkan banyak kemungkinan penelitian. Teman kami Monty adalah seorang Arkeolog yang membantu
Arduino Datalogger: 8 Langkah (dengan Gambar)
Arduino Datalogger: Dalam tutorial ini, kita akan membuat pencatat data sederhana menggunakan Arduino. Intinya adalah mempelajari dasar-dasar penggunaan Arduino untuk menangkap informasi dan mencetak ke terminal. Kita dapat menggunakan pengaturan dasar ini untuk menyelesaikan berbagai tugas. Untuk memulai
Titik Akses Wifi Raspberry Pi Zero Dengan Antena PCB Kustom: 6 Langkah (dengan Gambar)
Raspberry Pi Zero Wifi Access Point Dengan Antena PCB Kustom: Apa yang kita buat? Judul tutorial ini memiliki banyak istilah teknis di dalamnya. Mari kita hancurkan. Apa itu Raspberry Pi Zero (Rπ0)? Raspberry Pi Zero adalah komputer kecil. Ini adalah versi yang lebih kecil dari komputer papan tunggal Raspberry Pi