Mục lục:

Công tắc điều khiển bằng giọng nói sử dụng Alexa và Arduino: 10 bước (có hình ảnh)
Công tắc điều khiển bằng giọng nói sử dụng Alexa và Arduino: 10 bước (có hình ảnh)

Video: Công tắc điều khiển bằng giọng nói sử dụng Alexa và Arduino: 10 bước (có hình ảnh)

Video: Công tắc điều khiển bằng giọng nói sử dụng Alexa và Arduino: 10 bước (có hình ảnh)
Video: Điều Khiển Đèn, Quạt Bằng Giọng Nói | Control Fan, Light By Voice | Arduino 2024, Tháng bảy
Anonim
Công tắc điều khiển bằng giọng nói sử dụng Alexa và Arduino
Công tắc điều khiển bằng giọng nói sử dụng Alexa và Arduino

Mục đích chính của dự án này là sử dụng cảm biến nhiệt độ để điều khiển công tắc (rơ le) bật hoặc tắt thiết bị.

Danh sách nguyên liệu

  1. Mô-đun chuyển tiếp 12V ==> $ 4,2
  2. Arduino una ==> $ 8
  3. Cảm biến nhiệt độ DHT11 ==> $ 3
  4. Mô-đun ESP8266 ==> $ 4,74
  5. N26 optocoupler ==> $ 0,60
  6. Bộ điều chỉnh điện áp LM1117 ==> $ 0,60
  7. Breadboard ==> $ 2,2
  8. Dây nhảy ==> $ 2,5
  9. Nút nhấn ==> $ 2,5

Tổng chi phí của dự án khoảng $ 30 đô la. Dự án này được chia thành ba phần. Đầu tiên, chúng tôi sử dụng heroku để tạo một ứng dụng. Thứ hai, chúng tôi xây dựng kỹ năng Amazon Alexa để triển khai công việc của mình (Phần quan trọng nhất). Thứ ba, chúng tôi thiết lập phần cứng và lập trình nó bằng Arduino IDE.

Bước 1: Liên kết Heroku với GitHub

Liên kết Heroku với GitHub
Liên kết Heroku với GitHub
Liên kết Heroku với GitHub
Liên kết Heroku với GitHub
Liên kết Heroku với GitHub
Liên kết Heroku với GitHub

Heroku là một nền tảng đám mây dưới dạng dịch vụ (PaaS) hỗ trợ một số ngôn ngữ lập trình được sử dụng làm mô hình triển khai ứng dụng web. Đầu tiên, vào trang heroku tạo một tài khoản mới hoặc đăng nhập vào đó. Liên kết được đưa ra bên dưới

Trang web Heroku

Hãy bắt đầu với việc tạo một ứng dụng mới. Tôi đã đặt tên ứng dụng của mình là "iottempswitch" khi bạn triển khai ứng dụng, liên kết được tạo.

Sau khi ứng dụng được tạo, hãy truy cập GitHub. GitHub /

Đăng nhập ở đó hoặc đăng ký nếu bạn chưa có tài khoản. Sau khi đăng nhập, hãy tạo kho lưu trữ mới, nhập bất kỳ tên nào bạn muốn chọn rồi nhấn tạo kho lưu trữ. Trên trang tiếp theo nhấp vào ĐỌC CHỦ, trên trang này đưa ra mô tả bạn muốn chia sẻ với người khác. Sau đó nhấp vào cam kết tệp mới. Tiếp theo, nhấp vào nút tải lên.

Có hai tùy chọn bạn kéo và thả thư mục hoặc chọn tệp. Tải xuống các tệp cần thiết từ bên dưới. Sau khi chọn tệp, nhấn cam kết thay đổi, mở ứng dụng mà bạn đã tạo tại Heroku, sau đó chuyển đến phần triển khai. Sau đó, nhấp vào GitHub. Give tên kho lưu trữ mà bạn đã tạo ở phía GitHub. Trong trường hợp của tôi, đó là Smart-Relay. Sao chép và dán nó vào đây. Sau khi liên kết của bạn được hiển thị, hãy nhấp vào kết nối. Tiếp theo, nhấp vào nhánh triển khai (thủ công). Sau khi triển khai, bạn có thể thấy liên kết trong nhật ký xây dựng hoặc bạn có thể thấy liên kết trong cài đặt. Chúng tôi cần liên kết này sau khi chúng tôi đang tạo kỹ năng cho Amazon.

Bước 2: Amazon

Amazon
Amazon
Amazon
Amazon
Amazon
Amazon

Hình ảnh mới nhất về kỹ năng Alexa

Trên trang Amazon Developer, chúng tôi sử dụng kỹ năng của Amazon để điều khiển kích hoạt công tắc bằng cách cài đặt nhiệt độ và độ ẩm.

Truy cập Trang web dành cho nhà phát triển Amazon. Liên kết được đưa ra bên dưới.

Trang web nhà phát triển Amazon

  • Chuyển đến Bảng điều khiển dành cho nhà phát triển ở trên cùng bên phải như trong hình i4
  • Truy cập Alexa, sau đó chọn Bộ kỹ năng Alexa và sau đó tạo kỹ năng mới bằng cách nhấp vào Thêm kỹ năng mới.

Khi bạn thêm kỹ năng mới, bạn sẽ thấy trang thông tin kỹ năng.

1. Thông tin Kỹ năng (như trong hình i7)

chúng tôi phải cung cấp loại kỹ năng, ngôn ngữ, tên, tên gọi.

Loại kỹ năng ==> chọn tùy chỉnh

  • Đặt tên ==> chọn tên bất kỳ.
  • Tên gọi ==> mà bạn sử dụng trong khi giao tiếp với Alexa.
  • Ngôn ngữ ==> Tiếng Anh (Ấn Độ). Chọn theo quốc gia của bạn

nhấp vào lưu và sau đó nhấp vào tiếp theo

2. Mô hình tương tác

Ở đây, chúng tôi sẽ sử dụng trình xây dựng kỹ năng. Vì vậy, hãy nhấp vào Khởi chạy Trình tạo kỹ năng. bạn sẽ thấy trang như trong hình i8.

Đầu tiên, chúng tôi tạo ý định mới. Nhấp vào Thêm (ở phía bên trái) và đặt bất kỳ tên nào bạn muốn mà tôi đã sử dụng "smartswitch"

  • Cung cấp tên loại khe cắm "Measure_type" và các giá trị "nhiệt độ" và "độ ẩm" như trong hình i9.
  • Sau đó, thêm tên loại vị trí "truy vấn" và các giá trị vị trí là "cái gì" và "là" như trong hình ảnh i10.
  • Sau đó thêm loại vị trí "switchstate" và các giá trị vị trí là "bật" và "tắt" như thể hiện trong hình i11.
  • Thêm một loại vị trí khác là "tempscale" và các giá trị vị trí là "fahrenheit" và "celcuis" như trong hình i12.
  • Sau đó, thêm loại vị trí mới ở đây, chúng tôi sử dụng loại vị trí hiện tại mà chúng tôi phải nhấp vào sử dụng vị trí hiện có. Trong tìm kiếm vị trí hiện có cho amazon.number và chọn cái này và thêm nó. Sau khi thêm nó, bạn sẽ thấy nó trong các loại khe cắm như trong hình i13.

Vậy là chúng ta đã thực hiện xong với các loại vị trí tổng số loại vị trí chúng tôi đang sử dụng là 5. Bây giờ, hãy chuyển sang bước tiếp theo. Nhấp vào ý định mà chúng tôi đã tạo, trong trường hợp của tôi, đó là smartswitch. Ở phía bên tay phải, bạn sẽ thấy khe ý định như trong hình i14.

  • Tạo một vị trí mới, đặt tên cho nó là "Switch_State" và ánh xạ nó thành "switchstate" bằng cách sử dụng nút thả xuống như trong hình i15.
  • Tạo vị trí mới, đặt tên cho nó là "Sensor_Values" và ánh xạ nó thành "Measure_type" như trong hình i16.
  • Tạo vị trí mới, đặt tên "truy vấn" và ánh xạ nó thành "truy vấn" như trong hình i17.
  • Sau đó, tạo vị trí mới "tmp_scale" và ánh xạ nó thành "tempscale" như thể hiện trong hình ảnh i18.
  • Tạo vị trí mới "Numbers" và ánh xạ nó thành "Amazon. Numbers" như trong hình i19.

Bây giờ chúng ta đã hoàn thành với các vị trí Intent. Chúng tôi đang sử dụng 5 vị trí có ý định. Sau đó, chúng tôi chuyển đến các Hình ảnh mẫu như thể hiện trong hình ảnh i20.

Thêm các câu nói mẫu này.

đặt trình kích hoạt chuyển đổi thành {Numbers} phần trăm {tmp_scale}

{query} là trạng thái chuyển đổi

Trình kích hoạt chuyển đổi {Switch_State}

đặt trình kích hoạt chuyển đổi thành {Numbers} độ {tmp_scale}

chuyển công tắc {Switch_State}

{query} chuyển đổi {Switch_State}

{query} là {Sensor_Values} hiện tại

Sau khi lưu mô hình này và xây dựng nó. Chờ cho mô hình được xây dựng sau đó nhấp vào cấu hình, sau khi xây dựng bạn sẽ thấy thông báo như trong hình i21 và i22.

3. Cấu hình

Chọn HTTPS và thêm liên kết được tạo trong khi tạo ứng dụng heroku. Trong trường hợp của tôi, đó là https://iottempswitch.herokuapp.com/. Sau khi thêm liên kết nhấp vào tiếp theo như trong hình i23.

4. Chứng chỉ SSL Chọn tùy chọn thứ hai và nhấp vào tiếp theo như trong hình i24.

chúng tôi đã tạo thành công kỹ năng của mình.

Bước 3: Arduino

Arduino
Arduino
Arduino
Arduino
Arduino
Arduino

Mở Arduino IDE, sau đó đi tới Tệp ==> Tùy chọn

Trong Trình quản lý bảng bổ sung, sao chép và dán URL và nhấp vào ok như được hiển thị trong hình ảnh i26.

arduino.esp8266.com/versions/2.4.0/package_…

  • Mở Board Manager bằng cách vào Tools ==> Board ==> Board Manager.
  • Mở Trình quản lý bảng và tìm kiếm gật đầu như trong hình i27.
  • Sau đó tải về thư viện ESP8266WiFi. Mở trình quản lý thư viện: Sketch ==> Bao gồm thư viện ==> Quản lý thư viện.
  • Tìm kiếm thư viện ESP8266WiFi và cài đặt nó.
  • Chọn bo mạch ==> Mô-đun ESP8266 chung.
  • Trước khi tải lên mã, chúng ta cần ba thư viện.

Thư viện bắt buộc

Di chuyển các thư viện này vào thư mục thư viện của Arduino

Bạn phải thay đổi ba thứ trong mã SSID, PWD và liên kết ứng dụng heroku của bạn, sau đó tải lên mã. Đối với Mô-đun ESP, bạn phải nhấn nút flash trong khi tải mã lên và sau đó nhấn nút đặt lại một lần và sau đó nhả nút flash. Sau khi tải mã lên, hãy mở thiết bị đầu cuối. bạn sẽ thấy đầu ra.

Bước 4: Mô tả thành phần

Mô tả thành phần
Mô tả thành phần
Mô tả thành phần
Mô tả thành phần
Mô tả thành phần
Mô tả thành phần
Mô tả thành phần
Mô tả thành phần

1. Rơ le là gì

Rơ le là một thiết bị điện từ được sử dụng để cách ly hai mạch điện và kết nối chúng bằng từ tính. Chúng là những thiết bị rất hữu ích và cho phép một mạch chuyển mạch khác trong khi chúng hoàn toàn tách biệt. Chúng thường được sử dụng để giao diện một mạch điện tử (làm việc ở điện áp thấp) với một mạch điện làm việc ở điện áp rất cao. Ví dụ, một rơ le có thể tạo mạch pin 5V DC để chuyển mạch nguồn AC 230V.

Làm thế nào nó hoạt động

Một công tắc rơle có thể được chia thành hai phần: đầu vào và đầu ra. Phần đầu vào có một cuộn dây tạo ra từ trường khi một điện áp nhỏ từ mạch điện tử được đặt vào nó. Điện áp này được gọi là điện áp hoạt động. Các rơ le thường được sử dụng có sẵn ở các cấu hình điện áp hoạt động khác nhau như 6V, 9V, 12V, 24V, v.v. Phần đầu ra bao gồm các công tắc tơ kết nối hoặc ngắt kết nối cơ học. Trong một rơle cơ bản có ba công tắc tơ: thường mở (NO), thường đóng (NC) và chung (COM). Ở trạng thái không có đầu vào, COM được kết nối với NC. Khi áp dụng điện áp hoạt động, cuộn dây rơ le được cấp điện và tiếp điểm COM thay đổi thành NO. Các cấu hình rơle khác nhau có sẵn như SPST, SPDT, DPDT, v.v., có số lượng tiếp điểm chuyển đổi khác nhau. Bằng cách sử dụng kết hợp thích hợp các công tắc tơ, mạch điện có thể được bật và tắt. Nhận chi tiết bên trong về cấu trúc của một công tắc rơle.

Đầu cuối COM là thiết bị đầu cuối chung. Nếu các đầu nối COIL được cấp điện với điện áp danh định, các đầu nối COM và NO có tính liên tục. Nếu các đầu cuối COIL không được cấp điện, thì các đầu cuối COM và NO không có tính liên tục.

Thiết bị đầu cuối NC là thiết bị đầu cuối Thường đóng. Đây là thiết bị đầu cuối có thể được cấp nguồn ngay cả khi rơ le không nhận được bất kỳ hoặc đủ điện áp để hoạt động.

Thiết bị đầu cuối NO là thiết bị đầu cuối Thường mở. Đây là đầu cuối nơi bạn đặt đầu ra mà bạn muốn khi rơle nhận được điện áp định mức của nó. Nếu không có điện áp vào các cực COIL hoặc không đủ điện áp, đầu ra sẽ mở và không nhận được điện áp. Khi các đầu cuối COIL nhận được điện áp danh định hoặc thấp hơn một chút, đầu cuối NO sẽ nhận đủ điện áp và có thể bật thiết bị trên đầu ra.

2. cảm biến nhiệt độ DHT

DHT11 là một cảm biến độ ẩm và nhiệt độ, tạo ra đầu ra kỹ thuật số đã hiệu chỉnh. DHT11 có thể được giao diện với bất kỳ bộ điều khiển vi mô nào như Arduino, Raspberry Pi, v.v. và nhận được kết quả tức thì. DHT11 là cảm biến nhiệt độ và độ ẩm chi phí thấp mang lại độ tin cậy cao và ổn định lâu dài.

3. Mô tả hoàn chỉnh ESP8266

Mô-đun WiFi ESP8266 là một SOC độc lập với ngăn xếp giao thức TCP / IP tích hợp có thể cấp cho bất kỳ bộ vi điều khiển nào quyền truy cập vào mạng WiFi của bạn. ESP8266 có khả năng lưu trữ các chức năng mạng ứng dụng từ một ứng dụng khác Mỗi mô-đun ESP8266 được lập trình sẵn bằng lệnh AT.

ESP8266 hỗ trợ APSD cho các ứng dụng VoIP và giao diện đồng tồn tại Bluetooth, nó chứa một RF tự hiệu chỉnh cho phép nó hoạt động trong mọi điều kiện hoạt động và không yêu cầu bộ phận RF bên ngoài.

Đặc trưng

  • 802.11 b / g / n
  • Wi-Fi Direct (P2P),
  • soft-API được tích hợp ngăn xếp giao thức TCP / IP
  • Tích hợp công tắc TR, balun, LNA, bộ khuếch đại công suất và mạng kết hợp
  • PLL tích hợp, bộ điều chỉnh, DCXO và đơn vị quản lý nguồn
  • + Công suất đầu ra 19,5dBm ở chế độ 802.11b
  • Nguồn điện rò rỉ dòng điện <10uA
  • Bộ nhớ Flash 1MB
  • CPU 32-bit công suất thấp tích hợp có thể được sử dụng làm bộ xử lý ứng dụng
  • SDIO 1.1 / 2.0, SPI, UART
  • Tổng hợp STBC, 1 × 1 MIMO, 2 × 1 MIMOA-MPDU & A-MSDU & khoảng thời gian bảo vệ 0,4ms
  • Đánh thức và truyền gói tin trong <2ms
  • Công suất tiêu thụ ở chế độ chờ <1,0mW (DTIM3)

Mô tả Pin như hình i34.

Để kết nối Mô-đun ESP với Arduino UNO, chúng ta cần bộ điều chỉnh điện áp Lm1117 3.3 hoặc bất kỳ bộ điều chỉnh nào vì Arduino không có khả năng cung cấp 3.3 v cho ESP8266.

Lưu ý: - Trong khi upload mã, nhấn nút flash sau đó nhấn nút reset một lần rồi nhả nút flash như trong hình i29.

Để kết nối cảm biến DHT11 và rơ le, chúng tôi sử dụng hai chân GPIO của Mô-đun ESP8266. Sau khi tải mã lên, bạn có thể ngắt kết nối các chân RX, TX, GPIO0. Tôi đã sử dụng GPIO0 cho cảm biến DHT11 và GPIO2 cho rơ le. Cảm biến DHT11 hoạt động tốt với ESP8266 nhưng đối với rơ le, chúng ta cần một thứ bổ sung, đó là bộ cách ly quang hoặc bộ ghép quang. Xem hình ảnh i30, i31, i32 và i33.

Bước 5: Kết nối

ESP8266 ===> DHT11GPIO0 ===> Chân đầu ra

ESP8266 ===> RelayGPIO2 ===> Đầu vào

ARDUINO ===> ESP8266

Gnd ===> GndTX ===> TX

RX ===> RX

Nút Đặt lại ===> RST

Nút Flash ===> GPIO0

Bước 6: Kiểm tra tất cả mọi thứ

Kiểm tra tất cả mọi thứ
Kiểm tra tất cả mọi thứ
Kiểm tra tất cả mọi thứ
Kiểm tra tất cả mọi thứ
Kiểm tra tất cả mọi thứ
Kiểm tra tất cả mọi thứ
Kiểm tra tất cả mọi thứ
Kiểm tra tất cả mọi thứ

Chúng tôi đã tạo thành công ứng dụng, kỹ năng và phần cứng của chúng tôi đã sẵn sàng. Vì vậy, đã đến lúc kiểm tra.

Vì vậy, ESP8266 của bạn được bật vì máy chủ của chúng tôi đang chạy trên ESP8266. Ở đây tôi chưa kết nối bất kỳ cảm biến nào với ESP8266 Tôi chỉ đang kiểm tra xem nó có hoạt động hay không nhưng bạn có thể kết nối cảm biến, rơle với ESP8266. Khi nó được kết nối với Heroku, bạn sẽ thấy được kết nối. Để kiểm tra, hãy truy cập kỹ năng Amazon mà bạn đã tạo, sau đó nhấp vào trang kiểm tra. Sau khi nó được xác minh là nó hoạt động, tôi sẽ kết nối cảm biến của tôi với ESP8266. Bạn có thể thấy kết quả như trong hình i35, i36, 37, 38, 39, 40.

Nếu bạn sử dụng nó mà không kết nối ESP8266, bạn sẽ gặp lỗi này như trong hình i41.

Utterance bạn có thể sử dụng

đặt trình kích hoạt chuyển đổi thành {Numbers} phần trăm {tmp_scale}

ví dụ: - đặt kích hoạt công tắc thành độ ẩm 50 phần trăm

{query} là trạng thái chuyển đổi

ex- on / off là trạng thái chuyển đổi

Trình kích hoạt chuyển đổi {Switch_State}

kích hoạt công tắc ex -on / off

đặt trình kích hoạt chuyển đổi thành {Numbers} độ {tmp_scale}

ex - đặt kích hoạt công tắc thành 76 độ F.

ex - đặt kích hoạt công tắc thành 24 độ celcius

chuyển công tắc {Switch_State}

ví dụ: bật / tắt công tắc

Xem ảnh i41 đến i46 để biết kết quả.

Trong khi nói chuyện với AlexaAlexa, hãy yêu cầu arduino bật / tắt công tắc kích hoạt

Alexa, yêu cầu arduino đặt kích hoạt công tắc thành 24 độ C.

Alexa, yêu cầu arduino đặt kích hoạt công tắc thành độ ẩm 50 phần trăm

Alexa, yêu cầu arduino bật / tắt công tắc

Bước 7: Sơ đồ VUI (Giao diện người dùng bằng giọng nói)

Sơ đồ VUI (Giao diện người dùng bằng giọng nói)
Sơ đồ VUI (Giao diện người dùng bằng giọng nói)

Bước 8: Demo

Image
Image

1. Đặt kích hoạt cho nhiệt độ và độ ẩm.

2. Đặt kích hoạt ở 20 độ C.

3. Đặt kích hoạt đến độ ẩm 80 phần trăm.

Bước 9: Sơ đồ

Đề xuất: