Nhiệm vụ thực hiện: - Phân tích, lựa chọn thiết kế mô hình nhà thông minh. - Xây dựng hệ thống giao tiếp giữa nhà thông minh và giao diện web điều khiển - Khả năng mở rộng mô hình với các thiết bị và hệ thống ngoại vi. 3. Nội dung yêu cầu: - Thiết kế mô hình với các thiết bị có khả năng điều khiển tự động, tương tác với nhau và có chức năng giám sát từ xa, đảm bảo an ninh và bảo mật. - Xây dựng hệ thống giao tiếp giữa nhà thông minh và web điều khiển gồm phần mềm và các thiết bị phần cứng - Mở rộng kết nối với thiết bị ngoại vi.
TỔNG QUAN VỀ NHÀ THÔNG MINH
Tổng quan về nhà thông minh
Bối cảnh và nhu cầu sử dụng nhà thông minh
Ngày nay, với sự nâng cao đời sống và nhu cầu ngày càng cao của con người về tiện nghi, việc giám sát và điều khiển hệ thống qua internet trở nên cần thiết Sự phát triển không ngừng của mạng lưới internet trên toàn cầu đã thúc đẩy ý tưởng về ngôi nhà thông minh, nơi mọi hoạt động được hỗ trợ linh hoạt và tự động quản lý một cách thông minh.
Vậy, như thế nào là nhà thông minh ?
Sự thông minh của một ngôi nhà được thể hiện trên 4 phương diện như sau:
Nhà thông minh mang lại khả năng tự động hóa vượt trội với hệ thống cảm biến đa dạng như cảm biến nhiệt độ, độ ẩm, khí gas, báo cháy, vật cản và ánh sáng Những cảm biến này hoạt động tự động dựa trên điều kiện môi trường, giúp người dùng dễ dàng giám sát mức tiêu thụ điện và nước hiệu quả hơn so với các ngôi nhà truyền thống.
Khả năng đáp ứng nhu cầu của người sử dụng là một yếu tố quan trọng Chủ nhà có thể tùy chỉnh và điều khiển hệ thống theo ý muốn hoặc theo các kịch bản đã được lập trình sẵn.
Hệ thống giám sát an ninh hiện đại cung cấp khả năng bảo mật và giám sát hiệu quả, bao gồm các chức năng như báo cháy và phát hiện rò rỉ khí gas Tất cả thông tin về trạng thái của ngôi nhà sẽ được tự động gửi qua mạng internet, giúp người dùng theo dõi an toàn mọi lúc mọi nơi.
Khả năng điều khiển và cảnh báo từ xa qua internet, như wifi và 3G, cho phép người dùng quản lý các thiết bị trong nhà như bóng đèn, điều hòa, ti vi, và tủ lạnh Chỉ cần một thiết bị kết nối internet, người sử dụng có thể theo dõi dữ liệu từ cảm biến và điều khiển các thiết bị theo ý muốn của mình.
Hình 1.1 Mô hình tổng quát nhà thông minh.
Nhà thông minh đang trở thành một thị trường tiềm năng với giá trị toàn cầu lên tới hàng tỉ đô la Đặc biệt, thị trường Bắc Mỹ cho thấy sự phát triển mạnh mẽ, khẳng định rằng nhà thông minh chính là tương lai mà chúng ta cần hướng tới.
Hình 1.2 Biểu đồ tăng trưởng thị trường Smarthome thế giới
Hình 1.3 Biểu đồ tăng trưởng thị trường Smarthome chỉ tính riêng thị trường Bắc Mỹ
Các mô hình nhà thông minh đang được áp dụng hiện nay
Các giải pháp nhà thông minh trên thế giới
Thị trường Smarthome lớn nhất thế giới hiện nay là Bắc Mỹ, với thiết kế tiện nghi dành cho một gia đình 4 người Các tính năng cơ bản bao gồm cảnh báo đột nhập, cảnh báo khí gas, hệ thống cửa tự động, camera an ninh và hệ thống giải trí.
Dưới đây là một số ví dụ về ngôi nhà thông minh từ các nhà sản xuất tại Mỹ và châu Âu, với các tiêu chuẩn từ cơ bản đến cao cấp, phù hợp cho nhu cầu của một gia đình.
Hình 1.4 Mô hình Smart home của công ty Compro Technology.
Hình 1.5 Mô hình Smart home của công ty IEI Integration
Hình 1.6 Mô hình Smart home Eco-Future-World
Các giải pháp nhà thông minh ở Việt Nam
Tại Việt Nam, thị trường nhà thông minh đang phát triển mạnh mẽ với sự tham gia của nhiều nhà sản xuất, nổi bật là BKAV và Lumi Smarthome Những sản phẩm của họ không chỉ đầy đủ chức năng như các nhà sản xuất quốc tế mà còn được điều chỉnh để phù hợp với nhu cầu và thói quen của người tiêu dùng Việt Nam Điều này mang lại cho họ một lợi thế cạnh tranh đáng kể so với các thương hiệu nước ngoài.
Hình 1.7 Mô hình Smart home của BKAV
Hình 1.8 Mô hình Smart home của Lumi
Nhà thông minh là một lĩnh vực phong phú với nhiều vấn đề cần xem xét Việc thiết kế hệ thống sẽ phụ thuộc vào mục đích sử dụng của chủ sở hữu, trong đó hệ thống điều khiển và giám sát đóng vai trò quan trọng.
Trước đây, khái niệm nhà thông minh chỉ xuất hiện trong trí tưởng tượng và phim ảnh Tuy nhiên, nhờ vào sự tiến bộ không ngừng của công nghệ, các giải pháp nhà thông minh hiện nay ngày càng đa dạng và tiện lợi cho người dùng.
Nhà thông minh bắt đầu với các thiết bị điều khiển từ xa, phục vụ nhu cầu cơ bản của con người Sau đó, sự phát triển của công nghệ đã cho phép tự động hóa các thiết bị, giúp chúng tự điều chỉnh theo môi trường và thói quen của người sử dụng.
Với sự phát triển của mạng internet, việc kết nối và điều khiển các thiết bị trong nhà trở nên dễ dàng hơn bao giờ hết Người dùng có thể quản lý thiết bị từ xa thông qua internet, đồng thời tích hợp các tiện ích như hệ thống an toàn và tính toán năng lượng sử dụng, mang lại sự tiện lợi và an toàn cho ngôi nhà.
Bảo mật an ninh là ưu tiên hàng đầu trong bối cảnh gia tăng nguy cơ bị hack vào hệ thống khi kết nối internet Chủ nhà có thể sử dụng mật khẩu riêng để đăng nhập vào hệ thống và ngôi nhà thông qua các phương thức như Passcode, bảo mật vân tay và bảo mật mống mắt Ngoài ra, hệ thống còn cung cấp khả năng cảnh báo đột nhập, giúp gia chủ phát hiện sự cố từ bất kỳ đâu thông qua kết nối Wifi/GPRS.
Xu hướng điều khiển thiết bị bằng giọng nói đang trở thành một phần quan trọng trong giải pháp xây dựng nhà thông minh, giúp nâng cao sự tiện lợi cho các thành viên trong gia đình Trong tương lai, nhờ vào sự phát triển của công nghệ mới và trí tuệ nhân tạo, ngôi nhà thông minh sẽ có khả năng nhận diện giọng nói của từng thành viên và ghi nhớ thói quen sử dụng của họ.
Hình 1.9 Xu hướng phát triển của smarthome
NHIỆM VỤ THỰC TẬP
Từ một ngôi nhà thông thường, chúng em lựa chọn thiết kế ra một mô hình cơ bản dành cho 1 gia đình với 4 người ở, với thiết kế gồm:
1 phòng giải trí xem phim
Hình 2.1 Sơ đồ kết cấu ngôi nhà thông minh
2 Chức năng đã hoàn thành:
Với tiêu chí ngôi nhà thông minh tại Việt Nam, chúng tôi đã lựa chọn các chức năng thiết yếu để tạo ra một không gian sống tiện nghi, bao gồm các tiện ích hiện đại và thông minh.
Mở cửa bằng mật khẩu
Hệ thống rèm cửa tự động theo ánh sáng môi trường
Hệ thống thông báo nhiệt độ, độ ẩm.
Hệ thống dây phơi quần áo tự động điều chỉnh theo thời tiết.
Chế độ xem phim tự động tại phòng giải trí xem phim.
Hệ thống báo cháy và rò rỉ khí Gas tự động.
Hệ thống điều hòa, đèn, quạt tự động.
Hệ thống điều khiển từ xa qua giao diện Web.
Hình 2.2 Các chức năng sử dụng
3 Sơ đồ nguyên lý hoạt động
Hình 2.3 Sơ đồ nguyên lý hoạt động hệ thống điện tử a) Khối cảm biến:
Cảm biến nhiệt độ: tín hiệu đầu ra là tín hiệu tương tự.
Cảm biến độ ẩm: tín hiệu đầu ra là tín hiệu số.
Cảm biến chuyển động: tín hiệu đầu ra là tín hiệu số.
Cảm biến khí gas: tín hiệu đầu ra là tín hiệu số.
Cảm biến hồng ngoại: tín hiệu đầu ra là tín hiệu số.
Cảm biến ánh sáng: tín hiệu đầu ra là tín hiệu số.
Cảm biến mưa: tín hiệu đầu ra là tín hiệu số. b) Khối xử lý:
Arduino Ethernet W5100. c) Router wifi kết nối với khối xử lý thông qua cổng RJ45. d) Khối chấp hành:
Rèm cửa phòng ngủ và phòng xem phim.
Sơ đồ mạch điện hệ thống
Hình 2.4 Sơ đồ mạch điện hệ thống.
Thiết kế hệ thống điều khiển nhà thông mình qua giao diện web:
+ Hệ thống board Arduino : 1 Arduino Mega 2560, 4 Arduino Uno R3
Các chức năng điều khiển qua giao diện web:
- Đóng mở cửa ra vào
- Bật tắt đèn, điều hòa các phòng
- Điều khiển rèm phòng ngủ
- Điều khiển hệ thống cảnh báo xâm nhập
- Điều khiển hệ thống cảnh báo cháy và rò rỉ khí gas
CÁC PHẦN TÌM HIỂU
1 Chuẩn giao tiếp Serial RS232:
Chuẩn giao tiếp RS232 là kỹ thuật phổ biến để kết nối thiết bị ngoại vi với máy tính Đây là một chuẩn giao tiếp nối tiếp không đồng bộ, cho phép kết nối tối đa hai thiết bị Chiều dài kết nối tối đa là 15m để đảm bảo độ tin cậy của dữ liệu, với tốc độ truyền đạt lên đến 20kbit/s, và hiện nay có thể đạt tốc độ cao hơn.
Các đặc tính kỹ thuật của chuẩn RS-232 theo tiêu chuẩn TIA/EIA-232-F như sau:
Chiều dài cable cực đại 15m (50 Feet)
Tốc độ dữ liệu cực đại 20 Kbps Điện áp ngõ ra cực đại ± 25V Điện áp ngõ ra có tải ± 5V đến ± 15V
Trở kháng tải 3K đến 7K Điện áp ngõ vào ± 15V Độ nhạy ngõ vào ± 3V
Trở kháng ngõ vào 3K đến 7K
Các tốc độ truyền dữ liệu thông dụng trong cổng nối tiếp là: 1200 bps, 4800 bps, 9600 bps và 19200 bps.
Các mức điện áp của đường truyền:
Mức điện áp của tiêu chuẩn RS232( chuẩn thường được dùng bây giờ) được mô tả như sau:
Các mức điện áp từ -3V đến 3V được coi là trạng thái chuyển tuyến, và đây là phạm vi không được định nghĩa rõ ràng Khi giá trị logic thay đổi từ thấp lên cao hoặc ngược lại, tín hiệu cần phải vượt qua quãng quá độ trong một khoảng thời gian ngắn hợp lý Điều này yêu cầu hạn chế điện dung của các thiết bị và đường truyền Tốc độ truyền dẫn tối đa phụ thuộc vào chiều dài dây dẫn, và hầu hết các hệ thống hiện nay chỉ hỗ trợ tốc độ truyền dẫn trong giới hạn nhất định.
Sơ đồ chân cổng kết nối
Máy tính thường trang bị một hoặc hai cổng nối tiếp RS232, được gọi là cổng COM, phục vụ cho việc kết nối chuột, modem và thiết bị đo lường Cổng này có hai loại là 9 chân và 25 chân, tùy thuộc vào đời máy và bo mạch chủ của máy tính.
Hình 4.2 – Sơ đồ chân cổng nối tiếp
Cổng COM có hai dạng: đầu nối DB25 (25 chân) và đầu nối DB9 (9 chân) mô tả như hình 4.2 Ý nghĩa của các chân mô tả như sau:
1 - - - Protected ground: nối đất bảo vệ
DCE Transmitted data: dữ liệu truyền
DTE Received data: dữ liệu nhận
DCE Request to send: DTE yêu cầu truyền dữ liệu
DTE Clear to send: DCE sẵn sàng nhận dữ liệu
DTE Data set ready: DCE sẵn sàng làm việc
8 1 DCD DCE->DTE Data carier detect: DCE phát hiện sóng mang
20 4 DTR DTE->DCE Data terminal ready: DTE sẵn sàng làm việc
22 9 RI DCE->DTE Ring indicator: báo chuông
23 - DSRD DCE->DTE Data signal rate detector: dò tốc độ truyền
24 - TSET DTE->DCE Transmit Signal Element Timing: tín hiệu định thời truyền đi từ DTE
Transmitter Signal Element Timing: tín hiệu định thời
17 - RSET DCE->DTE Receiver Signal Element Timing: tín hiệu định thời truyền từ DCE để truyền dữ liệu
18 - LL Local Loopback: kiểm tra cổng
21 - RL DCE->DTE Remote Loopback: Tạo ra bởi DCE khi tín hiệu nhận từ DCE lỗi
14 - STxD DTE->DCE Secondary Transmitted Data
16 - SRxD DCE->DTE Secondary Received Data
19 - SRTS DTE->DCE Secondary Request To Send
13 - SCTS DCE->DTE Secondary Clear To Send
D DCE->DTE Secondary Received Line Signal Detector
9 - Dành riêng cho chế độ test
10 - Dành riêng cho chế độ test
Truyền dữ liệu: Định dạng của khung truyền dữ liệu theo chuẩn RS-232 như sau:
Dạng tín hiệu truyền mô tả như sau (truyền ký tự A):
Truyền dữ liệu qua cổng nối tiếp RS232 diễn ra theo phương thức không đồng bộ, cho phép chỉ một bit được truyền tại một thời điểm Quá trình bắt đầu với một bit khởi đầu (bit start) có mức 0, thông báo cho bộ nhận rằng một ký tự sẽ được gửi Sau đó, các bit dữ liệu (bit data) được truyền dưới dạng mã ASCII, có thể từ 5 đến 8 bit Tiếp theo là một bit kiểm tra (Parity bit) để xác định tính chẵn lẻ, và cuối cùng là một hoặc hai bit dừng (bit stop) để kết thúc quá trình truyền.
Tốc độ baud là một tham số quan trọng của RS232, đặc trưng cho quá trình truyền dữ liệu qua cổng nối tiếp này Nó thể hiện tốc độ truyền và nhận dữ liệu, ảnh hưởng trực tiếp đến hiệu suất của việc giao tiếp.
Tốc độ bit 1 giây cần được thiết lập đồng nhất giữa bên phát và bên nhận, đảm bảo rằng vi điều khiển và máy tính sử dụng cùng một tốc độ truyền bit để hoạt động hiệu quả.
Tốc độ baud là một tham số quan trọng bên cạnh tốc độ bit trong việc mô tả tốc độ truyền dữ liệu Tốc độ baud liên quan đến tốc độ mà phân tử mã hóa dữ liệu được sử dụng để diễn tả bit được truyền, trong khi tốc độ bit phản ánh tốc độ truyền của chính các bit Do mỗi phần tử mã hóa một bit, tốc độ bit và tốc độ baud cần phải đồng nhất để đảm bảo tính chính xác trong quá trình truyền dữ liệu.
Một số tốc độ baud thường dùng: 50, 75, 110, 150, 300, 600, 1200, 2400,
4800, 9600, 19200, 28800, 38400, 56000, 115200 Trong thiết bị thường dùng tốc độ baud là 19200.
Bit chẵn lẻ, hay còn gọi là Parity bit, là một phương pháp kiểm tra lỗi trong quá trình truyền dữ liệu Kỹ thuật này bổ sung thêm một bit vào dữ liệu nhằm xác định và sửa chữa các lỗi có thể xảy ra trong quá trình truyền Trong chuẩn RS232, bit chẵn lẻ giúp xác định số lượng bit “1” trong khung dữ liệu được gửi là chẵn hay lẻ.
Bit Parity chỉ có khả năng phát hiện các lỗi lẻ như 1, 3, 5, 7, 9, nhưng nếu có một bit bị lỗi, giá trị của bit Parity sẽ giống với trường hợp không có lỗi, dẫn đến việc không phát hiện ra lỗi Vì lý do này, kỹ thuật mã hóa lỗi này không được áp dụng trong Sơ đồ chân.
Ethernet shield W5100 là mạch mở rộng cho Arduino, cho phép kết nối với internet và truyền nhận thông tin giữa Arduino và các thiết bị bên ngoài Shield này rất hữu ích cho các ứng dụng IoT, giúp điều khiển và kiểm soát hệ thống một cách hiệu quả Với kết nối internet liên tục, tốc độ truyền dữ liệu nhanh và khoảng cách không giới hạn, Ethernet shield W5100 là lựa chọn tiết kiệm hơn so với việc truyền thông qua sóng RF hay tin nhắn.
- W5100 được kết nối với bo chủ Arduino Mega 2560 qua giao tiếp Serial RS232.
Nguyên lý truyền nhận dữ liệu:
- Điều khiển các thiết bị trong nhà qua giao diện web:
Khi nhấn nút điều khiển trên web để bật tắt thiết bị, mỗi nút được gán một ký tự tương ứng Ký tự này được gửi qua giao tiếp LAN về Server trên W5100, sau đó truyền qua giao tiếp Serial đến bo Mega 2560 Tại đây, ký tự được so sánh liên tục với các lệnh trong bộ điều khiển, từ đó xác định thiết bị nào được điều khiển Cuối cùng, bộ điều khiển quản lý thiết bị trong các phòng sẽ điều chỉnh trạng thái của thiết bị tương ứng.
- Truyền dữ liệu từ các thiết bị lên giao diện web:
Quá trình truyền dữ liệu trạng thái từ các thiết bị lên web diễn ra ngược lại với việc nhận dữ liệu Khi sử dụng các nút vật lý để điều khiển thiết bị trong nhà, mỗi thiết bị sẽ được gán một ký tự tương ứng, và bộ điều khiển sẽ truyền dữ liệu này đến bo điều khiển trung tâm Mega 2560 Tại đây, dữ liệu được gửi tới server qua W5100, và thông qua giao thức web, trạng thái của các thiết bị sẽ được cập nhật trên giao diện điều khiển web.
CODE ĐIỀU KHIỂN
- Cảm biến ánh sáng + 1 button
Giao tiếp Serial với các phòng và WebServer
+ Bật tắt chế độ báo động: 0,1
// Khai bao cac thu vien
#include // dung cac chan 49 47 45 43 41 39
#include // dung cac chan 48 46 44 42 40 38 36 34
#define relay_denpk 26 // led ngoai hien
In the code snippet, several integer variables are declared, including `pos1` and `pos2`, both initialized to 90 The variables represent positions, with `pos1` set to 180 and `pos2` to 0 for the "open" state, while both being 90 indicates a "closed" state Additionally, `data_send`, `data_receive`, `x_baodong`, and `x_gara` are initialized to 0 The code also includes variables for monitoring temperature and humidity, specifically `nhiet_do_pk`, `do_am_pk`, `nhiet_do_pn`, and `nhiet_do_bep`.
Trong trạng thái hoạt động của thiết bị trong nhà, các biến được định nghĩa bao gồm: state_denpk, state_dieuhoapk và state_door cho phòng khách; state_denbep, state_dieuhoabep và state_gas cho bếp; và state_baodongmode, state_xamnhap cùng state_gara cho hệ thống báo động và gara Mỗi biến này đại diện cho các trạng thái khác nhau của thiết bị, giúp quản lý và theo dõi hiệu quả các hoạt động trong không gian sống.
Khai báo Keypad - PassWord cho cửa chính bao gồm 4 hàng và 4 cột, với biến `k` dùng để đếm số ký tự đúng trong mật khẩu, `i` giới hạn số ký tự của mật khẩu, và `error` để theo dõi lỗi Mảng `keys` được định nghĩa với các ký tự từ '1' đến '3' và 'A'.
}; // Keypad Form char pass[] = {'1', '2', '3', '4', '5', '6'}; // pass nguoi dung dat char newpass[6]; byte rowPins[ROWS] = {34, 36, 38, 40}; byte colPins[COLS] = {42, 44, 46, 48}; int f = 0; // to Enter Clear Display one time
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
LiquidCrystal lcd(49, 47, 45, 43, 41, 39); // cac chan theo thu tu RS, E, D4, D5, D6, D7
Servo motor1_cuachinh, motor2_cuachinh;
// nhap dia chi IP va dia chi MAC
// Dia chi Ip phu thuoc vao vi tri su dung mang internet byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
// Khai bao IP trong mang LAN
TCCR1B = 0; // thanh ghi de cau hinh ti le chia cua Timer
TIMSK1 = 0 ; // thanh ghi quy dinh hinh thuc ngat
// duoi day la cau hinh cho Timer
TCCR1B |= (0