ỨNG DỤNG VI ĐIỀU KHIỂN XÂY DỰNG MÔ HÌNH NHÀ THÔNG MINH Thời đại công nghệ 4.0 mang lại nhiều thay đổi lớn đến nhân loại thông qua việc ứng dụng và thay thế các hoạt động truyền thống. Trong đó nổi bật nhất vẫn là các đột phá về công nghệ tại các lĩnh vực như AI (trí tuệ nhân tạo), IOT (internet vạn vật), công nghệ Nano, công nghệ sinh học, công nghệ quản lý, Big Data (dữ liệu lớn),…. Tuy nhiên, vận dụng được những thành tựu mà cuộc cách mạng này mang lại hầu hết là các công ty, tập đoàn công nghệ. Vậy với mong muốn phủ sóng công nghệ 4.0 rộng khắp, em mang tới đề tài :” Ứng dụng vi điều khiển xây dựng hệ thống nhà thông minh”.
Tổng quan
Tổng quan đề tài
Cùng với sự phát triển không ngừng của các ngành khoa học kỹ thuật, nhu cầu của con người cũng nâng cao Việc nghiên cứu khoa học ngày càng được đầu tư để đáp ứng các yêu cầu đó Kỹ thuật vi xử lý vi điều khiển là một ứng dụng lớn của khoa học kỹ thuật vào đời sống con người Một trong những ứng dụng của vi xử lý vào đời sống phải kể tới mô hình nhà thông minh Nhà thông minh hiểu đơn giản là ngôi nhà được lắp đặt các thiết bị điện, điện tử có thể được điều khiển bằng các phương pháp tự động hoặc bán tự động Vấn đề của một căn nhà thông minh là cần cung cấp khả năng điều khiển cũng như giám sát chế độ hoạt động từ xa cho chủ sở hữu.
1.1.2 Mục tiêu: Đề tài được đưa ra nhằm hướng tới các mục tiêu cụ thể:
Điều khiển các thiết bị điện trong nhà từ xa qua internet.
Xây dựng hệ thống giám sát vào ra với RFID.
Hệ thống dự báo thời tiết sử dụng dữ liệu trên Web.
Tổng quan về IoT
Trong suốt quá trình phát triển của loài người chúng ta cho tới hiện nay, chúng ta đã trải qua 4 cuộc Cách mạng Công nghiệp: Cách mạng Công nghiệp đầu tiên sử dụng năng lượng nước và hơi nước để cơ giới hóa sản xuất Cách mạng lần thứ 2 diễn ra nhờ sử dụng điện năng để sản xuất hàng loạt Cuộc Cách mạng lần 3 là về điện tử và công nghệ thông tin để tự động hóa sản xuất.
Và giờ đây là cuộc Cách mạng thứ 4, kết hợp các công nghệ lại với nhau để làm mờ đi ranh giới vật lý, kỹ thuật số và sinh học
Công nghệ 4.0 diễn ra chủ yếu trên 3 lĩnh vực chính gồm Công nghệ sinh học, Kỹ thuật số và Vật lý Những yếu tố cốt lõi của Kỹ thuật số trong CMCN 4.0 là: Trí tuệ nhân tạo (AI), Vạn vật kết nối (IoT) và Dữ liệu lớn (Big Data).
Mạng lưới vạn vật kết nối Internet là mạng lưới các thiết bị điện, điện tử được kết nối với nhau trong một liên mạng Việc kết nối này được thực hiện qua Wifi, mạng 3G/4G, Bluetooth,… Các thiết bị có thể là điện thoại thông minh, máy giặt, máy pha café, bóng đèn,…
Hình 1.1 Mạng lưới vạn vật kết nối 1.2.2 Cấu trúc của IoT: Để có được một hệ thống IoT ta cần có một nền tảng quản lý ứng dụng, chạy phân tích, lưu trữ và bảo mật dữ liệu Nhìn chung, nền tảng IoT đề cập tới các thành phần của phần mềm cung cấp giao diện giữa các cảm biến và ứng dụng, các giao tiếp, luồng xử lý dữ liệu, quản lý thiết bị, và các chức năng của phần mềm trung gian ở giữa Một nền tảng IoT đầu cuối đích thực bao gồm 8 khối kiến trúc quan trọng:
Kết nối và đồng bộ hóa: Có chức năng tích hợp và đồng bộ các giao thức khác nhau và định dạng dữ liệu khác nhau vào một giao diện “phần mềm” đảm bảo việc truyền dữ liệu chính xác và tương tác với các thiết bị.
Quản lý thiết bị: Đây là thành phần đảm bảo kết nối
“mọi thứ” hoạt động bình thường, chạy các bản vá và cập nhật phần mềm cũng như ứng dụng đang chạy trên thiết bị hoặc các gateways ngoại biên.
Cơ sở dữ liệu: Đây là thành phần được coi là quan trọng của một nền tảng Ngoài khả năng lưu trữ dữ liệu thiết bị, nó còn có khả năng mở rộng đáp ứng đáp ứng các cơ sở dữ liệu dựa trên đám mây.
Quản lý và xử lý hoạt động: Chức năng đưa dữ liệu vào hoạt động dựa trên nguyên tắc Event – Action – Triggers cho phép thực thi các hoạt động “thông minh” dựa trên dữ liệu từ cảm biến cụ thể
Phân tích: Có chức năng thực hiện hàng loạt các phân tích phức tạp từ việc phân cụm dữ liệu cơ bản và khả năng tự học để phân tích, dự đoán, trích xuất những dữ liệu giá trị nhất trong luồng dữ liệu IoT.
Dữ liệu trực quan: Cho phép con người xem xét các mẫu và quan sát các xu hướng từ bảng điều khiển trực quan, nơi dữ liệu được miêu tả sinh động qua biểu đồ đường thẳng, hình họa mô phỏng.
Công cụ bổ sung: Thành phần này cho phép các nhà phát triển IoT thử nghiệm trước khi đưa sản phẩm ra thị trường với các trường hợp sử dụng được biểu diễn trên hệ sinh thái mô phỏng dùng để hiển thị, quản lý và kiểm soát thiết bị kết nối.
Các giao diện bên ngoài: Đây là nơi cho phép tích hợp với các hệ thống của bên thứ 3 và phần còn lại của hệ thống CNTT thông qua các giao diện lập trình ứng dụng (API), các bộ phát triển phần mềm (SDK) và các gateways.
1.2.3 Ứng dụng IoT trong các lĩnh vực cuộc sống: Ứng dụng Smartphone
Quyền điều khiển, giám sát cả ngôi nhà được thu gọn vào trong chiếc Smart phone của bạn Bạn có thể bật tắt đèn, nóng lạnh, điều hòa,… ngay cả khi không ở nhà Các công ty đang xây dựng và sản xuất hàng loạt các thiết bị giúp cuộc sống con người thuận tiện hơn. Trong tương lai, Smarthome được dự đoán sẽ phổ biến như điện thoại thông minh ngày nay.
Các chức năng nội bộ trong ô tô
Các nhà sản xuất ô tô đã bước qua giai đoạn tập trung vào việc tối ưu hóa câc chức năng nội bộ của một chiếc xe Giờ đây họ hướng tới việc tối ưu hóa sự hài lòng của người dùng thông qua trải nghiệm các tiện ích bên trong xe Các tính năng tự động lái, tránh vật cản, đỗ xe,
… được tích hợp để tối ưu hóa hoạt động của xe cũng như bảo vệ an toàn cho người dùng.
Industrial internet là tiếng vang mới trong ngành công nghiệp, được gọi tắt là IioT (industrial Internet of Things) IIoT hỗ trợ kỹ thuật công nghiệp với các cảm biến, phần mềm lớn để tạo ra những cỗ máy thông minh. Máy móc có tính chính xác và nhất quán hơn con người trong giao tiếp Từ những dữ liệu thu thập được giúp các công ty, nhà quản lý giải quyết các vấn đề sớm hơn, hiệu quả cao hơn.
Tổng quan nhà thông minh
Nhà thông minh là ngôi nhà được trang bị các hệ thống tự động thông minh cùng cách bố trí phù hợp, các hệ thống này có khả năng tự điều phối các hoạt động trong nhà theo nhu cầu của gia chủ Nó là một chỉnh thể mà trong đó các thiết bị gia dụng đều kết nối với một thiết bị điều khiển trung tâm Các thiết bị này có khả năng tự xử lý các tình huống được đặt ra từ trước hoặc được điều khiển và giám sát từ xa.
Nhà thông minh đem lại sự tiện dụng cho người dùng Các thiết bị trong gia đình như máy lạnh, ti vi có thể điều khiển từ xa nhờ điều khiển, nhưng các thiết bị đèn, bình nước nóng lạnh lại chỉ được điều khiển bằng tay Điều này gây ra một số bất tiện nhất định Giờ đây quyền điều hành cả ngôi nhà được thu lại trong chiếcSmartphone, khắc phục được sự bất tiện đó.
Hình 1.2 Mô hình nhà thông minh
1.3.2 Các thành phần chính trong hệ thống nhà thông minh:
Nhìn chung một hệ thống nhà thông minh thường gồm các thành phần như sau:
Hệ thống kiểm soát vào ra (thường là hệ thống nhận diện qua công nghệ RFID)
Hệ thống quan sát (camera)
Hệ thống quản lý, giám sát điện, nước.
Hệ thống cảm biến báo động (rò rỉ gas, cảnh báo cháy, cảnh báo đột nhập)
Hệ thống giám sát môi trường
1.4 Giải pháp thiết kế nhà thông minh trong đồ án:
Dựa vào những tìm hiểu về hệ thống nhà thông minh trên thị trường, căn cứ vào phạm vi đề tài cùng khả năng bản thân, em xin đưa ra phương án xây dựng hệ thống nhà thông minh như sau:
Hệ thống kiểm soát vào/ ra áp dụng công nghệ RFID
Cơ sở lý thuyết
Khối vi điều khiển
Các dòng chip của vi điều khiển phổ biến trên thị trường hiện nay có PIC, AVR, 8051,ARM,… Thế nhưng với các dòng vi xử lý khác tồn tại một số vấn đề, nổi bật có thể kể tới: Bộ nhớ giới hạn, giới hạn về thư viện trong công cụ lập trình, tốc độ xử lý thấp, … Với 32KB Flash Memory, 2KB SRAM, 1KB EEPROM; 16kHz tần số xung thạch anh; đa dạng thư viện được cung cấp bởi phần mềm cùng cộng đồng người dùng Arduino IDE một cách miễn phí, bo mạch Arduino Uno R3 sử dụng chip Atmega328P khắc phục được hầu hết các nhược điểm trên Vậy nên trong đồ án này, vi xử lý được sử dụng trong đồ án là Arduino Uno R3.
Giới thiệu: Arduino Uno R3 là một bảng mạch vi điều khiển nguồn mở dựa trên vi điều khiển MicrochipAtmega328, phát triển bởi Arduino.cc và lần đầu được giới thiệu năm 2010 Bảng mạch bộ vi điều khiển được trang bị với bộ chân đầu vào/ ra Digital và Analog có thể giao tiếp với các bảng mạch mở rộng khác nhau [1]
Hình 2.3 Bo mạch vi xử lý Arduino Uno R3
Chip điều khiển Atmega328P Điện áp hoạt động 5V Điện áp đầu vào (khuyên dùng) 7-12V Điện áp đầu vào (giới hạn) 6-20V
Số chân Digital 14 (6 chân xuất xung
Dòng điện trên mỗi chân
Dòng điện trên chân 3.3V 50 mA
Tốc độ thạch anh 16 MHz
Bảng 2-1 Thông số kỹ thuật board Arduino Uno R3
- LED: Có 1 LED được tích hợp trên bảng mạch và được nối vào chân D13 Khi chân có giá trị mức cao (HIGH) thì LED sẽ sáng và ngược lại.
- VIN: Chân này dùng để cấp nguồn ngoài (điện áp cấp từ 7-12VDC).
- 5V: Điện áp ra 5V (dòng điện trên mỗi chân này tối đa là 500mA).
- 3V3: Điện áp ra 3.3V (dòng điện trên mỗi chân này tối đa là 50mA).
- GND: Là chân mang điện cực âm trên board.
- IOREF: Điệp áp hoạt động của vi điều khiển trên Arduino UNO và có thể đọc điện áp trên chân IOREF Chân IOREF không dùng để làm chân cấp nguồn.
- 32 KB bộ nhớ Plash: trong đó bootloader chiếm 0.5KB.
- 2 KB cho SRAM: (Static Random Access Menory): giá trị các biến khai báo sẽ được lưu ở đây Khai báo càng nhiều biến thì càng tốn nhiều bộ nhớ RAM Khi mất nguồn dữ liệu trên SRAM sẽ bị mất.
- 1 KB cho EEPROM: (Electrically ErasebleProgrammable Read Only Memory): Là nơi có thể đọc và ghi dữ liệu vào đây và không bị mất dữ liệu khi mất nguồn.
Các chân đầu vào ra:
Trên Board Arduino Uno R3 có 14 chân Digital được sử dụng để làm chân đầu vào và đầu ra và chúng sử dụng các hàm pinMode(), digitalWrite(), digitalRead(). Giá trị điện áp trên mỗi chân là 5V, dòng trên mỗi chân là 20mA và bên trong có điện trở kéo lên là 20-50 ohm. Dòng tối đa trên mỗi chân I/O không vượt quá 40mA để tránh trường hợp gây hỏng board mạch.
Ngoài ra, một số chân Digital có chức năng đặc biệt:
- Serial: 0 (RX) và 1 (TX): Được sử dụng để nhận dữ liệu
(RX) và truyền dữ liệu (TX) TTL.
- PWM: 3, 5, 6, 9 và 11 Cung cấp đầu ra xung PWM với độ phân giải 8 bit bằng hàm analogWrite ().
- SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Các chân này hỗ trợ giao tiếp SPI bằng thư viện SPI.
- LED: Có 1 LED được tích hợp trên bảng mạch và được nối vào chân D13 Khi chân có giá trị mức cao (HIGH) thì LED sẽ sáng và LED tắt khi ở mức thấp (LOW).
- TWI/I2C: A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp
I2C/TWI với các thiết bị khác.
Arduino Uno R3 có 6 chân Analog từ A0 đến A5, đầu vào cung cấp độ phân giải 10 bit.
Tổng quan: ESP32-WROOM-32 là một module mạnh mẽ có hỗ trợ Wifi và Bluetooth Module này sử dụng chip ESP32-D0WDQ6 Nó bao gồm 2 CPU trung tâm có thể được điều khiển độc lập, và xung đồng hồ của CPU có thể điều chỉnh được từ 80 MHz đến 240 MHz Chip này cũng bao gồm bộ đồng xử lý công suất thấp có thể thay thế CPU để tiết kiệm năng lượng khi thực hiện các nhiệm vụ không yêu cầu nhiều sức mạnh tính toán, ví dụ như điều khiển các thiết bị ngoại vi ESP32 tích hợp nhiều thiết bị ngoại vi, có thể kể tới như cảm biến chạm, giao tiếp thẻ SD, Ethernet, SPI tốc độ cao, UART, I2S và I2C [2].
- CPU: Bộ xử lý Xtensa lõi kép (hoặc lõi đơn) 32 bitsLX6, hoạt động ở tần số 240MHz (160 MHz choESP32-S0WD và ESP32-U4WDH) và hoạt động tối đa 600 MIPS (200 MIPS với ESP32-S0WD/ ESP32- U4WDH).
- Bộ đồng xử lý (coprocessor) công suất thấp hỗ trợ việc đọc ADC và điều khiển các thiết bị ngoại vi khi CPU vào chế độ deep sleep.
Hệ thống xung nhịp: CPU Clock, RTC Clock, Audio PLL Clock.
- 448 KB bộ nhớ ROM cho việc booting và các tính năng lõi.
- 520 KB bộ nhớ SRAM trên chip cho dữ liệu và tập lệnh.
- Bluetooth: v4.2 BR/EDR và BLE (chia sẻ sóng vô tuyến với Wifi)
GPIO vật lý và các ngoại vi:
- ADC SAR 12 bit để giao tiếp với các cảm biến analog.
- 10 cảm biến cảm ứng (touch sensor) (GPIO cảm ứng điện dung)
- 3 SPI (SPI, HSPI, VSPI) hoạt động ở cả 2 chế độ master/ slave Module ESP32 hỗ trợ 4 ngoại vi SPI với SPI0 và SPI1 kết nối đến bộ nhớ flash của ESP32 còn SPI2 và SPI3 tương ứng với HSPI và VSPI Các
GPIO đều có thể được dùng để triển khai HSPI và VSPI.
- 2 I2C, hoạt động được ở cả chế độ master và slave, với chế độ Standard mode (100 Kbit/s) và Fast mode (400 Kbit/s) Hỗ trợ 2 chế độ định địa chỉ là 7- bit và 10-bit Các GPIO đều có thể được dùng để triển khai I2C.
- 3 UART (UART 0, UART 1, UART 2) với tốc độ lên đến 5Mbps.
- SD/SDIO/CE-ATA/MMC/eMMC host controller.
- Ethernet MAC interface cho DMA và IEEE 1588 Precision Time Protocol
- Bộ điều khiển hồng ngoại từ xa (TX/RX, lên đến 8 kênh)
- PWM cho điều khiển động cơ
- Cảm biến hiệu ứng Hall
- Bộ khuếch đại analog công suất cực thấp (Ultra low power analog pre-amplifier)
- Hỗ trợ 5 chế độ hoạt động với mức tiêu thụ năng lượng khác nhau: Active, Modern Sleep, Light Sleep, Deep Sleep và Hibernation.
- Bộ ổn áp nội với điện áp rơi thấp (internal low dropout regulator)
- Individual power domain (tạm dịch: Miền nguồn riêng) cho RTC
Giới thiệu: Bảng mạch phát triển NodeMCU v2 ESP8266 cùng với module ESP-12E bao gồm chip ESP8266 có vi xử lý Tensilica Xtensa 32-bit LX106 RISC Vi xử lý hỗ trợ RTOs và hoạt động ở tần số 80MHz đến 160MHz có thể thay đổi được NodeMCU có 128KB RAM và 4MB bộ nhớ Flash để lưu trữ dữ liệu và chương trình Khả năng xử lý mạnh mẽ tích hợp Wifi/ Bluetooth và tính năng Deep Sleep Operating khiến cho NodeMCU lý tưởng cho các dự án IoT [3].
Thông số và tính năng:
- Vi xử lý: Tensilica 32-bit RISC CPU Xtensa LX106
- USB-TTL dựa trên CP2102 được gắn trên mạch
- Module cỡ nhỏ vừa với các dự án IoT.
GND, Vin Micro-USB: Node
MCU có thể được cấp nguồn qua USB port
3.3V: Nguồn 3.3V có thể được cấp qua chân này để cấp nguồn cho bo mạch
Control Pins EN, RST Chân và nút bấm reset bo mạch
Analog Pin A0 Sử dụng để đo điện áp trong khoảng 0-3.3V
GPIO Pins GPIO1 to GPIO16 NodeMCU có 16 chân input - output dùng cho đa mục đích
SPI Pins SD1, CMD, SD0,
CLK NodeMCU có 4 chân dử dụng cho giao tiếp SPI.
TXD2, RXD2 NodeMCU có 2 giao diện UART,UART0 (RXD0 &TXD0) và UART1(RXD2 & TXD2).UART1 được sử dụng để tải phần cứng/ chương trình.
I2C Pins NodeMCU có hỗ trợ chức năng I2C
Khối vận hành
Còi Buzzer được sử dụng để tạo ra âm thanh, tiếng bíp hoặc thậm chí một bài nhạc Buzzer được chia thành nhiều loại, được xếp theo các đặc tính riêng biệt sau:
- Phương thức điều khiển: Buzzer chủ động và bị động
- Cơ chế tạo âm thanh: Piezo Buzzer và Buzzer thông thường
- Điện áp hoạt động: Điện áp thấp (3-5V) và Điện áp cao (12V)
Còi Buzzer được sử dụng trong dự án là Piezo Buzzer, chủ động, điện áp thấp, có thông số như sau:
- Dòng điện tiêu thụ: 80dB
- Nhiệt độ hoạt động: - 20’C đến 70’C
Hình 2.6 Còi Buzzer 2.2.2 Khóa từ LY-03 12VDC:
- Vật liệu: Thép không gỉ
- Thời gian kích liên tục: 2,4V Điện áp ra mức thấp: