Daftar Isi:
- Perlengkapan
- Langkah 1: Perangkat Keras
- Langkah 2: Pengaturan Perangkat Lunak Raspberry Pi OS
- Langkah 3: Atur Dataplicity untuk Mengizinkan Akses Jarak Jauh
- Langkah 4: Periksa Sensornya
- Langkah 5: UFW Firewall
- Langkah 6: Mengirim Data Suhu Sebagai JSON
- Langkah 7: Kirim Data Dari Kedua Sensor
- Langkah 8: Mulai Otomatis
- Langkah 9: Tampilkan Data di Freeboard.io (1)
- Langkah 10: Tampilkan Data di Freeboard.io (2)
- Langkah 11: Bangun Proyek Menjadi Kotak
- Langkah 12: Selesai
Video: Server Data Suhu Ganda IoT: 12 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
Ini adalah upaya pertama saya untuk menulis Instructable dan jadi tolong santai saja! Jika menurut Anda ini tidak terlalu buruk, silakan pilih saya di Kontes Penulis Pertama Kali.
Ini adalah proyek Lock-Down saya untuk memantau 2 suhu dari jarak jauh di rumah kaca, satu di lantai dan satu di bawah atap. Meskipun saya telah menggunakan Raspberry Pi (RPi) sebelumnya, proyek ini melibatkan beberapa elemen yang belum pernah saya gunakan dan sepanjang jalan, saya menemukan beberapa tutorial yang ketinggalan zaman atau hanya salah. Ini adalah kumpulan pengetahuan saya untuk membuat monitor suhu jarak jauh ganda yang berfungsi dari Sensor Suhu Digital Pi Zero & 2 DS18B20+ One Wire yang diperoleh di sepanjang jalan.
Hal-hal yang saya pelajari tentang:
- Membuat data tersedia dari perangkat sebagai bagian dari Internet of Things (IoT)
- Antarmuka 1-Kawat dengan 2 perangkat
- Dataplisitas
- data JSON
- Menyiapkan firewall UFW
- Menggunakan Freeboard.io untuk menampilkan data
- Mengkonfigurasi RPi untuk menjalankan program secara otomatis
Ada sejumlah besar data yang dapat ditemukan dengan pencarian sederhana tentang semua topik ini, tetapi yang tidak begitu jelas adalah bagaimana menggabungkan semua elemen yang terpisah ini.
Perlengkapan
- Anda akan memerlukan Raspberry Pi (dengan monitor, mouse & keyboard untuk pengaturan tetapi tidak saat menjalankan proyek yang sudah selesai)
- Koneksi internet yang berfungsi.
- PSU dengan konektor Micro USB
- 2 dari Sensor Suhu Digital Satu Kawat DS18B20+. Saya menemukan Amazon adalah yang termurah
- Resistor 4K7 ohm atau saya menggunakan 2 resistor 10K ohm.
- Papan tempat memotong roti kecil dan beberapa kabel pria/wanita untuk pengujian di bangku
- Sepotong kecil stripboard untuk perakitan akhir
- Alat sederhana untuk menyolder dan mengupas kawat.
- Kotak plastik kecil untuk menampung desain yang sudah jadi
Langkah 1: Perangkat Keras
Saya sudah memiliki Raspberry Pi Zero W (dengan nirkabel) tetapi saya yakin proyek sederhana ini akan berjalan dengan baik di RPI mana pun. Kotak bit elektronik aneh di bengkel saya memiliki yang lainnya (papan tempat memotong roti, kawat, PSU dll) dan jadi yang harus saya beli hanyalah dua sensor 2 x DS18B20 dari Amazon. Ini adalah chip DS18B20 normal yang dipasang dengan nyaman di rumah tahan air dan kabel 3m. Ada 3 kabel dari kabel:
- Merah – daya – sambungkan ke pin 3.3v 1
- Hitam – kembali – sambungkan ke pin ground 6
- Kuning – data – sambungkan ke pin GPIO4 7
Sensor menggunakan antarmuka 1-Wire dan sangat mudah untuk disambungkan dan diperoleh datanya. Ada beberapa halaman di Web dengan rincian untuk koneksi 1 perangkat tetapi sangat sedikit untuk menghubungkan 2 (atau lebih).
Untuk pengujian di bangku, sirkuit dirakit menggunakan papan tempat memotong roti. Tutorial yang saya temukan menyatakan untuk menggunakan resistor 4K7 untuk membiaskan jalur data, tetapi saya tidak dapat menemukannya & jadi menggunakan 2* 10K secara paralel & berfungsi dengan baik. Ada banyak sumber daya di Web untuk menggunakan papan tempat memotong roti (breadboard) untuk merakit sirkuit RPi, jadi saya tidak akan mengulanginya di sini.
Diagram dibuat menggunakan Diagram Sirkuit
Langkah 2: Pengaturan Perangkat Lunak Raspberry Pi OS
Karena saya telah menggunakan RPi ini sebelumnya, saya memutuskan untuk memulai dengan instalasi OS yang bersih, saya memformat ulang kartu SD dan menginstal versi NOOBS yang bersih. Saya kemudian menginstal Raspian versi desktop lengkap (opsi teratas) karena ini juga akan menginstal PIP & GIT yang tidak dimiliki versi lite. Meskipun saya tidak memerlukan Graphical User Interface (GUI) untuk proyek ini, ini adalah cara mudah untuk mengatur semua opsi dan dengan kartu SD 16gb tidak ada kekurangan ruang.
Saya mengatur akses WI-FI kemudian menjalankan instalasi penuh & kemudian wizard dengan pembaruan & peningkatan dll. Menggunakan GUI, saya mengatur RPI sesuai kebutuhan hanya karena menggunakan GUI lebih sederhana daripada Command Line Interface (CLI). Saya pergi ke jendela konfigurasi dari menu dan kemudian:
- Pada tab sistem, saya mengubah kata sandi, mengatur untuk boot ke CLI dan menghapus centang Masuk Otomatis
- Pada tab antarmuka, saya mengaktifkan 1-kawat
- Diklik ok & boot ulang
Jika Anda perlu kembali ke GUI kapan saja, ketik saja startx di CLI
mulaix
Langkah 3: Atur Dataplicity untuk Mengizinkan Akses Jarak Jauh
Saya menemukan entri blog yang sangat membantu di situs Dataplicity di https://blog.dataplicity.com/how-to-build-a-raspb… dan menggunakan beberapa bagian ini. Bagian 3 dari blog menjelaskan pengaturan Dataplicity untuk akses jarak jauh ke RPi. Saya belum pernah menggunakan Dataplicity sebelumnya, tetapi saya harus mengatakan, saya sangat merekomendasikannya sebagai alat akses jarak jauh yang sangat sederhana. Meskipun tangkapan layar (di blog di atas) sedikit ketinggalan zaman, prinsipnya baik-baik saja.
Di PC Anda, buka Dataplicity.com dan buat akun (Anda bisa menggunakan browser di GUI, tetapi agak lambat di RPi Zero). Kemudian klik tombol "tambah perangkat baru" dan sederet kode ditampilkan di jendela pop-up. Lalu pergi ke CLI pada RPi dan ketik baris teks. Jika semua sudah oke maka akan muncul logo Dataplicity dan program install akan berjalan.
Kembali ke PC Anda, perangkat baru sekarang akan muncul di situs web Dataplicity. Klik perangkat dan Anda akan melihat layar terminal untuk RPi Anda.
Ada beberapa hal yang perlu diperhatikan di sini:
- Untuk masuk, ketik "su pi" (untuk akses pengguna super) dan Anda akan dimintai kata sandi (seperti yang telah diatur sebelumnya)
- Anda harus mengaktifkan Wormhole (untuk digunakan nanti)
- Anda akan memerlukan alamat Wormhole untuk menampilkan data nanti (klik kanan untuk menyalin bila diperlukan)
Anda dapat menggunakan akses jarak jauh ini untuk semua langkah berikut dan jauh lebih mudah untuk menyalin data, program, dll daripada langsung di RPi.
Langkah 4: Periksa Sensornya
Anda sekarang dapat menggunakan Dataplicity akses jarak jauh ke RPI untuk semua bagian berikutnya.
Jika semua sekarang terhubung dengan baik, Anda seharusnya dapat melihat suhu yang dikembalikan dari DS18B20. Saya memang mengerjakan tutorial Pi Hut tetapi sebagian besar ini tidak diperlukan. Jika Anda ingin detail lengkapnya dapat ditemukan di sini:
Bit penting adalah pergi ke direktori perangkat & pastikan 2 sensor yang berbeda ditampilkan.
cd /sys/bus/w1/devices/
Ini akan menunjukkan 2 perangkat yang dimulai dengan 28- dan master bus. Tambang menunjukkan:
28-011453ebfdaa 28-0114543d5daa w1_bus_master1
2 nomor ID ini penting dan akan dibutuhkan nanti! Kemudian ubah ke salah satu direktori sensor:
cd 28-011453ebfdaa
(misalnya) dan kemudian membaca nilai dari sensor
kucing w1_slave
Seharusnya ada 2 baris teks yang ditampilkan:
53 01 4b 46 7f ff 0c 10 2d: crc=2d YA
53 01 4b 46 7f ff 0c 10 2d t=21187
YA menunjukkan sensor membaca dengan benar dan 21187 menunjukkan suhu dalam Celcius dari 21.187 (bagi dengan 1000) Ulangi ini untuk memeriksa sensor kedua. Jika keduanya terbaca ok maka kita bisa melanjutkan membaca data dengan Python3.
Saya menyalin dan mengadaptasi kode berikut yang saya temukan di Web tetapi saya tidak ingat dari mana. Jika ini terlihat seperti kode Anda, maka saya minta maaf karena tidak ada plagiarisme yang dimaksudkan; tolong beri tahu saya & saya akan mengakui pekerjaan Anda.
Buat direktori bernama proyek dan ubah ke direktori itu.
mkdir ~/proyek
cd ~/proyek
Di direktori ini, gunakan editor teks (nano) untuk membuat dan mengedit file bernama thermo-test.py
sudo nano thermo-test.py
Ini seharusnya membuka editor dan saat Anda menggunakan Dataplicity, Anda cukup menyalin kode berikut di bawah ini (thermo-test.py) dan menempelkannya ke editor. Anda perlu mengubah 2 nama perangkat (mulai 28-…) dengan yang disebutkan di atas. Jika semua sudah benar, tekan ctrl+X untuk menyelesaikan, Y untuk menyimpan & kembali menggunakan nama yang sudah ada. Jika Anda lebih suka menggunakan GUI maka Thonny akan melakukan hal yang sama.
Untuk menjalankan program pengujian:
sudo python3 thermo-test.py
Semuanya baik-baik saja, ini harus menjalankan file menggunakan python 3 dan mencetak ke layar 2 suhu setiap 10 detik. Anda dapat menguji semuanya baik-baik saja dengan menempatkan 1 sensor ke dalam air es atau menghangatkannya dengan pengering rambut. Jika semuanya tampak baik-baik saja, maka kita bisa melanjutkan!
Langkah 5: UFW Firewall
Karena RPi ini akan terhubung secara permanen ke internet, saya memutuskan Firewall akan menjadi ide yang bagus dan yang sederhana untuk digunakan adalah Uncomplicated Firewall (ufw). Ada tutorial yang sangat sederhana di sini
Saya tidak akan membahasnya secara mendalam karena ini bukan tujuan dari Instructable ini, tetapi singkatnya:
Instal firewall dengan:
sudo apt-get install ufw
Tetapkan aturan default:
Sudo ufw default memungkinkan keluar
Sudo ufw default menolak masuk
Buka port 80 untuk Dataplicity
sudo ufw izinkan 80
Aktifkan firewall
sudo ufw aktifkan
Cek status dan pastikan semua berjalan
status sudo ufw
Langkah 6: Mengirim Data Suhu Sebagai JSON
Kembali ke blog Tim Fernando dan bagian 5.
Ikuti langkah-langkah seperti yang dinyatakan (kecuali kita telah membuat direktori proyek) dan semuanya akan berfungsi dengan baik. Menggunakan GIT Anda akan mengunduh file aplikasi Tim & PIP akan memastikan semua program yang diperlukan diinstal ke RPi Anda. Saya kemudian menemukan bahwa saya perlu mem-boot ulang untuk memastikan semua paket sudah diatur dengan benar.
Kemudian jalankan program Tim dan RPi Anda seharusnya menyediakan data JSON untuk sensor pertama.
cd home/pi/proyek/temperatur-serve-pi
sudo gunicorn suhu: aplikasi -b 0.0.0.0:80
Anda dapat melanjutkan melalui blog ke bagian 6 di mana Anda akan menemukan data disediakan untuk 1 sensor.
Anda juga dapat menggunakan JSON Viewer untuk melihat data https://codebeautify.org/jsonviewer Klik tombol “load URL” dan paste di alamat Wormhole yang disebutkan sebelumnya. Di panel kiri, Anda akan melihat dua entri, satu untuk Celsius & satu untuk Fahrenheit.
Langkah 7: Kirim Data Dari Kedua Sensor
Berdasarkan kode di temperature.py dan thermo-test.py, saya membuat 2temps.py Diedit seperti sebelumnya di direktori /projects/temperature-serve-pi, ditempelkan di kode dan disimpan. Saya kemudian berlari
sudo gunicorn 2temps:app -b 0.0.0.0:80
Sekarang ketika saya menjalankan kembali JSON Viewer saya mendapat nilai untuk temp1 & temp2
Kesuksesan:)
Langkah 8: Mulai Otomatis
Karena listrik ke rumah kaca kadang-kadang dimatikan, saya ingin RPi memuat program secara otomatis dan mulai membuktikan data. Cara paling sederhana tampaknya adalah mengedit file rc.local dan menambahkan kode yang diperlukan di bagian bawah tepat di atas baris 0 exit.
cd dll
sudo nan rc.local
lalu tambahkan
tidur 10
cd home/pi/projects/temperature-serve-pi sudo gunicorn temp04:app -b 0.0.0.0:80 &
- The & di bagian akhir memberitahu komputer untuk menjalankan skrip di sub shell sehingga komputer Anda tidak menunggu fungsi berakhir dan akan melanjutkan boot
- Tidur 10 [detik] memastikan semua operasi sebelumnya diselesaikan sebelum memulai layanan.
Keluar dan simpan seperti sebelumnya. Kemudian reboot dan jalankan kembali JSON Viewer untuk memeriksa semuanya baik-baik saja.
Jika Anda ingin informasi lebih lanjut tentang program yang berjalan secara otomatis, ada tutorial yang bagus di sini
Langkah 9: Tampilkan Data di Freeboard.io (1)
Langkah-langkah di blog Tim berfungsi dengan baik, secara ringkas; buat akun di www.freeboard.io lalu buat Freeboard baru, saya beri nama SHEDTEMPERATURES milik saya.
Pertama, tambahkan sumber data, klik TAMBAH di kanan atas dan dari pop-up pilih JSON sebagai jenisnya, beri NAMA sumber data, tambahkan alamat lubang cacing dari sebelumnya sebagai URL dan klik TIDAK untuk TRY THINGPROXY. Suhu hanya berubah sangat lambat sehingga REFRESH SETIAP 15 DETIK tidak masalah. Klik SIMPAN.
Langkah 10: Tampilkan Data di Freeboard.io (2)
Klik TAMBAHKAN PANEL lalu tanda + untuk menambahkan widget pertama. Anda dapat memilih dan bermain dengan berbagai JENIS tetapi saya menemukan Gauge baik-baik saja. Berikan JUDUL, UNIT (C), MINIMUM dan MAKSIMUM yang sesuai dengan aplikasi Anda. Untuk DATASOURCE, klik tanda + dan sumber yang dibuat di atas akan muncul.
Dropdown sekarang harus menunjukkan 2 sumber data JSON (temp2 & temp2) yang dibuat sebelumnya. Pilih sumber yang sesuai dan klik simpan.
Ulangi ini untuk pengukur kedua dan kita siap.
Data sekarang akan ditampilkan pada 2 pengukur dan jika Anda masih memiliki PRi yang terhubung ke monitor, Anda akan melihat permintaan dari Freeboard.io saat mereka tiba.
Langkah 11: Bangun Proyek Menjadi Kotak
Sampai saat ini, RPi dan komponen lainnya telah dirakit di bangku menggunakan papan tempat memotong roti. Sepotong kecil stripboard kemudian digunakan untuk menggantikan papan tempat memotong roti dan semua ujungnya disolder ke tempatnya.
Ditemukan kotak penyimpanan Lego kecil berwarna merah muda cerah yang memiliki banyak ruang dan RPI tidak akan terlalu panas. lubang dibor ke sisi kotak & pilar pemasangan nilon 3mm digunakan untuk menahan RPi dan stripboard pada tempatnya.
Hanya ada 3 koneksi yang dibutuhkan dari GPIO, 3.3v, GND & data.
- 3.3vdc pin 1
- GND pin 6
- Data (GPIO4) pin 7
Lubang juga ditambahkan di dalam kotak untuk daya USB dan kabel ke sensor suhu. Setelah semuanya terpasang pada tempatnya, sedikit silikon sealant ditambahkan untuk memastikan laba-laba tidak berpikir itu adalah tempat hangat yang bagus untuk menghabiskan musim dingin!
Langkah 12: Selesai
Kotak ditempatkan ke dalam rumah kaca dan ditenagai dari pengisi daya USB. Kedua sensor ditempatkan satu di dekat bagian atas rumah kaca dan yang lainnya ke pot tanaman untuk memeriksa seberapa dingin bibit di malam hari.
Ini adalah Instruksi pertama saya dan saya harap Anda pikir itu baik-baik saja. Jika Anda menemukan kesalahan, beri tahu saya & saya akan mengubahnya jika diperlukan. Langkah selanjutnya mungkin untuk mencatat data setiap (katakanlah) 60 detik, tetapi ini akan datang nanti.
Direkomendasikan:
Cara Membuat Perekam Data Kelembaban dan Suhu Secara Real Time Dengan Arduino UNO dan SD-Card - Simulasi Data-logger DHT11 di Proteus: 5 Langkah
Cara Membuat Perekam Data Kelembaban dan Suhu Secara Real Time Dengan Arduino UNO dan SD-Card | Simulasi Data-logger DHT11 di Proteus: Pendahuluan: hai, ini Liono Maker, ini tautan YouTube. Kami membuat proyek kreatif dengan Arduino dan bekerja pada sistem tertanam. Data-Logger: Data logger (juga data-logger atau perekam data) adalah perangkat elektronik yang merekam data dari waktu ke waktu dengan
ESP8266 Nodemcu Pemantauan Suhu Menggunakan DHT11 di Server Web Lokal - Dapatkan Suhu & Kelembaban Kamar di Browser Anda: 6 Langkah
Pemantauan Suhu Nodemcu ESP8266 Menggunakan DHT11 di Server Web Lokal | Dapatkan Suhu & Kelembaban Ruangan di Browser Anda: Hai guys hari ini kita akan membuat kelembaban & sistem pemantauan suhu menggunakan ESP 8266 NODEMCU & Sensor suhu DHT11. Suhu dan kelembaban akan diperoleh dari Sensor DHT11 & dapat dilihat pada browser halaman web mana yang akan dikelola
ESP8266 NodeMCU Access Point (AP) untuk Server Web Dengan Sensor Suhu DT11 dan Mencetak Suhu & Kelembaban di Browser: 5 Langkah
ESP8266 NodeMCU Access Point (AP) untuk Web Server Dengan Sensor Suhu DT11 dan Pencetakan Suhu & Kelembaban di Browser: Hai guys di sebagian besar proyek kami menggunakan ESP8266 dan di sebagian besar proyek kami menggunakan ESP8266 sebagai server web sehingga data dapat diakses di perangkat apa pun melalui wifi dengan mengakses server Web yang dihosting oleh ESP8266 tetapi satu-satunya masalah adalah kita membutuhkan router yang berfungsi untuk
Tampilan Suhu dan Kelembaban dan Pengumpulan Data Dengan Arduino dan Pemrosesan: 13 Langkah (dengan Gambar)
Tampilan Suhu dan Kelembaban dan Pengumpulan Data Dengan Arduino dan Pemrosesan: Pendahuluan: Ini adalah Proyek yang menggunakan papan Arduino, Sensor (DHT11), komputer Windows dan program Pemrosesan (dapat diunduh gratis) untuk menampilkan data Suhu, Kelembaban dalam format digital dan bentuk grafik batang, menampilkan waktu dan tanggal dan menjalankan hitungan waktu
SENSOR SUHU DENGAN LCD DAN LED (Membuat Sensor Suhu Dengan LCD dan LED): 6 Langkah (Dengan Gambar)
SENSOR SUHU DENGAN LCD DAN LED (Membuat Sensor Suhu Dengan LCD dan LED): hai, saya Devi Rivaldi mahasiswa UNIVERSITAS NUSA PUTRA dari Indonesia, di sini saya akan berbagi cara membuat sensor suhu menggunakan Arduino dengan Output ke LCD dan LED. Ini adalah pembaca suhu dengan desain saya sendiri, dengan sensor ini dan