Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Mengukur Kualitas Udara dengan OpenSensors: Panduan Arduino & Python

Pelajari cara memantau kualitas udara di dalam ruangan menggunakan Arduino, sensor partikel Shinyei PPD-42, dan broker MQTT OpenSensors. Tutorial langkah demi langkah ini menunjukkan cara mengumpulkan data partikel secara real-time dan memublikasikannya dengan aman ke aliran data publik.

Pendahuluan

Untuk proyek ini, kami ingin cara yang sederhana namun canggih untuk menilai kualitas udara di tempat kerja. Kami memilih sensor Shinyei PPD-42 karena harganya terjangkau dan mudah digunakan, lalu memadukannya dengan Arduino UNO serta host berbasis Linux (misalnya Raspberry Pi). Sensor mengirimkan konsentrasi partikel kecil yang dapat menimbulkan risiko kesehatan, dan kami mempublikasikan data tersebut secara terus-menerus ke broker pesan OpenSensors.

Yang Anda butuhkan:

Panduan ini mengikuti proyek DustDuino, yang sudah mengintegrasikan PPD-42 dengan Arduino dan Wi-Fi. Kami menyesuaikan diagram kabel dan kodenya agar bekerja dengan pengaturan OpenSensors kami.

Pertama, hubungkan sensor ke Arduino seperti yang dijelaskan pada langkah 2 petunjuk DustDuino. Kemudian unduh sketsa DustDuinoSerial.ino dari repositori GitHub, buka di Arduino IDE, dan unggah ke UNO.

Verifikasi apakah sensor mengirim data dengan membuka Serial Monitor di Arduino IDE.

Selanjutnya, kami akan menghubungkan keluaran serial Arduino ke broker OpenSensors menggunakan skrip Python ringan yang memanfaatkan pustaka klien Mosquitto.

Hello Python World

Untuk memastikan Python siap di mesin Anda, buat file bernama hi.py dengan isi berikut:

print("Hello World")

Jalankan dari terminal:

python hi.py

Anda seharusnya melihat Hello World dicetak ke konsol.

Hello OpenSensors

Instal klien Python Mosquitto jika belum melakukannya:

sudo apt-get install python-pip sudo pip install paho-mqtt

Uji publikasi ke OpenSensors dengan skrip minimal ini (ganti Louis dan sandi dengan kredensial Anda):

import paho.mqtt.client as mqtt mqttc = mqtt.Client(client_id="939") mqttc.username_pw_set("Louis", password="AbcDEFgH") mqttc.connect("mqtt.opensensors.io") mqttc.publish("/users/Louis/test2", payload="Hello Opensensors!", qos=0, retain=False) mqttc.disconnect()

Setelah dieksekusi dengan berhasil, Anda akan melihat pesan muncul di konsol OpenSensors.

Untuk terhubung ke port serial Arduino, identifikasi perangkat dengan:

dmesg | grep tty

Keluaran biasanya terlihat seperti:

[ 0.000000] console [tty0] enabled [ 3522.192687] cdc_acm 7-1:1.0: ttyACM0: USB ACM device

Di sini /dev/ttyACM0 adalah port serial yang akan digunakan.

Baca data serial dengan Python:

import serial ser = serial.Serial('/dev/ttyACM0') while True: print(ser.readline())

Mengintegrasikan Keluaran Sensor dengan MQTT

Gabungkan pembaca serial dan penerbit MQTT dalam satu skrip. Contoh di bawah ini mempublikasikan setiap baris data sensor ke topik /users/Louis/ODI/airquality setiap detik:

import serial import paho.mqtt.client as mqtt import time mqttc = mqtt.Client(client_id="939") mqttc.username_pw_set("Louis", password="AbcDEFgH") mqttc.connect("mqtt.opensensors.io") ser = serial.Serial('/dev/ttyACM0') # adjust if your port differs while True: message = ser.readline() print(message) mqttc.publish("/users/Louis/ODI/airquality", payload=message, qos=0, retain=False) time.sleep(1)

Untuk pemrosesan downstream yang lebih mudah, pertimbangkan untuk memformat keluaran Arduino sebagai JSON sebelum mempublikasikan.

Jelajahi aliran data yang dihasilkan di OpenSensors dengan mengunjungi topik yang Anda buat di sini.

Contoh Kode Lengkap

import serial import paho.mqtt.client as mqtt import time mqttc = mqtt.Client(client_id="939") mqttc.username_pw_set("Louis", password="AbcDEFgH") mqttc.connect("opensensors.io") ser = serial.Serial('/dev/ttyACM0') # open first serial port while True: message= ser.readline() print(message) mqttc.publish("/users/Louis/ODI/airquality", payload=message, qos=0, retain=False) time.sleep(1);

Sumber: How to Measure Air Quality on OpenSensors

Proses manufaktur

  1. Panduan Desain & Penerapan Sensor Kualitas Udara Tenaga Surya Berbasis Helium
  2. Risiko Kesehatan Tersembunyi dari Kualitas Udara Dalam Ruangan yang Buruk
  3. Penggunaan Termistor yang Mudah: Panduan Langkah demi Langkah Arduino
  4. Meningkatkan Efisiensi Kompresor Udara di Kapal: Strategi Teruji
  5. Panduan Praktis Mengukur Ketebalan Solder Mask
  6. Memanfaatkan IoT untuk Membangun Sistem Pemantauan Kualitas Udara Dalam Ruangan Tingkat Lanjut
  7. Cara Kerja Pengering Udara: Menjaga Udara Terkompresi Bersih & Efisien
  8. Panduan Lengkap Menghapus Kontaminan dari Udara Terkompresi
  9. Kantong Tangan Silikon: Sampler Pasif Terjangkau untuk Pemantauan Kualitas Udara yang Akurat
  10. Sensor NO2 Berbasis Karbon Canggih Tingkatkan Pemantauan Kualitas Udara Dalam Ruangan