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

Sensor Telemetri 2.0.1

Sensor Telemetri 2.0.1 Dorong data suhu ke Microsoft Azure IoT Hub dan pantau data dari jarak jauh dari aplikasi Windows Universal. Di-remaster secara Digital!

Cerita

DIPERBARUI:Proyek Sensor Telemetri telah di-remaster secara digital. Diperbarui pada 17 Mei 2017 dan diganti namanya menjadi Sensor Telemetri 2.0.1

Pengantar

Ringkasan

Dalam proyek ini, kami akan memantau sensor suhu (MCP9808 ) dan mengirim pembacaan telemetri ke Microsoft Azure IoT Hub di mana Analisis Aliran job akan memproses pesan dan menulisnya ke Azure SQL Basis Data meja. Kami akan menggunakan Aplikasi Seluler untuk melihat riwayat pembacaan sensor.

Aplikasi

Proyek ini berisi dua Aplikasi Windows Universal (pada Platform Windows Universal, UWP) yang berbagi sekitar 99% dari kode. Satu ditargetkan ke Raspberry Pi (atau ARM) dan yang lainnya ditargetkan ke platform x86 atau x64.

Versi aplikasi IoT berjalan di Raspberry Pi dan membaca suhu dari MCP9808. Aplikasi mengirimkan peristiwa telemetri ke Azure IoT Hub dan SignalR pusat. Versi ini juga akan mendengarkan perintah dari Azure IoT Hub.

Versi klien, yang dimulai di komputer, akan mendengarkan pembaruan sensor dari hub SignalR dan menampilkannya di layar. Versi ini juga akan mengirimkan perintah ke versi IoT melalui Azure IoT Hub.

Teknologi

Aplikasi dalam proyek ini didasarkan pada MVVM (Model-View-ViewModel) dan dibuat menggunakan Prisma perpustakaan dan menggunakan Prism.Unity untuk IoC (Pembalikan Kontrol) wadah. Selain library ini, aplikasi menggunakan Event Aggregator ditemukan di Prism.Event perpustakaan untuk membuat, sebaik mungkin, arsitektur murni yang digerakkan oleh peristiwa. Aplikasi menggunakan library ini untuk memungkinkan modul internal berkomunikasi sambil tetap digabungkan secara longgar.

Aplikasi ini juga menggunakan SignalR di Azure Mobile App untuk memungkinkan beberapa contoh aplikasi berkomunikasi satu sama lain. Pembacaan suhu "disiarkan" ke semua klien yang berjalan dari jarak jauh sehingga mereka dapat menerima pembacaan sensor suhu untuk ditampilkan di tampilan utama.

Arsitektur

Inti dari aplikasi ini adalah perpustakaan MCP9808 yang dibangun sebagai proyek terpisah yang dapat digunakan kembali di aplikasi lain. Proyek ini dikembangkan sebagai perpustakaan UWP yang dapat digunakan di semua aplikasi Windows 10. Jika pustaka digunakan pada perangkat yang tidak memiliki I2C bus perpustakaan tidak akan mengembalikan objek perangkat apa pun. Pendekatan ini dapat digunakan untuk "mendeteksi" sebuah sensor dan dengan anggun mengabaikan perpustakaan saat sensor tidak ditemukan.

Dalam aplikasi klien UWP terdapat beberapa blok yang membentuk keseluruhan aplikasi. Tampilan adalah halaman yang terlihat dan setiap tampilan memiliki Model Tampilan yang bertanggung jawab atas status Tampilan. Ada tiga repositori:pengaturan aplikasi (IApplicationSettingsRepository ), informasi debug (IDebugConsoleRepository ) dan membaca dan menulis MCP9808 (ITemperatureRepository ). Ada dua kelas konkret yang dibangun di sekitar ITemperatureRepository; satu membungkus perpustakaan MCP9808 dan satu lagi adalah perangkat nol yang digunakan saat aplikasi tidak berjalan di Raspberry Pi.

Kelas Mcp9808TemperatureRepository  memantau MCP9808 menggunakan layanan pengatur waktu dan menerbitkan informasi suhu melalui agregator peristiwa internal setiap kali pembacaan suhu atau status peringatan berubah. Peristiwa baru dikirim hanya jika pembacaan saat ini berbeda dari pembacaan sebelumnya.

Ada juga serangkaian layanan yang ditentukan oleh IBackgroundService  yang berjalan di latar belakang untuk berbagai aktivitas.

Diagram di bawah ini menggambarkan tampilan arsitektur tingkat tinggi dan konektivitas antara berbagai blok dan layanan.

Layanan Telemetri

Layanan ini memantau peristiwa perubahan suhu (melalui langganan) dan mengirim pesan ke Pusat Peristiwa Bus Layanan Azure setiap kali suhu berubah.

Layanan Pengatur Waktu

Layanan sederhana ini adalah pengatur waktu yang menerbitkan peristiwa setiap 500 milidetik dan digunakan oleh model tampilan untuk menampilkan waktu saat ini pada tampilan. Ini juga digunakan oleh Mcp9808TemperatureRepository  untuk membaca sensor sekali setiap detik. Argumen acara timer menyertakan penghitung yang dapat digunakan dengan fungsi mod untuk membagi interval timer dengan mudah ke panjang yang diinginkan. Ada metode yang disebut IsMyInterval(TimeSpan interval) pada argumen acara yang menghitungnya untuk Anda. Yang perlu Anda lakukan hanyalah menyediakan interval sebagai TimeSpan  objek.

Layanan Pemantauan Pin Peringatan

Layanan ini memantau status pin GPIO yang terhubung ke pin peringatan pada MCP9808. Ketika nilai GPIO diubah, layanan ini menerbitkan sebuah acara.

Layanan LED

Layanan ini bertanggung jawab untuk menyalakan dan mematikan LED. Ini dilakukan dengan memantau (melalui langganan) peristiwa perubahan suhu yang juga mencakup status peringatan MCP9808. Saat status peringatan berubah, LED akan diperbarui.

Layanan Pemantauan Tombol Tekan

Layanan ini memantau pin GPIO yang terhubung ke tombol tekan dan memublikasikan peristiwa saat tombol dilepaskan. Acara ini diambil oleh Mcp9808TemperatureRepository  saat perangkat dalam mode reset peringatan manual (mode interupsi MCP9808). Peristiwa debug juga dipublikasikan sehingga status tombol dapat dilihat di konsol debug.

Layanan Relai Pemberitahuan

Layanan ini memantau hub SignalR dan agregator peristiwa internal serta menyampaikan pesan di antara keduanya berdasarkan pemetaan yang telah ditentukan sebelumnya (menggunakan EventRelayMap  kelas). Ini pada dasarnya memungkinkan aplikasi untuk hanya mengetahui sistem peristiwa internal dan masih dapat mengirim dan menerima pesan dengan instance aplikasi lainnya.

Layanan Konsol Debug

Layanan ini memantau aplikasi (melalui langganan) untuk men-debug acara dan menambahkannya ke koleksi internal. Ini juga mengimplementasikan DebugConsoleRepository , yang memungkinkan tampilan konsol debug untuk menampilkan peristiwa ini dalam aplikasi melalui Model Tampilan.

Inisialisasi Aplikasi

Saat aplikasi dimulai, aplikasi akan meluncurkan Halaman Awal  lihat terlebih dahulu, yang secara otomatis memanggil StartPageViewModel . Model tampilan ini menyiapkan dan menjalankan semuanya sebelum diluncurkan ke tampilan utama.

Memulai

Persyaratan Sirkuit

Sirkuit ini memerlukan papan tempat memotong roti yang besar dan tanpa solder, dan opsional, tukang sepatu berbentuk T dan kabel pita (saya menggunakan versi yang dijual oleh Vilros). Papan tempat memotong roti dapat diperoleh dari banyak tempat (saya telah membeli dari toko lokal dan dari Amazon). Sirkuit ini juga menggunakan sakelar tombol tekan taktil sesaat dengan empat pin. Ada banyak jenis; apapun akan dilakukan. Terakhir, untuk sensor suhu, saya menggunakan MCP9808 High Accuracy I2C Temperature Sensor Breakout Board dari Adafruit.

Sirkuit dapat dibangun tanpa tukang sepatu. Cukup ikuti diagram papan tempat memotong roti alternatif di akhir proyek.

Perakitan Sirkuit

Gunakan panduan ini untuk merakit sirkuit sambil menggunakan diagram yang terletak di dekat bagian bawah halaman sebagai panduan (catatan:warna kabel opsional dan telah dipilih untuk membantu membuat sirkuit mudah ikuti ketika dibangun).

Berikut adalah beberapa foto sirkuit yang saya buat menggunakan tukang sepatu.


Persyaratan Microsoft Azure

Jika Anda tidak memiliki akun Azure, Anda harus membuatnya. Anda bisa mendapatkan kredit $200 saat memulai akun. Buka azure.com  dan klik tautan AKUN GRATIS . Jika Anda sudah memiliki akun, masuk ke portal di portal.azure.com .

CATATAN:Panduan ini bukan panduan lengkap untuk mengonfigurasi Azure. Anda mungkin perlu membiasakan diri dengan portal jika Anda belum pernah menggunakannya sebelumnya. Saya akan menjalani langkah-langkah yang diperlukan untuk proyek ini sebaik mungkin.

Biarkan diri Anda masuk ke portal Azure selama seluruh proses penyiapan. Anda perlu merujuknya berkali-kali.

Penyiapan Pusat Acara IoT Azure



Buat Perangkat

Azure IoT Hub mengharuskan setiap perangkat diidentifikasi dan didaftarkan secara unik di hub untuk tujuan keamanan. Perangkat dapat didaftarkan menggunakan Azure SDK dan kode, tetapi untuk proyek ini kami akan menggunakan Device Explorer yang tersedia di Azure SDK.




Penyiapan Database Azure SQL

Data telemetri akan disimpan di Azure SQL Database. Gunakan portal untuk membuat database.




Membuat Tabel Database

Tabel yang digunakan akan dibuat secara manual. Penerapan Code First dapat digunakan di Aplikasi Seluler, tetapi tabel yang dibuat tidak akan kompatibel dengan Stream Analytics.




Buat Paket Layanan Aplikasi

Paket Layanan Aplikasi diperlukan untuk membuat Layanan Aplikasi.

Buat Layanan Aplikasi ( Aplikasi Seluler

Situs web dan hub SignalR akan berjalan dengan Layanan Aplikasi.



Penyiapan Analisis Aliran Azure

Pekerjaan Stream Analytics akan memantau peristiwa data di IoT Hub dan menulisnya ke database SQL Server. Pekerjaan akan terdiri dari input (Hub IoT), dan output (Tabel SQL) dan Kueri yang memilih bidang mana yang akan digunakan.





Mengonfigurasi Perangkat Lunak

Menggunakan tautan repositori di bagian bawah laman, unduh kode sebagai file zip atau klon repositori ke komputer Anda dan buka proyek di Visual Studio .

Mengonfigurasi dan Memublikasikan Aplikasi Seluler

Aplikasi web (terletak di folder Web) perlu dipublikasikan ke Azure App Service.



Masukkan Kredensial IoT Hub

Sebelum menjalankan aplikasi, Anda harus memasukkan kredensial perangkat IoT Hub ke dalam kode.



Masukkan URL Aplikasi Seluler

URL Aplikasi Seluler juga harus dimasukkan ke dalam kode.

Read More Detail :Sensor Telemetry 2.0.1


Proses manufaktur

  1. Apa itu Kalibrasi Sensor- Definisi dan Aplikasinya
  2. Sensor Detak Jantung – Bekerja &Aplikasi
  3. Apa itu Sensor O2?
  4. TMP006 Sensor Suhu Pustaka Python menggunakan Raspberry pi,
  5. Sensor Gerak menggunakan Raspberry Pi
  6. Sensor Kelembaban Tanah Raspberry Pi
  7. Uji sensor DS18B20
  8. Sensor Suhu Raspberry Pi
  9. Sensor Telemetri 2.0.1
  10. Sensor Emosi / EEG