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

Pemantauan Kualitas Air Menggunakan MKR1000 dan ARTIK Cloud

Komponen dan persediaan

Arduino MKR1000
× 1
Kabel jumper (generik)
× 1
Pengukur pH DFRobot
× 1
Resistor 4.75k ohm
× 1
Penyelidikan suhu
× 1

Aplikasi dan layanan online

Samsung ARTIK Cloud untuk IoT
Arduino IDE

Tentang proyek ini

I. Tujuan

Tujuan utama proyek ini adalah menggunakan Samsung ARTIK Cloud untuk memantau tingkat pH dan suhu kolam renang.

II. Pengaturan Awan ARTIK

Langkah 1. Membuat perangkat baru Anda

Daftar dengan ARTIK Cloud. Buka situs pengembang dan buat "jenis perangkat" baru.

Masukkan tampilan dan nama unik yang Anda inginkan.

Buat Manifes baru

Masukkan nama bidang dan deskripsi lainnya

Klik Simpan dan kemudian arahkan ke Aktifkan Tab Manifes

Klik Tombol ACTIVE MANIFEST untuk menyelesaikan dan Anda akan diarahkan ke sini

Selesai membuat jenis perangkat!

Sekarang mari buat aplikasi Anda yang akan menggunakan perangkat itu.

Langkah 2. Membuat aplikasi Anda

Navigasikan ke Aplikasi Cloud ARTIK.

Klik aplikasi baru

Masukkan nama aplikasi yang Anda inginkan dan url pengalihan otentikasi.

Perhatikan bahwa url pengalihan otentikasi diperlukan. Ini digunakan untuk mengautentikasi pengguna aplikasi ini sehingga akan mengarahkan ulang ke url ini jika perlu login.

Kami menggunakan http://localhost/index/ untuk sampel.

Sekarang atur izin aplikasi Anda untuk membaca dan menulis, navigasikan ke perangkat Anda lalu simpan.

Selamat Anda sekarang memiliki aplikasi Anda!

Sekarang mari kita hubungkan aplikasi itu.

Langkah 3. Hubungkan perangkat Anda

Navigasikan ke perangkat saya dan klik sambungkan perangkat lain.

Klik jenis perangkat baru yang Anda buat sebelumnya, lalu klik sambungkan perangkat.

Klik setelan perangkat Anda yang terhubung.

Catat info ini karena Anda akan membutuhkannya di program.

Sekarang navigasikan ke perangkat Anda yang terhubung

Selesai untuk penyiapan ARTIK Cloud. Setelah perangkat keras Anda siap, bagan akan memiliki data.

AKU AKU AKU. Pengaturan Sensor Perangkat Keras

Langkah 1. Hubungkan Sensor Suhu dan pH ke MKR1000.

Berikut diagramnya:

  • Temperatur GND ke MRK1000 GND
  • Temp OUT ke MKR1000 Digital pin 1
  • Suhu VCC ke MKR1000 5V
  • Hubungkan resistor 4,7K ke Temp VCC dan Temp OUT
  • pH GND hingga MRK1000 GND
  • pH OUT ke MKR1000 pin Analog 1
  • pH VCC ke MKR1000 5V

Ini contoh kabel saya

Jika Anda perhatikan kami menambahkan Jack Audio untuk memudahkan pelepasan sensor suhu. Tapi ini opsional.

Berikut koneksi sensor suhu ke jack.

Langkah 2. Siapkan perangkat lunak yang diperlukan

Buka Arduino IDE dan tambahkan papan MKR1000.

Cari mkr1000 dan klik instal

Tambahkan perpustakaan yang diperlukan

Cari perpustakaan untuk dipasang:

  • ArduinoJson - kami akan menggunakan ini untuk mengirim data JSON ke ARTIK Cloud
  • ArduinoHttpClient - host untuk menghubungkan ke API
  • OneWire - diperlukan untuk membaca input digital dari sensor Suhu
  • DallasTemperature - Perpustakaan wajib sensor suhu Dallas

Selesai menambahkan perangkat lunak yang diperlukan!

Langkah 3. Unggah program

Sekarang pasang MKR1000 ke PC/Laptop Anda.

Unduh perangkat lunak di GitHub di sini

Ubah info berikut:

Kemudian Unggah Kode Perangkat Lunak ke MKR1000 dan mulai pemantauan.

Catatan:WiFi Anda harus memiliki koneksi internet.

IV. Uji Lapangan

Kami telah menguji hardware sensor ke Kolam Renang Swasta, Umum dan Sekolah. Mengumpulkan data dari kumpulan responden ini memungkinkan kami menganalisis kemampuan perangkat keras.

Anda dapat menempatkan MKR1000 dan sensor pada kotak dan meletakkannya di kolam renang Anda jauh dari kontaminasi air. Dengan melakukan ini, Anda dapat memantau kualitas air Anda dan menormalkannya dengan menempatkan bahan kimia yang diinginkan.

Segera kami akan mengunggah tutorial tentang cara meletakkan semua sirkuit di dalam kotak ini dan cuplikan pengujian yang sebenarnya.

V. Hasil

Semoga tutorial ini membantu orang membuat perangkat pemantauan kualitas air kolam renang DIY mereka sendiri. Semoga akan ada peningkatan kesadaran mengenai penurunan kualitas air kolam renang yang terus menerus karena orang cenderung lebih fokus pada fasilitas yang ditawarkan daripada memeriksa seberapa amannya. Mereka juga bermaksud untuk berkontribusi kepada masyarakat dengan menyediakan sarana untuk membuat pengujian kualitas air lebih efisien dan efektif tanpa mengorbankan sumber daya yang tidak perlu.

Selamat membangun! :)

Kode

  • Kode Arduino MKR1000
Kode Arduino MKR1000C/C++
Unggah kode ini ke Arduino MKR1000 Anda

Kunjungi ini di GitHub> https://github.com/imjeffparedes/iot-water-quality-artik
/*********************Ini Kode saya untuk Pemantauan Perangkat Kualitas Air diterbitkan di https://www.hackster.io/animo/water-quality-moniroting-840fea*********************/#include #include #include  #include  #include  #include #include /**Sensor Suhu Inisialisasi**/#define ONE_WIRE_BUS 1 // Kabel data dicolokkan ke port digital 1 ArduinoOneWire oneWire(ONE_WIRE_BUS); // Siapkan instance oneWire untuk berkomunikasi dengan OneWire //perangkat (bukan hanya IC suhu Maxim/Dallas)Sensor suhu Dallas(&oneWire); // Berikan referensi oneWire kami ke Suhu Dallas. /** Inisialisasi ARTIK Cloud REST **/char server[] ="api.artik.cloud"; // Port Hostin Samsung ARTIK Cloud API =443; // 443 untuk HTTPS char buf[200]; // body data untuk menyimpan JSON untuk dikirim ke ARTIK cloud String deviceID ="artik cloud device id"; // letakkan id perangkat Anda di sini yang dibuat dari tutorial String deviceToken ="artik cloud device token"; // letakkan token perangkat Anda di sini yang dibuat dari tutorial/**inisialisasi pH meter**/#define SensorPin A1 // pH meter Output analog ke Arduino Analog Input 1#define Offset 0,00 // deviasi kompensasi#define samplingInterval 20#define ArrayLenth 40 // waktu pengumpulan di pHArray[ArrayLenth]; // Simpan nilai rata-rata dari umpan balik sensorint pHArrayIndex=0; int status =-1;int millis_start;/**Pengaturan Wifi**/#define WIFI_AP "ssid wifi Anda"#define WIFI_PWD "password wifi"WiFiSSLClient wifi; HttpClient client =HttpClient(wifi, server, port);void setup(void) { millis_start =millis(); Serial.begin(9600); mulaiWifi(); //mulai terhubung ke wifi}void loop(void) { /*Mendapatkan suhu saat ini*/ float celsius =0; sensor.requestTemperatures(); // Kirim perintah untuk mendapatkan suhu celsius =sensor.getTempCByIndex(0); sensor.requestTemperatures(); // Kirim perintah untuk mendapatkan suhu celsius =sensor.getTempCByIndex(0); /*Mendapatkan nilai pH saat ini*/ static unsigned long samplingWaktu =milis(); static unsigned long printTime =milis(); nilai pH float statis, tegangan; if(millis()-samplingTime> samplingInterval) { pHArray[pHARrayIndex++]=analogRead(SensorPin); if(pHARrayIndex==ArrayLenth)pHARrayIndex=0; tegangan =rata-rata(pHARray, ArrayLenth)*5.0/1024; pHNilai =3,5*tegangan+Offset; samplingWaktu=milis(); } Serial.println("===========================================" ); Serial.println("Data json ini akan kami kirimkan"); //cetak ke format json Serial.println("data:{ "); Serial.print("p:"); Serial.print(pHValue); Serial.print(" , suhu:"); Serial.print(celsius); Serial.println("} "); Serial.println(""); Serial.println("Mulai mengirim data"); String contentType ="aplikasi/json"; String AuthorizationData ="Pembawa" + deviceToken; //Device Token int len ​​=loadBuffer(celsius,pHValue); Serial.println("Suhu pengiriman:"+String(celsius) +" dan ph:"+String(pHValue) ); Serial.println("Kirim POST ke ARTIK Cloud API"); klien.beginRequest(); client.post("/v1.1/pesan"); //, contentType, buf client.sendHeader("Authorization", AuthorizationData); client.sendHeader("Tipe-Konten", "aplikasi/json"); client.sendHeader("Panjang Konten", len); klien.endRequest(); klien.print(buf); // print respon dari api int statusCode =client.responseStatusCode(); String respon =client.responseBody(); Serial.println(""); Serial.print("Kode Status:"); Serial.println(Kode status); Serial.print("Jawaban:"); Serial.println(tanggapan); penundaan (1000); // delay of update }/*Init Connection ke Wifi*/void startWifi(){ Serial.println("Menghubungkan MKR1000 ke jaringan..."); // WiFi.mulai(); // mencoba menyambung ke jaringan Wifi:while ( status !=WL_CONNECTED ) { Serial.print("Mencoba menyambung ke SSID WPA:"); Serial.println(WIFI_AP); WiFi.begin(WIFI_AP, WIFI_PWD); // tunggu 10 detik untuk koneksi:delay(10000); status =WiFi.status(); }}/*DfRobot pH Meter Source*/double avergearray(int* arr, int number){ int i; int maks,min; rata-rata ganda; jumlah panjang =0; if(number<=0){ Serial.println("Nomor kesalahan untuk array rata-rata!/n"); kembali 0; } if(angka<5){ //kurang dari 5, dihitung langsung statistik untuk(i=0;imaks){ jumlah+=maks; //arr>maks maks=arr[i]; }else{ jumlah+=arr[i]; //min<=arr<=max } }//if }//for avg =(dua kali lipat)jumlah/(angka-2); }//if return avg;}/*Buffer untuk dikirim pada REST*/int loadBuffer(float temp, float ph ) { StaticJsonBuffer<200> jsonBuffer; // simpan tempat di memori JsonObject&root =jsonBuffer.createObject(); // buat objek root root["sdid"] =deviceID; root["tipe"] ="pesan"; JsonObject&dataPair =root.createNestedObject("data"); // membuat objek bersarang dataPair["temp"] =temp; dataPair["ph"] =ph; root.printTo(buf, sizeof(buf)); // JSON-print ke buffer kembali (root.measureLength()); // juga mengembalikan panjang } 

Skema

Koneksi papan tempat memotong roti dari MKR1000 dan sensor

Proses manufaktur

  1. Menggunakan SaaS dan Cloud Memerlukan Penyelesaian Data yang Hati-hati
  2. Ke Cloud Infinity, dan Beyond
  3. Pemantauan Aplikasi Cloud dan Anda
  4. Keamanan dan Manfaat Penting menggunakan Cloud Linux
  5. Sensor Suhu Python dan Raspberry Pi
  6. Memantau Suhu Kamar dengan Moteino dan Raspberry Pi
  7. DIY:Pemantauan dan Pengaturan Suhu untuk HomeBrew
  8. Pemantauan Cuaca Jarak Jauh Menggunakan Raspberry Pi
  9. Sistem Pemantauan Sampah dan Kualitas Udara Dalam Ruangan
  10. Aplikasi dan Manfaat Menggunakan Solusi Pemantauan Gas