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

Program MKR Over-the-Air + Barang:Kontrol Suara, dll.

Komponen dan persediaan

Arduino MKR1000
Ini diperlukan untuk setiap proyek OTA. Komponen di bawah ini diperlukan hanya untuk kasus penggunaan / sampel:termostat ruangan.
× 1
Sensor Suhu &Kelembaban DHT11 (4 pin)
× 1
Relai (umum)
× 1
Breadboard (generik)
× 1

Aplikasi dan layanan online

Arduino IDE
Microsoft Azure
Microsoft Azure IoT Hub
Microsoft Visual Studio 2015
Menggunakan UWP (Platform Windows Universal)
Microsoft Azure
Microsoft Project Oxford (API Pengenalan Suara)

Tentang proyek ini

Ikhtisar

Kontribusi kami memiliki 2 bagian.

Bagian 1: Kumpulan komponen yang dapat digunakan kembali. Mereka dapat berfungsi sebagai kerangka kerja untuk membangun berbagai proyek IoT yang memanfaatkan fitur berguna:

  • Pemrograman Over-the-Air (OTA) dari Arduino MKR1000 (yaitu mengunggah kode biner yang dikompilasi). Beberapa metode tersedia:mis. dari dalam LAN atau dari Internet, dengan aman, melalui Microsoft Azure IoT Hub.
  • Platform Windows Universal (UWP) aplikasi klien , dengan antarmuka pengguna yang bagus. Ini berkomunikasi secara aman dengan papan melalui Azure IoT Hub.
  • Pengenalan suara (pada aplikasi klien), melalui Speech Recognition API yang disediakan oleh Microsoft Project Oxford. Perintah lisan dapat digunakan untuk mengontrol papan melalui Azure IoT Hub.

Bagian 2: Kasus penggunaan / sampel, dibuat dengan komponen di atas:termostat ruangan, dikontrol melalui telepon (aplikasi UWP). Kami telah membangunnya sebagai contoh bagaimana menggunakan komponen. Dan kami melangkah lebih jauh:kami telah memasangnya di kantor kami, dan saat kami menulis baris ini, sistem pemanas kantor dikendalikan oleh proyek ini.

Bagian 1:Komponen yang Dapat Digunakan Kembali untuk OTA

Prinsip Kerja OTA

Kami telah mengembangkan komponen berikut:

Untuk Arduino IDE:

  • perpustakaan run-time . Ini menangani mekanisme pengunggahan dan penyalinan firmware.
  • paket "papan" khusus . Ini memiliki beberapa pengaturan terkait tautan, yang dibutuhkan oleh perpustakaan.
  • sebuah plugin Arduino IDE . Ini mengirimkan sinyal unduhan dan sketsa biner yang dikompilasi (alias firmware). Ini berkomunikasi dengan papan, Azure IoT Hub, aplikasi server operator IoT (lih. di bawah).

Untuk diinstal pada server pihak ketiga (misalnya seperti Situs Web Microsoft Azure):

  • Pengirim IoT , aplikasi PHP + MySQL yang menyimpan dan menyajikan firmware.

Prinsip Kerja Aplikasi UWP

Kami telah mengembangkan:

  • Aplikasi klien UWP, ditulis dalam C#. Ini berkomunikasi dengan papan melalui Azure IoT Hub, dan mengenali perintah lisan melalui Microsoft Project Oxford. Ini dapat digunakan sebagai titik awal untuk berbagai proyek.

DEMO OTA

Bagian 2:Kasus Penggunaan / Sampel:Termostat Ruangan

Seperti disebutkan sebelumnya, kami mengembangkan termostat ruangan untuk menunjukkan bagaimana seseorang dapat menggabungkan komponen kami untuk membangun proyek kehidupan nyata. Dalam kasus kami, kami bahkan memasukkannya ke dalam produksi, yaitu mengontrol pemanasan kantor kami.

Logikanya sederhana:

  • ketika suhu turun di bawah suhu preset => relai (yaitu pemanasan) AKTIF
  • ketika suhu di atas suhu preset => relai/pemanas mati
  • antarmuka pengguna/klien UWP:menunjukkan status, dan menyetel suhu prasetel (melalui kotak teks atau suara)

1. Membuat Proyek (Perangkat Keras)

Kami tidak menyediakan diagram Fritzing, karena kami menggunakan Beta MKR1000. Tata letak pin dapat berubah di masa mendatang.

2. Siapkan Lingkungan Dev untuk OTA dan Azure IoT Hub

  • Instal Arduino IDE, setidaknya versi 1.6.7
  • Pasang Papan SAMD Arduino. Dari Arduino IDE:Tools> Board:...> Boards Manager ...> pilih "Arduino SAMD Boards"
  • Unduh dan buka zip beberapa perpustakaan di:SKETCHBOOK_DIR (mis. Documents/Arduino)/libraries :WiFi101, AzureIoT, RTCZero.

Dan sekarang komponen kami:

  • Unduh dan buka zip perpustakaan run-time OTA di:SKETCHBOOK_DIR (mis. Documents/Arduino)/libraries.
  • Unduh paket "papan" khusus kami . Buat direktori:SKETCHBOOK_DIR (mis. Documents/Arduino)/hardware/flower-platform . Buka zip file yang diunduh di sini.
  • Unduh plugin Arduino IDE . Buat direktori:SKETCHBOOK_DIR (mis. Documents/Arduino)/tools. Buka zip file yang diunduh di sini.

Untuk OTA aman melalui Internet/HTTPS:

  • Unduh IoT Dispatcher dan instal di server PHP + MySQL. Misalnya. kami memiliki instruksi tentang cara menyebarkan di Microsoft Azure Cloud.

3. Uji Coba OTA

Ada 3 metode pengunggahan OTA.

1) Coba OTA melalui LAN: File> Contoh> Arduino-FlowerOTA> WiFiOTA . Ubah baris yang dikomentari dengan "// CHANGE ME" karenanya, untuk mengonfigurasi alamat IP, parameter WiFi, plain/ssl, tanda tangan server. Kemudian Platform Bunga> Unggah OTA ...

Pastikan Anda menggunakan:

klien WiFiClient; 

dan (lih. "tanda tangan server" dari jendela popup).

ota.begin(&udp, &client, "1hvtdliHzKLjMykvfW1MfPwsFthUU/YfjN8fOZJ3Qhc="); 

CATATAN :untuk ketiga metode tersebut, Anda perlu melakukan unggahan awal melalui USB. Setelah itu, Anda dapat terus menggunakan OTA, dengan metode pilihan Anda.

2) Coba OTA melalui petugas operator yang aman , menggunakan file yang sama:

Pastikan Anda menggunakan:

klien WiFiSSLClient; 

dan

ota.begin(&udp, &client, "my-iot-dispatcher-upload-key"); // lihat dikonfigurasi dalam IoT Dispatcher (PHP) 

3) Coba OTA melalui petugas operator yang aman + Azure IoT Hub . File> Contoh> Arduino-FlowerOTA> WiFiOTA-AzureIoTHub. Sekali lagi:jangan lupa untuk menyesuaikan baris yang dikomentari dengan "// CHANGE ME ".

4) Coba kasus penggunaan / sampel:termostat ruangan. Ini tersedia di sini.

4. Test Drive Antarmuka Pengguna (Aplikasi UWP dengan Azure IoT Hub dan Speech Recognition)

Proyek UWP tersedia di sini. Visual Studio 2015 dan Windows 10 diperlukan.

Pastikan Anda mengubah parameter koneksi lih. akun Azure Anda:

SendCloudToDevice.cs

 class SendCloudToDevice { // CHANGE ME:Harap ganti konstanta di bawah ini, dengan nilai aktual (diambil dari Portal Azure Anda) private const string HOST ="???.azure-devices.net"; string const pribadi DEVICE_ID ="???"; string const pribadi DEVICE_KEY ="???"; static string sharedAccessKeyName ="???"; static string sharedAccessKey ="???"; 

ReadDeviceToCloud.cs

 class ReadDeviceToCloud { // Harap ganti konstanta di bawah ini, dengan nilai aktual (diambil dari Portal Azure Anda) private static string ConnectionString ="???"; private static string eventHubEntity ="???"; 

Kode ini dapat berfungsi sebagai titik awal untuk aplikasi klien untuk berbagai proyek. Anda hanya perlu menyesuaikan antarmuka pengguna sesuai dengan proyek Anda.

Langkah ke Depan

Papan seperti Arduino MKR1000, yang memiliki kekuatan pemrosesan yang wajar dan kemampuan komunikasi SSL, merupakan langkah maju yang besar bagi komunitas pembuat.

Kami melanjutkan pekerjaan yang dimulai dengan proyek ini, untuk mengembangkan Flower Platform IoT, layanan online yang akan sangat mempercepat proyek IoT:

  • pengembangan:penggunaan komponen OOP dan bahasa pemrograman grafis (yang dapat dicampur dengan kode tulisan tangan);
  • penerapan:penggunaan OTA.

Dengan memanfaatkan Platform Bunga, kami berencana untuk membuat sebuah yayasan yang akan berfokus pada mengajar anak-anak untuk membuat dan memprogram proyek IoT.

Kode

Library run-time yang menangani mekanisme pengunggahan dan penyalinan firmware (C++)
https://github.com/flower-platform/Arduino-FlowerOTA
Paket "papan" khusus yang memiliki beberapa setelan terkait tautan, diperlukan oleh perpustakaan (skrip tautan)
https://github.com/flower-platform/ArduinoCore-samd-OTA
Plugin Arduino IDE. Berkomunikasi dengan board, operator, dan IoT Hub (Java)
https://github.com/flower-platform/flower-platform-arduino-ide-plugin
Pengirim IoT. Menyimpan dan menyajikan firmware yang dibutuhkan selama OTA (PHP + MySQL)
https://github.com/flower-platform/flower-platform-iot-dispatcher
Contoh / contoh penggunaan termostat ruangan (C++)
https://github.com/flower-platform/ThermostatIoT
UWP Client, untuk kasus/sampel penggunaan termostat ruangan (C#, HTML, JavaScript)
https://github.com/flower-platform/thermostat-uwp-ui

Skema

Kami tidak menyediakan diagram Fritzing, karena kami menggunakan Beta MKR1000. Tata letak pin dapat berubah di masa mendatang.

Proses manufaktur

  1. Bagaimana Menjadi Administrator Azure Bersertifikat Microsoft?
  2. BAIK BAIKNYA AZURE SEBAGAI PILIHAN KARIR
  3. Token Blockchain dan Layanan Manajemen Data Microsoft Azure
  4. Lembar Cheat Microsoft Azure 2020
  5. Hubungkan Azure ke Power BI:Panduan Komprehensif
  6. Pil KB
  7. Algoritma dan peningkatan kekuatan perangkat keras dari kontrol suara
  8. Kontrol Pengisian Kolam
  9. Microsoft Meluncurkan Azure Edge Zones Untuk Aplikasi 5G
  10. Drive keberlanjutan Emerson dengan platform kontrol cloud