Daftar Isi:
- Perlengkapan
- Langkah 1: Pengaturan Raspberry Pi
- Langkah 2: Membuat Koneksi dan Menghubungkan Rpi Wireless ke Jaringan Lokal Anda
- Langkah 3: Sensor DS18B20 (suhu) -- 1-kawat
- Langkah 4: MCP3008 - Penginderaan Analog
- Langkah 5: Perangkat Keras
- Langkah 6: Membuat Basis Data Mariadb
- Langkah 7: Kode dan Pengujian Github
- Langkah 8: Jalankan Kode saat Booting
- Langkah 9: Siapkan Situs Web
- Langkah 10: Opsional - Prototipe Miniatur
Video: Proyek Sensor Udara - Gas: 10 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
Karbon monoksida dan karbon dioksida, juga dikenal sebagai CO dan CO2. Gas yang tidak berwarna, tidak berbau, tidak berasa dan terus terang berbahaya bila dalam konsentrasi tinggi di ruangan tertutup. Jika Anda tinggal misalnya di ruang siswa yang sangat terisolasi, tidak ada aliran udara yang baik dan untuk beberapa alasan, pemanggang roti mengeluarkan suara aneh saat membuat roti panggang. Kemudian Anda mungkin bersentuhan dengan gas-gas ini dan ketika itu terjadi, mari berharap itu hanya berakhir dengan sakit kepala ringan, karena dalam konsentrasi tinggi mungkin melumpuhkan atau bahkan membunuh Anda (walaupun sangat jarang).
Jadi saya memutuskan untuk membuat proyek ini. Ide saya sederhana, gunakan kipas angin untuk membuat aliran udara. Udara yang baik masuk dan udara yang buruk keluar sehingga untuk berbicara. Untuk utilitas tambahan, saya menambahkan sensor suhu ekstra, tombol untuk kipas aktivasi manual dan juga situs web untuk mereka yang suka melihat statistik dan/atau mengaktifkan kipas dari komputer mereka.
Sebagai siswa, orang tua, orang lajang atau makhluk hidup. Ini adalah sesuatu yang biasanya ingin Anda hindari saat tinggal dalam kenyamanan rumah Anda sendiri. Ini membantu mereka yang suka membuat hidup mereka sedikit lebih mudah.
Perlengkapan
- Raspberry Pi 3+
- Pengisi daya mini-usb 5V / 2.5A
- Kartu micro-sd
-
Sensor
- MQ-7 (CO)
- MQ-135 (CO2)
- DS18B20 (suhu)
- 2x12V DC kipas angin
- 2x2n2222 transistor
- Layar LCD 16*2
- Tekan tombol
- MCP3008
- Konverter tingkat logika
- Kabel Ethernet (untuk alasan pengaturan)
Langkah 1: Pengaturan Raspberry Pi
Sebelum bekerja dengan Rpi, kita memerlukan beberapa perangkat lunak.
- WinSCP atau FilleZilla (opsional jika Anda ingin mentransfer file dari komputer Anda ke Rpi)
- Disk Win32 atau Etcher (yang lebih Anda sukai)
- Putty atau MobaXterm (yang lebih Anda sukai)
- Gambar raspbian dengan desktop
Sebelum saya mulai, saya ingin menyebutkan bahwa ketika membuat tutorial ini, ketika saya memilih sebuah program dari yang lain, BUKAN berarti saya merekomendasikannya. Misalnya saya suka menggunakan etcher karena lebih user friendly tetapi Win32 memiliki opsi untuk membuat backup. Sekarang di luar sistem saya, mari kita mulai.
Jika Anda sudah memiliki Rpi yang terhubung ke jaringan wifi Anda, lewati ke langkah 3.
Pertama kita akan menggunakan Etcher untuk meletakkan gambar Raspbian di kartu sd Anda. Sekarang sebelum kita mengeluarkan kartu sd, kita akan mengubah beberapa "barang" di file cmdline.txt, yang dapat ditemukan pada gambar. Buka file.txt -> Tambahkan baris ini "ip=169.254.10.1" (tanpa tanda kutip) di akhir baris (semua dalam 1 baris) -> Simpan file
Kedua, buat folder kosong bernama "ssh" di partisi boot (tanpa tanda kutip).
Setelah itu Anda dapat dengan aman mengeluarkan Microsd dan memasukkannya ke dalam Rpi.
Alasan untuk IP statis hard code adalah untuk memudahkan koneksi ke Rpi. Jika karena alasan tertentu Rpi tidak memiliki ip dengan DHCP maka Anda dengan mudah menggunakan ip statis.
Langkah 2: Membuat Koneksi dan Menghubungkan Rpi Wireless ke Jaringan Lokal Anda
Kita akan mem-boot Rpi -> sambungkan kabel ethernet antara komputer dan Rpi.
-
Mulai Putty dan isi ini:
- Nama Host (atau alamat IP): 169.254.10.1
- Pelabuhan: 22
-
Terminal muncul dan Anda mengetikkan nama pengguna & kata sandi default:
- Nama pengguna: pi
- Kata sandi: raspberry
Sekarang kami terhubung secara lokal ke rpi, kami ingin Rpi memiliki koneksi ke wifi Anda.
- Ekstra: ketik "Sudo raspi-config"
- Di sini Anda perlu mengubah kata sandi untuk pengguna pi (alasan keamanan)
- Setelah itu pergi ke Localization Options -> Change Time (pilih yang benar) -> Lalu pergi ke Wifi Country -> pilih country.
- Tutup raspi-config dan reboot.
- Saat masuk, buat sementara diri Anda pengguna root -> Sudo -i
-
Tulis perintah ini untuk menambahkan jaringan Anda ke Rpi (daftar kode di bawah)
- password = "password" (dengan tanda petik)
- Nama jaringan = "SSID"
- Ingatlah untuk menggunakan double >> !Penting!
gema "kata sandi" | wpa_passphrase "SSID" >> /etc/wpa_supplicant/wpa_supplicant.conf
Sekarang reboot lagi
Saat menghubungkan kembali, periksa ip Anda dengan mengetik:
ifconfig
dan periksa wlan0, di sebelah inet.
Sekarang kita memiliki koneksi internet, mari lakukan pembaruan "cepat".
sudo apt update
sudo apt dist-upgrade -y
Ini mungkin memakan waktu.
Langkah 3: Sensor DS18B20 (suhu) -- 1-kawat
Dengan setiap proyek, akan selalu ada sesuatu yang istimewa yang harus dilakukan atau tidak akan berhasil saat itu.
Kali ini kita memilikinya dengan sensor suhu DS18B20 yang membutuhkan 1-kawat yang tidak akan saya jelaskan mengapa tetapi saya akan menjelaskan bagaimana membuatnya bekerja setidaknya.
Untuk ini kita harus kembali ke raspi-config pada Rpi, layar biru yang bagus.
- Buka opsi Antarmuka
- Pilih 1-Wire dan pilih aktifkan.
Selesai…
Hanya bercanda.
Sekarang kita perlu menyesuaikan /boot/config.txt
sudo nano /boot/config.txt
Tambahkan baris ini di bagian bawah.
# Aktifkan onewire
dtoverlay=w1-gpio
Sekarang sudo reboot hal itu dan sekarang kita selesai.
Untuk memeriksa apakah berfungsi, sambungkan sensor ke Rpi lalu kembali ke terminal dan ketik kode ini (Lihat langkah berikutnya Perangkat Keras tentang cara menghubungkan sensor suhu).
cd /sys/bus/w1/devices/w1_bus_master1
ls
Anda akan melihat sesuatu dengan angka dan huruf berwarna biru tua di kiri atas, pastikan untuk menulis informasi ini untuk nanti ketika kita akan bekerja dengan kode dari github.
Jika karena alasan tertentu tidak berhasil, periksa tautan ini yang masuk lebih dalam.
Langkah 4: MCP3008 - Penginderaan Analog
Saat kami melakukan perubahan untuk sensor suhu, kami juga perlu melakukan beberapa perubahan untuk sensor lainnya karena kami perlu membaca data analog. Di sinilah MCP3008 berguna, kita juga perlu mengubah antarmuka SPI.
sudo raspi-config
Buka Opsi Antarmuka -> Pilih SPI -> aktifkan.
Kemudian Selesai.
Langkah 5: Perangkat Keras
Kami belum sepenuhnya selesai dengan Rpi tetapi cukup sehingga kami dapat mulai membangun dan memasang perangkat keras bersama-sama.
Beberapa saran adalah untuk memeriksa koneksi Anda secara menyeluruh saat membangun untuk memastikan Anda tidak … meledakkan Rpi.
Juga, dalam Skema Anda akan melihat beberapa komponen hanya ada sekali meskipun kita akan bekerja dengan lebih dari 1 komponen yang sama. Itu hanya berarti Anda harus mengulangi proses yang sama untuk membangun 1 komponen itu. Ada 1 pengecualian kecil, sensor mq-x tidak memerlukan konverter level tambahan atau MCP3008. Cukup tambahkan kabel hijau ekstra (dalam pdf) ke konverter level dan MCP3008.
Suntingan tambahan: Kipas perlu menggunakan transistor sebagai sakelar. Saya menggunakan transistor 2n2222A untuk 1 fan, karena 2 fan mungkin akan menjadi beban yang berat.
Jika Anda memiliki transistor yang dapat menangani arus yang lebih besar, lewati bagian terakhir dari langkah ini.
Jika Anda tidak memiliki yang seperti saya, maka Anda harus melakukannya seperti ini, 1 kipas = 1 transistor, 2 kipas = 2 transistor, dan seterusnya (setiap kipas memiliki transistor + dioda sendiri seperti dalam pdf).
Anda juga perlu menambahkan beberapa kode ke app.py di backend_project nanti di Langkah 7: Kode Git….
Langkah 6: Membuat Basis Data Mariadb
Sesuai dengan judulnya, kita akan membuat database sehingga kita memiliki tempat untuk menyimpan data sensor kita.
Pertama-tama, unduh Mariadb di Rpi.
sudo apt-get install mariadb-server
Setelah instalasi, mari kita gunakan.
mysql -u root
Kata sandi kosong, jadi tidak ada yang perlu diketik. Tekan enter.
Mari buat pengguna sekarang.
BUAT PENGGUNA 'user'@'%' DIIDENTIFIKASI OLEH 'userdb';
HIBAH SEMUA HAK ISTIMEWA DI *.* KEPADA 'pengguna'@'%' DENGAN PILIHAN HIBAH;
HAK ISTIMEWA;
Tekan Ctrl + C untuk keluar dan lakukan restart cepat layanan:
layanan sudo mysql restart
Login dengan nama pengguna: pengguna & kata sandi: userdb:
mysql -u pengguna -p
Saatnya membuat database sekarang.
BUAT DATABASE project_db DEFAULT CHARACTER SET utf8;
GUNAKAN project_db
Buat tabel "historiek" (artinya sejarah).
BUAT TABEL JIKA TIDAK ADA `historiek` (`id` INT NOT NULL AUTO_INCREMENT, `sensorID` VARCHAR(5) NOT NULL, `datum` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, `waarde` FLOAT(4) NULL DEFAULT 0, PRIMARY KEY (`id`)) ENGINE = InnoDB;
Dan voila, database dibuat.
Langkah 7: Kode dan Pengujian Github
Kami semakin dekat dengan akhir proyek kami.
Sebelum kita mendapatkan kodenya, kita perlu mengimpor beberapa modul ke dalam Rpi:
pip3 menginstal Flask_MySQL
pip3 menginstal flask-socketio
pip3 install -U flask-cors
pip3 instal spidev
Sekarang kita membutuhkan kode untuk membuatnya bekerja, ketik terminal:
git clone
Periksa apakah folder itu ada di sana dengan:
ls
Sekarang Anda akan membutuhkan 2 terminal sehingga mudah untuk mengklik kanan terminal dan klik Duplikat sesi:
Pergi ke backend_project dan temperatur menggunakan perintah cd.
Sekarang sebelum kita memulai program untuk tujuan pengujian. Apakah Anda masih ingat Langkah 3 dengan sensor 1-kawat di mana Anda perlu menuliskan beberapa angka? Jangan khawatir jika sudah, lihat saja langkah 3 lagi.
Kami akan menambahkan angka-angka ini ke kode karena perlu mengetahui sensor yang benar saat menggunakannya.
Terminal dengan folder suhu, Anda akan menemukan app.py. Kami akan membukanya.
sudo nano app.py
Cari fungsi yang disebut "def temperatuur():", di sana Anda harus mengganti "**" dengan angka yang Anda tulis. Dalam kasus saya, saya akan mendapatkannya dengan baris kode ini (setiap nomor unik).
sensor_file_name = '/sys/devices/w1_bus_master1/28-0316a4be59ff/w1_slave
Waktu pengujian. Kedua terminal di folder backend_project dan suhu, ketik:
python3 app.py
Sekarang ingat langkah 5: perangkat keras di mana Anda perlu menambahkan kode jika Anda menggunakan banyak kipas dan transistor?
Bagus, jika tidak kembali ke langkah 5.
Sekarang kita perlu menambahkan kode seperti yang saya sebutkan ke app.py di backend_project. Untuk mempermudah, saya membuat contoh ini di kode. Setiap baris kode komentar yang memiliki "fan1" di dalamnya, batalkan komentar pada baris tersebut dan voila, sekarang Anda dapat menggunakan 2 kipas.
Jika Anda ingin menggunakan lebih dari 2 kipas, salin & tempel kode yang sama di bawahnya tetapi dengan nomor yang berbeda. Kerugian dari ini adalah lebih banyak pekerjaan pribadi untuk Anda dan lebih sedikit gpio.pin yang tersedia. Tidak ada keuntungan untuk ini yang saya tahu.
Langkah 8: Jalankan Kode saat Booting
Kami ingin 2 skrip python ini berjalan saat Rpi kami boot dan jika skrip macet, skrip harus dimulai ulang dengan sendirinya. Untuk melakukan ini kita akan membuat 2 layanan.
Untuk melakukan ini, ketik:
sudo nano /etc/systemd/system/temperature.service
Salin dan tempel ini untuk temperature.service:
[Unit]Deskripsi=Layanan Suhu Setelah=multi-pengguna.target
[Layanan] Jenis = sederhana
ExecStart=/usr/bin/python3 /home/pi/Documents/nmct-s2-project-1-TheryBrian/temperature/app.py
StandarInput=tty-force
Mulai ulang = saat gagal
RestartSec=60s
[Install]
WantedBy=multi-pengguna.target
Tutup dan lakukan lagi tetapi kemudian untuk backend_project.service:
Teks terbuka pertama:
sudo nano /etc/systemd/system/backend_project.service
Kemudian salin dan tempel lagi:
[Unit]Deskripsi=Layanan proyek_backend
Setelah=multi-pengguna.target
[Melayani]
Jenis = sederhana
ExecStart=/usr/bin/python3 /home/pi/Documents/nmct-s2-project-1-TheryBrian/backend_project/app.py
StandarInput=tty-force
Mulai ulang = saat gagal
RestartSec=60s
[Install]
WantedBy=multi-pengguna.target
Simpan dan tutup.
Bagian terakhir adalah mengetik ini:
sudo systemctl daemon-reload
sudo systemctl aktifkan temperature.service sudo reboot
Sekarang 2 skrip python kami akan berjalan secara otomatis saat boot.
Langkah 9: Siapkan Situs Web
Saat Anda mengunduh repositori, Anda seharusnya juga mendapatkan folder bernama front. Di sinilah konten untuk situs web.
Pertama kita perlu apache sebelum kita dapat menggunakan folder. Ikuti panduan di tautan ini untuk Apache.
Ketika kamu siap. Pergi ke tempat folder depan berada:
cd /Documents/nmct-s2-project-1-TheryBrian
Kemudian ketik:
sudo mv depan /var/www/html
Setelah selesai, buka folder html, bersiaplah untuk beberapa pekerjaan yang membosankan (salah saya).
cd /var/www/html/
lalu masuk ke folder depan dan mulai pindahkan semuanya ke folder html.
contoh:
sudo mv css /var/www/html
Kemudian hapus folder depan.
Dan kita selesai dengan semuanya.
Semoga beruntung:).
Langkah 10: Opsional - Prototipe Miniatur
Untuk alasan pengujian, saya membuat prototipe hanya sebuah kotak dengan semua perangkat keras di dalamnya sehingga saya dapat melihat apakah semuanya berfungsi sesuai pesanan.
Biasanya proyek ini akan dilakukan dalam skala yang lebih besar. Misalnya: kamar, rumah, pabrik, toko, dan sebagainya…
Tapi jelas sebelum kita mulai membuat lubang di dinding (pantun yang bagus). Pertama-tama kami ingin melihat apakah itu berfungsi. Anda sebenarnya tidak perlu membuat kotak untuk pengujian, tetapi melakukan kerajinan selalu menyenangkan.
Berikut adalah contoh saya.
Direkomendasikan:
Cara Membuat RADAR Menggunakan Arduino untuk Proyek Sains - Proyek Arduino Terbaik: 5 Langkah
Cara Membuat RADAR Menggunakan Arduino untuk Proyek Sains | Proyek Arduino Terbaik: Hai teman-teman, dalam instruksi ini saya akan menunjukkan kepada Anda bagaimana membuat sistem radar luar biasa yang dibangun menggunakan arduino nano, proyek ini sangat ideal untuk proyek sains dan Anda dapat dengan mudah membuatnya dengan investasi dan peluang yang sangat sedikit jika memenangkan hadiah besar untuk
Deteksi Polusi Udara + Filtrasi Udara: 4 Langkah
Deteksi Polusi Udara + Filtrasi Udara: Para siswa (Aristobulus Lam, Victor Sim, Nathan Rosenzweig dan Declan Loges) dari German Swiss International School bekerja dengan staf MakerBay untuk menghasilkan sistem pengukuran polusi udara dan efektivitas penyaringan udara yang terintegrasi. Ini
10 Proyek Dasar Arduino untuk Pemula! Buat Setidaknya 15 Proyek Dengan Satu Papan!: 6 Langkah
10 Proyek Arduino Dasar untuk Pemula! Buat Setidaknya 15 Proyek Dengan Satu Papan!: Proyek Arduino & Papan Tutorial; Termasuk 10 proyek Arduino dasar. Semua kode sumber, file Gerber, dan lainnya. Tidak ada SMD! Solder mudah untuk semua orang. Komponen yang mudah dilepas dan diganti. Anda dapat membuat setidaknya 15 proyek dengan satu
Siapa di Pintuku? Proyek Sensor Gerak / Sensor Rentang PIR: 5 Langkah
Siapa di Pintuku? Proyek Sensor Gerak/Sensor Jarak PIR: Proyek kami bertujuan untuk merasakan gerakan melalui PIR dan sensor jarak. Kode Arduino akan mengeluarkan sinyal visual dan audio untuk memberi tahu pengguna bahwa ada seseorang yang dekat. Kode MATLAB akan mengirimkan sinyal email untuk memperingatkan pengguna bahwa ada seseorang yang dekat. Perangkat ini
Pembakar Bertenaga USB! Proyek Ini Dapat Membakar Melalui Plastik / Kayu / Kertas (Proyek yang menyenangkan Juga Harus Kayu yang Sangat Halus): 3 Langkah
Pembakar Bertenaga USB! Proyek Ini Dapat Membakar Plastik/ Kayu / Kertas (Proyek Menyenangkan Juga Harus Kayu Sangat Halus): JANGAN MEMBUAT INI MENGGUNAKAN USB!!!! saya menemukan bahwa itu dapat merusak komputer Anda dari semua komentar. komputer saya baik-baik saja tho. Gunakan pengisi daya telepon 600ma 5v. saya menggunakan ini dan berfungsi dengan baik dan tidak ada yang rusak jika Anda menggunakan steker pengaman untuk menghentikan daya