1. Trang chủ
  2. » Tất cả

Thiết kế hệ điều khiển thống điều khiển thiết bị điện trong nhà thông qua mạng Internet bằng Module WiFi ESP8266

44 17 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết kế hệ điều khiển thống điều khiển thiết bị điện trong nhà thông qua mạng Internet bằng Module WiFi ESP8266
Tác giả Nguyễn Văn Nhật, Nguyễn Thị Nga, Ng Sỹ Tuấn, Lương Văn Cử, Nguyễn Đình Tùng
Người hướng dẫn TS. Bùi Văn Huy
Trường học Trường Đại học Công nghiệp Hà Nội
Chuyên ngành Điều khiển tự động và mạng IoT
Thể loại Đồ án học phần
Năm xuất bản 2017
Thành phố Hà Nội
Định dạng
Số trang 44
Dung lượng 3,02 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Thiết kế hệ điều khiển thống điều khiển thiết bị điện trong nhà thông qua mạng Internet bằng Module WiFi ESP8266, Xây dựng sơ đồ khối và lựa chọn thiết bị, Thiết kế sơ đồ nguyên lý, sơ đồ lắp đặt, Xây dựng thuật toán điều khiển, viết chương trình

Trang 1

BỘ CÔNG THƯƠNG

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập -Tự do - Hạnh phúc

PHIẾU GIAO ĐỒ ÁN MÔN HỌC

Môn học: Đồ án học phần 2 (DSP, BAS)

Nhóm : ………… ……… Lớp : … …

Khoá : …… Khoa : …… Điện……

I NỘI DUNG ĐỀ TÀI:

“Thiết kế hệ điều khiển thống điều khiển thiết bị điện trong nhà thông qua

mạng Internet bằng Module WiFi ESP8266”

II YÊU CẦU

2.1 Xây dựng sơ đồ khối và lựa chọn thiết bị

2.2 Thiết kế sơ đồ nguyên lý, sơ đồ lắp đặt

2.3 Xây dựng thuật toán điều khiển, viết chương trình

3- Kết quả mô phỏng/thực nghiệm

+Về thời gian thực hiện:

Ngày giao đề : 25/8/2017 Ngày hoàn thành : 24/10/2017

Chó ý:

1 Việc chia nhóm theo danh sách đính kèm

2 Ngoài nội dung hướng dẫn trên lớp nếu sinh viên có câu hỏi, thắc mắc trong quá tr×nh

làm bài tập lớn gửi về địa chỉ: huybv.ac@gmail.com

3 Trước khi bảo vệ bài tập lớn sinh viên phải nộp:

- File mềm gồm file trình bày bài tập lớn và file mô phỏng

- Quyển in khổ giấy A4, in hai mặt

Hà nội ngày 25 /08/2017

Trang 2

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

-_-KHOA ĐIỆN-_-

ĐỒ ÁN HỌC PHẦN 2

ĐỀ TÀI: THIẾT KẾ HỆ ĐIỀU KHIỂN THỐNG ĐIỀU KHIỂN THIẾT BỊ ĐIỆN TRONG NHÀ THÔNG QUA MẠNG INTERNET

BẰNG MODULE WIFI ESP8266

Giáo viên hướng dẫn: Bùi Văn Huy

Sinh viên thực hiện: Nguyễn Văn Nhật

Nguyễn Thị Nga Nguyễn Sỹ Tuấn Lương Văn Cử Nguyễn Đình Tùng

Hà Nội – 2017

Trang 3

Mục lục

Contents

CHƯƠNG 1:TỔNG QUAN VỀ HỆ THỐNG ĐIỀU KHIỂN 5

1.1 Khảo sát hệ thống trong thực tiễn 5

1.2 Tìm hiểu một số cấu trúc điều khiển cơ bản 6

1.2.1 Điều khiển thiết bị thông qua mạng Internet 6

1.2.2 Điều khiển thiết bị thông qua module sim 7

1.2.3 Điều khiển thiết bị bằng Bluetooth thông qua Smatphone 7

1.3 Lựa chọn cấu trúc điều khiển 8

CHƯƠNG 2:PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 9

2.1 Xây dựng sơ đồ khối và lựa chọn thiết bị 9

2.1.1 Xây dựng sơ đồ khối 9

2.1.2 Lựa chọn thiết bị 10

2.1.2.1.Arduino………9

2.1.2.1 ESP8266……… 12

2.1.2.2 Cảm biến nhiêt đô, độ ẩm……….16

2.1.2.3 Cảm biến cường độ sáng……… 22

2.2 Giao tiếp giữa Arduino và Module ESP8266 Node MCU 28

2.2.1 Tìm hiểu về UART 28

2.2.2 Giao tiếp UART giữa Arduino và ESP8266 31

2.3 Xây dựng giao diện web điều khiển trên Esp8266 32

2.3.1 Tìm hiểu về HTML/CSS 32

2.4 Xây dựng mạch phần cứng 34

2.4.1 Sơ đồ nguyên lý 34

2.4.2 Sơ đồ lắp đặt 35

CHƯƠNG 3:XÂY DỰNG THUẬT TOÁN ĐIỀU KHIỂN VÀ VIẾT CHƯƠNG TRÌNH ……… 36

3.1 Thuật toán điều khiển 36

3.2 Chương trình 36

3.3 Code Arduino 36

3.4 Code ESP8266 38

CHƯƠNG 4:KẾT QUẢ MÔ PHỎNG VÀ THỰC NGHIỆM 43

Trang 4

4.1 Kết quả 43 4.2 Thực nghiệm 43 4.3 Giao diện điều khiển trên Smartphone 44

Trang 5

CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG ĐIỀU KHIỂN

1.1 Khảo sát hệ thống trong thực tiễn

- Công nghệ kĩ thuật ngày càng phát triển kéo theo việc ứng dụng chúng vào trong thực tiễn cuộc sống Nhiệt độ, ánh sáng luôn là những nhân tố quan trọng trong môi trường hoạt động, làm việc của còn người Do đó, việc ứng dụng để xây dựng một hệ thống điều khiển, giám sát nhiệt độ, ánh sáng ( hay cụ thể hơn là cường độ ánh sáng ) là điều cần thiết

- Đối với sản xuất cũng vậy, những nhân tố này có vai trò đặc biệt quan trọng thậm chí không thể thiếu đối với nhiều ngành công nghiệp: cơ khí chính xác, điện tử,…Các ngành công nghiệp nhẹ: dệt may, thuốc lá, giấy,…để đảm bảo chất lượng cao cho sản phẩm hoặc đảm bảo máy móc, thiết bị làm việc bình thường

- Tính cấp thiết phải tạo ra hệ thống điều khiển điều hòa:

Trên thế giới, hệ thống quản lý năng lượng tiêu thụ trong toà nhà và các cơ

sở công nghiệp đã được nghiên cứu và phát triển phục vụ cho việc vận hành phù hợp, tiết kiệm năng lượng Dữ liệu vận hành, nhu cầu sử dụng theo thời gian được thu thập và phân tích để từ đó đưa ra quyết định tắt bật các thiết bị sử dụng năng lượng một cách hợp lý Đối với quá trình xây dựng phụ tải thông minh nói riêng và quản lý nhu cầu điện năng nói chung, hệ thống quản lý năng lượng còn tương tác với thị trường điện để không những đảm bảo vận hành tối ưu, mà còn đề xuất thời điểm, thời gian sử dụng để mua điện với giá thành rẻ

Đối với các cơ quan hành chính sự nghiệp trên thế giới nói chung, và đặc biệt là ở các quốc gia đang phát triển thì việc sử dụng điện tiết kiệm, hiệu quả và bền vững luôn được coi là trọng tâm cho sự phát triển Và đương nhiên hệ thống điều hòa cũng nằm trong yêu cầu cũng như mục tiêu về quản lý tiết kiệm năng lượng này

Như trên ta có thể thấy rằng việc xây dựng một hệ thống nhiệt độ, ánh sáng trong tòa nhà lớn sẽ có công suất rất lớn, do đó mà yêu cầu tiêu thụ năng lượng cùng với đó cũng lớn Thực tế cho thấy rằng chi phí đầu tư cho thực hiện tiết kiệm điện năng luôn rẻ hơn so với phương án đầu tư vào hệ thống cung cấp điện mới,

mà ở đây là hệ thống điều hòa Các thiết bị sử dụng công nghệ tiết kiệm điện năng ngày càng có xu hướng rẻ đi trong khi giá thành điện năng lại có chiều hướng ngược lại Điều đó mang lại ưu thế lớn cho các thiết bị tiết kiệm năng lượng ở thời điểm hiện tại và trong tương lai

Do đó nếu xây dựng được hệ thống điều khiển nhiệt độ, cường độ sáng sẽ có

ý nghĩa rất lớn Nó sẽ giúp giảm nhu cầu về tài chính lên chính cơ quan quản lý tòa nhà, nhất là các cơ quan lớn như trường Đại học, các khu chung cư cao tầng,…ngoài ra nếu như có thể áp dụng trên một phạm vi rộng, phổ biến hơn thì còn mang ý nghĩ rất lớn đối với vấn đề năng lượng khu vực cũng như quốc gia

Hơn nữa, khi thiết bị được sử dụng đồng bộ và hiệu quả hơn cũng giúp nâng cao tuổi thọ hệ thống Đó là khi hệ thống không cần phải luôn luôn trong trạng thái làm việc tối đa công suất mà sẽ tùy theo yêu cầu sử dụng, động nghĩa với việc hệ

Trang 6

thống sẽ ít khả năng xảy ra quá tải, có thời gian nghỉ ngơi, chạy đúng công suất cho phép Đồng thời là dễ dàng vận hành, sửa chữa, bảo dưỡng hơn so với từng thiết bị riêng lẻ rất nhiều

Tuy nhiên, vấn đề thiết kế hệ thống quản lý năng lượng cần phải tính đến sự tương tác giữa các thiết bị sử dụng năng lượng điện (điều hoà trung tâm, thông gió

cơ học…) đối với các vấn đề tiện về nghi người dùng (nhiệt, độ ẩm, tốc độ gió…),

có xét đến ảnh hưởng của điều kiện thời tiết bên ngoài Hiện nay, các hệ thống quản lý năng lượng ra đời chủ yếu phục vụ mục tiêu giám sát và quản lý hệ thống thiết bị được cung cấp bởi hãng sản xuất thiết bị đó, trong khi đó thiếu tính kết nối đồng bộ với một số thiết bị sử dụng năng lượng do hãng khác nhau sản xuất dẫn đến khó khăn trong việc vận hành tiết kiệm và tối ưu toàn bộ hệ thống năng lượng Chính vì vậy, xu hướng nghiên cứu hiện nay là thiết kế hệ thống với chuẩn giao tiếp mở hướng tới kết nối ổn định, không giới hạn các thiết bị sử dụng năng lượng

1.2 Tìm hiểu một số cấu trúc điều khiển cơ bản

Từ những ý nghĩa to lớn mà hệ thống có thể mang lại, chúng ta cần tiến hành xây dựng, thiết kế hệ thống

1.2.1 Điều khiển thiết bị thông qua mạng Internet

Như chúng ta đã biết thì gần như các thiết bị trong đời sống của các gia đình ngày nay đều hoạt động độc lập với nhau, mỗi thiết bị cố một quy trình sử dụng khác nhau tùy thuộc vào sự thiết lập, cài đặt của người sử dụng Chúng chưa có một sự liên kết nào về mặt dữ liệu Do đó, cần có phương thức nào đó để kết nối chúng lại với nhau, và phương thức qua mạng Internet là một phương thức rất phổ biết

Hình 1 Module Internet ESP8266

Điển hình của một hệ thống điều khiển thiết bị trong nhà từ xa thông qua mạng Internet gồm có các thiết bị đơn giản như bóng đèn, quạt máy, lò sưởi đến các thiết bị tinh vi, phức tạp như tivi, máy giặt, hệ thống báo động … Nó hoạt động như một ngôi nhà thông minh Nghĩa là tất cả các thiết bị này có thể giao tiếp với nhau về mặt dữ liệu thông qua một đầu não trung tâm Đầu não trung tâm ở đây có thể là một máy vi tính hoàn chỉnh hoặc có thể là một bộ xử lí đã được lập trình sẵn tất cả các chương trình điều khiển Bình thường, các thiết bị trong ngồi nhà này có

Trang 7

việc tắt quạt, đèn điện … khi người chủ nhà quên chưa tắt trước khi ra khỏi nhà Hay chỉ với một thao tác kích, người chủ nhà có thể bật máy điều hòa để làm mát phòng trước khi về nhà trong một khoảng thời gian nhất định Bên cạnh đó nó cũng gửi thông báo cho người điều khiển biết nhiệt độ trong phòng hiện tại là bao nhiêu, đồng thời phát tín hiệu cảnh báo khi nhiệt độ phòng vượt quá giới hạn cho phép

1.2.2 Điều khiển thiết bị thông qua module sim

Những dự án xây dựng các hệ thống điều khiển từ xa, gửi nhận dữ liệu thu thập từ các cảm biến ở những nơi không có internet thì sử dụng sóng điện thoại

là giải pháp duy nhất vì chi phí rẻ, bất chấp khoảng cách và độ ổn định cao Với Modul sim 900A ( hay 800A ) kết hợp với mạch xử lý arduino uno hoặc mega các bạn có thể làm được nhiều hệ thống tương đối tốt có thể ứng dụng vào thực tế như

bộ định vị, các hệ thống điều khiển thiết bị từ xa qua điện thoại, sms makerting,

Hình 2 Module sim 900A

1.2.3 Điều khiển thiết bị bằng Bluetooth thông qua Smatphone

Hiện nay điện thoại thông minh ngày càng phổ biến, hệ điều hành Android được xây dựng và phát triển liên tục với các chia sẻ về mã nguồn mở, việc sử dụng Smatphone để điều khiển thông minh qua các thiết bị đang là một xu hướng Bluetooth là một trong những công nghệ đã được phát triển từ lâu và luôn được cải tiến để nâng cao tốc độ cũng như khả năng bảo mật

Việc ứng dụng công nghệ Bluetooth phổ biến trên nhiều thiết bị, có thể điều khiển qua hệ điều hành Android giúp tận dụng những thiết bị sử dụng hệ điều hành Android có sẵn của người dùng giúp tiện lợi hơn cũng như là giảm giá thành sản phẩm

Hình 3 Sơ đồ khối việc điều khiển thiết bị qua Bluetooth và Android

Trang 8

Phương thức này cũng dễ dàng sử dụng với vi điều khiển Arduino và module bluetooth HC05

Hình 4 Module bluetooth HC05

Module bluetooth HC05 master / slave dùng để thiết lập kết nối Serial giữa 2 thiết

bị bằng sóng bluetooth Điểm đặc biệt của module bluetooth HC-05 là module có thể hoạt động được ở 2 chế độ: MASTER hoặc SLAVE Trong khi đó, bluetooth module HC-06 chỉ hoạt động ở chế độ SLAVE

+ Ở chê độ SLAVE: bạn cần thiết lập kết nối từ smartphone, laptop, usb bluetooth

để dò tìm module sau đó pair với mã PIN là 1234 Sau khi pair thành công, bạn đã

có 1 cổng serial từ xa hoạt động ở baud rate 9600

+ Ở chế độ MASTER: module sẽ tự động dò tìm thiết bị bluetooth khác (1 module bluetooth HC-06, usb bluetooth, bluetooth của laptop ) và tiến hành pair chủ động

mà không cần thiết lập gì từ máy tính hoặc smartphone

1.3 Lựa chọn cấu trúc điều khiển

Từ những cấu trúc điều khiển trên nhóm chúng em đã quyết địn lụa chọn phương án điều khiển các thiết bị thông qua Wifi sử dụng module ESP8266 Đối với phương án này các thiết bị sẽ được kết nối với Internet và chúng ta điều khiển chúng thông qua các thiết bị có thể truy cập được Internet như sử dụng smartphone, laptop, ipad…

Trang 9

CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

2.1 Xây dựng sơ đồ khối và lựa chọn thiết bị

2.1.1 Xây dựng sơ đồ khối

Hình 5: Sơ đồ khối các thành phần trong hệ thống

• Các thành phần trong hệ thống:

- Socket Server nằm ở tầng cao nhất gọi là tầng Server

- ESP8266 và Trình duyệt Web nằm ở tầng thứ 2 gọi là Client

- Arduino ở tầng thứ 3 gọi là Application

- Các thiết bị điện và cảm biến ở tầng cuối cùng

• Nhiệm vụ từng khối trong hệ thống:

- Xây dựng một Socket Server cà cài đặt ESP8266 trở thành một Socket Client ở tại một địa điểm trong nhà và từ đó, chúng ta xây dựng nên hệ thống IOT

- Các tín hiệu từ cảm biến nhiệt độ, cường độ sáng được đo bởi Arduino và gửi dữ liệu tới module ESP8266

- Khối ESP8266 làm nhiệm vụ đọc dữ liệu từ Arduino và gửi lên trên Socket Server, hay chính là trên Web Web này được truy cập bằng trình duyệt trên máy tính hoặc điện thoại, và người dùng có thể được cập nhật các thông số như nhiệt

độ, cường độ sáng trong phòng trên Web và từ đó đưa ra quyết định điều khiển các thiết bị điện trong phòng như bóng đèn, quạt để phù hợp với nhu cầu sử dụng

Trang 10

- Nếu như có tín hiệu điều khiển được người sử dụng điều chỉnh trên Web, tín hiệu này sẽ được ESP8266 cập nhật về và gửi tới Arduino để điều khiển

- Cuối cùng, Arduino sẽ có nhiệm vụ đóng, cắt các thiết bị tùy theo yêu cầu của người sử dụng

- Đại diện cho Arduino ban đầu la chip AVR, nhưng sau nay co rất nhiều nha sản xuất sử dụng các chip khác nhau như ARM, PIC, STM32 gần đây nhất

là ESP8266, ESP32, và RISCV với năng lực phần cứng và phần mềm đi

kèm mạnh mẽ hơn nhiều

- Arduino che dấu đi sự phức tạp của điện tử bằng các khái niệm đơn giản, che đi sự phức tạp của phần mềm bằng các thủ tục ngắn gọn Việc setup output cho 1 MCU bằng cách setup thanh ghi rõ ràng phức tạp đến độ người chuyên cũng phải lật datasheet ra xem, nhưng với Arduino thì chỉ cần gọi 1 hàm

- Bởi vì tinh phổ biến và dễ dùng, với các thư viện được tích hợp sẵn Bạn chỉ cần quan tam đến tính năng sản phẩm mà bỏ qua cac tiểu tiết (protocol, datasheet …) Nên giúp các newbie không chuyên dễ dàng tiếp cận và làm

ra các sản phẩm tuyệt vời mà không cần phải biết nhiều về điện tử

- Chinh vì không quan tâm nhiều đến cách thức hoạt động của các Module đi kèm, nên đa phần người dùng sẽ khó xử lý được khi có các vấn đề phat sinh ngoài tầm của thư viện

- Các module prototype làm sẵn cho Arduino có độ bền không cao, mục tiêu đơn giản hóa quá trình làm sản phẩm

- Thiết kế IDE tốt, có thể dễ dàng tích hợp nhiều loại compiler, nhiều loại hardware mà không hề giảm hiệu năng Vi dụ: Arduino gốc cho AVR, nhưng có nhiều phiên bản cho STM32, PIC32, ESP8266, ESP32… tận dụng tối đa các thư viện sẵn có

- Các thư viện được viết dựa trên lớp API trên cùng, nên đa số cac thư viện cho Arduino co thể dùng được cho tất cả các chip Điển hình là Arduino cho ESP8266 có thể tận dụng trên 90% cac thư viện cho Arduino khác

Trang 11

- Trình biên dịch cho Arudino là C/C++, bạn có biết là khi biên dịch ESP8266 non-os SDK và ESP8266 Arduino cũng dùng chung trinh biên dịch? Vậy thì hiệu năng không hề thua kém

- Cách tổ chức các thư viện C/C++ theo dạng OOP giúp phân lớp, kế thừa và quản lý cực kỳ tốt cho cac ứng dụng lớn Cac MCU ngày càng mạnh mẽ và ứng dụng cho nó sẽ ngày càng lớn

- Cac mô hinh quản lý code đơn giản trước đây (thuần C) sẽ khó

- Các project cho Arduino đều opensource, bạn dễ dàng lấy nó và đưa vào sản phẩm production với chất lượng tốt và học hỏi được nhiều từ cách thức thiết

kế chương trình của các bậc thầy

- Arduino chú trọng tinh đa nền tảng, module hóa cao, phù hợp với các ứng dụng từ phức tạp tới cực kỳ phức tạp Các ứng dụng kiểu này rất phổ biến trong thực tế Nếu bạn không dùng C++hoặc arduino mà gặp vấn đề về overcontrol thì nên thử qua Arduino

- Bạn sẽ tiết kiệm được rất rất nhiều thời gian cho việc tập trung vào tính năng sản phẩm đấy

Thời buổi nay, thời gian la tiền va co qua nhiều thứ để học, lam thi nen ưu tien đung chỗ

• Giới thiệu về board mạch Arduino UNO R3

Aruino có rất nhiều phiên bản thích hợp cho mọi người dùng và độ phức tạp

của các dự án từ những board cơ bản như UNO, Nano đến những board phức tạp

và mạnh mẽ như MEGA Sau đây em xin giớ thiệu về board Arduino Uno

Arduino UNO có ba phiên bản với các chip điều khiển khác nhau từ những chíp trung bình đến những chip mạnh mẽ

Arduino phiên bản đầu tiên sử dụng chip ATMEGA8, phiên bản tiếp theo sử dụng chip ATMEGA168 và phiên bản mới nhất của board UNO sử dụng chip ATMEGA328P Bảng sau đây trình bày các thông số kỹ thuật của board UNO R3 chạy chip ATMEGA328P

Điện áp hoạt động của chip 5V

Điện áp cấp cho bo mạch thông qua

Trang 12

Đòng điện tối đa chân digital 50mA

Bảng 1: Thông số kỹ thuật của Arduino Uno R3

- Sơ đồ chân của Arduino Uno R3 và các khối chính trong board

Hình 6: Sơ đồ các chân kết nối của Arduino Uno R3

Trang 13

Hình 7: Sơ đồ các khối chức năng của board Arduino Uno R3

2.1.2.2 Giới thiệu về ESP8266

- ESP8266 la dong chip tich hợp Wi-Fi 2.4Ghz co thể lập trinh được, rẻ tiền được sản xuất bởi một công ty ban dẫn Trung Quốc: Espressif Systems

- Được phat hanh đầu tien vao thang 8 năm 2014, đóng gói đưa ra thị trường dạng Module ESP-01, được sản xuất bởi ben thứ 3: AI-Thinker Co khả năng kết nối Internet qua mạng Wi-Fi một cach nhanh chóng và sử dụng rất it linh kiện đi kèmm Với giá cả co thể noi la rất rẻ so với tính năng và khả năng ESP8266 có thể lam được

- ESP8266 có một cộng đồng các nhà phát triển trên thế giới rất lớn, cung cấp nhiều Module lập trinh mã nguồn mở giúp nhiều người có thể tiếp cận và xây dựng ứng dụng rất nhanh

- Hiện nay tất cả cac dòng chip ESP8266 trên thị trường đều mang nhãn ESP8266EX, la phiên bản nâng cấp của ESP8266

• Thông số kỹ thuật:

- 32-bit RISC CPU : Tensilica Xtensa LX106 chạy ở xung nhịp 80 MHz

- Hổ trợ Flash ngoai từ 512KB đến 4MB

- 64KBytes RAM thực thi lệnh

- 96KBytes RAM dữ liệu

- 64KBytes boot ROM

- Chuẩn wifi EEE 802.11 b/g/n, Wi-Fi 2.4 GHz

- Tich hợp TR switch, balun, LNA, khuếch đại cong suất va matching network

- Hổ trợ WEP, WPA/WPA2, Open network

- Tich hợp giao thức TCP/IP

- Hổ trợ nhiều loại anten

Trang 14

• Sơ đồ chân:

Hinh 8: Sơ đồ chân ESP8266EX

Trang 15

Hình 9: PinMap của Module ESP8266 Node MCU

• SDK hỗ trợ chinh thức từ hang

Trang 16

Espressif hiện đã hỗ trợ 3 nền tảng SDK (Software Development Kit - Gói phat

triển phần mềm) độc lập, là: NONOS SDK, RTOS SDK va Arduino Cả 3 đều có

những ưu điểm riêng phu hợp với từng ứng dụng nhất định, va sử dụng chung

nhiều các hàm điều khiển phần cứng Hiện nay Arduino đang được sử dụng rộng

rai bởi tính dễ sử dụng, kiến trúc phần mềm tốt và tận dụng được nhiều thư viện cộng đồng

• ESP8266 NONOS SDK

Hiện nay, NONOS SDK phiên bản từ 2.0.0 trở lên đã ổn định va cung cấp gần như

la đầy đủ tất cả cac tinh năng mà ESP8266 co thể thực hiện:

- Cac API cho Timer, System, Wifi, đọc ghi SPI Flash, Sleep va cac Module phần cứng: GPIO, SPI, I²C,PWM, I²S với DMA

- Smartconfig: Hỗ trợ cấu hinh thong số Wi-Fi cho ESP8266 nhanh chong

- Sniffer API: Bắt cac gói tin trong mạng không dây 2.4Ghz

- SNTP API: Đồng bộ thời gian với Máy chủ thời gian

- WPA2 Enterprise API: Cung cấp việc quản l kết nối Wi-Fi bằng tai khoản

sử dụng cac may chủ RADIUS

- TCP/UDP API: Cho kết nối internet va hỗ trợ cac Module dựa trên các giao

thức như: HTTP, MQTT,CoAP

- mDNS API: Giup tim ra IP của thiết bị trong mạng nội bộ bằng tên (hostname)

- MESH API: Liên kết các module ESP8266 với cấu trúc mạng MESH

- FOTA API: Firmware Over The Air - cập nhật firmware từ xa cho thiết bị

- ESP-Now API: Sử dụng các gói tin Wireless 2.4GHz trao đổi trực tiếp với

ESP8266 khac ma không cần kết nối tới Access Point

- Simple Pair API: Thiết lập kết nối bảo mật giữa 2 thiết bị tự động

• Module va Board mạch phat triển

- ESP8266 cần it nhất them 7 linh kiện nữa mới co thể hoạt động, trong đo phần kho nhất làAntena

- Đòi hỏi phải được sản xuất, kiểm tra với cac thiết bị hiện đại Do đ0s, tren thị trường xuất hiện nhiều Module va Board mạch phat triển đảm đương hết

để người dung đơn giản nhất trong việc phát triển ứng dụng

Trang 17

Một số Module ESP8266 trên thị trường

Bảng 2: Một số Board ESP8266 thông dụng

2.1.2.3 Cảm biến nhiệt độ, độ ẩm

• Giới thiệu về chuẩn giao tiếp 1 sợi(one wire)

Chuẩn giao tiếp 1 dây (1 wire) do hãng Dallas giới thiệu Trong chuẩn giao tiếp này chỉ cần 1 dây để truyền tín hiệu và làm nguồn nuôi (Nếu không tín dây mass) Là chuẩn giao tiếp không đồng bộ và bán song công (half-duplex) Trong giao tiếp này tuân theo mối liên hệ chủ tớ một cách chặt chẽ Trên một bus có thể gắn 1 hoặc nhiều thiết bị slave Nhưng chỉ có một master có thể kết nối đến bus này

Bus dữ liệu khi ở trạng thái rãnh (khi không có dữ liệu trên đường truyền) phải ở mức cao do vậy bus dữ liệu phải được kéo lên nguồn thông qua một điện trở Giá trị điện trở này có thể tham khảo trong datasheet của thiết bị / các thiết bị slave

Các thiết bị tớ (slave) kết nối với cùng một bus được phân biệt với nhau nhờ

64 bit địa chỉ duy nhất (64-bit serial number) 8 byte (64 bit) này và được chia làm

ba phần chính:

Trang 18

Bắt đầu với LSB, là byte đầu tiên là mã họ thiết bị có độ lớn 8 bit (8-bit family codes) xác định kiểu thiết bị 6 byte tiếp theo lưu trữ địa chỉ riêng của thiết

bị Byte cuối cùng (MSB) là byte kiểm tra tính toàn vẹn dữ liệu cyclic redundancy check (CRC) có giá trị tương ứng với giá trị của 7 byte đầu tiên Nhờ byte CRC giúp cho master xác định có địa chỉ được đọc có bị lỗi hay không Với 224 địa chỉ khác nhau tạo ra một số lượng rất lớn các địa chỉ.Do vậy vấn đề về địa chỉ không phải là vấn đề chính trong chuẩn giao tiếp này

- Cách thức hoạt động

Tín hiệu trên bus 1 wire chia thành các khe thời gian 60 µs 1 bit dữ liệu được truyền trên bus dựa trên khe thời gian (time slots) Các thiết bị slave cho phép có thời gian nền có một chúc khác biệt từ thời gian nền danh nghĩa Tuy nhiên đối với thiết bị master cần có bộ định thời với độ chính xác cao, để đảm bảo giao tiếp đúng với các thiết bị salve có thời gian nền khác biệt Do đó rất quan trọng để tuân theo giới hạn thời gian mô tả trong các phần sau

Bốn thao tác hoạt động cơ bản của bus 1 wire là Reset/Presence, gửi bit 1, gửi bit

0, và đọc bit Thao tác byte như gửi byte và đọc byte dựa trên thao tác từng bít Gửi bit 1 (“Write 1” signal)

Thiết bị master kéo bus xuống mức thấp trong khoảng 1 đến 15µs Sau đó nhả bus

(releases the bus) cho đến hết phần còn lại của khe thời gian

Hình 10: Cách thức gửi bit 1 trong giao tiếp One Wire

Gửi bit 0 ("Write 0" signal)

Kéo bus xuống mức thấp trong ít nhất 60µs, với chiều dài tối đa là 120 µs

Hình 11: Cách thức gửi bit 0 trong giao tiếp One Wire Lưu ý: giữa các lần gửi bit (0 hoặc 1), phải có khoảng thời gian phục hồi bus

Đọc bit:

Trang 19

Thiết bị master kéo bus xuống mức thấp từ 0 -15µs Khi đó thiết bị tớ khi đó sẻ giữ bus ở mức thấp nếu muốn gửi bit 0, Nếu muốn gửi bit 1 đơn giản là nhả bus Bus nên lấy mẫu 15 µs sau khi bus kéo xuống mức thấp.

Hình 11: Cách thức đọc bit trong giao tiếp One Wire

"Reset/Presence":

Tín hiệu reset và Presence(Báo hiện diện) được trình bày như hình bên dưới Thiết

bị master kéo bus xuống thấp ít nhất 8 khe thời gian (tức là 480 µs) và sau đó nhả bus Khoảng thời gian bus ở mức thấp đó gọi là tín hiệu reset Nếu có thiết bị slave gắn trên bus nó sẻ trả lời bằng tín hiệu Presence tức là thiết bị tớ sẻ kéo bus xuống mức thấp trong khoảng thời gian 60µs Nếu không có tín hiệu Presence, thiết bị master sẻ hiểu rằng không có thiết bị slave nào trên bus, và các giao tiếp tiếp theo

Hình 12: Cách thức Reset/Presence trong giao tiếp One Wire

Trong đề tài này chúng em sử dụng cảm biến nhiệt độ, độ ẩm DHT11

Hình 13: Cảm biến nhiệt độ, độ ẩm DHT11

- 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à rất dễ lấy dữ liệu thông qua giao tiếp 1 wire ( giao tiếp digital 1 dây

Trang 20

truyền 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

- Thông tin kỹ thuật:

+ Nguồn: 3 -> 5 VDC

+ Dòng sử dụng: 2,5 mA max( khi truyền dữ liệu)

+ Đo tốt ở độ ẩm 2080%RH với sai số 5%

+ Đo tốt ở nhiệt độ 0 đến 50oC sai số 2oC

+ Tần số lấy mẫu tối đa 1Hz (1 giây 1 lần)

+ Kích thước: 15mm x 12 mm x 5,5 mm

+ 4 chân, khoảng cách chân 0,1”

+ Chuẩn giao tiếp: One wire

- Cách giao tiếp DHT11 với vi điều khiển

+ Sơ đồ kết nối với vi xử lý

Hình 14: Sơ đồ kết nối DHT11 với MCU

+ Nguyên lý hoạt động

Để có thể giao tiếp được với DHT11 theo tiêu chuẩn 1 dây( one wire) thì vi xử

lý phải thực hiện theo hai bước như sau:

- Gửi tín hiệu muốn đo (Start) tới DHT11, sau đó chờ DHT11 xác nhận lại

- Khi đã giao tiếp được với DHT11 Cảm biến sẽ gửi lại 5 byte dữ liệu và nhiệt

độ đo được

➢ Bước 1: Gửi tín hiệu start

Trang 21

Hình 15: Gửi tín hiệu Start giao tiếp với DHT11

❖ Vi xử lý thiết lập chân DATA là Output, kéo chân DATA xuống mức thấp trong khoảng thời gian > 18ms Khi đó DHT11 sẽ hiểu là vi xử lý muốn đọc

dữ liệu nhiệt độ độ ẩm

❖ Sau đó vi xử lý sẽ đưa chân DATA lên mức cao và thiết lập lại là chân đầu vào

❖ Sau khoảng 20 – 40 μs, DHT11 sẽ kéo chân DATA xuống thấp Nếu >40 μs

mà chân DATA không được kéo xuống thấp thì có nghĩa là không giao tiếp được với DHT11

❖ Chân DATA sẽ ở mức thấp 80 μs Bằng việc giám sát chân DATA vi xử lý

có thể biết được là có giao tiếp được với vi xử lý hay không Nếu tín hiệu đo được DHT11 lên cao , khi đó hoàn thiện quá trình giao tiếp với DHT11

➢ Bước 2: Đọc giá trị trên DHT11

o DHT11 sẽ trả dữ liệu nhiệt độ độ ẩm dưới dạng 5 byte Trong đó:

▪ Byte 1: Giá trị phần nguyên của độ ẩm

▪ Byte 2: Giá trị phần thập phân của độ ẩm

▪ Byte 3: Giá trị phần nguyên của nhiệt độ

▪ Byte 4: Giá trị phần thập phân của nhiệt độ

▪ Byte 5: Kiểm tra tổng

o Nếu Byte 5 = (8bit) ( Byte1 + Byte2 + Byte3 + Byte4) thì giá trị đo được là chính xác còn ngược lại thì kết quả đo không có nghĩa

o Đọc dữ liệu

Sau khi giao tiếp được với DHT11, DHT11 sẽ gửi liên tiếp 40 bit 0 hoặc 1 tương ứng với 5 byte kết quả của nhiệt độ độ ẩm

▪ Bit 0

Trang 22

+ Giao tiếp DHT11 với Arduino

Việc giao tiếp cảm biến nhiệt độ độ ẩm với arduino rất dễ dàng chúng ta chỉ cần khai báo loại cảm biến là DHT11 chọn chân cần giao tiếp là chân số

Ngày đăng: 05/01/2023, 21:57

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w