Tính năng của Home Assistant

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu một số phương pháp giao tiếp giữa các cảm biến và ứng dụng iot trong giám sát thiết bị điện phòng học (Trang 52)

MC LC

6. Ý nghĩa khoa học và ý nghĩa thực tiễn

1.5.3. Tính năng của Home Assistant

- Giám sát: Home Assistant sẽ theo dõi tình trạng của tất cả các thiết bị trong nhà thay cho chúng ta, miễn là các thiết bị đó nằm trong danh sách

đƣợc Home Assistant hỗ trợ. Tính tới thời điểm này nền tảng hỗ trợ là 1063 thiết bị đến từ Nest, IFTTT, Google, Hue, MQTT, Facebook, Microsoft,…

- iều khiển: iều khiển tất cả các thiết bị từ một giao diện duy nhất, thân thiện với website, điện thoại, ...

- Tự động hóa: Thiết lập các quy tắc tiên tiến để kiểm soát thiết bị. Và từ đó biến ngôi nhà của chúng ta thành một thiên đƣờng sống đáng mơ ƣớc.

Home Assistant giúp kết nối thiết bị Xiaomi, kết nối thiết bị Broadlink, kết nối oogle Home, Alexa hay hàng trăm các hãng lại với nhau ở cùng một nơi, trong cùng 1 hệ thống để quản lý thống nhất, không mất thời gian qua lại các ứng dụng và gia tăng hiệu quả, sự thông minh cho ngôi nhà thông minh.

Tính đến thời điểm này, Home Assistant đã có thể kết nối 1492 thiết bị của hàng trăm hãng cung cấp thiết bị lại với nhau. Ngoài ra, Home Assistant còn có thể mở rộng chức năng một cách dễ dàng, hay tạo ngữ cảnh cực kỳ thuận tiện và có thể tƣơng tác với tất cả các hãng với nhau. Giống nhƣ hầu hết các hệ thống nhà thông minh, Hass cung cấp bản client trên điện thoại và máy tính để điều khiển các thiết bị nhà thông minh từ xa [24].

1.6. Ả IẾ HÔ G DÂY

Với yêu cầu của đề tài đặt ra là điều khiển, giám sát đƣợc các thiết bị điện phòng học, qua quá trình nghiên cứu, tìm hiểu tài liệu chúng tôi đã chọn giải pháp tối ƣu cho khối xử lý trung tâm là SP32 đƣợc phát triển bởi Espressif Systems. Là một vi điều khiển 32bit, đáp ứng đầy đủ các yêu cầu ban đầu đặt ra, ngoài ra còn có thể mở rộng thêm một số chức năng khác khi cải tiến hệ thống.

1.6.1. Giới thiệu chip Wifi ESP32. 1.6.1.1. Tổng quan ESP32. 1.6.1.1. Tổng quan ESP32.

ESP32 là một chip đƣợc tích hợp công nghệ Wifi và Bluetooth với công nghệ tiêu thụ năng lƣợng cực thấp. Nó cung cấp một nền tảng tích hợp

mạnh mẽ, đáp ứng nhu cầu hiệu năng tốt nhất, tính linh hoạt, thiết kế nhỏ gọn, hiệu suất cao và độ tin cậy trong nhiều ứng dụng. Các dòng chip ESP32 bao gồm ESP32-D0WDQ6, ESP32- D0WD, ESP32-D2WD và ESP32-S0WD.

spressif đã thiết kế và sản xuất ra một số module để ngƣời dùng dễ dàng tiếp cận hơn với dòng chip ESP32. Các thành phần chính trên những module này bao gồm chip ESP32, bộ tạo dao động thạch anh, mạch ăngten, chỉ khác nhau về một số chức năng tùy từng phiên bản nhƣ số lƣợng chân GPIO, các thiết bị ngoại vi đƣợc thêm vào nhƣ: màn hình L , bảng cảm ứng, khe cắm thẻ SD, module máy ảnh,… dƣới đây là một số phiên bản đã đƣợc phát triển và đƣa vào sử dụng [25].

Bảng 1.3: Các phiên bản module của ESP32

Module Th nh phần

Chip Flash RAM

ESP-WROOM-32 ESP32-D0WDQ6 4MB - ESP-WROOM-32D ESP32-D0WD 4MB - ESP-WROOM-32U ESP32-D0WD 4MB - ESP-SOLO-1 ESP32-S0WD 4MB - ESP-WROVER ESP32-D0WDQ6 4MB 8MB ESP-WROVER-I ESP32-D0WDQ6 4MB 8MB

Phiên bản ESP32-WOOM-32 là một module vi điều khiển (MCU) Wifi (Wireless Fidelity) - BT (Bluetooth) - BTE (Bluetooth Low Energy) phổ biến và mạnh mẽ phục vụ cho nhiều ứng dụng khác nhau từ những ứng dụng đơn giản nhƣ điều khiển thiết bị, đọc giá trị cảm biến đến những nhiệm vụ phức tạp nhƣ mã hóa giọng nói, phát nhạc trực tuyến, giải mã MP3,…[25]

Module này đƣợc xây dựng với lõi nhân là chip ESP32-D0WDQ6, chip đƣợc thiết kế để có thể mở rộng. Có 2 lõi CPU (Central Processing Unit) có thể kiểm soát riêng biệt và tần số xung đồng hồ dao động từ 80MHz đến 240MHz. Do tích hợp Bluetooth, Bluetooth LE, Wifi nên rất nhiều ứng dụng có thể thực hiện đƣợc trên module. Sử dụng Wifi cho phép kết nối trong phạm vi rộng, không giới hạn, sử dụng Bluetooth cho phép kết nối một cách dễ dàng. Module cũng hỗ trợ truyền dữ liệu lên đến 150Mbps.

- Kiến trúc [25].

Hình 1.27. Kiến trúc của ESP32

- Một s ứng dụng của ESP32: a số các ứng dụng của SP32 đƣợc phục vụ cho các dự án IoT nhƣ: Nhà th ng minh, Robot c ng nghiệp, nhận dạng giọng nói, nhận dạng hình ảnh, ứng dụng chăm sóc sức khỏe, …

1.6.1.2. Đặc điểm ESP32.

ức năng l ợng thấp: hip SP32 đƣợc thiết kế cho các ứng dụng di động, điện tử, ứng dụng IoT. ESP32 có tất cả các đặc tính của một chip tiêu thụ mức năng lƣợng thấp, nhiều chế độ hoạt động giúp giảm thiểu tối đa năng lƣợng mà chip tiêu tốn. Ví dụ cảm biến trong ứng dụng IoT, SP32 đƣợc đánh thức theo chu kỳ và chỉ phát hiện khi có một điều kiện cụ thể.

Tích hợp ho n chỉnh: hip SP32 có khả năng tích hợp cao Wifi và luetooth cho các ứng dụng IoT, với khoảng 20 thiết bị ngoại vi. SP32 tích hợp ăngten, sóng R (Radio frequency), bộ khuếch đại c ng suất, bộ khuếch đại thu tiếng ồn, module quản lý năng lƣợng, …

Thông s kỹ thuật cơ bản của module ESP32-WOOM-32 0

Bảng 1.4: Thông số kỹ thuật cơ bản của module ESP32-WOOM-32

oại ặc tr ng Thông s

Wifi iao thức 802.11 b/g/n (802.11n lên đến 150 Mbps) Tần số 2.4GHz ~ 2.5GHz

Bluetooth

iao thức Bluetooth v4.2 và Bluetooth Lower Energy Radio

NZ với độ nhạy -97dBm

Máy phát Class-1, Class-2, Class-3 AFH

Audio CVSD và SBC

Phần cứng

iao tiếp module

Thẻ S , UART, SP , S O, 2 , Led PWM, Motor PWM, I2S, IR, Counter, P O, cảm biến cảm ứng, A , A

hip cảm biến Hall sensor (từ trƣờng) Thạch anh 40MHz

SPI Flash 4MB

iện áp hệ thống 2.7V ~ 3.6V òng hệ thống Trung bình: 80mA òng điện tối

thiểu của nguồn cung cấp

500mA

Nhiệt độ hoạt động -40℃ ~ +85℃

Kích thƣớc (18.0) mm x (25.5) mm x (3.1) mm

1.6.1.3. Sơ đồ chân của module ESP32-WOOM-32

Module có tổng cộng 38 chân 0

Bảng 1.5: Định nghĩa các chân module ESP32-WOOM-32

Tên S oại hức năng

GND 1 P (nguồn) Ground

3V3 2 P hân nguồn cung cấp 3V3

EN 3 I (input) ho phép module hoạt động, mức cao SENSOR_VP 4 I GPIO36, ADC1_CH0, RTC_GPIO0 SENSOR_VN 5 I GPIO39, ADC1_CH3, RTC_GPIO3 IO34 6 I GPIO34, ADC1_CH6, RTC_GPIO4 IO35 7 I GPIO35, ADC1_CH7, RTC_GPIO5

IO32 8 I/O (input, output)

GPIO32, XTAL_32K_P, ADC1_CH4, TOUCH9, RTC_GPIO9

IO33 9 I/O GPIO33, XTAL_33K_N, ADC1_CH5, TOUCH8, RTC_GPIO8

IO25 10 I/O GPIO25, DAC_1, ADC2_CH8, RTC_GPIO6

IO26 11 I/O GPIO26, DAC_2, ADC2_CH9, RTC_GPIO7

IO27 12 I/O GPIO27, ADC2_CH7, TOUCH7 RTC_GPIO17

IO14 13 I/O GPIO14, ADC2_CH6, TOUCH6, RTC_GPIO16

IO12 14 I/O GPIO12, ADC2_CH5, TOUCH5, RTC_GPIO15

GND 15 P Ground

IO13 16 I/O GPIO13, ADC2_CH4, TOUCH4, RTC_GPIO14

SHD/SD2 17 I/O GPIO9, SD_DATA2, U1RXD SWP/SD3 18 I/O GPIO10, SD_DATA3, U1TXD SCS/CMD 19 I/O GPIO11, SD_CMD, U1RTS SCK/CLK 20 I/O GPIO6, SD_CLK, U1CTS

SDO/SD0 21 I/O GPIO7, SD_DATA0, U2RTS SDI/SD1 22 I/O GPIO8, SD_DATA1, U2CTS

IO15 23 I/O GPIO15, ADC2_CH3, TOUCH3, RTC_GPIO13

IO2 24 I/O GPIO2, ADC2_CH2, TOUCH2, RTC_GPIO12

IO0 25 I/O GPIO0, ADC2_CH1, TOUCH1, RTC_GPIO11, CLK_OUT1

IO4 26 I/O GPIO4, ADC2_CH0, TOUCH0, RTC_GPIO10

IO16 27 I/O GPIO16, HS1_DATA4, U2RXD IO17 28 I/O GPIO17, HS1_DATA5, U2TXD

IO5 29 I/O GPIO5, HS1_DATA6 IO18 30 I/O GPIO18, HS1_DATA7 IO19 31 I/O GPIO19, U0CTS

NC 32 - -

IO21 33 I/O GPIO21, VSPIHD

TXD0 35 I/O GPIO1, U0TXD, CLK_OUT3 IO22 36 I/O GPIO22, VSPIWP, U0RTS IO23 37 I/O GPIO23, VSPID

GND 38 P Ground

Hình 1.28. Sơ đồ bố trí chân của module ESP32-WOOM-32

1.6.1.4. Chức năng tích hợp trong ESP32

ESP32 có cấu hình khủng, thêm chức năng, tăng số chân /O, thêm nhiều cảm biến, giá thành phù hợp, …

a. Cấu hình ESP32

Hình 1.29. Hình ảnh thực tế board ESP32

CPU:

• CPU: Xtensa Dual-Core LX6 microprocessor. • hạy hệ 32 bit

• Tốc độ xử lý 160MHz up to 240 MHz

• Tốc độ xung nhịp đọc flash chip 40MHz đến 80 MHz (tùy chỉnh khi lập trình)

• RAM: 520 K yte SRAM: 520 K SRAM liền chip (trong đó 8 K RAM RT tốc độ cao – 8 K RAM RT tốc độ thấp (dùng ở chế độ DeepSleep).

Hỗ trợ 2 giao tiếp không dây

• Wi-Fi: 802.11 b/g/n/e/i

• Bluetooth: v4.2 BR/EDR and BLE

Hỗ trợ tất cả các loại giao tiếp

• 8-bit DACs (digital to analog) 2 cổng • Analog(ADC) 12-bit 16 cổng.

• I²C – 2 cổng • UART – 3 cổng

• SPI – 3 cổng (1 cổng cho chip LASH ) • I²S – 2 cổng

• SD card /SDIO/MMC host • Slave (SDIO/SPI)

• Ethernet MAC interface with dedicated DMA and IEEE 1588 support

• CAN bus 2.0 • IR (TX/RX)

• ăm xung PWM (tất cả các chân ) • Ultra low power analog pre-amplifier

• xternal lash (bộ nhớ flash ngoài) và SRAM: SP32 hỗ trợ nhiều external QSP flash và SRAM, có thể truy cập ở tốc độ cao. SRAM đƣợc hổ trợ lên đến 8M , đọc và ghi 8bit, 16bit, 32bit.

Cảm biến tích hợp trên chip ESP32: 1 cảm biến Hall (cảm biến từ trƣờng), 1 cảm biến đo nhiệt độ, ảm biến chạm (điện dung) với 10 đầu vào khác nhau.

Bảo mật:

IEEE 802.11 standard security features all supported, including WFA, WPA/WPA2 and WAPI, Secure boot, Flash encryption, 1024-bit OTP, up to 768-bit for customers, Cryptographic hardware acceleration: AES, SHA-2, RSA, elliptic curve cryptography (ECC), random number generator (RNG)

Nguồn điện hoạt động: Nhiệt độ hoạt động -40 + 85oC; điện áp hoạt động: 2.2 - 3.6V, số cổng GPIOs: 34

Tổ chức bộ nhớ [25]

Hình 1.30. Cấu trúc và địa chỉ bộ nhớ của ESP32

ánh giá chung

Với SP8266, cùng với wifi SP32 hỗ trợ thêm truyền nhận lutooth, RAM nhiều hơn, tốc độ xử lý nhanh hơn, số chân P O nhiều hơn, nhiều cổng giao tiếp hơn, nhiều chân PWM hơn, nhiều chân A hơn, tích hợp cả 3 loại cảm biến (nhiệt độ, hall, touch sensor),… Tốc độ xử lý SP32 với các

dòng mạch nhúng khác, theo nhƣ kết quả tại trang

web https://hilo90mhz.com/arduino-esp32-,... thì SP32 hiện tại đang đứng đầu về cấu hình cũng nhƣ tốc độ xử lý.

b. Timers và Watchdogs [25]

64bit dựa trên bộ chia trƣớc 16bit và bộ định thời đếm lên, xuống.

ặc tr ng của Timer: Bộ chia 16 bit từ 2 đến 65536; Timer 64bit; Cho phép cấu hình Timer đếm lên, đếm xuống; Cho phép dừng và tiếp tục bộ đếm thời gian.

Timer Watchdogs ( ộ định thời giám sát): ESP32 có 3 Timer Watchdogs bao gồm 2 module hẹn giờ (Main Watchdogs Timer) và một module RTC (RTC Watchdog Timer). Một bộ đếm thời gian Watchdog có 4 giai đoạn, mỗi giai đoạn có thể kích hoạt một trong bốn hành động là: ngắt, thiết lập lại CPU, thiết lập lại lõi, thiết lập lại hệ thống.

c. Hệ th ng xung đồng hồ (Clock)

CPU Clock: Khi đƣợc reset, dao động thạch anh bên ngoài đƣợc đặt lại mặc định cho PU. ao động thạch anh kết nối với PLL (Phase-Locked Loop) để tạo ra xung tần số cao (160MHz). Ngoài ra, SP32 có bộ dao động nội 8MHz và có thể sử dụng đƣợc bộ dao động này cho một số ứng dụng nhất định.

RTC Clock (Real Time Clock): Có các nguồn hoạt động: Thạch anh bên ngoài tốc độ thấp (32KHz); Thạch anh bên ngoài với bộ chia 4; ộ dao động nội R (150KHz, có thể điều chỉnh đƣợc), ộ dao động nội 8MHz; Xung nội 32.25KHz. Khi ở chế độ bình thƣờng, cần truy cập PU nhanh hơn, ứng dụng có thể chọn xung tốc độ cao bên ngoài với bộ chia 4 hoặc dao động nội 8MHz. Khi hoạt động ở chế độ năng lƣợng thấp, ứng dụng có thể chọn thạch anh bên ngoài tốc độ thấp (32KHz), dao động nội RC hoặc xung nội 31.25KHz.

d. WiFi: ESP32 thực hiện giao thức TCP/IP và Wifi 802.11 b/g/n, quản lý năng lƣợng đƣợc xử lý để giảm thiểu thời gian thực hiện các tác vụ. Các thƣ viện của Wifi cung cấp để định cấu hình và giám sát chức năng kết nối mạng ESP32, nó cấu hình cho: Chế độ trạm (hay chế độ STA hoặc chế độ

Wifi client): ESP32 kết nối với một điểm truy cập; Chế độ AP (hay chế độ Soft-AP hoặc chế độ điểm truy cập): các trạm kết nối với ESP32; Chế độ kết hợp AP-STA ( SP32 đồng thời là điểm truy cập và là trạm đƣợc kết nối với các điểm truy cập khác); Các chế độ bảo mật khác nhau cho các chế độ trên (WPA, WPA2, W P, …); Quét các điểm truy cập (chủ động và thụ động); Chế độ giám sát các gói Wifi của tiêu chuẩn IEEE802.11 [25].

e. Bluetooth: ESP32 tích hợp bộ điều khiển liên kết Bluetooth, thực hiện các giao thức nhƣ điều chế, giải điều chế, xử lý gói, xử lý luồng bit [25].

f. RTC và quản lý năng l ợng thấp: Với việc sử dụng công nghệ quản lý năng lƣợng tiên tiến, ESP32 có thể chuyển đổi giữa các chế độ năng lƣợng khác nhau. Bao gồm các chế độ: Chế độ hoạt động, chip đƣợc bật, có thể truyền, nhận; Chế độ ngủ modem: PU đƣợc hoạt động và xung đồng hồ có thể cấu hình, Wifi/Bluetooth bị tắt; Chế độ ngủ light: CPU tạm dừng hoạt động, bộ nhớ RTC và các thiết bị ngoại vi RT cũng nhƣ bộ xử lý đồng thời ULP vẫn chạy, bất kỳ sự kiện đánh thức nào sẽ đánh thức chip hoạt động; Chế độ ngủ sâu: Chỉ bật bộ nhớ RTC và thiết bị ngoại vi RTC, dữ liệu kết nối Wifi và Bluetooth đƣợc lƣu trữ trong bộ nhớ RTC; Chế độ ngủ đ ng: Bộ tạo dao động nội 8MHz và bộ đồng xử lý ULP bị tắt, bộ nhớ RTC khôi phục bị tắt, chỉ có bộ đếm thời gian RTC và một số RTC GPIO nhất định hoạt động.

1.6.1.5. Thiết bị ngoại vi và cảm biến của ESP32

GPIO (General Purpose Input/Output Interface): ESP32 với số lƣợng lớn chân GPIO tùy thuộc vào từng phiên bản module, mỗi chân đƣợc tích hợp nhiều chức năng khác nhau bằng cách lập trình thanh ghi. Có một số loại chân P O nhƣ: chỉ đọc dữ liệu số (0 hoặc 1), cho phép analog, cho phép cảm ứng điện dung, … Hầu hết các chân GPIO số (digital) có thể đƣợc cấu hình điện trở kéo lên (pull- up) hoặc kéo xuống (pull-down) hoặc trở kháng cao. Mỗi chân có thể có nhiều chức năng khác nhau nhƣ S O, UART, SP .

ADC (Analog to Digital Converter): ESP32 tích hợp A 12bit và hỗ trợ đo 18 kênh. Với thiết lập thích hợp, các A có thể đƣợc cấu hình để đo điện áp tối đa 18 chân.

DAC (Digital to Analog Converter): ESP32 có hai kênh DAC 8bit đƣợc sử dụng để chuyển đổi tín hiệu số sang tín hiệu analog, đƣợc tích hợp điện trở và bộ đệm.

Touch Sensor ( ảm ứng điện dung): ESP32 có 10 chân P O sử dụng đƣợc cảm ứng điện dung, phát hiện vật thể bằng cách chạm vào các chân GPIO.

ộ điều khiển SDIO/SPI: SP32 tích hợp giao tiếp thiết bị S phù hợp với tiêu chuẩn S O, hỗ trợ các tính năng sau: Chế độ truyền SPI, SPIO 1bit, SPIO 4bit; truy cập trực tiếp đến máy chủ; ngắt để bắt đầu truyền dữ liệu; kích thƣớc khối dữ liệu lên đến 512 byte.

UART (Universal Asynchronous Receiver Transmitter): ESP32 tích hợp ba UART: UART1, UART2, UART3 cung cấp chuẩn giao tiếp bất đồng bộ (RS232 và RS485) với tốc độ lên đến 5Mbps, có thể truy cập bỡi bộ điều khiển MA hoặc trực tiếp bởi PU.

I2C Interface (Inter-Integrated Circuit): SP32 có hai giao tiếp 2 , có thể vận hành ở chế độ master hoặc slave phụ thuộc vào ngƣời sử dụng cấu hình, nó hỗ trợ: Chế độ tiêu chuẩn (100Kbit/s); Chế độ nhanh (400Kbit/s); Tốc độ lên đến 5MHz; Chế độ kép.

I2S Interface (Inter-IC Sound): Hai giao tiếp 2S có sẵn trên SP32, có thể hoạt động ở chế độ master hoặc slave. Và đƣợc cấu hình để hoạt động ở độ phân giải 8/16/32/48/64bit làm kênh đầu vào hoặc đầu ra. Hỗ trợ tần số từ 10KHz đến 40KHz.

iều khiển hồng ngoại từ xa (Infrared Remote ontroller): ộ điều khiển hồng ngoại từ xa hỗ trợ 8 kênh điều khiển truyền và nhận. Hỗ trợ

các giao thức hồng ngoại khác nhau.

ộ đếm (Pulse ounter): ộ đếm counter có 7 chế độ. ó 8 kênh mỗi kênh thu đƣợc 4 tín hiệu cùng một lúc. ốn tín hiệu đầu vào bao gồm 2 tín hiệu xung và 2 tín hiệu điều khiển. Khi bộ đếm đạt đƣợc đến ngƣỡng đặt, thì một interrupt đƣợc tạo ra.

PWM (Pulse Width Modulation): ộ điều khiển độ rộng xung (PWM) đƣợc sử dụng để điều khiển động cơ kỹ thuật số và đèn th ng minh.

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu một số phương pháp giao tiếp giữa các cảm biến và ứng dụng iot trong giám sát thiết bị điện phòng học (Trang 52)