Chương I chủ yếu giới thiệu tổng quan nhất về IoT – một xu hướng công nghệ cho tương lai. Tuy xuất hiện từ lâu nhưng trong những năm gần đây nó được nhiều doanh nghiệp cũng như các nhà khoa học để ý và phát triển mạnh mẽ. Chính vì vậy các thiết bị thông minh: tivi thông minh, tủ lạnh thông minh,…lần lượt được giới thiệu. Không ngoại lệ, canh tác thông minh là hệ thống tiềm năng của IoT và sẽ được phát triển mạnh mẽ trong thời gian tới.
Page 12 ĐỒ ÁN TỐT NGHIỆP CHƯƠNG II TÌM HIỂU LÝ THUYẾT Chương hai trình bày các khái niệm, lí thuyết cơ sở của các kiến thức liên quan đến đề tài, các thuật toán triển khai trong đề tài, cũng như các phương tiện, công cụ hỗ trợ. Mô hình nhà thông minh? 2.1 Nhà thông minh là gì? Nhà thông minh (tiếng Anh là "Smart Home") hoặc hệ thống nhà thông minh là một ngôi nhà/ căn hộ được trang bị hệ thống tự động tiên tiến dành cho điều khiển đèn chiếu sáng, nhiệt độ, truyền thông đa phương tiện, an ninh, rèm cửa, cửa và nhiều tính năng khác nhằm mục đích làm cho cuộc sống ngày càng tiện nghi, an toàn và góp phần sử dụng hợp lý các nguồn tài nguyên. Theo wiseGeek, một ngôi nhà (hoặc căn hộ) được coi là "thông minh" bởi vì hệ thống máy tính của nó có thể theo dõi rất nhiều khía cạnh của cuộc sống thường ngày. Một trong những ví dụ cơ bản nhất của nhà thông minh là một hệ thống kiểm soát mức độ chiếu sáng của hệ thống đèn giúp tiết kiệm điện và phù hợp với khung cảnh, chẳng hạn như cài đặt đèn ánh sáng nhẹ cho các bữa tiệc tối.
Hệ thống cũng có thể điều chỉnh rèm cửa theo yêu cầu, kiểm soát nhiệt độ, hệ thống camera giám sát, hệ thống khóa cửa tự động, hệ thống phòng ngừa trộm. Nhà thông minh ngoài ra còn có một số ứng dụng sáng tạo hơn, gồm hệ thống điều khiển giải trí tại gia – loa công suất khác nhau, hệ thống điện thoại, liên lạc nội bộ, hệ thống tưới nước. Các chức năng này có thể được thực hiện nhờ các thiết bị trong nhà được kết nối với nhau để hệ thống máy tính trung tâm có thể theo dõi các trạng thái và ra các quyết định điều khiển phù hợp. Nhà thông minh đã được hình dung trong các tác phẩm khoa học viễn tưởng từ nhiều năm nhưng nó chỉ trở thành hiện thực kể từ thế kỷ 20 sau sự phát triển rộng rãi của điện và những tiến bộ nhanh chóng của công nghệ thông tin, theo Wikipedia.
Các thành phần của nhà thông minh. Các thành phần của hệ thống nhà thông minh bao gồm các cảm biến (như cảm biến nhiệt độ, cảm biến ánh sáng hoặc do cử chỉ), các bộ điều khiển hoặc máy chủ và các thiết bị chấp hành khác. Nhờ hệ thống cảm biến, các bộ điều khiển và máy chủ có thể theo dõi các trạng thái bên trong ngồi nhà để đưa ra các quyết định điều khiển Page 13 ĐỒ ÁN TỐT NGHIỆP các thiết bị chấp hành một cách phù hợp nhằm đảm bảo môi trường sống tốt nhất cho con người. Các thành phần cơ bản của hệ thống nhà thông minh 2.
Hệ thống giám sát dùng cảm biến nhiệt độ, độ ẩm DHT11 Hệ thống giám sát là tập hợp các thiết bị quản lí gồm các sensor và camera đưa thông tin về cho Cloud- nơi lưu trữ các thông số của nhiệt độ, độ ẩm, ánh sáng, mưa, gió…. Từ đó, người dùng có thể thấy được trực quan hơn về điều kiện địa điểm cần theo dõi một cách cụ thể. Cảm biến nhiệt độ và độ ẩm DHT11 là cảm biến rất thông dụng hiện nay vì chi phí rẻ và lấy dữ liệu dễ dàng thông qua giao tiếp 1 wire (giao tiếp digital 1 dây truyền Page 14 ĐỒ ÁN TỐT NGHIỆP dữ liệu duy nhất). Bộ tiền xử lý tín hiệu tích hợp trong cảm biến giúp có được dữ liệu chính xác mà không phải qua bất kỳ tính toán nào.
Cảm biến nhiệt độ, độ ẩm DHT11 Thông số kỹ thuật: Điện áp hoạt động: 3-5.5V DC Ngưỡng độ ẩm: 20 - 90% Sai số độ ẩm: ± 5% Ngưỡng nhiệt độ: 0 - 55oC Sai số nhiệt độ: ± 2oC Nguyên lý hoạt động: để giao tiếp được với DHT11 cần thực hiện theo hai bước: Bước 1: Gửi tín hiệu Start o MCU thiết lập chân DATA là output, kéo chân DATA xuống 0 trong khoảng thời gian > 18ms, khi đó DHT11 sẽ hiểu MCU muốn đo giá trị nhiệt độ và độ ẩm o MCU đưa chân DATA lên 1, sau đó thiết lập lại là chân đầu vào o Sau khoảng 20-40us, DHT11 sẽ kéo chân DATA xuống mức thấp. Nếu t > 40ms mà không kéo được xuống thấp nghĩa là không giao tiếp được với DHT11. o Chân DATA sẽ ở mức thấp trong 80us sau đó nó lại được kéo lên mức cao trong 80us. Quá trình giao tiếp với DHT11 hoàn tất.
Bước 2: Đọc giá trị trên DHT11: giá trị gồm 5 byte dữ liệu Page 15 ĐỒ ÁN TỐT NGHIỆP o Byte 1: giá trị phần nguyên của độ ẩm (%) o Byte 2: giá trị phần thập phân của độ ẩm (%) o Byte 3: giá trị phần nguyên của nhiệt độ (oC) o Byte 4: giá trị phần thập phân của nhiệt độ (oC) o Byte 5: kiểm tra tổng (Nếu Byte 5 = Byte 1 + Byte 2 + Byte 3 + Byte4) thì giá trị đo được là chính xác.1 Cảm biến nhiệt độ, độ ẩm DHT11 2.3 Hệ thống điều khiển Tích hợp mạch điện tử với MCU là Esp8266 để thực hiện các công viêc cần làm.1 Giới thiệu Esp8266 là một wifi SOC được phát triển bởi công ty Trung Quốc Espressif Systems. Esp8266 được tích hợp đầy đủ các tính năng về internet với kích thước rất nhỏ gọn với mức giá rất rẻ. Bên trong Esp8266 có sẵn một lõi vi xử lý nên có thể trực tiếp lập trình cho nó mà không cần bất kỳ một con vi xử lý nào nữa. Module wifi Esp8266 2.2 Thông số kỹ thuật 32-bit RISC CPU: Tensilica LX106 hoạt động với 80MHz Chip nạp CP2102 64 Kb instruction RAM, 96 Kb data RAM QSPI flash ngoài: 512 Kb IEEE 802.4 GHz, hỗ trợ WPA/WPA2 Page 16 ĐỒ ÁN TỐT NGHIỆP 16 chân GPIO Hỗ trợ SPI, I2C, I2S, UART, ADC Chuẩn điện áp hoạt động: 3.3V DC Dải nhiệt độ hoạt động: -40 oC - 125 oC Sơ đồ chân: Hình 2.
Sơ đồ chân của Esp8266 2.3 Giao tiếp với Esp8266 Để giao tiếp giữa máy tính với Esp8266 cần chuẩn bị: Esp8266 USB – UART PL2303 Arduino IDE Nối dây: Bảng 2. Sơ đồ nối chân giữa Esp8266 và PL2303 Page 17 ĐỒ ÁN TỐT NGHIỆP PL2303 ESP8266 RX TX TX RX 3.3V VCC và CH_PD GND GND Sử dụng tập lệnh AT. Mở Serial trên Arduino IDE lên và chọn tốc độ Baud phù hợp. Một vài lệnh AT cơ bản và quan trọng: Bảng 2.
Một số lệnh AT cơ bản của Esp8266 Cú pháp Mục đích Ghi chú Kiểm tra lệnh, luôn trả về AT “OK” AT+RST Reset module AT+GMR Truy vấn phiên bản firmware 1 – station, 2 – access AT+CWMODE=<mode> Cài đặt chế độ point, 3 – both 0 – 1 kênh, 1 – nhiều AT+CIPMUX Cài đặt số lượng kết nối kênh AT+CWJAP=<ssid>,<pas AT+CWJAP=”bkfet”,” Kết nối tới một mạng wifi sword> 12345678” Chan: channel Enc: encryption (0- AT+CWSAP=<ssid>,<pa Cài đặt các thông số cho Open, 1-WEP,2- ssword>,<chan>,<enc> Access Point WPA_PSK,3- WPA2_PSK, 4- WPA_WPA2_PSK) AT+CIFSR Xem địa chỉ IP của module Đóng kết nối tới một Access AT+CWQAP Point Ngoài những lệnh AT cơ bản này ra còn rất nhiều lệnh AT khác. Với việc sử dụng tập lệnh AT, ta có thể dễ dàng tương tác với Esp8266. Page 18 ĐỒ ÁN TỐT NGHIỆP 2.3 Bộ giao thức truyền thông TCP/IP 2.1 Giới thiệu về TCP/IP Bộ giao thức TCP/IP được phát triển từ mạng ARPANET và Internet và được dùng như giao thức mạng và vận chuyển trên mạng Internet. TCP là giao thức thuộc tầng vận chuyển và IP là giao thức thuộc tầng mạng của mô hình OSI.
Giao thức TCP: Là giao thức hướng kết nối nghĩa là khi muốn truyền dữ liệu thì phải thiết lập kết nối trước. Hỗ trợ cơ chế full-duplex ( truyền và nhận dữ liệu cùng một lúc) Cung cấp cơ chế báo nhận: khi A gửi dữ liệu cho B, B nhận được thì gửi gói tin cho A xác nhận là đã nhận. Nếu không nhận được tin xác nhận thì A sẽ gửi cho đến khi B báo nhận thì thôi. Phục hồi dữ liệu bị mất trên đường truyền (A gửi B mà không thấy xác nhận sẽ gửi lại).
Là giao thức với độ tin cậy cao nên TCP Header rất phức tạp. Cấu trúc gói tin TCP Header 32 bit sequence number: dùng để đánh số thứ tự gói tin (từ số sequence nó sẽ tính ra được số byte đã được truyền). Page 19 ĐỒ ÁN TỐT NGHIỆP 32 bit acknowledgement number: dùng để báo nó đã nhận được gói tin nào và nó mong nhận được byte mang số thứ tự nào tiếp theo. 4 bit header length: cho biết toàn bộ header dài bao nhiêu Word(1 Word = 4 byte).
Giao thức IP: Là một giao thức kiểu không liên kết có nghĩa là không cần có giai đoạn thiết lập liên kết trước khi truyền dữ liệu. Mỗi giao diện trong 1 máy có hỗ trợ giao thức IP đều phải được gán 1 địa chỉ IP. Địa chỉ IP gồm hai phần: địa chỉ mạng và địa chỉ máy. Người ta phân địa chỉ IP ra thành 5 lớp: A,B,C,D,E trong đó lớp A,B,C chứa địa chỉ có thể gán được, lớp D dành riêng cho lớp kỹ thuật multicasting, lớp E được dành những ứng dụng trong tương lai.
Xét cấu trúc của các lớp địa chỉ có thể gán được là lớp A, lớp B, lớp C Bảng 2. Địa chỉ lớp A Netid Host 0xxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx Bảng 2. Địa chỉ lớp B Netid Host 10xxxxxx xxxxxxxx xxxxxxxx xxxxxxxx Bảng 2. Địa chỉ lớp C Netid Host 110xxxxx xxxxxxxx xxxxx xxxxxxxx Đơn vị dữ liệu dùng trong IP được gọi là gói tin (datagram), có khuôn dạng như sau: Page 20 ĐỒ ÁN TỐT NGHIỆP Hình 2.
Datagram của IP Trong đó: Version (4 bits): chỉ version hiện hành của giao thức IP hiện được cài đặt, việc có chỉ số version cho phép có các trao đổi giữa các hệ thống sử dụng version cũ và hệ thống sử dụng version mới. Trường này bắt buột phải có vì phần đầu IP có thể có độ dài thay đổi tùy ý. Độ dài tối thiểu là 5 từ (20 bytes), độ dài tối đa là 15 từ hay là 60 bytes.