Làm thế nào để tự động hóa gia đình đa ngôn ngữ bằng Google Assistant và Raspberry Pi?

Hệ thống tự động hóa gia đình chuyển tất cả các thiết bị điện của bạn wifi. Một thành phần đơn lẻ như mô-đun chuyển tiếp được sử dụng để điều khiển các thông số điện tử khác nhau của ngôi nhà, chẳng hạn như chuyển đổi thiết bị gia dụng, giám sát các cảnh báo an ninh, tự động hóa cửa nhà để xe, v.v. Rào cản lớn gặp phải khi thiết kế hệ thống tự động hóa bằng Google Assistant Là Ngôn ngữ. Các hệ thống tự động hóa mới nhất chỉ hỗ trợ một số ngôn ngữ bao gồm hầu hết Tiếng Anh. Do đó, trong dự án này, chúng tôi sẽ thiết kế một hệ thống tự động hóa gia đình đa ngôn ngữ hỗ trợ nhiều ngôn ngữ như tiếng Hindi, tiếng Urdu, tiếng Bengali, v.v. Sau khi hoàn thành hệ thống tự động hóa gia đình này, chúng tôi sẽ có thể điều khiển các thiết bị điện bằng lệnh thoại sẽ được cung cấp bằng các ngôn ngữ khác nhau. Xương sống chính đằng sau dự án này là Trợ lý Google sẽ được sử dụng để điều khiển các thiết bị gia dụng. Chúng tôi thích Trợ lý Google hơn vì nó hỗ trợ hầu hết mọi ngôn ngữ và hơn nữa, Ứng dụng Androidsẽ được thiết kế để kiểm soát các thiết bị.

Làm thế nào để thiết lập Raspberry Pi và các thiết bị ngoại vi khác trong thiết kế hệ thống?

Như chúng ta biết chúng ta muốn làm gì trong dự án này, bây giờ chúng ta hãy tiếp tục và thu thập thêm một số thông tin về các thành phần phần cứng để bắt tay ngay vào dự án này.

Bước 1: Các thành phần cần thiết (Phần cứng)

Cách tiếp cận tốt nhất để bắt đầu bất kỳ dự án nào là lập danh sách các thành phần và nghiên cứu ngắn gọn về các thành phần này vì sẽ không ai muốn mắc kẹt ở giữa dự án chỉ vì thiếu một thành phần.

Bước 2: Chọn mô hình Raspberry Pi

Việc lựa chọn Raspberry Pi là một nhiệm vụ rất kỹ thuật và nó cần được thực hiện cẩn thận để bạn không bị ảnh hưởng trong tương lai. Raspberry Pi Zero không được ưa chuộng vì nó là mẫu máy cũ nhất hiện có trên thị trường với số lượng thông số kỹ thuật hạn chế và việc thiết lập mạng trên đó là một công việc rất mệt mỏi. Có thể mua các mẫu mới nhất như 3A +, 3B +. Raspberry Pi 3 là tiện ích nhanh nhất và chiếm ưu thế nhất mà Raspberry Pi Foundation đã phát hành cho đến nay. Vì vậy, trong dự án này, chúng tôi sẽ sử dụng Raspberry Pi 3B +.

Bước 3: Thiết lập Raspberry Pi

Có hai tùy chọn để thiết lập Raspberry Pi. Đầu tiên, một là kết nối Pi của bạn với LCD và kết nối tất cả các thiết bị ngoại vi cần thiết và bắt đầu hoạt động. Cách thứ hai là thiết lập Pi với máy tính xách tay và truy cập nó từ xa. Nó phụ thuộc vào tình trạng sẵn có của LCD, nếu bạn có nó ở nhà thì bạn có thể thiết lập Pi của mình bằng cách sử dụng LCD. Kết nối màn hình LCD với cổng HDMI của Raspberry bằng cách sử dụng bộ chuyển đổi HDMI sang VGA. Nếu bạn muốn truy cập Pi của mình từ xa, hãy làm theo bài viết của tôi có tên “Làm thế nào để truy cập giao diện người dùng đồ họa (GUI) của Raspberry Pi bằng SSH và VNC Viewer?”.

Bước 4: Thiết lập máy chủ Apache trên Raspberry Pi

Sau khi thiết lập Raspberry Pi, chúng tôi sẽ thiết lập Apache máy chủ trên đó. Để thiết lập, chúng ta sẽ gõ lệnh sau vào cửa sổ Terminal:

sudo apt-get install apache2 -y

Chúng tôi có thể xác minh cài đặt của máy chủ bằng cách nhập Địa chỉ IP của Pi trong Máy chủ Web. Chúng tôi sẽ mở trang Apache trong trình duyệt Web và sau đó chúng tôi sẽ sử dụng máy chủ Apache của mình để xử lý PHP Tệp, đối với điều này, bạn phải có phiên bản mới nhất của mô-đun PHP cho Apache. Bây giờ, hãy chạy lệnh sau để chạy phiên bản mới nhất của máy chủ apache.

sudo apt-get install php libapache2-mod-php-y

Chúng ta cần kiểm soát Đầu ra Đầu vào Mục đích Chung (GPIO) chân của Raspberry Pi sau khi thiết lập máy chủ Apache. Để kiểm soát chúng ta cần tạo một tệp PHP. Đầu tiên, chúng tôi sẽ điều hướng đến thư mục HTML và sau đó chúng tôi sẽ tạo một tệp PHP bằng cách gõ lệnh sau:

sudo nano devicesoff.php

Sau đó, chúng tôi sẽ viết mã sau vào tệp đó trước khi lưu nó:

Sau khi viết mã vào tệp trình chỉnh sửa, hãy nhấn Ctrl + X để lưu mã và sau đó thoát. Chúng tôi đã tạo một tệp PHP để chuyển TẮTcác thiết bị, bây giờ chúng tôi sẽ tạo một tệp PHP để chuyển TRÊNcác thiết bị. Quy trình tương tự như trên với một chút thay đổi trong Code. Tạo một tệp PHP để chuyển TRÊNcác thiết bị bằng cách gõ lệnh dưới đây:

sudo nano deviceson.php

Bây giờ, trong tệp trình chỉnh sửa, hãy dán mã được cung cấp bên dưới:

Bước 5: Chuẩn bị Trợ lý Google

Vì hệ thống tự động hóa của chúng tôi sẽ được vận hành bằng lệnh thoại, do đó chúng tôi sẽ thực hiện một số thay đổi trong cài đặt ngôn ngữ.

Bạn phải chọn ngôn ngữ mà bạn muốn hệ điều hành của mình được vận hành. Đi đến "Quy trình" và trong menu của nút Quy trình, bạn sẽ tìm thấy thêm biểu tượng. Chúng tôi sẽ tạo lệnh thoại của mình do đó nói lệnh sẽ được sử dụng để điều khiển các thiết bị. Giả sử nếu bạn muốn điều khiển bóng đèn LED, bạn sẽ đặt một lệnh thích hợp để chuyển TRÊNvà quay TẮTcái bóng đèn.

Bước 6: Phát triển ứng dụng di động

Bây giờ, chúng ta hãy tiến tới phát triển một ứng dụng di động sẽ được sử dụng để điều khiển các thiết bị điện được gắn vào hệ thống của chúng ta. Khi chúng tôi chuẩn bị phát triển một ứng dụng cho điện thoại di động chạy hệ điều hành Android của mình, chúng tôi sẽ cần một nền tảng cho phép chúng tôi làm điều đó. Với mục đích đó, chúng tôi cần hai phần mềm sau:

Bước 7: Thiết lập Android Studio

Trước khi cài đặt Android studio trên máy tính của chúng tôi, một điều khác là phải được cài đặt có tên JAVA JDK. Để cài đặt cái này, hãy nhấp vào exe tệp mà bạn đã tải xuống từ liên kết trên. Tiếp tục nhấp vào nút tiếp theo cho đến khi nó được cài đặt. Bây giờ JAVA phải được máy tính của bạn công nhận là lệnh bên ngoài hoặc lệnh bên trong. Để thực hiện việc này, hãy thực hiện các bước sau.

  1. Mở Bảng điều khiển và nhấp vào Hệ thống và Bảo mật.
  2. Bấm vào Hệ thống.
  3. Bấm vào Cài đặt hệ thống nâng cao và sau đó nhấp vào Các biến môi trường.
  4. Trong phần Biến hệ thống, nhấp vào đường dẫn và sau đó nhấp vào chỉnh sửa. Một mới Chỉnh sửa biến môi trườnghộp sẽ xuất hiện.
  5. Bây giờ đi đến C: \ Program Files \ Java trong PC của bạn. Mở thư mục JDK, nhấp vào thư mục bin và sau đó sao chép đường dẫn của thư mục đó.
  6. Bây giờ, hãy chuyển đến hộp Chỉnh sửa biến môi trường và nhấp vào mới để tạo một biến mới. Dán đường dẫn mà bạn đã sao chép ở bước trên vào biến mới và lưu nó.
  7. Bây giờ để xác nhận, nếu nó đã được cài đặt hoàn chỉnh, hãy mở dấu nhắc lệnh và nhập java –version.

Bây giờ là bạn đã cài đặt thành công Java JDK trên máy tính của mình. Bây giờ, hãy để chúng tôi cài đặt Android Studio trên máy tính của bạn. Cài đặt phần mềm này rất dễ dàng. Bạn cần mở tệp đã tải xuống và nhấp vào tiếp theo cho đến khi phần mềm của bạn được cài đặt hoàn chỉnh.

Bước 8: Tạo bố cục

Bây giờ, ở đây chúng tôi sẽ tạo một bố cục cho ứng dụng của chúng tôi sẽ được người dùng sử dụng để gửi các lệnh khác nhau đến raspberry pi. Để tạo một bố cục đơn giản, hãy thực hiện các bước sau.

1. Trước hết, vào File> New> New Project. Một menu sẽ xuất hiện. Chọn Dự án trống.

2. Bây giờ đặt tên dự án là Điều khiển giọng nói và thiết lập JAVAlà ngôn ngữ lập trình của bạn.

3. Vì chúng ta sẽ sử dụng internet để điều khiển các chân của pi mâm xôi. Chúng tôi sẽ đặt quyền truy cập wifi cục bộ trong ứng dụng của mình. Để làm điều này, hãy đi tới ứng dụng> tệp kê khai> AndroidManifest.xml và thêm lệnh sau.

-

4. Bây giờ đi đến app> res> layout> activity_main.xml. ở đây chúng tôi sẽ thiết kế một bố cục. Sao chép mã được cung cấp bên dưới vào đó để tạo chế độ xem văn bản.

       

5. Bây giờ nhấp chuột phải vào res và tạo một Danh mục. Đặt tên thư mục này là thực đơn.

6. Bây giờ nhấp chuột phải vào thực đơnthư mục và tạo một thư mục mới Tệp tài nguyên Android.

7. Bây giờ mở tên tệp tài nguyên này dưới dạng menu và sao chép đoạn mã sau vào đó.

       

8. Bây giờ đi đến app> java> com.example.voicecontrol> MainActivity. Ở đây chúng ta sẽ thực hiện một chế độ xem web và một số biến chuỗi. Để thực hiện việc này, hãy sao chép mã sau trong Hoạt động chính của chúng tôi. Đảm bảo rằng bạn thay thế IP trong mã bằng IP của Raspberry Pi của bạn.

gói com.example.voicecontrol; nhập android.support.annotation.NonNull; nhập android.support.design.widget.BottomNavigationView; nhập android.support.design.widget.NavigationView; nhập android.support.v7.app.AppCompatActivity; nhập android.os.Bundle; nhập android.view.MenuItem; nhập android.webkit.WebChromeClient; nhập android.webkit.WebSettings; nhập android.webkit.WebView; nhập android.webkit.WebViewClient; nhập android.widget.TextView; public class MainActivity mở rộng AppCompatActivity {private TextView mTextMessage; WebView wv; Chuỗi url = "http://192.168.43.168"; private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener = new BottomNavigationView.OnNavigationItemSelectedListener () {@Override public boolean onNavigationItemSelected (@ item.getonNavigation case R. ); wv.loadUrl ("https://192.168.43.168/lightson.php"); trả về true; case R.id.lightoff1: mTextMessage.setText (R.string.title_homeof); wv.loadUrl ("https://192.168.43.168/lightsoff.php"); trả về true; case R.id.fanon1: mTextMessage.setText (R.string.title_dashboard); wv.loadUrl ("https://192.168.43.168/fanon.php"); trả về true; case R.id.fanoff1: mTextMessage.setText (R.string.title_dashboardof); wv.loadUrl ("https://192.168.43.168/fanff.php"); trả về true; } trả về false; }}; @Override được bảo vệ void onCreate (Gói đã lưuInstanceState) {super.onCreate (saveInstanceState); setContentView (R.layout.activity_main); mTextMessage = (TextView) findViewById (R.id.message); BottomNavigationView navigation = (BottomNavigationView) findViewById (R.id.navigation); navigation.setOnNavigationItemSelectedListener (mOnNavigationItemSelectedListener); wv = (WebView) findViewById (R.id.webview); Cài đặt WebSettings = wv.getSettings (); wv. setWebViewClient (WebViewClient mới ()); wv.getSettings (). setJavaScriptEnabled (true); wv.getSettings (). setCacheMode (WebSettings.LOAD_CACHE_ELSE_NETWORK); wv.getSettings (). setAppCacheEnabled (true); wv.getSettings (). setBuiltInZoomControls (true); settings.setDomStorageEnabled (true); settings.setUseWideViewPort (true); settings.setSaveFormData (true); wv.setWebChromeClient (WebChromeClient mới ()); wv.loadUrl (url); }}

Bố cục của bạn sẽ giống như hình dưới đây:

Bước 9: Lắp ráp phần cứng và đưa ra các thao tác cuối cùng

Bây giờ, chúng tôi đã hoàn thành thành công phần mềm của dự án này. Chúng tôi sẽ lắp ráp phần cứng ngay bây giờ và sau đó kiểm tra nó.

  1. Tạo kết nối: Chúng tôi sẽ tìm kiếm các chân GPIO 13 và 15 của Raspberry Pi trong biểu dữ liệu. Sau khi tìm thấy chúng, hãy kết nối GPIO 13 ghim vào TRONG 1 pin của mô-đun Relay. Kết nối GPIO 15 ghim vào TRONG 2pin của mô-đun Relay.
  2. Thử nghiệm: Khi chúng tôi đã thực hiện tất cả các kết nối, chúng tôi sẽ kiểm tra xem phần cứng của chúng tôi có hoạt động bình thường hay không. Xoay TRÊN Raspberry Pi và nói “Này Google”và chúng tôi sẽ nói một trong những lệnh mà chúng tôi đã đặt trong cài đặt ngôn ngữ. Ví dụ: chúng tôi sẽ nói “Hey Google Turn On The Light” nếu chúng tôi đã đặt ngôn ngữ ưu tiên là tiếng Anh và đèn sẽ được bật TRÊN. Các thiết bị cũng có thể được điều khiển thông qua Ứng dụng Android Studio của chúng tôi. Nếu ai muốn kiểm soát các thiết bị thông qua ứng dụng, họ nên mở ứng dụng và bắt đầu nhấn các biểu tượng có trong ứng dụng để điều khiển thiết bị.

Đó là tất cả cho ngày hôm nay. Chúng tôi đã hoàn thành thành công dự án hệ thống tự động hóa gia đình đa ngôn ngữ và giờ đây chúng tôi có thể điều khiển các thiết bị điện của mình thông qua điện thoại di động một cách dễ dàng.

Facebook Twitter Google Plus Pinterest