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

Bicaralah dengan Arduino dan Kontrol dengan Asisten Google

Komponen dan persediaan

Arduino UNO
× 1
Espressif ESP8266 ESP-01
× 1

Aplikasi dan layanan online

Arduino IDE
Microsoft Visual Studio 2017

Tentang proyek ini

Dalam proyek ini, kita akan Belajar bagaimana membuat koneksi antara layanan internet dan papan Arduino. Di akhir artikel ini, Anda akan:

  • tahu cara mendapatkan data dari Asisten Google
  • mengetahui cara menggunakan protokol IFTTT
  • memahami webhook dan permintaan http
  • bisa berbicara dengan Arduino

Asisten Google &Applet IFTTT

Asisten Google adalah asisten virtual bertenaga kecerdasan buatan yang dikembangkan oleh Google yang terutama tersedia di perangkat seluler dan rumah pintar. Tidak seperti asisten virtual perusahaan sebelumnya, Google Now, Asisten Google dapat terlibat dalam percakapan dua arah. Itu dapat mengenali kata-kata Anda lebih baik daripada perangkat apa pun dan merespons perintah Anda dengan cepat dan benar. Pengguna terutama berinteraksi dengan Asisten Google melalui suara alami, meskipun input keyboard juga didukung. Dalam sifat dan cara yang sama seperti Google Now, Asisten dapat mencari di Internet, menjadwalkan acara dan alarm, menyesuaikan pengaturan perangkat keras pada perangkat pengguna, dan menampilkan informasi dari akun Google pengguna. Google juga telah mengumumkan bahwa Asisten akan dapat mengidentifikasi objek dan mengumpulkan informasi visual melalui kamera perangkat, dan mendukung pembelian produk dan pengiriman uang, serta mengidentifikasi lagu.

If This Then That, juga dikenal sebagai IFTTT, adalah layanan berbasis web gratis untuk membuat rantai pernyataan kondisional sederhana, yang disebut applet. Applet dipicu oleh perubahan yang terjadi dalam layanan web lain seperti Gmail, Facebook, Telegram, Instagram, atau Pinterest. Misalnya, applet dapat mengirim pesan email jika pengguna men-tweet menggunakan hashtag, atau menyalin foto di Facebook ke arsip pengguna jika seseorang menandai pengguna di foto. Selain aplikasi berbasis web, layanan ini berjalan di iOS dan Android. Pada Februari 2015, IFTTT mengganti nama aplikasi aslinya menjadi IF, dan merilis rangkaian aplikasi baru bernama Do, yang memungkinkan pengguna membuat aplikasi dan tindakan pintasan. Pada 2015, pengguna IFTTT membuat sekitar 20 juta resep setiap hari. Semua fungsi rangkaian aplikasi Do telah diintegrasikan ke dalam aplikasi IFTTT yang didesain ulang.

Konten Webhook &JSON

Webhook dalam pengembangan web adalah metode untuk menambah atau mengubah perilaku halaman web, atau aplikasi web, dengan panggilan balik khusus. Panggilan balik ini dapat dipertahankan, dimodifikasi, dan dikelola oleh pengguna dan pengembang pihak ketiga yang mungkin belum tentu berafiliasi dengan situs web atau aplikasi asal. Istilah "webhook" diciptakan oleh Jeff Lindsay pada tahun 2007 dari istilah pemrograman komputer hook.

Dalam komputasi, JavaScript Object Notation (JSON) adalah format file standar terbuka yang menggunakan teks yang dapat dibaca manusia untuk mengirimkan objek data yang terdiri dari pasangan atribut-nilai dan tipe data array (atau nilai serial lainnya). Ini adalah format data yang sangat umum digunakan untuk komunikasi browser-server asinkron, termasuk sebagai pengganti XML di beberapa sistem bergaya AJAX.

Asisten Google untuk Arduino

Dalam proyek ini, kami ingin mengontrol berbagai bagian Arduino seperti pin I/O, PWM, port Serial dan sebagainya dengan mengirimkan string dari Google Assistant ke port Serial Arduino. Pertama-tama, Kami perlu mendefinisikan beberapa frasa khusus untuk Asisten Google untuk mengetahui apa yang kami maksud. Kemudian kita akan membuat applet di website IFTTT dan membuat koneksi antara Google Assistant dengan database kita. Setelah itu kita membaca data dari database oleh modul ESP8266 dan mengirimkannya ke Arduino. Mari kita mulai!

Sirkuit

Implementasi

Pertama-tama, Anda memerlukan perangkat untuk menjalankan bantuan Google Anda. Buka asisten.google.com dan lihat semua perangkat yang mendukung asisten. Dalam proyek ini, kami menggunakan perangkat ponsel Android. Buka ifttt.com dan buat akun. Setelah masuk, Klik Applet Saya lalu klik Applet Baru. Sekarang Anda dapat menambahkan layanan Anda sebagai INI di applet Anda. Klik INI dan cari Asisten Google. Anda memiliki 4 pilihan untuk menentukan frase Anda untuk bantuan google. Pilih frase dengan bahan nomor. Di halaman berikutnya Anda dapat menambahkan frase Anda. Misalnya Anda ingin mengatakan "Set PWM dari pin 9 ke 255". Ketik saja sebagai frasa Anda dan ganti "255" dengan simbol "#". Anda dapat menambahkan lebih banyak frasa dengan arti yang sama seperti “PWM 9 hingga 255”. Sekarang tambahkan respons sehingga Asisten Google dapat memberi tahu Anda bahwa perintah Anda dipahami dan tindakan yang diperlukan telah diambil, misalnya "PWM diperbarui". Setelah selesai klik Buat Pemicu. Di bagian "ITU" dari applet Anda, Anda memiliki banyak layanan untuk memilih pencarian formulir untuk "Webhooks" dan memilih itu. Klik "Buat permintaan web." Tambahkan URL Server Anda untuk menerima data. Setel metode pada POST dan pilih Application/json untuk tipe konten. Sekarang Anda harus menambahkan isi konten. Sesuatu seperti ini:{“Number”:”{ {NumberField}}”}. Sekarang klik “Buat tindakan."

Server dan Basis Data

Kami menulis kode sampel untuk Server untuk mendapatkan data dari IFTTT dan menyimpannya di database. Anda dapat mengubah model untuk membuat data Anda disimpan sebagai minat Anda. Unduh dari Sini.

ESP8266 &Kode Arduino

Pertama kita menulis kode untuk ESP-01 untuk mendapatkan data dari database dan mengirimkannya ke Arduino melalui port Serial. Kemudian kita menulis kode lain untuk Arduino untuk mendapatkan data dari ESP-01 dan menjalankan perintah (misalnya mengubah PWM). Anda dapat menggunakan Arduino IDE untuk mengkompilasi kedua kode dan mengunggahnya ke papan.

Sebelum Anda dapat menggunakan perpustakaan ArduinoJson, Anda harus memastikan perpustakaan diinstal di komputer Anda. Untuk melakukan pemeriksaan cepat, pergilah ke pengelola perpustakaan di Arduino IDE (Sketsa> Sertakan Perpustakaan> Kelola Perpustakaan) dan ketik "ArduinoJson" di kotak teks, jika Anda melihat label "TERINSTAL" berwarna hijau di samping nama file perpustakaan, itu berarti Anda semua baik untuk pergi dan Anda dapat melanjutkan ke langkah berikutnya. Jika Anda tidak melihat labelnya, klik kotak/divisi satu kali dan Anda akan melihat tombol “Instal”. Tekan instal dan Anda siap untuk langkah berikutnya.

Sekarang, Unggah kode ini ke ESP-01

#include "ESP8266WiFi.h"#include "ESP8266HTTPClient.h"#include "ArduinoJson.h"// Parameter WiFiconst char* ssid ="YOUR_SSID";const char* password ="YOUR_PASSWORD";batalkan pengaturan () { Serial.begin(115200); WiFi.begin(ssid, kata sandi); while (WiFi.status() !=WL_CONNECTED) { delay(1000); Serial.println("Menghubungkan..."); }}void loop() { // Periksa Status WiFi jika (WiFi.status() ==WL_CONNECTED) { HTTPClient http; //Objek kelas HTTPClient http.begin("http://yourip/api/Home/GetAllApp"); int httpKode =http.GET(); //Periksa kode yang dikembalikan if (httpCode> 0) { // Dapatkan respons permintaan payload String payload =http.getString(); // TODO:Parsing Serial.println(payload); } http.end(); //Tutup koneksi } // Delay delay(3000);} 

Dan ini adalah kode Arduino untuk mendapatkan pesanan dari Asisten Google dan menjalankannya.

String inputString =""; // sebuah String untuk menampung dataString yang masuk buff;bool stringComplete =false; // apakah string adalah completebool id;int f,buf;char x;void setup() { // initialize serial:Serial.begin(9600); // simpan 200 byte untuk inputString:inputString.reserve(200);}void loop() { // cetak string saat baris baru tiba:if (stringComplete) { while (f <100) { if (inputString.substring( f) =="id") { id =benar; merusak; } f++; } if (id ==true) { x =inputString.charAt(f + 4); } jika (x =='4') { f =0; while (f <100) { if (inputString.substring(f) =="angka") { f +=9; for (int i =0; i <3; i++) { if (inputString.charAt(f + i) =='"') i =3; else buff +=inputString.charAt(f + i); } buf =buff.toInt(); analogWrite(9, buf); break; } f++; } } // hapus string:inputString =""; stringComplete =false; }}void serialEvent() { while (Serial.available()) { // dapatkan byte baru:char inChar =(char)Serial.read(); // tambahkan ke inputString:inputString +=inChar; // jika karakter yang masuk adalah baris baru, atur flag sehingga loop utama dapat // melakukan sesuatu tentangnya:if (inChar =='\n') { stringComplete =true; } }} 

Apa Selanjutnya?

Anda dapat meningkatkan proyek ini sesuai keinginan. Berikut adalah beberapa saran:

  • Coba tambahkan perintah favorit Anda seperti mengontrol pin keluaran, Anda dapat menggunakan modul relai dan mengontrol lampu ruangan.
  • Coba kirim data dari Arduino ke Asisten Google.

Proses manufaktur

  1. Kontrol akses dengan QR, RFID, dan verifikasi suhu
  2. Kontrol Jarak Jauh Universal menggunakan Arduino, 1Sheeld, dan Android
  3. Kontrol Penerima Koin dengan Arduino
  4. Arduino dengan Bluetooth untuk Mengontrol LED!
  5. Arduino Nano:Kontrol 2 Motor Stepper Dengan Joystick
  6. Mengontrol Motor Servo dengan Arduino dan MPU6050
  7. Peralatan yang Dikendalikan Suara Bluetooth dengan OK Google
  8. u-blox LEA-6H 02 Modul GPS dengan Arduino dan Python
  9. Pengenalan dan Sintesis Ucapan dengan Arduino
  10. ThimbleKrox - Kontrol Mouse dengan Jari Anda