Isi kandungan:
- Bekalan
- Langkah 1: Persediaan Pi Raspberry
- Langkah 2: Membuat Sambungan dan Menghubungkan Tanpa Wayar ke Rangkaian Setempat Anda
- Langkah 3: Sensor DS18B20 (suhu) - 1-wayar
- Langkah 4: MCP3008 - Sensing Analog
- Langkah 5: Perkakasan
- Langkah 6: Membuat Pangkalan Data Mariadb
- Langkah 7: Kod dan Ujian Github
- Langkah 8: Jalankan Kod pada Boot Up
- Langkah 9: Siapkan Laman Web
- Langkah 10: Pilihan - Prototaip Miniatur
Video: Projek Sensor Gas - Air: 10 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
Karbon monoksida dan karbon dioksida, juga dikenal sebagai CO dan CO2. Gas yang tidak berwarna, tidak berbau, tanpa rasa dan terus terang berbahaya ketika berada dalam kepekatan tinggi di bilik tertutup. Sekiranya anda tinggal katakan misalnya di bilik pelajar yang sangat terpencil, tidak ada aliran udara yang baik dan untuk sebab tertentu, pembakar roti membuat bunyi pelik semasa membuat roti bakar. Kemudian anda mungkin bersentuhan dengan gas ini dan apabila itu berlaku, harap harap hanya berakhir dengan sakit kepala yang kecil, kerana dalam konsentrasi tinggi ia mungkin tidak mampu atau bahkan membunuh anda (walaupun jarang sekali).
Oleh itu, saya memutuskan untuk membuat projek ini. Idea saya mudah, gunakan peminat untuk membuat aliran udara. Udara yang baik masuk dan udara yang buruk sehingga boleh dikatakan. Untuk utiliti tambahan, saya menambahkan sensor suhu tambahan, butang untuk peminat pengaktifan manual dan juga laman web untuk mereka yang suka melihat statistik dan / atau mengaktifkan kipas dari komputer mereka.
Sebagai pelajar, ibu bapa, orang bujang atau makhluk hidup. Ini adalah perkara yang biasanya anda hindari ketika tinggal di rumah anda sendiri. Ini membantu mereka yang suka menjadikan hidup mereka lebih mudah.
Bekalan
- Raspberry Pi 3+
- Pengecas mini-usb 5V / 2.5A
- Kad mikro-sd
-
Sensor
- MQ-7 (CO)
- MQ-135 (CO2)
- DS18B20 (suhu)
- Kipas DC 2 x 12V
- Transistor 2 x 2n2222
- Paparan LCD 16 * 2
- Tekan butang
- MCP3008
- Penukar tahap Logi
- Kabel Ethernet (untuk alasan persediaan)
Langkah 1: Persediaan Pi Raspberry
Sebelum bekerja dengan Rpi, kami memerlukan beberapa perisian.
- WinSCP atau FilleZilla (pilihan jika anda mahu memindahkan fail dari komputer anda ke Rpi)
- Cakera Win32 atau Etcher (yang lebih anda sukai)
- Putty atau MobaXterm (yang lebih anda sukai)
- Imej raspbian dengan desktop
Sebelum saya memulakan, saya ingin menyebutkan bahawa semasa membuat tutorial ini, ketika saya memilih program daripada yang lain, TIDAK bermaksud saya mengesyorkannya. Contohnya saya suka menggunakan etcher kerana lebih mesra pengguna tetapi Win32 mempunyai pilihan untuk membuat sandaran. Sekarang sudah keluar dari sistem saya, mari kita mulakan.
Sekiranya anda sudah memiliki Rpi yang tersambung ke rangkaian wifi anda, lompat ke langkah 3.
Mula-mula kita akan menggunakan Etcher untuk meletakkan gambar Raspbian pada kad sd anda. Sekarang sebelum kita mengeluarkan kad sd, kita akan menukar beberapa "barang" dalam fail cmdline.txt, yang terdapat dalam gambar. Buka fail.txt -> Tambahkan baris ini "ip = 169.254.10.1" (tiada tanda petik) di hujung baris (semua ada pada 1 baris) -> Simpan fail
Kedua buat folder kosong yang disebut "ssh" di partition boot (tanpa tanda petik).
Selepas itu anda boleh mengeluarkan Microsd dengan selamat dan memasukkannya ke dalam Rpi.
Sebab IP statik berkod keras adalah untuk memudahkan penyambungan ke Rpi. Sekiranya atas sebab tertentu Rpi tidak memiliki ip dengan DHCP maka anda dengan mudah menggunakan ip statis.
Langkah 2: Membuat Sambungan dan Menghubungkan Tanpa Wayar ke Rangkaian Setempat Anda
Kami akan menaikkan Rpi -> sambungkan kabel ethernet antara komputer dan Rpi.
-
Mulakan Putty dan isikan ini:
- Nama Hos (atau alamat IP): 169.254.10.1
- Pelabuhan: 22
-
Terminal muncul dan anda memasukkan nama pengguna & kata laluan lalai:
- Nama pengguna: pi
- Kata Laluan: raspberry
Sekarang kami dihubungkan secara tempatan ke rpi, kami ingin Rpi mempunyai sambungan ke wifi anda.
- Tambahan: taipkan "sudo raspi-config"
- Di sini anda perlu menukar kata laluan untuk pengguna pi (alasan keselamatan)
- Selepas itu pergi ke Pilihan Penyetempatan -> Ubah Waktu (pilih yang betul) -> Kemudian pergi ke Negara Wifi -> pilih negara.
- Tutup raspi-config dan but semula.
- Semasa log masuk, buat sementara diri anda sebagai pengguna root -> sudo -i
-
Tulis perintah ini untuk menambahkan rangkaian anda ke Rpi (kod di bawah senarai)
- kata laluan = "kata laluan" (dengan tanda petik)
- Rangkaian nama = "SSID"
- Ingatlah untuk menggunakan dua kali ganda >>! Penting!
gema "kata laluan" | wpa_passphrase "SSID" >> /etc/wpa_supplicant/wpa_supplicant.conf
Sekarang but semula
Semasa menyambung semula, periksa ip anda dengan menaip:
ifconfig
dan periksa wlan0, di sebelah inet.
Sekarang kita mempunyai sambungan internet, mari lakukan kemas kini "cepat".
sudo apt kemas kini
sudo apt dist-upgrade -y
Ini mungkin memerlukan sedikit masa.
Langkah 3: Sensor DS18B20 (suhu) - 1-wayar
Dengan setiap projek, selalu ada sesuatu yang istimewa yang harus dilakukan atau tidak akan berfungsi sebentar.
Kali ini kita memilikinya dengan sensor suhu DS18B20 yang memerlukan 1 wayar yang saya tidak akan jelaskan mengapa tetapi saya akan menerangkan bagaimana membuatnya berfungsi sekurang-kurangnya.
Untuk ini kita harus kembali ke raspi-config pada Rpi, layar biru yang bagus.
- Pergi ke pilihan Interfacing
- Pilih 1-Wire dan pilih aktifkan.
Selesai…
Hanya bergurau.
Sekarang kita perlu menyesuaikan /boot/config.txt
sudo nano /boot/config.txt
Tambahkan baris ini di bahagian bawah.
# Aktifkan onewire
dtoverlay = w1-gpio
Sekarang sudo reboot perkara itu dan sekarang kita sudah selesai.
Untuk memeriksa sama ada ia berfungsi, sambungkan sensor ke Rpi kemudian kembali ke terminal dan ketik kod ini (Lihat langkah seterusnya Perkakasan cara menyambungkan sensor suhu).
cd / sys / bus / w1 / devices / w1_bus_master1
ls
Anda harus melihat sesuatu dengan nombor dan huruf dengan warna biru tua di kiri atas, pastikan untuk menulis maklumat ini kemudian apabila kami akan menggunakan kod dari github.
Sekiranya atas sebab tertentu ia tidak berfungsi, periksa pautan ini yang masuk ke dalamnya.
Langkah 4: MCP3008 - Sensing Analog
Semasa kami melakukan perubahan untuk sensor suhu, kami juga perlu melakukan beberapa perubahan untuk sensor lain kerana mereka perlu membaca dalam data analog. Di mana MCP3008 sangat berguna, kita juga perlu menukar antara muka SPI.
sudo raspi-config
Pergi ke Pilihan Antaramuka -> Pilih SPI -> aktifkan.
Kemudian Selesaikan.
Langkah 5: Perkakasan
Kami belum selesai sepenuhnya dengan Rpi tetapi cukup sehingga kita dapat mulai membangun dan menyatukan perkakasan.
Beberapa nasihat adalah memeriksa hubungan anda dengan teliti ketika membangun untuk memastikan anda tidak… meletupkan Rpi.
Selain itu, dalam Skema anda akan melihat beberapa komponen ada padanya hanya sekali walaupun kita akan bekerjasama dengan lebih daripada 1 komponen yang sama. Ini hanya bermaksud bahawa anda harus mengulangi proses membina 1 komponen yang sama. Terdapat 1 pengecualian kecil, sensor mq-x tidak memerlukan penukar tahap tambahan atau MCP3008. Cukup tambahkan kabel hijau tambahan (dalam pdf) ke level converter dan MCP3008.
Pengeditan tambahan: Peminat perlu menggunakan transistor sebagai suis. Saya menggunakan transistor 2n2222A untuk 1 kipas, kerana 2 kipas mungkin beban berat.
Sekiranya anda mempunyai transistor yang dapat menangani arus yang lebih besar dan bagus, lewati bahagian terakhir langkah ini.
Sekiranya anda tidak mempunyai satu seperti saya, maka anda perlu melakukannya seperti ini, 1 kipas = 1 transistor, 2 kipas = 2 transistor, dan sebagainya (setiap kipas itu sendiri transistor + dioda seperti dalam pdf).
Anda juga perlu menambahkan beberapa kod ke app.py di backend_project kemudian di Langkah 7: Git code….
Langkah 6: Membuat Pangkalan Data Mariadb
Sesuai dengan tajuknya, kita akan membuat pangkalan data sehingga kita mempunyai tempat untuk menyimpan data sensor kita.
Perkara pertama, muat turun Mariadb dengan harga Rpi.
sudo apt-get pasang mariadb-server
Selepas pemasangan, mari gunakannya.
root mysql -u
Kata laluan kosong, jadi tidak perlu ditaip. Tekan enter.
Mari buat pengguna sekarang.
BUAT PENGGUNA 'pengguna' @ '%' DIKENALI OLEH 'penggunadb';
MEMBERIKAN SEMUA KEISTIMEWAAN PADA *. * KEPADA 'pengguna' @ '%' DENGAN PILIHAN GRANT;
KEISTIMEWAAN FLUSH;
Tekan Ctrl + C untuk keluar dan mulakan semula perkhidmatan dengan pantas:
perkhidmatan sudo mulakan semula mysql
Log masuk dengan nama pengguna: pengguna & kata laluan: userdb:
mysql -u pengguna -p
Masa untuk membuat pangkalan data sekarang.
BUAT DATABASE projek_db SET KARAKTER DEFAULT utf8;
GUNAKAN projek_db
Buat jadual "historiek" (bermaksud sejarah).
BUAT JADUAL JIKA TIDAK ADA `historiek` (` id` INT BUKAN 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, pangkalan data dibuat.
Langkah 7: Kod dan Ujian Github
Kami hampir menjelang akhir projek kami.
Sebelum kita mendapatkan kodnya, kita perlu mengimport beberapa modul ke dalam Rpi:
pip3 pasang Flask_MySQL
pip3 memasang flask-socketio
memasang pip3 -U flask-cors
pip3 pasang spidev
Sekarang kita memerlukan kod untuk membuatnya berfungsi, ketik terminal:
git klon
Periksa sama ada folder ada dengan:
ls
Sekarang anda memerlukan 2 terminal sehingga sangat berguna untuk mengklik kanan terminal dan klik sesi pendua:
Pergi ke backend_project dan suhu menggunakan arahan cd.
Sekarang sebelum kita memulakan program untuk tujuan ujian. Adakah anda masih ingat Langkah 3 dengan sensor 1 wayar di mana anda perlu menuliskan beberapa nombor? Jangan risau jika ada, hanya sekejap melihat langkah 3 lagi.
Kami akan menambahkan nombor ini ke kod kerana perlu mengetahui sensor yang betul semasa menggunakannya.
Terminal dengan folder suhu, anda akan menemui app.py. Kami akan membukanya.
sudo nano app.py
Cari fungsi yang disebut "def temperatuur ():", di sana anda harus mengganti "**" dengan nombor yang anda tulis. Dalam kes saya, saya akan mendapatkan baris kod ini (setiap nombor adalah unik).
sensor_file_name = '/ sys / devices / w1_bus_master1 / 28-0316a4be59ff / w1_slave
Masa ujian. Kedua-dua terminal di kedua folder backend_project dan suhu, taip:
python3 app.py
Sekarang ingat langkah 5: perkakasan di mana anda perlu menambahkan kod jika anda menggunakan banyak peminat dan transistor?
Bagus, jika tidak kembali ke langkah 5.
Sekarang kita perlu menambahkan kod seperti yang saya sebutkan pada app.py di backend_project. Untuk menjadikannya lebih mudah, saya membuat contoh ini dalam kod. Setiap baris kod komen yang mempunyai "fan1" di dalamnya, melepaskan baris dan voila, sekarang anda boleh menggunakan 2 peminat.
Sekiranya anda ingin menggunakan lebih daripada 2 peminat sahaja, salin & tampal kod yang sama di bawahnya tetapi dengan nombor yang berbeza. Kelemahan ini adalah lebih banyak kerja peribadi untuk anda dan kurang gpio.pins tersedia. Tidak ada kelebihan untuk ini yang saya tahu.
Langkah 8: Jalankan Kod pada Boot Up
Kami mahu 2 skrip python ini berjalan pada saat Rpi kita naik dan sekiranya skrip itu hancur, ia harus dimulakan semula dengan sendirinya. Untuk melakukan ini, kami akan membuat 2 perkhidmatan.
Untuk melakukan ini, taip:
sudo nano /etc/systemd/system/temperature.service
Salin dan tampal ini untuk suhu. Perkhidmatan:
[Unit] Penerangan = Perkhidmatan Suhu Selepas = multi-user.target
[Perkhidmatan] Jenis = sederhana
ExecStart = / usr / bin / python3 /home/pi/Documents/nmct-s2-project-1-TheryBrian/temperature/app.py
StandardInput = tty-force
Mulakan semula = pada kegagalan
Mulakan semulaSec = 60an
[Pasang]
WantedBy = multi-user.target
Tutup dan buat lagi tetapi kemudian untuk perkhidmatan backend_project.service:
Teks terbuka pertama:
sudo nano /etc/systemd/system/backend_project.service
Kemudian salin dan tampal sekali lagi:
[Unit] Penerangan = Perkhidmatan backend_project
Selepas = multi-user.target
[Perkhidmatan]
Jenis = sederhana
ExecStart = / usr / bin / python3 /home/pi/Documents/nmct-s2-project-1-TheryBrian/backend_project/app.py
StandardInput = tty-force
Mulakan semula = pada kegagalan
Mulakan semulaSec = 60an
[Pasang]
WantedBy = multi-user.target
Simpan dan tutup.
Bahagian terakhir ialah menaip ini:
sudo systemctl daemon-tambah nilai
sudo systemctl aktifkan suhu. servis rebo sudo
Sekarang skrip 2 python kami akan berjalan secara automatik semasa boot.
Langkah 9: Siapkan Laman Web
Semasa anda memuat turun repositori, anda juga semestinya mendapat folder bernama depan. Di sinilah kandungannya untuk laman web.
Mula-mula kita memerlukan apache sebelum kita dapat menggunakan folder. Ikuti panduan di pautan ini untuk apache.
Apabila anda sudah bersedia. Pergi ke tempat folder depan berada:
cd / Dokumen / nmct-s2-projek-1-TheryBrian
Kemudian taip:
sudo mv depan / var / www / html
Setelah selesai, pergi ke folder html, bersiaplah untuk melakukan kerja yang membosankan (salah saya).
cd / var / www / html /
kemudian masuk ke folder depan dan mula memindahkan semuanya ke folder html.
contoh:
sudo mv css / var / www / html
Kemudian padamkan folder depan.
Dan kita selesai dengan segalanya.
Semoga berjaya:).
Langkah 10: Pilihan - Prototaip Miniatur
Atas sebab pengujian saya membuat prototaip hanya kotak dengan semua perkakasan di dalamnya sehingga saya dapat melihat apakah setiap perkara berfungsi mengikut pesanan.
Biasanya projek ini akan dilakukan pada skala yang lebih besar. Contohnya: bilik, rumah, kilang, kedai dan sebagainya …
Tetapi jelas sebelum kita mula membuat lubang di dinding (sajak yang bagus). Kami pertama kali ingin melihat apakah ia berfungsi. Anda sebenarnya tidak perlu membuat kotak untuk diuji, tetapi selalu menyenangkan untuk membuat beberapa kerajinan.
Inilah contoh saya.
Disyorkan:
Sensor Gas Antaramuka Dengan Arduino: 4 Langkah
Sensor Gas Interfacing Dengan Arduino: Sensor asap MQ-2 sensitif terhadap asap dan gas mudah terbakar berikut: LPG, Butana, Propana, Metana, Alkohol, Hidrogen. Rintangan sensor berbeza bergantung pada jenis gas. Sensor asap mempunyai potensiometer terbina dalam
Cara Membuat RADAR Menggunakan Arduino untuk Projek Sains - Projek Arduino Terbaik: 5 Langkah
Cara Membuat RADAR Menggunakan Arduino untuk Projek Sains | Projek Arduino Terbaik: Hai rakan-rakan, dalam pengajaran ini saya akan menunjukkan kepada anda bagaimana membuat sistem radar yang menakjubkan yang dibina menggunakan arduino nano projek ini sangat sesuai untuk projek sains dan anda boleh membuatnya dengan pelaburan dan peluang yang sangat rendah jika memenangi hadiah adalah bagus untuk
10 Projek Arduino Asas untuk Pemula! Buat sekurang-kurangnya 15 Projek Dengan Papan Tunggal !: 6 Langkah
10 Projek Arduino Asas untuk Pemula! Buat sekurang-kurangnya 15 Projek Dengan Papan Tunggal !: Projek Arduino & Lembaga Tutorial; Termasuk 10 projek asas Arduino. Semua kod sumber, fail Gerber dan banyak lagi. Tiada SMD! Pematerian mudah untuk semua orang. Komponen yang mudah ditanggalkan dan diganti. Anda boleh membuat sekurang-kurangnya 15 projek dengan satu
Siapa di Pintu Saya? Projek PIR Motion Sensor / Range Sensor: 5 Langkah
Siapa di Pintu Saya? Projek PIR Motion Sensor / Range Sensor: Projek kami bertujuan untuk merasakan gerakan melalui PIR dan sensor jarak. Kod Arduino akan mengeluarkan isyarat visual dan audio untuk memberitahu pengguna seseorang yang dekat dengannya. Kod MATLAB akan menghantar isyarat e-mel untuk memberitahu pengguna bahawa ada orang yang dekat. Peranti ini
Pembakar Bertenaga USB! Projek ini Boleh Membakar Melalui Plastik / Kayu / Kertas (Projek yang menyeronokkan Juga Harus Kayu Sangat Baik): 3 Langkah
Pembakar Bertenaga USB! Projek ini Boleh Membakar Melalui Plastik / Kayu / Kertas (Projek yang Menyeronokkan Juga Harus Kayu Sangat Baik): JANGAN JADIKAN MENGGUNAKAN USB INI !!!! saya mendapat tahu bahawa ia boleh merosakkan komputer anda dari semua komen. komputer saya baik-baik saja. Gunakan pengecas telefon 600ma 5v. Saya menggunakan ini dan berfungsi dengan baik dan tidak ada yang boleh rosak jika anda menggunakan palam keselamatan untuk menghentikan kuasa