Giới thiệu về hệ thống nhà thông minh
Nhà thông minh, hay còn gọi là "Smart Home," là một ngôi nhà được trang bị hệ thống tự động tiên tiến cho phép điều khiển đèn, nhiệt độ, truyền thông đa phương tiện, an ninh, và cửa tự động Hệ thống này không chỉ mang lại sự tiện nghi và an toàn cho cuộc sống hàng ngày mà còn giúp sử dụng hợp lý các nguồn tài nguyên.
Theo wiseGeek, một ngôi nhà thông minh là nơi mà hệ thống máy tính và điện thoại có khả năng giám sát nhiều khía cạnh trong cuộc sống hàng ngày Ví dụ điển hình là hệ thống kiểm soát ánh sáng, giúp tiết kiệm điện và tạo không gian phù hợp cho các bữa tiệc Ngoài ra, ngôi nhà thông minh còn có thể điều chỉnh rèm cửa, kiểm soát nhiệt độ, phát hiện sự cố khí gas, tự động mở đóng cửa và phòng ngừa trộm Các ứng dụng sáng tạo khác bao gồm hệ thống điều khiển giải trí và hệ thống tưới cây tự động.
Các chức năng này được thực hiện bằng cách kết nối các thiết bị điện trong nhà với bộ điều khiển trung tâm thông qua hệ thống máy tính hoặc điện thoại, giúp theo dõi trạng thái và đưa ra quyết định điều khiển hợp lý.
Nhà thông minh, một khái niệm đã xuất hiện trong các tác phẩm khoa học viễn tưởng từ lâu, chỉ trở thành hiện thực từ thế kỷ 20 nhờ sự phát triển mạnh mẽ của ngành điện - điện tử và những tiến bộ vượt bậc trong công nghệ thông tin.
Công nghệ nhà thông minh ngày càng tinh vi, với các tín hiệu điều khiển và giám sát được mã hóa và truyền qua hệ thống dây dẫn hoặc mạng không dây Những tín hiệu này đến các bộ chuyển mạch và ổ điện được lập trình sẵn, giúp vận hành các đồ gia dụng và thiết bị điện tử trong ngôi nhà Sự tự động hóa này đặc biệt hữu ích cho người lớn tuổi và người tàn tật, mang lại cho họ khả năng sống tự lập.
Lắp đặt sản phẩm thông minh mang lại nhiều lợi ích cho ngôi nhà và chủ nhân, tương tự như những gì công nghệ và máy tính cá nhân đã làm trong 30 năm qua Những lợi ích này bao gồm sự tiện nghi, tiết kiệm thời gian, tiền bạc và năng lượng.
Hệ thống nhà thông minh được cấu thành từ nhiều thành phần quan trọng như cảm biến (bao gồm cảm biến nhiệt độ, chuyển động, ánh sáng, âm thanh và khí gas), bộ điều khiển (như PLC và vi điều khiển), máy tính, cùng với khối thu phát tín hiệu như wifi.
Hệ thống cảm biến và các thiết bị điều khiển như Bluetooth và rơ le trung gian cho phép người dùng theo dõi trạng thái bên trong ngôi nhà từ xa qua máy tính hoặc điện thoại Nhờ đó, người dùng có thể đưa ra quyết định điều khiển các thiết bị chấp hành một cách hiệu quả, đảm bảo an toàn và tạo ra môi trường sống tối ưu.
Hình1.1 Mô hình hệ thống nhà thông minh
Ngày nay, nhiều kiến trúc sư trên thế giới đang tích cực xem xét việc tích hợp nhà thông minh vào thiết kế và xây dựng Việc lắp đặt hệ thống ngay trong quá trình xây dựng không chỉ giúp giảm chi phí bảo trì mà còn tạo ra một hệ thống điện đồng bộ và linh hoạt hơn cho toàn bộ tòa nhà Đối với các ngôi nhà hoặc căn hộ đã được xây dựng trước đây, vẫn có khả năng sửa đổi để tích hợp hệ thống thông minh, mang lại trải nghiệm mới mẻ cho không gian sống của chúng ta.
Hiện nay, các kỹ sư trong lĩnh vực nhà thông minh đang không ngừng sáng tạo để mang lại nhiều tiện ích mới cho ngôi nhà và tối ưu hóa quy trình lắp đặt Trong tương lai gần, ngôi nhà thông minh hứa hẹn sẽ sở hữu nhiều khả năng vượt trội hơn nữa.
Khả năng "tư duy" của các thiết bị để tự điều chỉnh và giao tiếp với con người, giống như trong các bộ phim viễn tưởng, đang dần trở thành hiện thực.
Cuối những năm 1990, nhà thông minh được coi là xa xỉ đối với người giàu, nhưng nhờ sự phát triển của công nghệ vi điện tử và chi phí giảm, công nghệ điều khiển thông minh giờ đây có thể ứng dụng rộng rãi Điều này giúp người dân có mức sống trung bình dễ dàng làm chủ ngôi nhà thông minh của mình.
Với sự phát triển nhanh chóng của công nghệ thông tin và internet, chi phí cho hệ thống nhà thông minh đã giảm đáng kể, dẫn đến nhu cầu sử dụng tăng cao Theo ABI Research, số lượng hệ thống nhà thông minh lắp đặt tại Mỹ đã vượt qua 1,5 triệu vào năm 2012 và dự kiến sẽ đạt 8 triệu vào năm 2017 Trong tương lai gần, nhà thông minh hứa hẹn sẽ trở thành một xu hướng mới trong cuộc sống hiện đại.
Đặt bài toán
Xuất phát từ nhu cầu mở rộng ứng dụng hệ thống nhà thông minh không chỉ cho biệt thự và khách sạn cao cấp, mà còn mang lại cơ hội cho người có thu nhập trung bình sở hữu ngôi nhà thông minh với một số tính năng tự động nhất định Đề tài này nhằm xây dựng mô hình nhà ở dân dụng thông minh, đảm bảo tích hợp những tính năng tự động phù hợp với khả năng kinh tế của đa số người dân.
Đóng mở cửa và bật tắt hệ thống chiếu sáng từ xa thông qua điện thoại/máy tính, modul Bluetooth HC06 kết nối với vi điều khiển trung tâm
Bật tắt các thiết bị bằng giọng nói thông qua điện thoại gửi đến modul Bluetooth
HC06 kết nối với vi điểu khiển trung tâm
Đóng mở cửa và bật tắt hệ thống chiếu sáng từ xa bằng việc giải mã tín hiệu
Hiển thị nhiệt độ phòng, nồng độ khí gas trên LCD hoặc máy tính/điện thoại giám sát
Hệ thống tự động phát hiện và cảnh báo sự cố khí gas khi nồng độ vượt mức cho phép bằng còi báo động Đồng thời, nó sẽ ngắt Rơ le trung gian cấp điện xoay chiều cho toàn bộ hệ thống điện trong ngôi nhà Khi sự cố được khắc phục, Rơ le trung gian sẽ tự động đóng lại, phục hồi nguồn điện cho ngôi nhà hoạt động bình thường.
Ý tưởng xây dựng thuật toán điều khiển nhà thông minh
Mô hình nhà thông minh được đề xuất hoạt động thông qua việc điều khiển từ xa thiết bị điện chiếu sáng và cửa ra vào thông qua bộ điều khiển trung tâm Người sử dụng có thể dễ dàng vận hành các thiết bị này từ bất kỳ vị trí nào, mang lại sự tiện lợi và linh hoạt trong việc quản lý không gian sống.
Cách 1: Điều khiển thiết bị ở khoảng cách gần bằng modul Bluetooth HC06 cho phép người dùng gửi lệnh đóng cắt thông qua bàn phím máy tính hoặc điện thoại Các lệnh này được mã hóa bằng phần mềm trên hệ điều hành Android và truyền tín hiệu đến vi điều khiển qua kênh Bluetooth Tín hiệu sau đó được xử lý theo chương trình đã lập trình sẵn trong vi điều khiển, từ đó điều khiển Rơ le trung gian để cung cấp điện cho động cơ cửa tự động hoặc thiết bị chiếu sáng.
Cách 2: Điều khiển ở khoảng cách gần bằng giọng nói thông qua modul blutooth
HC06 cho phép người dùng điều khiển thiết bị bằng giọng nói, với các lệnh được mã hóa thành tín hiệu qua ứng dụng trên hệ điều hành Android Tín hiệu này được gửi đến vi điều khiển qua kênh Bluetooth của mô-đun HC06 Sau đó, vi điều khiển xử lý tín hiệu dựa trên chương trình đã lập trình sẵn, từ đó phát tín hiệu điều khiển tới rơ le trung gian để cấp điện cho các thiết bị.
Cách 3: Điều khiển ở khoảng cách xa bằng việc giải mã âm bàn phím nhờ modul
DTMF chuyển đổi tín hiệu âm thanh thành tín hiệu số, sau đó được gửi đến bộ xử lý trung tâm qua modul DTMF để thực hiện lệnh điều khiển thiết bị Ngoài ra, trong mô hình nhà thông minh, các công tắc được lắp đặt ở mỗi phòng cho phép người dùng bật tắt thiết bị chiếu sáng một cách thủ công.
Hệ thống giám sát an toàn trong ngôi nhà sử dụng cảm biến nhiệt độ và cảm biến khí gas MQ2, kết nối với vi điều khiển và module Bluetooth, cho phép hiển thị thông số nhiệt độ và nồng độ khí gas trên LCD, máy tính và điện thoại Đặc biệt, hệ thống có chế độ cảnh báo rò rỉ khí gas, tự động kích hoạt còi báo động khi nồng độ khí vượt ngưỡng an toàn Đồng thời, vi điều khiển gửi tín hiệu đến Rơ le trung gian tổng để ngắt điện toàn bộ hệ thống, giảm thiểu nguy cơ cháy nổ do điện Khi sự cố được xử lý, hệ thống sẽ tự động cấp điện lại cho toàn bộ ngôi nhà.
Hệ điều hành Android
Android là một hệ điều hành mã nguồn mở dành cho thiết bị di động như
Smartphone, Tablet hay Netbook (thường gọi chung là thiết bị cầm tay thông minh)
Android, hệ điều hành do Google phát triển, dựa trên nền tảng Linux kernel phiên bản 2.6 và các phần mềm mã nguồn mở Tất cả các nhà sản xuất phần cứng đều có thể tự do sử dụng Android cho thiết bị của họ, với điều kiện các thiết bị này đáp ứng các tiêu chuẩn cơ bản mà Google đưa ra, như cảm ứng chạm đa điểm, GPS và 3G.
Nhờ tính mở miễn phí và những ưu điểm vượt trội, hệ điều hành Android ngày càng trở nên phổ biến trên các thiết bị cầm tay Hầu hết các thiết bị Android đều tích hợp công nghệ Bluetooth, giúp người dùng dễ dàng kết nối và điều khiển mạch Điều này không chỉ mang lại sự thuận tiện mà còn tiết kiệm chi phí Tính mở của Android cũng cho phép phát triển ứng dụng tối ưu, phù hợp cho bộ điều khiển.
Việc phát triển ứng dụng trên thiết bị Android trở nên đơn giản nhờ vào những lợi thế hiện có Ứng dụng này sẽ chủ yếu thực hiện chức năng truyền và nhận dữ liệu qua Bluetooth để điều khiển bảng thiết bị, và có thể được sử dụng trên những chiếc điện thoại Android mà người dùng thường xuyên sử dụng hàng ngày.
2.1.2 Cấu trúc hệ điều hành Android
Kiến trúc hệ điều hành Android gồm 4 tầng, từ dưới lên trên là tầng hạt nhân Linux
(v2.6), tầng Libraries & Android Runtime, tầng Application Framework và trên cùng là tầng Application Mô hình tổng thể của các thành phần bên trong hệ thống sử dụng
Android được mình họa trong (Hình 2.1)
Hình 2.1 Minh Kiến trúc của hệ điều hành Android
Android là hệ điều hành mở, cho phép ứng dụng bên thứ ba hoạt động nền, khác với nhiều hệ điều hành di động khác Tuy nhiên, các ứng dụng này phải tuân thủ giới hạn sử dụng công suất từ 5% đến 10%.
CPU, điều đó nhằm để tránh độc quyền trong việc sử dụng CPU Ứng dụng không có điểm vào cố định, không có phương thức main để bắt đầu.
Vi điều khiển PIC 16F877A
Vi điều khiển PIC 16F877A là loại vi điều khiển 8 bit tầm trung của hãng
Microchip, là loại vi điều khiển có kiến trúc Havard, sử dụng tập lệnh kiểu RISC
(Reduced Instruction Set Computer) với chỉ 35 lệnh cơ bản, tất cả các lệnh được thực hiện trong một chu kỳ lệnh trừ các lệnh rẽ nhánh
2.2.1 Sơ đồ chân vật lý của PIC 16F877A
Vi điều khiển PIC 16F877 A bao gồm 40 chân vật lý được bố trí như Hình 2.2 dưới đây Bao gồm:
+ Các chân nguồn: Chân 11, 32 là các chân VDD (+5v)
Chân 12, là các chân VSS (0v)
+ Chân reset : chân số 1 MCLR là chân reset của pic chân này có nhiệm vụ khởi động lại VĐK PIC
+ 4 cổng xuất nhập tín hiệu:
PORT A và thanh ghi TRIS A; PORT B và thanh ghi TRIS B
PORT C và thanh ghi TRIS C; PORT D và thanh ghi TRIS D
+ Bộ đếm và định thời
TIMER 0 là bộ đinh thời 8bit timer hoạt động ở 2 chế độ: chế độ định thời và chế độ đếm
TIMER 1 là bộ định thời 16 bit được tạo thành từ 2 thanh ghi 8bit TMR1L và
TIMER 2 là bộ định thời 8 bit được ứng dụng để điều chế độ rộng xung (PWM)
Ngắt tràn timer 0; Ngắt RB RB4-RB7; Ngắt EXT RB0; Ngắt truyền thông
PIC 16F877A được trang bị hai chân băm xung PWM CCP1 và CCP2, với chu kỳ xung được xác định bởi khoảng thời gian mà giá trị thanh ghi TMR2 tăng đến giá trị thanh ghi PR2.
Hình 2.2 Sơ đồ chân vật lý của PIC 16F877A
2.2.2 Sơ đồ tối thiểu để PIC 16F877A có thể hoạt động được Để họ vi điều khiển PIC nói chung và PIC16F877A nói riêng hoạt động được phải đảm bảo các chân vật lý của vi điều khiển tối thiểu phải được đấu như Hình 2.3
Hình 2.3 Sơ đồ tối thiểu đảm bảo sự hoạt động của PIC 16F877A
Các thiết bị ngoại vi sử dụng trong đề tài
2.3.1 Cảm biến khí gas Để đo nồng độ khí gas (trường hợp rò rỉ khí gas trong ngôi nhà) và hiển thị lên
LCD hay máy tính/điện thoại, trong đề tài sử dụng cảm biến khí gas MQ2 với các thông số vật lý như sau:
- Aout: điện áp ra tương tự Nó có giá trị từ 0.3V đến 4.5V, phụ thuộc vào nồng độ khí xung quang MQ2
- Dout: điện áp ra số, giá trị 0,1 phụ thuộc vào điện áp tham chiếu và nồng độ khí mà MQ2 đo được Các loại khí:
+LPG (Khí hóa lỏng) +i-butane
+Propane +Methane +Alcohol +Hydrogen +Smoke
Chân ra số Dout rất hữu ích cho việc kết nối các ứng dụng đơn giản mà không cần vi điều khiển Chúng ta chỉ cần điều chỉnh giá trị của biến trở đến nồng độ mong muốn để nhận cảnh báo.
Khi nồng độ MQ2 thấp hơn mức cho phép, Dout sẽ bằng 1 và đèn LED sẽ tắt Ngược lại, nếu nồng độ khí vượt quá mức cho phép, Dout sẽ bằng 0 và đèn LED sẽ sáng.
Hình 2.4 Hình ảnh cảm biến khí gas MQ2
2.3.2 Cảm biến nhiệt độ Để đo nhiệt độ trong ngôi nhà và hiển thị lên LCD hay máy tính/điện thoại, trong đề tài sử dụng cảm biến nhiệt độ DS18B20 với các thông số vật lý như sau:
Cảm biến đo nhiệt độ DS18B20 sử dụng giao thức ONE WIRE, cho phép tín hiệu và nguồn nuôi chia sẻ cùng một dây dẫn Điều này cho phép nhiều cảm biến hoạt động trên cùng một đường dẫn, rất phù hợp cho các ứng dụng đo lường đa điểm.
Các đặc điểm kỹ thuật của cảm biến DS1820 có thể kể ra một cách tóm tắt như sau:
Độ phân giải đo nhiệt độ đạt 9 bit, với dải đo từ -55°C đến 125°C và từng bậc 0,5°C Độ chính xác có thể lên đến 0,1°C thông qua việc hiệu chỉnh phần mềm, và có khả năng mở rộng lên độ phân giải 10 bit, 11 bit, hoặc 12 bit.
- Điện áp nguồn nuôi có thể thay đổi trong khoảng rộng (từ 3,0 V đến 5,5 V)
- Dòng tiêu thụ tại chế độ nghỉ cực nhỏ
-Thời gian lấy mẫu và biến đổi thành số tương đối nhanh, không quá 200 ms
- Mỗi cảm biến có một mã định danh duy nhất 64 bit chứa trong bộ nhớ ROM trên chip
Hình 2.5 Hình ảnh cảm biến nhiệt độ DS18B20
2.3.3 Thiết bị hiển thị LCD
Mạch này dùng để hiện thị trạng thái làm việc của hệ thống Sử dụng LCD 16x2 (2 dòng 16 cột), được nối vào PIC16F877A
- Các chân Vcc, Vss và Vee:
Chân Vcc cấp dương nguồn 5V, chân Vss nối đất, chân Vee được dùng để điều khiển độ tương phản của màn hình LCD
Khi ở mức thấp, chỉ thị được truyền đến LCD như xoá màn hình , vị trí con trỏ
….Khi ở mức cao, kí tự được truyền đến LCD
Dùng để xác định hướng truyền dữ liệu giữa LCD và vi điều khiển, tín hiệu ở mức thấp cho phép ghi dữ liệu vào LCD, trong khi mức cao cho phép đọc dữ liệu từ LCD.
Nếu chúng ta chỉ cần ghi dữ liệu lên LCD thì chúng ta có thể nối chân này xuống GND để tiết kiệm chân
Để truy cập và xuất dữ liệu đến LCD, chúng ta sử dụng chân RS và R/W Khi chân E ở mức cao (1), LCD sẽ kiểm tra trạng thái của hai chân này và phản hồi tương ứng Để chốt dữ liệu được cấp đến chân dữ liệu, cần phải áp dụng một xung từ mức cao xuống thấp, với độ rộng tối thiểu nhất định.
450ns Còn khi chân E ở mức thấp (0), LCD sẽ bị vô hiệu hoá hoặc bỏ qua tín hiệu của 2 chân RS và R/W
Các chân D0 - D7 là 8 chân dữ liệu 8 bít, có chức năng gửi thông tin đến màn hình LCD hoặc đọc nội dung từ các thanh ghi trong LCD Các ký tự được truyền theo mã tương ứng trong bảng mã.
ASCII Cũng có các mã lệnh mà có thể được gửi đến LCD để xoá màn hình hoặc đưa con trỏ về đầu dòng hoặc nhấp nháy con trỏ
- LCD có 2 chế độ giao tiếp:
Chế độ 4 bit chỉ sử dụng 4 chân D4 đến D7 để truyền dữ liệu, trong khi chế độ 8 bit sử dụng cả 8 chân từ D0 đến D7 Khi truyền 1 byte ở chế độ 4 bit, nửa cao của byte sẽ được truyền trước, sau đó là nửa thấp.
Trước khi hiển thị ký tự trên màn hình LCD, cần thiết lập chế độ hoạt động như 4 bit hoặc 8 bit, số dòng hiển thị (1 hay 2) và trạng thái của con trỏ Để đọc thanh ghi lệnh, đặt RS = 0 và R/W = 1, sau đó tạo xung cao xuống thấp cho bít E Nếu bit D7 (cờ bận) ở mức cao, LCD đang bận và không thể nhận lệnh hay dữ liệu; chỉ khi D7 = 0, mới có thể gửi thông tin đến LCD.
LCD Chúng ta nên kiểm tra bit cờ bận trước khi ghi thông tin lên LCD
2.3.4 Module Bluetooth HC06 a Giao tiếp không dây Bluetooth
Bluetooth là công nghệ không dây cho phép các thiết bị điện tử giao tiếp với nhau trong khoảng cách ngắn thông qua sóng vô tuyến Công nghệ này hoạt động trên băng tần ISM (Industrial, Scientific and Medical), mang lại sự tiện lợi và linh hoạt trong việc kết nối các thiết bị.
Dãy tần 2.40-2.48 GHz là băng tần không cần đăng ký, được phân bổ cho các thiết bị không dây trong lĩnh vực công nghiệp, khoa học và y tế.
Bluetooth được phát triển để thay thế dây cáp giữa máy tính và các thiết bị truyền thông cá nhân, cho phép kết nối vô tuyến dễ dàng và tiết kiệm chi phí Khi kích hoạt, Bluetooth tự động tìm kiếm và kết nối với các thiết bị khác trong phạm vi, hỗ trợ truyền tải dữ liệu và giọng nói hiệu quả.
Bluetooth được thiết kế để hoạt động ở mức năng lượng rất thấp Đặc tả đưa ra 3 mức năng lượng từ 1mW tới 100 mW
- Mức năng lượng 1 (100mW): Được thiết kế cho những thiết bị có phạm vi hoạt động rộng (~100m)
- Mức năng lượng 2 (2.5mW): Cho những thiết bị có phạm vi hoạt động thông thường (~10m)
- Mức năng lượng 3 (1mW): Cho những thiết bị có phạm vi hoạt động ngắn
Các đặc điểm của Bluetooth Ưu điểm:
- Tiêu thụ năng lượng thấp, cho phép ứng dụng được trong nhiều loại thiết bị, bao gồm cả các thiết bị cầm tay và điện thoại di động
- Giá thành hạ (Giá một chip Bluetooth đang giảm dần, và có thể xuống dưới mức
- Khoảng cách giao tiếp cho phép :
+ Khoảng cách giữa hai thiết bị đầu cuối có thể lên đến 10m ngoài trời, và 5m trong tòa nhà
+ Khoảng cách thiết bị đầu cuối và Access point có thể lên tới 100m ngoài trời và
Bluetooth hoạt động trên băng tần không đăng ký 2.4GHz trong dãy băng tần ISM, cho phép tốc độ truyền dữ liệu tối đa lên đến 1Mbps Điều đặc biệt là các thiết bị sử dụng Bluetooth không cần phải nhìn thấy trực tiếp nhau để kết nối.
Bluetooth đơn giản hóa việc phát triển ứng dụng bằng cách kết nối các ứng dụng với nhau thông qua các chuẩn "Bluetooth profiles", giúp chúng hoạt động độc lập về phần cứng và hệ điều hành.
- Bluetooth được dùng trong giao tiếp dữ liệu tiếng nói: có 3 kênh để truyền tiếng nói, và 7 kênh để truyền dữ liệu trong một mạng cá nhân
- An toàn và bảo mật: được tích hợp với sự xác nhận và mã hóa ( Build in authentication and encryption)
- Tính tương thích cao, được nhiều nhà sản xuất phần cứng cũng như phần mềm hỗ trợ
- Sử dụng “Frequency Hopping” giúp chống nhiễu giảm va chạm sóng tối đa
- Có khả năng bảo mật từ 8->128bit
- Do sử dụng mô hình adhoc nên không thể thiết lập các ứng dụng thời gian thực
- Khoảng cách kết nối còn ngắn so với các công nghệ mạng không dây khác
- Số thiết bị active, pack cùng lúc trong một piconect còn hạn chế
- Tốc độ truyền của Bluetooth không cao
- Bị nhiễu bởi một số thiết bị sử dụng sóng radio khác, các trang thiết bị khác
- Bảo mật còn thấp b Module Bluetooth HC06
Giới thiệu phần mềm App Inventor
Phương pháp lập trình mới mẻ này cho phép người dùng thiết kế giao diện và lập trình ứng dụng thông qua kéo thả đồ họa trực quan, không cần kiến thức về mã hóa Được phát triển bởi Google và đại học MIT, App Inventor nổi bật với khả năng cho phép người dùng thử nghiệm ứng dụng trực tiếp trên điện thoại Android kết nối với máy tính Tất cả các bước phát triển phần mềm đều diễn ra qua giao diện WYSIWYG, giúp người dùng dễ dàng tạo ra ứng dụng mà không cần tham khảo tài liệu hướng dẫn.
App Inventor, mặc dù có cách sử dụng đơn giản, nhưng rất "hào phóng" khi cho phép truy cập vào các chức năng thường dùng của điện thoại, bao gồm tự động nhắn tin, xác định vị trí qua GPS và giao tiếp với các ứng dụng web.
CÁCH TẠO GIAO DIỆN TRÊN APP INVENTOR
Vào trang web “APP INVENTOR” MIT APP INVENTOR Create apps!
To begin using the website, it will automatically access the currently logged-in Gmail account on your computer Click "Allow" and then select "Continue." Next, navigate to the "Projects" tab and click on "Start New Project," naming it "NHATHONGMINHK49." After this, the "Screen1" interface will appear, allowing you to manipulate and attach buttons as needed.
Hình 2.14 Bước đầu thiết lập tạo ứng dụng
In the left "User Interface" window, select "List Picker" and then navigate to the Properties section on the right side of the screen In the "Text" field, assign a name to the button, such as "FIND DEVICE." This step is essential for creating a button that allows the phone to connect to physical devices via Bluetooth module.
In the left window under "User Interface," select "Label." Then, in the Properties section on the right side of the screen, click on "Text" to assign a name to the label, for example: "SYSTEM HOUSE."
THÔNG MINH K50 ” { phần này nhằm tạo tên của mô hình điều khiển}
Tiếp tục trong phần "User interface" bên cửa sổ trái, chọn "Label" Sau đó, tại mục Properties ở bên phải màn hình, xóa nội dung trong ô "Text" để tạo vùng chứa dữ liệu từ vi điều khiển, giúp hiển thị thông tin như nhiệt độ và nồng độ khí gas khi có dữ liệu gửi lên.
+ Để chọn ảnh nền cho giao diện: Trên mục “Properties” bên phải cửa sổ màn hình vào “ Back ground image”, sau đó chọn ảnh nền và OK
Hình 2.15 Xây dựng giao diện cho ứng dụng
+ Để tạo khung chứa các nút ấn điều khiển: Bên cửa sổ trái “ User interface” chọn
“ Lay out” Chọn “ Table Arrangement” , sau đó sửa số hàng, số cột cho phù hợp với khung để tạo giao diện {Thông thường cột: 3, hàng: 8}
Để tạo các nút ấn, bạn vào phần "Giao diện người dùng" và chọn "NÚT" Tiếp theo, điều chỉnh thuộc tính cho các nút ấn theo nhu cầu điều khiển thiết bị Số lượng nút cần thiết sẽ phụ thuộc vào yêu cầu của bạn, sau đó hãy sắp xếp chúng một cách hợp lý trong khung đã chọn ở bước trước.
Để liên tục cập nhật thông tin giữa vi điều khiển và điện thoại, hãy chọn “SENSOR” và sau đó là “Clock” Lưu ý rằng sau khi gắp, cần thả vào khung Screen và chú ý đến khu vực ngoài khung.
Creen phía dưới sẽ xuất hiện giao diện của Clock1
Để thiết lập giao tiếp qua Bluetooth, hãy chọn “Connectivity” rồi chọn “Bluetooth Client” Lưu ý rằng sau khi gắp thiết bị vào khung Screen, giao diện của Bluetooth Client sẽ xuất hiện ở phía dưới khung Screen.
Hình 2.16 Giao diện hoàn chỉnh của ứng dụng
Để viết Code cho các nút ấn… ta thực hiện:
+ Vào “Blocks” trên thanh Tabar phía bên phải:
Bước 1: Tại cửa sổ “Blocks” “List Picker1, kéo ra cửa sổ Viewer lấy “ When
List Picker1 Before picking do” màu vàng (1) lấy “SET LIT PICKER 1.ELEMENTS
To” màu xanh (2) và đặt (2) vào lòng của (1)
Bước 2: Vào “Bluetooth Client 1” lấy “Bluetooth Client 1.Addresses And Names” màu xanh(3), sau đó lấy (3) đặt vào (2)
{Việc kết nối (1), (2), (3) nhằm mục đích để hiển thị các thiết bị kết nôi với giao diện trên điện thoại qua Bluetooth}
Bước 3: vào tiếp “LIST PICKER1” lấy “When LIST PICKER1 After picking do” màu vàng(1), tiếp tục lấy “set Listpicker1.selection to”màu xanh (2) và đưa (2) vào (1)
Tiếp tục vào “Bluetooth Client1” lấy “Call Bluetooth Client 1.Connect address” màu tím(3), đưa (3) vào (2)
Tiếp tục vào “LIST PICKER1” lấy “Listpicker1.selection” màu xanh(4), đưa (4) vào (3)
{Việc kết nối (1), (2), (3),(4) nhằm mục đích cho phép kết nối với thiết bị nào qua
Bước 4: vào “Clock” lấy “When.clock1.timer do” màu vàng(1)
Tiếp tục vào “Built in” “Control” lấy “if.then” màu vàng(2), thả (2) vào lòng
Tiếp theo vào “Bluetooth Client 1” lấy “Bluetooth Client 1.isconnected” màu xanh
(3), sau đó đặt (3) vào “if” của (2)
Vào “Set Lable 2” lấy “Set Lable 2.text to” màu xanh (4) sau đó đặt (4 )vào
Vào “Bluetooth Client 1” lấy “Call.Bluetooth Client 1.Receivetext number of bytes” màu tím (5) đặt vào lòng (4), sau đó tiếp tục lấy “Call.Bluetooth Client 1.Bytes
Available to Receive” màu tím(6) đặt vào lòng (5)
Bước 4 nhằm mục đích tạo ra tràn timer, cho phép hiển thị các thông số như nhiệt độ và khí gas nhận được từ cảm biến thông qua vi điều khiển, sau đó gửi lên giao diện.
Bước 5: Viết Code cho các nút ấn
+ Tạo Button 1: “ON PLV” ta thực hiện như sau:
Vào “Button 1” lấy “When Button1 Click do” màu vàng(1),
Vào “Bluetooth Client 1” lấy“Call Bluetooth Client 1 Sent Text text” màu tím
Để tạo mã cho các nút trong cửa sổ Block, bạn vào “Built in” -> “Text” và chọn mục đầu tiên màu hồng (3) Sau đó, hãy điền ký tự để truyền thông, ví dụ như: 1, 2, 3 Tiếp theo, bạn chuột phải vào mã của nút đã tạo để sao chép và sử dụng cho các nút còn lại.
”Button 1” chọn “Duplicate” và sửa các thuộc tính cho các nút tiếp theo
Chú ý: Để căn chỉnh các khung chữ ra giữa màn hình ta kích chuột trái vào màn hình “Creen1” sau đó đến mục “AlignHorizontal” chọn “center
Hình 2.17 Viết code cho ứng dụng
Để down chương trình giao diện về điện thoại ta thực hiện:
To create an APK file, go to the "Build" section on the Tabar and select "App" to save the APK to your computer The website will automatically download and generate the APK file Once completed, simply copy this APK file to your phone to finish the process.
Hình 2.18 Build ứng dụng trên các môi trường giả lập
Thiết kế phần cứng
Mục tiêu của đề tài là phát triển một hệ thống điều khiển thiết bị từ xa thông qua công nghệ Bluetooth, WiFi và tín hiệu giải mã âm thanh DTMF Hệ thống này sẽ đảm bảo việc kết nối và trao đổi dữ liệu hiệu quả giữa máy tính hoặc điện thoại thông minh chạy hệ điều hành Android.
Module Bluetooth HC-06 và module giải mã âm thanh DTMF cho phép người dùng điều khiển thiết bị điện một cách hiệu quả Bằng cách áp dụng những công nghệ này vào thực tế, hệ thống sẽ mang đến trải nghiệm tiện lợi cho người sử dụng.
Smartphone Android thông qua kết nối Bluetooth, wifi hoặc DTMF Các thiết bị được điều khiển ON/OFF nhờ mạch Rơle được điều khiển bởi Vi điều khiển Pic 16F877A
3.1.1 Thiết kế mạch điều khiển
Sơ đồ khối của mạch điều khiển sử dụng vi điều khiển pic 16F877A Được mô tả:
Hình 3.1 Sơ đồ khối mạch điều khiển
Hình 3.2 Sơ đồ nguyên lý khối nguồn
Khối nguồn là thiết bị tạo ra dòng điện ổn định cho toàn bộ mạch, thường sử dụng nguồn từ 6V đến 24VDC IC7805 được sử dụng để ổn định dòng 5V cung cấp cho vi điều khiển và các khối khác trong mạch Để bảo vệ mạch khỏi việc cắm ngược âm dương, diode được tích hợp Các tụ điện C6, C7 và C4 đóng vai trò là tụ liên lạc và tụ bù điện áp, giúp duy trì ổn định cho hệ thống.
Hình 3.3 Sơ đồ nguyên lý mạch Reset
Khối RESET có chức năng khôi phục vi điều khiển về trạng thái ban đầu Khi nút Reset được nhấn, điện áp +5V từ nguồn sẽ được truyền vào chân Reset của vi điều khiển, khiến điện áp tại chân này giảm đột ngột về 0 Sự thay đổi điện áp này được vi điều khiển nhận diện và kích hoạt quá trình khởi động lại hệ thống về trạng thái ban đầu.
Hình 3.4 Sơ đồ nguyên lý mạch dao động
Là khối tạo dạo động cho vi điều khiển hoạt động Trong mạch trên sử dụng thạch anh 20Mhz
Hình 3.5 Sơ đồ nguyên lý điều khiển Rơ le
IC cách ly quang nhận tín hiệu điều khiển từ vi điều khiển PIC 16F877A, giúp mở dòng cho Transistor NPN Q4 để thực hiện chức năng đóng tắt.
Rơle, cấp điện 220VAC cho thiêt bị điện hoạt động
2 RA1/AN1 3 RA2/AN2/VREF- 4
RA4/T0CKI 6 RA5/AN4/SS 7
RE0/AN5/RD 8 RE1/AN6/WR
RC1/T1OSI/CCP2 RC3/SCK/SCL RC2/CCP1 16 17 18
RB7/PGD 40 RB6/PGC 39 RB5 38 RB4 37 RB3/PGM 36 RB2 35 RB1 34 RB0/INT 33
RD7/PSP7 30 RD6/PSP6 29 RD5/PSP5 28 RD4/PSP4 27 RD3/PSP3 22 RD2/PSP2 21
RC7/RX/DT 26 RC6/TX/CK 25 RC5/SDO 24 RC4/SDI/SDA 23
Hình 3.6 Sơ đồ nguyên lý khối vi điều khiển trung tâm
3.1.2 Hướng dẫn các bước thiết kế trên phần mềm Proteous và Altium a Hướng dẫn mô phỏng trên Proteous
- Cài đặt Proteus xong, vào Start menu, khởi động ISIS 7 profesionnal
Giao diện chính như sau:
Cụm 1: Tạo nhanh một trang thiết kế, mở trang thiết kế đã tạo, lưu trang thiết kế
Cụm 2: In cả trang, chọn vùng in tùy ý
Cụm 3: Chia lưới điểm trang thiết kế
Cụm 4: Zoom linh kiện về giữa trang, phóng to trang, thu nhỏ trang, fix trang, zoom vùng tùy chọn
Cụm 5: Cắt, copy, paste trang
Cụm 6: Copy, move, quay, xóa linh kiện trên trang
Cụm 7: Chỉ dùng biểu tượng đầu, chọn linh kiện
1 Component, cho phép chọn linh kiện sau khi nhấp nút P ở hộp thoại DEVICES
3.Tạo nhãn: nhấp trái chuột lên dây dẫn và đặt tên
4.Text:nhấp trái chuột và viết
5.Tạo bus:nhấp trái kéo đến điểm khác, lại nhấp trái rồi nhấp phải.Phải đặt label cho cùng tên cho các dây dẫn sử dụng chung bus
7.Nhấp trái lên linh kiện để xem edit component
13.Voltage Probe, giống vôn kế thường nhưng chỉ có 1 đầu dây, hiện số trực tiếp
14.Current Probe, như trên nhưng cho giá trị dòng
15.Dụng cụ ảo: oscilloscope, vôn kế AC,DC, ampe kế AC,DC,…
21.Text 2D, nhấp trái vào trang và type
Quay trái, phải, đối xứng chân ngang dọc linh kiện trên hộp hiển thị hình linh kiện
Thanh số 4 Điều khiển start, step by step, pause, stop quá trình mô phỏng
+ Thiết kế mạch mô phỏng Đầu tiên chúng ta sẽ lấy tất cả các linh kiện cần dùng ra hộp thoại DEVICES, có 2 cách:
- Nhấp vào biểu tượng đầu tiên ở cụm 7 trên thanh số 1
- Nhấp vào biểu tượng số 1 trên thanh số 2, rồi nhấp vào chữ P ở hộp thoại
Ta sẽ có hộp thoại như sau
Gõ tên linh kiện cần lấy vào ô Keywords (Ví dụ Pic16F877 hay 16f đều được, miễn sao có từ trong tên linh kiện và thây nó xuất hiện là được)
Khi bạn nhấp vào tên linh kiện, hình ảnh và sơ đồ chân mạch in sẽ hiển thị bên cạnh Để chọn linh kiện, bạn có thể nhấp OK hoặc nhấp đúp vào tên linh kiện Lúc này, tên linh kiện đã chọn sẽ xuất hiện trong hộp thoại DEVICES.
Để chọn linh kiện cho mạch, bạn gõ 7SEG để lấy LED 7 thanh và minres10k – 100R cho điện trở Chọn các màu LED như xanh lá, đỏ và vàng Để đưa linh kiện vào trang thiết kế, hãy nhấp vào tên linh kiện trong hộp thoại.
Để thay đổi thiết kế trên DEVICES, bạn hãy sử dụng thanh công cụ phù hợp và nhấp chuột trái vào trang thiết kế để đặt linh kiện Ví dụ, bạn có thể đặt con Pic trước, sau đó di chuyển nó đến vị trí mong muốn bằng hai cách khác nhau.
Để di chuyển linh kiện, bạn hãy nhấp phải vào nó khi nó có màu đỏ, sau đó chọn biểu tượng di chuyển trong cụm số 6 trên thanh số 1 (nút thứ 2 từ trái qua) Khi đó, linh kiện sẽ dính và di chuyển theo chuột Bạn chỉ cần kéo đến vị trí mong muốn và nhấp trái để hoàn tất.
Để di chuyển đối tượng, bạn chỉ cần nhấp chuột phải vào nó (khi đó nó sẽ chuyển sang màu đỏ), sau đó nhấn và giữ chuột trái, kéo đến vị trí mong muốn và thả ra.
Để thiết kế mạch, bạn cần đưa tất cả các linh kiện ra trang thiết kế, bao gồm nguồn và đất Để lấy nguồn và đất, hãy nhấp vào biểu tượng trên thanh công cụ số 2, lúc này hộp thoại DEVICES sẽ hiển thị danh sách linh kiện Sau khi lấy xong, bạn có thể trở về danh sách linh kiện ban đầu bằng cách nhấp lại vào biểu tượng đó Cuối cùng, hãy di chuyển các linh kiện đến vị trí thích hợp để chuẩn bị cho việc đi dây.
Tương tự với các linh kiện còn lại ta lấy lần lượt a rồi sắp xếp sao cho hợp lí và đẹp mắt
Tiến hành nối dây cho đúng sơ đồ nguyên lí, có 2 cách đi dây:
- Cách 1: bám chuột trái vào đầu dây cần nối sau đó di chuột đến đích cần nối
- Cách 2: sử dụng công cụ wire label mode để nối Để thực hiện cách 2 ta phải nối nhỏ 1 đoạn dây vào đầu linh kiện cần nối như hình sau
Tiếp theo t bấm công cụ sau đó kích chuột trái vào các đầu nối với nhau ghi tên giống nhau là được
Nối chân x1 và x2 với chân 13,14 của vi điều khiển thì ra làm như trong hình
Sau khi hoàn thành việc kết nối từng linh kiện theo đúng nguyên lý đã hướng dẫn, chúng ta có thể mô phỏng mạch điện Để nạp file hex cho PIC trong quá trình mô phỏng, hãy nhấp chuột phải và sau đó nhấp chuột trái vào con PIC để mở hộp thoại Edit Component.
Program file: bấm vào hình tệp tin rồi chọn file hex
Processor clock frequency: chọn theo đúng tần số của thạch anh đã chọn
Khâu thiết kế mạch đã hoàn tất và chúng ta tiến hành mô phỏng để kiểm tra khả năng hoạt động của con Pic theo yêu cầu Để bắt đầu, hãy sử dụng thanh điều khiển Bài viết này sẽ hướng dẫn chi tiết cách thiết kế trên Altium.
Với sự phát triển nhanh chóng của công nghệ máy tính, CAD (Thiết kế hỗ trợ bởi máy tính) ngày càng trở nên hoàn thiện và được ứng dụng rộng rãi trong các lĩnh vực khoa học kỹ thuật Trong ngành Điện tử, nhiều phần mềm CAD cho phép người dùng dễ dàng vẽ mạch, mô phỏng mạch điện và chuyển đổi sang thiết kế mạch in một cách nhanh chóng và hiệu quả.
OrCAD/PSPICE, EAGLE, Mutisim Workbench, MicroSim, Altium Designer,…
Altium Designer, trước đây được biết đến với tên gọi Protel DXP, là một trong những phần mềm thiết kế mạch điện tử hàng đầu hiện nay Công cụ này được phát triển bởi hãng Altium, mang đến nhiều tính năng mạnh mẽ cho việc vẽ và thiết kế mạch điện.
Altium Limited, Altium Designer (Altium) mang lại cho người dùng một môi trường làm việc hết sức chuyên nghiệp
+ Vẽ sơ đồ nguyên lí
Khởi động chương trình từ shortcut trên destop màn hình nền hoặc từ Menu Start
>> All programs >>Altium Designer 6 >> Altium Designer 6 Khi đó cửa sổ làm việc của
Altium Designer có dạng như sau: Để tạo sơ đồ nguyên lý trước hết ta cần tạo 1 project (Dự án) mới:
Từ menu File >> New >> Project >> PCB Project Hoặc bằng các phím tắt: F, N, J,
Xây dựng phần mềm
3.2.1 Lưu đồ thuật toán chương trình điều khiển nhà thông minh
Lưu đồ thuật toán chương trình điều khiển nhà thông minh theo yêu cầu của bài toán đã đề xuất trên vi điều khiển PIC16F877A như sau:
Hình 3.12 Lưu đồ thuật toán viết cho vi điều khiển
3.2.2 Code chương trình điều khiển nhà thông minh
Chương trình điều khiển nhà thông minh cho vi điều khiển PIC 16F877A được phát triển và biên dịch bằng trình biên dịch PIC C Compiler, sử dụng ngôn ngữ lập trình C.
Chương trình điều khiển mô hình nhà thông minh
#fuses nowdt, hs, noput, noprotect, nodebug, nobrownout, nolvp, nocpd, nowrt
#use rs232(baud00,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
#define Q1 PIN_D4 float nhietdo; float khiga;
//Ngat Timer0 de uu tien cu 200 ms thi doc tin hieu tu mot lan
#int_RDA void RDA_isr(void)
{ char cmd = getc(); switch (cmd)
Trong đoạn mã này, các lệnh điều khiển ánh sáng và cửa trong các phòng được định nghĩa theo từng trường hợp Khi trường hợp '1' được gọi, ánh sáng trong phòng tắm sẽ bật, trong khi trường hợp '2' sẽ tắt ánh sáng ở đó Tương tự, các trường hợp '3' và '4' điều khiển ánh sáng trong phòng ngủ, '5' và '6' cho phòng khách, '7' và '8' cho phòng bếp Các lệnh điều khiển cửa cũng được xác định với 'b' và 'a' để mở và đóng cửa DC1 và DC2, trong khi '0' và '9' điều khiển cửa DC3 và DC4 Cuối cùng, trường hợp 'c' bật tất cả ánh sáng trong các phòng, trong khi trường hợp 'd' tắt tất cả ánh sáng.
//*** CHUONG TRINH CHINH *** void init(void)
The code initializes various components of a system, including output settings for different rooms such as the bathroom, bedroom, living room, and kitchen It configures the PWM duty cycle and sets the direction of data ports for optimal performance The LCD is initialized for display purposes, while timers are set up for precise timing operations Interrupts are enabled for global handling and specific events, ensuring responsive interaction with the system Additionally, external interrupt edges are configured to detect changes effectively.
// chuong trinh con doc nhiet do khi gas void nhiet_do_khi_ga()
{ setup_adc(adc_clock_internal); set_adc_channel( 0 ); setup_adc_ports(AN0); khiga=read_adc(); khiga=-(khiga*0.48-7.8); khiga=-khiga; nhietdo=ds18b20_read(); lcd_putcmd(line_1);
Printf(lcd_putChar,"NHIET DO: %3.1f ",nhietdo); lcd_putChar(223); lcd_putcmd(line_2);
Printf(lcd_putChar,"KHI GA: %3.1f ",khiga); lcd_putchar(" %");
Printf(" ^_^ khi ga : %3.1f nhiet do : %3.1f ^_^ \r",khiga,nhietdo, ); if (khiga> 0)
{ output_high(coi); delay_ms(200);} else{ output_low(coi); delay_ms(5000);
{output_low(AT_tong);}} if (khiga>20)
{output_high(AT_tong); delay_ms(100); }
// CHUONG TRINH GIAO TIEP VOI MODULE DTMF8870 if((input(Q4)==1) && (input(Q3)==0) && (input(Q2)==0) &&
{ output_high(phong_khach);//1 break; } if((input(Q4)==0) && (input(Q3)==1) && (input(Q2)==0) &&
{ output_low(phong_khach);//2 break; } if((input(Q4)==1) && (input(Q3)==1) && (input(Q2)==0) &&
{ output_high(phong_ngu);//3 break; } if((input(Q4)==0) && (input(Q3)==0) && (input(Q2)==1) &&
{ output_low(phong_ngu);//4 break; } if((input(Q4)==1) && (input(Q3)==0) && (input(Q2)==1) &&
{ output_high(phong_bep); // 5 break; } if((input(Q4)==0) && (input(Q3)==1) && (input(Q2)==1) &&
{ output_low(phong_bep);//6 break;
{ output_high(phong_tam); //7 break;
{ output_low(phong_tam);//8 break;
{ output_low(DC1); // mo cua output_high(DC2); // 9 break;
{ output_low(DC2); // 0 output_high(DC1); // dong cua break;
{ output_low(pin_E1); setup_adc(ADC_CLOCK_DIV_2); init(); while(true)
} b Code chương trình điều khiển nhà thông minh bằng giọng nói
Chương trình điều khiển mô hình nhà thông minh
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG,
#use rs232(baud00,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
#define TB4 PIN_C0 float nhietdo; int1 a=0,b=0,c=0,d=0;
#int_RDA void RDA_isr(void)
{ char cmd = getc(); switch (cmd)
The code snippet outlines a series of cases that control the output of various components labeled TB1 through TB4 Each case corresponds to a specific action: cases '1', '3', '5', and '7' set the respective output to high, while cases '2', '4', '6', and '8' set the output to low This structured approach allows for efficient management of the outputs based on the specified case number.
{ output_high(TB1); output_high(TB2); output_high(TB3); output_high(TB4);
{ output_low(TB1); output_low(TB2); output_low(TB3); output_low(TB4);
// output_high(TB4); set_tris_a(0x01); lcd_init();
// set_tris_c(0x80); set_tris_e(0x00); enable_interrupts(GLOBAL); //Cho phep ngat enable_interrupts(INT_RDA);//Cho phep ngat nhan du lieu noi tiep
{ nhietdo=ds18b20_read(); lcd_putcmd(line_2);
Printf(lcd_putChar,"NHIET DO: %3.1f ",nhietdo); lcd_putChar(223);
Printf(lcd_putChar,"DK QUA GIONG NOI "); while(true)
Kết luận và định hướng phát triển
Kết quả từ mô hình nhà thông minh cho thấy thuật toán xây dựng đáp ứng đầy đủ yêu cầu về tính năng điều khiển không dây qua điện thoại hoặc máy tính Hệ thống tự động báo và giải trừ sự cố khi nồng độ khí gas vượt mức cho phép, giúp hạn chế rủi ro và đảm bảo an toàn cho ngôi nhà.
Công nghệ Bluetooth và các linh kiện điện tử giá rẻ cho phép giải mã giọng nói và tín hiệu DTMF, giúp dễ dàng lắp đặt trong các ngôi nhà dân dụng Tùy thuộc vào tính năng tự động của thiết bị và khả năng đầu tư của mỗi gia đình, có thể phát triển các mô hình phù hợp để đáp ứng nhu cầu sử dụng.
- Mô hình trên có thể phát triển với việc mở rộng các ứng dụng khác trong ngôi nhà
Phát triển thiết bị điều khiển cho phép nhiều điện thoại hoặc máy tính cùng lúc điều khiển các thiết bị, mang lại sự tiện lợi và linh hoạt cho người dùng.
- Phát triển điều khiển thiết bị điện qua các mạng 3G