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

Kontrol Iklim Berzona dengan MediaTeks LinkIt™ Smart 7688

Komponen dan persediaan

Espressif ESP8266 ESP-01
× 1
Arduino Nano R3
× 1
Teknologi Microchip ATtiny85
× 1
Sensor Suhu DHT22
× 1
Servo (Tower Pro MG996R)
× 1

Aplikasi dan layanan online

Arduino IDE

Tentang proyek ini

Musim dingin akan datang

Ketika saya dan istri saya memiliki anak pertama kami musim dingin lalu, kami mendapat pemanas ruangan listrik untuk menjaga agar area di sekitar bayi perempuan kami tetap nyaman dan hangat. Saat kami berpindah dari kamar ke kamar, kami membawa pemanas bersama kami, sambil berpikir bahwa kami sangat efisien memiliki kontrol iklim yang dapat digunakan. Sebulan kemudian kami mendapatkan tagihan listrik dua kali lipat dari jumlah normal kami dan menyadari bahwa akan lebih murah jika hanya memanaskan seluruh rumah dengan tungku gas sepanjang waktu.

Musim dingin datang lagi, jadi kali ini saya meningkatkan ke termostat WiFi sehingga saya dapat menyalakan pemanas saat saya di bawah atau dengan hangat terselip di bawah selimut. Ini jauh lebih nyaman, tetapi kita tetap memanaskan seluruh rumah meskipun sebagian besar waktu kita berada di satu bagian rumah.

Bekerja Lebih Cerdas

Melihat log sensor gerak kami yang mengontrol pencahayaan kami, cukup jelas bahwa kami menghabiskan 4-5 jam di bawah sebagai keluarga setelah bekerja, dan kemudian naik ke kamar tidur kami sekitar jam 9 malam di mana kami tidur sampai kami berangkat keesokan paginya untuk bekerja. Akhir pekan sedikit berbeda, tetapi Senin sampai Jumat bekerja seperti jarum jam (terutama dengan anak berusia 10 bulan dengan jadwal tidur yang ketat).

Saya telah melihat sistem HVAC yang memiliki pemantauan suhu multi-zona dan baffle saluran yang dapat dikontrol secara nirkabel, tetapi perangkat kerasnya sangat mahal dan semua perangkat lunaknya tampak seperti renungan (dengan sedikit dukungan atau pembaruan karena teknologi menjadi lebih baik). Saya sudah memiliki beberapa sensor suhu yang diaktifkan WiFi di rumah saya untuk titik penggunaan pengontrol unit AC dan telah gatal karena alasan untuk menggunakan beberapa servos kecil dalam sebuah proyek. Yang saya butuhkan hanyalah servos terhubung WiFi yang dapat membuka/menutup ventilasi saluran di sistem HVAC saya...seharusnya cukup mudah.

LinkIt™ Smart 7688 dari MediaTek  

LinkIt Smart 7688 Duo HDK baru dari MediaTek adalah mikroprosesor terhubung WiFi yang menjalankan OpenWRT dengan mikrokontroler yang kompatibel dengan arduino. Ini sempurna untuk proyek ini karena memiliki semua pin I/O yang diperlukan untuk beberapa sensor dan motor servo ditambah kemampuan WiFi untuk berkomunikasi dengan sensor suhu saya yang ada. Selain itu, karena OpenWRT sudah diinstal dengan uHTTPd, saya dapat menjalankan WebApp langsung di LinkIt Smart 7688 HDK untuk paket mandiri sepenuhnya.

Menyiapkan LinkIt Smart 7688 HDK

Ini adalah pertama kalinya saya menggunakan papan yang telah dibangun di WiFi, jadi saya sedang mempersiapkan kurva belajar yang curam. Untungnya, penyiapan secara harfiah terdiri dari 3 langkah:

  • Nyalakan Linkit Smart 7688 dan sambungkan ke titik akses WiFi dari komputer Anda
  • Masuk ke antarmuka web dan masukkan setelan untuk titik akses WiFi Anda
  • Tambahkan papan "LinkIt Smart 7688 Duo" di Arduino IDE

Itu dia! Ketika Anda memilih papan "LinkIt Smart 7688 Duo" di Arduino IDE, Anda dapat mendorong sketsa Anda melalui serial seperti papan lainnya, atau Anda dapat mengunggah melalui WiFi (ini akan sangat berguna nanti). Panduan memulai Linkit Smart 7688 dan panduan pengembang juga dapat membantu Anda.

Jika Anda ingin mengizinkan mikrokontroler untuk menggunakan WiFi secara langsung di sketsa arduino Anda (yang akan kita lakukan), Anda cukup ssh ke HDK dan balikkan sedikit untuk mengaktifkan kompatibilitas perpustakaan Arduino Yun.

Anda cukup menyalin/menempel baris dari sini:

Klien WiFi dan Pengontrol Servo

Karena ini telah terintegrasi dengan perpustakaan jembatan Yun dan menggunakan Arduino IDE, sangat mudah untuk mengadaptasi kode yang ada. Dengan menggunakan library bridge, saya dapat meminta HDK polling server web onboard untuk konfigurasi ventilasi (baik di lantai atas, bawah, atau seluruh rumah) dan kemudian menyesuaikan kedua servo tersebut. Dalam video di bawah ini saya menjalankan ini pada Raspberry Pi 2, tetapi saya dapat mem-porting WebApp ke LinkIt Smart 7688 untuk membuatnya lebih efisien (kode disertakan di bagian akhir).

WebApp saya berjalan di php, jadi saya hanya menggunakan manajer paket opkg untuk menginstalnya karena disertakan dalam OpenWRT di LinkIt Smart 7688:

Saya kemudian memperbarui file /etc/config/uhttpd untuk menafsirkan php dengan menambahkan baris ini:

dan memulai ulang uHTTPd

Perangkat Keras 

Saya memasang tanduk servo langsung ke ventilasi dan membuat braket aluminium untuk menahan servo pada posisinya dengan beberapa penyangga baja tahan karat. Masih ada sedikit permainan, jadi saya akan menambahkan beberapa ikatan zip untuk membuatnya sedikit lebih permanen.

Perangkat Lunak

Build ini benar-benar bermuara pada tiga komponen:

  • Sensor suhu di sekitar rumah mengirimkan pembaruan berkala ke server web uHTTPd yang berjalan di LinkIt Smart 7688.
  • WebApp yang berjalan di LinkIt Smart 7688 yang menunjukkan status saat ini dan memungkinkan Anda untuk mengonfigurasi ulang ventilasi secara manual.
  • MCU di LinkIt Smart 7688 yang mengontrol ventilasi untuk mengarahkan udara hangat ke atas atau ke bawah, bergantung pada waktu.

Sensor suhu hanya ATtiny85s atau Arduino Nano yang terhubung ke DHT11 atau DHT22 dan mengirimkan informasi suhu/kelembaban tersebut ke server web melalui ESP8266 melalui serial perangkat lunak. Saya memiliki artikel lengkap tentang sensor tersebut di sini karena pada awalnya dirancang dan dikembangkan sebagai fase II dari proyek AC point-of-use saya (bagian ini sepenuhnya opsional, tetapi ini akan memberi Anda metrik tambahan yang dapat digunakan untuk menyetel sistem dan akhirnya mengotomatiskannya).

LinkIt Smart 7688 HDK sendiri ada di loteng saya yang terhubung langsung ke saluran ventilasi. Di sisi OpenWRT, cronjob memperbarui file teks status ventilasi. Sisi MCU yang menjalankan sketsa arduino memeriksa file teks ini secara berkala dan menyesuaikan ventilasi yang sesuai.

Untuk memeriksa status ventilasi dan mengkonfigurasi ulang secara manual, saya membuat WebApp kecil yang dihosting langsung di LinkIt Smart 7688.  Dengan dyndns dan penerusan port, saya dapat melihat dan mengontrol semua ini dari luar rumah jika perlu.

Ruang Untuk Ditingkatkan

Dengan malam yang semakin dingin, saya harus menyelesaikan ini secepatnya sehingga beberapa konsesi dibuat atas nama penyebaran cepat. Di sisi perangkat keras, saya akan mencetak 3d mount yang tepat untuk servos karena mount pekerjaan hack saya memiliki sedikit permainan. Juga, servo RC kecil yang saya gunakan dalam demo memiliki semua roda gigi plastik yang saya harapkan tidak akan bertahan selama bertahun-tahun, jadi karena saya tidak ingin naik kembali ke loteng dalam waktu dekat, saya akan bertukar mereka untuk servo yang lebih besar dengan roda gigi logam.

Suatu hari saya dapat menambahkan servo terhubung WiFi tambahan ke ventilasi di setiap kamar dan menghubungkan semuanya kembali ke satu LinkIt Smart 7688.  

Saat ini probe suhu hanya membuang bacaan ke file csv sehingga saya dapat dengan mudah melacak dan membuat grafiknya. Akan menyenangkan untuk menyalakan pemanas lebih awal jika rumah sangat dingin, tetapi termostat WiFi saya belum memiliki API. Saya juga ingin menghubungkan ke sistem otomatisasi rumah saya sehingga ventilasi secara otomatis menyesuaikan berdasarkan penggunaan ruangan waktu nyata yang berasal dari sensor gerak daripada sepenuhnya berdasarkan waktu (terutama untuk akhir pekan karena jadwal kami yang dinamis).

Kode

  • Ventilasi WiFi LinkIt Smart Duo
  • Sensor Suhu WiFi
  • Vent.php
  • Aplikasi Web Android LinkIt Smart Vent
Ventilasi WiFi LinkIt Smart DuoC/C++
Sketsa ini menggunakan perpustakaan Bridge dan HTTP Client dari Arduino Yun untuk melakukan polling server web dan membuka/menutup ventilasi HVAC sesuai kebutuhan.
/* Diadaptasi dari contoh servo Sapu oleh BARRAGAN  dan Yun Contoh Klien HTTP yang dibuat oleh Tom igoe ** Keduanya berada dalam domain publik.*** Kode Diadaptasi untuk HAI (Otomasi Rumah dengan Intelijen) oleh Buddy Crotty ** Sketsa arduino ini bergantung pada server web untuk melakukan semua pekerjaan berat. Ini dapat berupa perangkat terpisah seperti Raspberry Pi, atau Anda dapat menjalankannya di sisi MPU LinkIt Smart di OpenWRT.** Server web mengumpulkan pembacaan suhu dari sekitar rumah dan menentukan di mana kebutuhan udara panas/dingin berdasarkan waktu hari, cuaca luar (termasuk ramalan cuaca), dan hunian rumah.** Kemudian mengeluarkan 'upstairs', 'downstairs', atau 'wholehouse' tergantung di mana udara perlu dikirim. */#include  #include #include  Servo upservo; // membuat objek servo untuk mengontrol servo lantai atas Servo servo bawah; // servo peredam ventilasi udara bawah uppos =0; // variabel untuk menyimpan posisi servo (atas) int downpos =0; // posisi servo bawah const char* host ="192.168.1.80"; // IP Internal Server Web Otomasi Rumah dengan dopenangle =80; // Jumlah derajat yang dibutuhkan servo Anda untuk berubah antara buka/tutup pada ventilasi dcloseangle =0; int sudut terbuka =​​140; int ucloseangle =0; void setup() { upservo.attach (9); // Pin untuk Servo terpasang ke peredam ventilasi udara lantai atas downservo.attach(10); // Pin untuk Servo terpasang ke peredam ventilasi udara di lantai bawah //mulai bridge ke OpenWRT pinMode(13, OUTPUT); digitalWrite(13, RENDAH); Jembatan.mulai(); digitalWrite(13, HIGH);} void wholehouse(){ if (downpos <=dcloseangle){ // Pastikan ventilasi belum pada posisinya //buka ventilasi lantai bawah untuk(downpos =dcloseangle; downpos <=dopenangle; downpos + =1) // Pindah dari set sudut dekat ke sudut terbuka satu langkah pada satu waktu { downservo.write(downpos); penundaan (20); // menunggu di antara langkah sampai servo mencapai posisi } } if (uppos <=uopenangle) { //buka ventilasi lantai atas untuk(uppos =ucloseangle; uppos <=uopenangle; uppos +=1) { upservo.write(uppos); penundaan (20); } }}void down(){ if (downpos <=dopenangle) { //buka ventilasi lantai bawah untuk(downpos =dcloseangle; downpos <=dopenangle; downpos +=1) { downservo.write(downpos); penundaan (20); } } if (uppos>=ucloseangle){ //tutup ventilasi lantai atas untuk(uppos =uopenangle; uppos>=ucloseangle; uppos-=1) { upservo.write(uppos); penundaan (20); } }}void lantai atas() { if (uppos <=uopenangle) { //buka ventilasi lantai atas untuk(uppos =ucloseangle; uppos <=uopenangle; uppos +=1) { upservo.write(uppos); penundaan (20); } } if (downpos>=dcloseangle){ //tutup lubang bawah untuk(downpos =dopenangle; downpos>=dcloseangle; downpos -=1) { downservo.write(downpos); penundaan (20); } }} void loop(){ klien HttpClient; // Buat dan buat permintaan HTTP:String cmd ="http://"; cmd +=tuan rumah; cmd +="/vent.txt"; klien.get(cmd); // Membaca byte yang masuk dari server while (client.available()) { int c =client.read(); if (c =='2') atas(); if (c =='1') di bawah(); if (c =='0') seluruh rumah(); } penundaan(60000);}
Sensor Suhu WiFiC/C++
Sensor Suhu dan Kelembaban yang terhubung. Mencatat data ke server Home Automation pusat.
/* * Kode Diadaptasi untuk HAI (Home Automation w/ Intelligence) oleh Buddy Crotty * * Mengirim data melalui HTTP GET permintaan ke server HAI Anda * * Konektivitas adalah melalui koneksi serial perangkat lunak ke ESP8266 WiFi * antarmuka sudah dikonfigurasi untuk terhubung ke WLAN Anda, * tetapi Anda dapat menghapus komentar pengaturan WiFi untuk mereset SSID/kata sandi * */const char* host ="192.168.1.80"; // IP Internal Otomasi Rumah Webserverconst char* devID ="bawah"; // Device ID (satu kata, tanpa spasi, tanpa karakter khusus) #include SoftwareSerial ser (10, 11); // (RX, TX) // Serial perangkat lunak untuk mengontrol Modul ESP8266 // Serial perangkat keras untuk debugging lama utime =300000; // Waktu di antara pembaruan // 900000 =15 menit (untuk baterai/tenaga surya) // 300000 =5 menit (untuk daya AC) // 5000 =5 detik (untuk pengujian) // Harus lebih lama dari 10.000 agar ESP8266 keluar dari mode tidur (mode baterai) // Sensor Suhu dan Kelembaban #termasuk #menentukan DHTPIN 2 //Pin untuk sensor suhu/kelembaban#menentukan DHTTYPE DHT22 // DHT11, DHT22 (AM2302, atau DHT21 (AM2301 )DHT dht(DHTPIN, DHTTYPE);void setup() { Serial.begin(9600); ser.begin(9600); //ser.listen(); /* // Batalkan komentar untuk menyetel ulang penundaan pengaturan WiFi(1000); ser.println("AT+CWMODE=1"); ser.println("AT+CWJAP=\"SSID\",\"Password\""); */ ser.println("AT+RST"); / / Reset ESP8266 karena arduino direset delay(10); dht.begin(); // Mulai DHT Serial.println("Berikan semua kesempatan untuk pemanasan"); //tunggu 25 detik hingga WiFi terhubung Serial.println( "|-------------------------|"); Serial.print("|"); for(int x =0; x <25; x++){ Serial.print("#"); delay(1000); } Serial.println("|"); Serial.println("Selesai");} float t =0; int h =0; float hi =0;void loop() { Serial.println(); //Temp dan Kelembaban float t =dht.readTemperature(true); int h =dht.readHumidity(); float hi =dht.computeHeatIndex(t, h);// Nilai keluaran dikirim ke ThingSpeak Serial.print("Suhu:"); Serial.print(t); Serial.print("*F\t"); Serial.print("Indeks Panas :"); Serial.print(hai); Serial.println("*F"); Serial.print("Kelembaban :"); Serial.print(h); Serial.println("%\t"); Serial.print("...menghubungkan ke "); Serial.println(host); // koneksi TCP String cmd ="AT+CIPSTART=\"TCP\",\""; cmd +=host; cmd +="\",80"; ser.println(cmd); penundaan (1000); if(ser.find("Error")){ Serial.println("AT+CIPSTART error"); kembali; } else{ } // siapkan GET string String getStr ="GET /tempupdate.php?ID="; getStr +=devID; getStr +="&field1="; //Temp getStr +=t; getStr +="&field2="; //kelembaban getStr +=h; getStr +="&field3="; //Indeks Panas getStr +=hi; getStr +="\r\n\r\n"; Serial.print("Mengirim data URL:"); Serial.println(getStr); // kirim panjang data cmd ="AT+CIPSEND="; cmd +=String(getStr.length()); ser.println(cmd); if(ser.find(">")){ ser.print(getStr); Serial.println("Berhasil!"); } else{ ser.println("AT+CIPCLOSE"); Serial.println("Koneksi Gagal"); // alert pengguna }Serial.print("Pembaruan berikutnya di ");Serial.print(utime / 1000);Serial.println(" detik");delay(utime); //tunggu di antara pembaruan }
Vent.phpPHP
Periksa status dan timpa konfigurasi ventilasi secara manual.
Hanya Lantai Atas

Seluruh Rumah

Hanya Lantai Bawah

Vents saat ini terbuka untuk ";if ($status ==="0 ") print "Seluruh Rumah";if ($status ==="1") print "Hanya Lantai Bawah";if ($status ==="2") print "Hanya Lantai Atas";print "
"; fclose($myfile);if ($_GET["zone"] =="");else {$myfile =fopen("vent.txt", "w+") or die("Tidak dapat membuka file!"); if ($_GET["zone"] !="") print "

Mengirim perintah untuk membuka ventilasi untuk ";if ($_GET["zone"] ==="0") print "The Whole House"; if ($_GET["zone"] ==="1") print "Hanya Lantai Bawah";if ($_GET["zone"] ==="2") print "Hanya Lantai Atas";print "

";fwrite($filesaya, $_GET['zone']);fclose($filesaya);}?>
LinkIt Smart Vent Android WebAppJSON
File manifes jadi chrome di Android membuka pengontrol ventilasi sebagai aplikasi web.
{ "name":"LinkIt Smart Vent", "icons":[ { "src":"LinkIt_icon_36.png", "sizes":"36x36", "type":"image/png", "density":0.75 }, { "src":"LinkIt_icon_48.png", "sizes":"48x48", "type":"image/png", "density":1.0 }, { "src":"LinkIt_icon_128.png", "sizes":"128x128", "type":"image/png", "density":1.0 }, { "src":"LinkIt_icon_192 .png", "sizes":"192x192", "type":"image/png", "density":1.0 } ], "start_url":"vent.php", "display":"standalone", "orientation ":"potret"}

Skema

ATtiny85 atau Arduino Nano menarik suhu dari DHT11/22 dan WiFi yang terhubung dengan ESP8266.

Proses manufaktur

  1. MODUL DATA:Layar TFT ultra-meregangkan 23.1” dengan kontrol cerdas
  2. Kontrol akses dengan QR, RFID, dan verifikasi suhu
  3. Kontrol Kualitas Lebih Baik Dengan Bagian Cetakan 3D
  4. Smart Procurement Saldo AI Dengan HI
  5. Kontrol Penerima Koin dengan Arduino
  6. Remote Control TV Bertenaga Baterai dengan Casing Cetakan 3D
  7. Arduino dengan Bluetooth untuk Mengontrol LED!
  8. Arduino Nano:Kontrol 2 Motor Stepper Dengan Joystick
  9. GÖPEL meningkatkan kontrol kualitas dalam manufaktur otomotif dengan Universal Robots
  10. Bubut Dengan CNC