Với thiết bi quan sát điện năng từ xa, chúng ta có thể nhìn thấycác thông số của hệ thống điện như điện áp, dòng điện, tần số, công suất, hệ số côngsuất, của nhà máy hoặc các bộ phận bất
Trang 1BÁO CÁO TIỂU LUẬN MÔN HỌC MÁY TÍNH NHÚNG VÀ ỨNG DỤNG
Đề tài
THIẾT KẾ CÔNG TƠ ĐO LƯỜNG CÔNG SUẤT TIÊU THỤ
•Nhóm Sinh viên thực hiện: Trần Xuân Hảo
Trần Đức Cường Nguyễn Văn Tình Nguyễn Công Tuấn
Đỗ Hải Long
viên Giảng dạy: ThS NGUYỄN THANH TÙNG
Thái Nguyên, tháng 6 năm 2021
Trang 2MỤC LỤC
MỤC LỤC 1
DANH MỤC HÌNH ẢNH 4
LỜI MỞ ĐẦU 6
CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI 7
1.1 Đặt vấn đề 7
1.2 Tầm quan trọng của quản lí và giám sát năng lượng 8
1.3 Giới thiệu một số hệ thống giám sát, quản lí năng lượng từ xa trong thực tế 9
1.3.1 Hệ thống giám sát và quản lý năng lượng từ xa qua sóng vô tuyến RF 9
1.3.2 Hệ thống giám sát và quản lý năng lượng từ xa qua bộ truyền tải tín hiệu thông qua đường dây điện 10
1.4 Mục tiêu, nhiệm vụ 12
1.4.1 Mục Tiêu 12
1.4.2 Nhiệm vụ 12
1.4 Giới hạn 12
1.5 Bố cục báo cáo 13
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 14
2.1 Công nghệ IOT 14
2.3.1 Giao thức kết nối 14
2.3.2 Giao thức truyền tải dữ liệu .15
2.3.3 Firebase 18
2.2 Các chuẩn truyền dữ liệu 21
2.2.1 Giao tiếp I2C 21
2.2.2 Giao tiếp UART 26
2.3 Giới thiệu phân cứng 28
2.3.1 Module NodeMCU ESP8266 wifi v1.0 28
2.3.2 Module PZEM004T 32
2.3.3 Màn hình LCD 20x4 35
2.3.4 Module chuyển đổi giao tiếp I2C 36
Trang 32.4 Giới thiệu phần mềm 38
2.4.1 Phần mềm lập trình Arduino IDE 38
2.4.2 Phần mềm lập trình Android Studio 41
2.4.3 Phần mềm giám sát điện năng trên appBlynk 43
CHƯƠNG 3 PHÂN TÍCH THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG 45 3.1 Giới thiệu 45
3.2 Thiết kế hệ thống 45
3.2.1 Thiết kế sơ đồ khối hệ thống 45
3.2.2 Sơ đồ kết nối toàn mạch 49
3.2.3 Nguyên lý hoạt động 50
3.2.4 Lưu đồ giải thuật 50
3.3 Thi công hệ thống 51
3.3.1 Mô hình thiết bi 51
3.3.2 Danh sách các linh kiện 52
3.3.3 Lắp ráp và kiểm tra 52
3.4 Lập trình phần cứng và phần mềm 55
3.4.1 Chư ơng trình hê thống phần cứng Arduino IDE 55
Hình ảnh phía dưới là một số đoạn chương trình chính của sản phẩm: 55
3.4.2 Chương trình app Android Studio 56
3.4.3 Tạo giao diện để xem các thông số điện năng trên app Blynk 58
3.5 Kết quả, nhận xét 59
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 60
Trang 4DANH MỤC HÌNH ẢNH
Hình 2.1 Giao thức truyền của MQTT 16
Hình 2.2 Mô hình sử dụng giao thức CoAP và HTTP 17
Hình 2.3 ví dụ về XMPP 18
Hình 2.4 Bus I2C và các thiết bị ngoại vi 21
Hình 2.5 Kết nối thiết bị vào bus I2C ở chế độ chuẩn (Standard mode) và chế độ nhanh (Fast mode) 22
Hình 2.6 Quá trình truyền nhận giữa thiết bi chủ (master) và tớ (slave) 23
Hình 2.7 Trình tự truyền bit trên đường truyền 24
Hình 2.8 Điểu kiện để giao tiếp I2C 25
Hình 2.9 Quá trình truyền dữ liệu I2C 26
Hình 2.10 Kết nối UART giữa hai vi điều khiển 27
Hình 2.11 Quá trình truyền dữ liệu UART 27
Hình 2.12 Anh ESP8266-12 thực tế và sơ đồ chân 29
Hình 2.13 Module Node MCU ESP8266 và sơ đồ chân 30
Hình 2.14 Mạch nguyên lý của NodeMCU ESP8266 31
Hình 2.15 Hình ảnh thực tế module PZEM004T 32
Hình 2.16 Sơ đồ kết nối dây của module PZEM004T 33
Hình 2.17 Sơ đồ chân LCD 20x4 36
Hình 2.18 Hình ảnh thực tế module chuyển đổi I2C 37
Hình 2.19 Mạch nguyên lý module chuyển đổi giao tiếp I2C 38
Hình 2.20 Màn hình làm việc của arduino IDE 39
Hình 2.21 Thiết lập đường dẫn cho IDE 39
Hình 2.22 Trình quản lí các thiết bị giao tiếp với IDE 40
Hình 2.23 Tiến hành tải boad ESP8266 về IDE 40
Hình 2.24 Chọn boad để nạp code 41
Hình 2.25 Màn hình làm việc với file Java 42
Hình 2.26 Màn hình làm việc với file Xml 42
Trang 5Hình 2.27 Mô hình hoạt động của Blynk 43
Trang 6Hình 3.1 Sơ đồ khối toàn hê thống 45
Hình 3.2 Hình ảnh thực tế module PZEM004T 46
Hình 3.3 Một số thiết bị ngõ vào 47
Hình 3.4 Khối xử lí trung tâm 47
Hình 3.5 Khối hiển thị 47
Hình 3.6 Khối nguồn 48
Hình 3.7 Khối Sever của firebase 48
Hình 3.8 Mobile app hiển thị dữ liệu theo thời gian thực 49
Hình 3.9 Sơ đồ kết nối toàn mạch 49
Hình 3.10 Lưu đồ toàn hệ thống 50
Hình 3.11 Mô hình thiết bị 52
Hình 3.12 Mặt sau sản phẩm bên trong hộp 53
Hình 3.13 Mặt trước sản phẩm 53
Hình 3.14 Vị trí giắc nguồn 5v và nút bấm reset 54
Hình 3.15 Vị trí giắc cắm nguồn 220v 54
Hình 3.17 Chương trình hiển thị dữ liệu lên LCD 55
Hình 3.18 Gửi dữ liệu lên Blynk 55
Hình 3.19 Gửi dữ liệu lên Firebase 56
Hình 3.20 Code nhận dữ liệu từ firebbase trong java 56
Hình 3.21 Code nhận dữ liệu từ firebbase trong java 57
Hình 3.22 Chương trình giao diện XML 57
Hình 3.23 Kết quả sau khi chạy app trên máy ảo 58
Hình 3.24 Các công cụ và giao diện khi hoàn thành 58
Hình 3.25 Sản phẩm hoàn thiện 59
Hình 3.26 Giao diện theo dõi điện năng qua app blynk và android 59
Trang 7LỜI MỞ ĐẦU
Nhu cầu quản lý, giám sát cũng như kiểm soát việc đo điện năng, các thông số:điện áp, dòng điện, các chỉ tiêu chất lượng điện năng từ xa là rất cần thiết cho cácnhà quản lý, các công ty điện lực và cá nhân Mặc dù đã đạt đến một mức độ thànhcông nhất định, tuy nhiên các hệ thống quản lý và giám sát điện năng hiện nay chiphí rất cao và hạn chế về việc truy cập từ xa Ngoài ra, xu hướng hiện nay là sửdụng các thiết bị thông minh: điện thoại smart phone, máy tính bảng để truy cập
và giám sát từ xa Trong xu thế mới này, hệ thống hỗ trợ việc quản lý, giám sát việc
đo điện năng và các thông số hệ thống điện từ xa bằng Internet là cần thiết để tìm rahướng tiện nghi và kinh tế phục vụ các nhà quản lý, các công ty điện lực
Với mong muốn giải quyết được phần nào những khó khăn và tìm ra một hương
đi mới cho ngành điện Việt Nam, nhóm tác giả đã bắt tay vào nghiên cứu và thựchiện đề tài “Thiết kế công tơ đo lường công suất điện tiêu thụ” Trên cơ sở tìm hiểu
về IoT nhằm giám sát điện năng và các thông số khác của hệ thống điện từ xa quamạng không dây, qua việc truy cập vào trang app, người dùng có thể giám sát từ xa
ở mọi nơi mọi lúc Điểm nổi bật của đề tài này là có thể giám sát điện năng đồngthời hai hay nhiều thiết bi điện thông qua mạng không dây, và kiểm soát thông quaviệc đo, lưu trữ các thông số điện liên tục tại các thời điểm trong ngày
Trang 8CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI
1.1 Đặt vấn đề
Công nghệ Internet of Things (IOT) nói chung và công nghệ cảm biến khôngdây (Wireless Sensor) nói riêng được tích hợp từ các kỹ thuật điện tử, tin học vàviễn thông tiên tiến vào trong mục đích nghiên cứu, giải trí, sản xuất, kinh doanh,v.v , phạm vi này ngày càng được mở rộng, để tạo ra các ứng dụng đáp ứng chocác nhu cầu trên các lĩnh vực khác nhau Hiện nay, mặc dù khái niệm IOT và côngnghệ cảm biến không dây đã trở nên khá quen thuộc và được ứng dụng nhiều trongcác lĩnh vực của đời sống con người, đặc biệt ở các nước phát triển có nền khoa họccông nghệ tiên tiến Tuy nhiên, những công nghệ này chưa được áp dụng một cáchrộng rãi ở nước ta, do những điều kiện về kỹ thuật, kinh tế, nhu cầu sử dụng Song
nó vẫn hứa hẹn là một đích đến tiêu biểu cho các nhà nghiên cứu, cho những mụcđích phát triển đầy tiềm năng
Được sự định hướng và chỉ dẫn của Thạc sĩ Đoàn Ngọc Phương em đã chọn đềtài luận án “Giám sát điện năng qua mạng không dây” Trên cơ sở tìm hiểu về IoTnhằm giám sát điện năng và các thông số khác của hệ thống điện từ xa qua internet,
đó cũng là một nhu cầu có thật và đang tăng cao trong thời gian gần đây Đặc biệt làsau những đợt giá điện tăng, nhiều nhà máy đã tiết kiệm điện năng hiệu quả sau khi
có kết quả theo dõi Với thiết bi quan sát điện năng từ xa, chúng ta có thể nhìn thấycác thông số của hệ thống điện như điện áp, dòng điện, tần số, công suất, hệ số côngsuất, của nhà máy hoặc các bộ phận bất cứ lúc nào mà ta không cần phải có mặt tạinhà máy Chúng ta có thể dùng máy vi tính hoặc thiết bị di động có hỗ trợ duyệtweb là có thể quan sát được các thông số của hệ thống điện nhà máy của mình Hệthống quản lý điện năng giúp nhà quản lý đánh giá sự tiêu thụ điện năng để thựchiện tiết kiệm chi phí và năng lượng
Đề tài đã khảo sát các phương pháp giám sát điện năng điển hình trước đâythông qua internet như dùng module sim kết hợp RS232 qua cổng truyền thôngRS485 theo phương thức truyền thông Modbus RTU [2], tuy nhiên thực tế mạngGSM sẽ gặp phải những khó khăn như việc bị trễ tin nhắn do nghẽn mạng, kẹt mạng
Trang 9hay những nơi có sóng GSM yếu và chỉ giám sát được trên máy tính.Những
phương pháp khác như dùng phần mềm Acuview giám sát điện năng
từ xa, mà không bi hạn chế khoảng cách truyền dữ liệu
1.2 Tầm quan trọng của quản lí và giám sát năng lượng
Quản lý và giám sát năng lượng là chìa khóa để tiết kiêm năng lượng trong các
tổ chức thương mại, công nghiệp và chính phủ trong những năm gần đây đang phảichiụ những áp lực to lớn về kinh tế và môi trường Giám sát và quản lý năng lượnggiúp giảm sự phu thuộc vào nhiên liệu hóa thạch đang ngày càng trở nên cạn kiệt.Khi tiêu thụ nhiều năng lượng, doanh nghiệp cũng như các hô gia đình sẽ phải đốimặt với tình trạng thiếu nguồn cung cấp nghiêm trọng kèm theo nguy cơ tăng giánăng lượng dẫn đến ảnh hưởng tới lợi nhuận của tổ chức, bằng viêc quản lý nănglượng doanh nghiệp và các hô gia đình có thể giảm nguy cơ này bằng cách kiểmsoát nhu cầu năng lượng, tiết kiệm điện trên dây chuyền sản xuất từng bước tănghiệu quả việc đầu tư vào giá thành cho sản phẩm
Lợi ích đem lại khi sử dụng hê thống giám sát và quản lý năng lượng:
- Giảm thời gian chi phí nhân công để ghi lại dữ liệu từ các đồng hồ đo, nhậpvào file excell báo cáo mỗi tháng
- Giảm được sai xót trong quá trình thu thập dữ liệu bằng tay
- Kiểm soát dữ liệu điện năng liên tục 24 giờ tại bất kì trạm làm viêc nào
- Giảm thời gian xử lý sự cố do dữ liêu được thu thập đầy đủ, có ghi lại dạngsóng của nguồn điên khi sự cố xảy ra
Đây là một trong những đề tài đang được tìm hiểu, nghiên cứu rất nhiều để đưa
ra giải pháp giúp ngành điện Việt Nam giải quyết đưuọc những khó khăn nêu trên
Trang 101.3 Giới thiệu một số hệ thống giám sát, quản lí năng lượng từ xa trong thực tế
1.3.1 Hệ thống giám sát và quản lý năng lượng từ xa qua sóng vô tuyến RF
Hệ thống đọc chỉ số công tơ từ xa bằng sóng vô tuyến RF bao gồm các khốichức năng sau:
- Công tơ điện tử có tích hợp tính năng thu phát tín hiệu vô tuyến RF lắp tại các
hộ khách hàng sử dụng điện, có chức năng đo đếm, lưu trữ năng lượng vào bộ nhớkhông dây và truyền về bộ thu thập tín hiệu di động khi nhận được lệnh
- Bộ thu thập tín hiệu di động (Handheld Unit) bao gồm: máy tính cầm tay(Handheld Unit) được tích hợp module thu phát tín hiệu vô tuyến RF bên trong, vớichương trình thu thập số liệu do Công ty tự phát triển Trên máy tính cầm tay sẽgiúp người ghi ra lệnh đọc chỉ số công tơ trong phạm vi phủ sóng dựa vào danhsách và số liệu khách hàng sử dụng điện được tao ra từ cơ sở dữ liệu kinh doanhđiện năng Toàn bộ dữ liệu ghi được sẽ được ghép nối vào cơ sở dữ liệu kinh doanhđiện năng một cách tự động mà không cần phải tốn nhiều thao tác thủ công nhưtrước đây
Giải pháp này có các ưu điểm:
- Không phụ thuộc vào khoảng cách, không phụ thuộc vào vị trí điểm đầu,điểm
cuối khi có sự thay đổi về vị trí lắp đặt công tơ, hay vị trí trung tâm thì không bịthay đổi về thiết bị
- Thiết bị modem gọn nhẹ, thông dụng, dễ dàng lắp kèm với công tơ
- Cước phí tính theo lưu lượng (KB) thấp, rất phù hợp với hệ thống không yêucầu truyền theo thời gian thực
Nhược điểm:
Do sử dụng đường truyền không dây, truyền qua mạng di động, nên tín hiệu cóthể bị ảnh hưởng khi thời tiết xấu, do đó cần cân nhắc chọn dịch vụ của nhà cungcấp mạng có mật độ phủ sóng rộng, chất lượng tín hiệu tốt
Trang 111.3.2 Hệ thống giám sát và quản lý năng lượng từ xa qua bộ truyền tải tín hiệu thông qua đường dây điện.
Hệ thống đo đếm công tơ từ xa truyền qua đường dây điện CollectricTM là hệthống đo lượng điện năng tiêu thu theo thời gian thực Với hệ thống này, không cần
cử nhân viên đi ghi chỉ số công tơ tại các hộ gia đình
Hệ thống Collectric gồm 5 thiết bị cơ bản sau:
• RTU: là thiết bị đầu cuối một chiều được lắp đặt bên trong hoặc bên ngoài các
công tơ ở vị trí thuận tiện RTU sẽ đếm vòng quay của đĩa, biến thành tín hiệu điện,điều chế tín hiệu, truyền số liệu đã thu được và các thông tin khác về thiết bị tâptrung
có chức năng thông tin hai chiều bao gồm lệnh quản lý bảng thời gian sử dụng đểtính các mức giá khác nhau tại thiết bị tâp trung, TRPU còn có thể truyền thông tinsắp xếp theo bảng chữ cái hay chữ số nhận được từ thiết bị tâp trung tới kháchhàng, nó còn có thể lặp tín hiệu như một bộ lặp, nếu có lắp đặt thêm bộ điều khiểntải nó có thể tự động đóng cắt tải theo lệnh từ trung tâm
với một trạm Thiết bị này có thể thu thập và xử lý dữ liệu cho 1250 công tơ Dữliệu từ các thiết bị đầu cuối được tập trung tại bộ trung tâm và được truyền về máytính trung tâm qua các cách khác nhau Thiết bị tập trung cũng có thể truyền lệnhquản lý và các chỉ thị khác tới các thiết bị đầu cuối hai chiều
thiết bị tập trung với máy tính trung tâm, nó nhận dữ liệu từ bộ trung tâm và truyền
về máy tính trung tâm Nó còn được dùng để lập trình cho các thiết bị tâp trung ,RTU, TRPU, và đọc các số liệu từ các thiết bị này để đưa vào máy tính
hệ thống Colletric Nó thu nhận dữ liệu từ các bộ trung tâm để sử dụng cho các mụcđích của ngành điện
Kĩ thuật truyền thông: sử dụng công nghệ PLC truyền thông tin thông qua lướiđiện hạ thế (từ trạm biến áp đến các hộ gia đình) Tại các trạm biến áp (vốn có
Trang 12nhiệm vụ chuyển các dòng điện cao thế thành hạ thế và đưa đến hộ
- Mạng lưới điện có mặt ở hầu khắp mọi nơi
- Mạng điện hạ thế có thể được dùng để thiết lập một cơ sở hạ tầng mạng sẵn cócho hàng triệu khách hàng, doanh nghiệp riêng biệt trên toàn thế giới, có đường dẫntới tận các 0 cắm điện phục vụ cho cả thiết bị gia đình và thiết bị điện công nghiệp
- PLC có thể cung cấp khả năng truy cập tốc độ cao, tốc độ truyền thông đã đạttới hành trăm Mb/s
- Mạng lưới đường dây điện đã được xây dựng nên có lợi thế về chi phí đầu tư
cơ bản, cơ sở hạ tầng đường dây điện đã có sẵn, nên nó có thể cho phép cạnh tranhvới giá rẻ hơn các kỹ thuật truy cập viễn thông nội vùng khác (thường yêu cầu vốnđầu tư cơ bản lớn)
Nhược điểm:
Đường dây truyền tải điện không phải được thiết kế để dành cho truyền dữ liệu,
do đó có rất nhiều vấn đề cần được khắc phục Công suất nhiễu trên đường dây điệnlực là tập hợp tất cả các nguồn nhiễu khác nhau thâm nhập vào đường dây và vàomáy thu Các tải được kết nối vào mạng như ti vi, máy tính, máy hút bụi phátnhiễu và lan truyền qua đường dây điện; các hệ thống truyền thông khác cũng có thểđưa thêm nhiễu vào máy thu Đường dây điện được ra đời phục vụ cho việc truyền
Trang 13năng lượng điện chứ không nhằm mục đích truyền thông tin Khi đưa
truyền trên đó, ta sẽ gặp phải rất nhiều yếu tố gây nhiễu cho tín hiệu
Tuy nhiên, chúng ta đang sống trong thời đại của kỹ thuật số, sự phổ biến củainternet và các thiết bị di động thông minh đã tạo nên khái niệm mới là IoT (Internet
of Things - Internet vạn vật), do đó vấn đề ứng dụng các thành tựu này vào việcgiám sát và điều khiển mọi thứ một cách dễ dàng đã được áp dụng vào thực tế trongcuộc sống
1.4 Mục tiêu, nhiệm vụ
1.4.1 Mục Tiêu
Kết quả cuối cùng của đề tài là xây dựng một hệ thống giám sát điện năng từ xa
đo các thông số về điện năng của nguồn xoay chiều của mạch điện như dòng điện,điện áp, tần số, công suất và năng lượng tiêu thụ của hai hay nhiều thiết bi điện,bằng cách truy cập vào trang web, app blynk và app android người dùng có thểgiám sát từ xa ở mọi nơi mọi lúc
1.4.2 Nhiệm vụ
Quá trình thực hiện đồ án gồm các nhiệm vụ nghiên cứu sau:
- Tìm hiểu và tham khảo các tài liệu, giáo trình, nghiên cứu các chủ đề, các nộidung liên quan đến đề tài
- Lập trình giao tiếp với module PZEM004T để đo các thông số điện năng
- Viết chương trình cho ESP8266 gửi dữ liệu lên Sever
- Kết nối mạch phần cứng giữa PZEM004T, ESP8266, LCD
- Thiết kế và thi công mô hình thiết bi hoàn thiện
- Xây dựng giao diện app blynk và app android giám sát thiết bị
- Chạy thử nghiệm và cân chỉnh hệ thống
- Viết quyển báo cáo đồ án tốt nghiệp
- Báo cáo đồ án tốt nghiệp
1.4 Giới hạn
Với đề tài giám sát điện năng qua mạng không dây thì các giới hạn bao gồm:
• Mô hình thi công có kích thước: 14x14cm
• Số lượng thiết bi giám sát : 1 thiết bi
Trang 14• Thời gian ổn định của thiết bị: sau vài phút hoạt động thiết bi sẽ đo và tínhtoán chính xác hơn.
1.5 Bố cục báo cáo
Với đề tài giám sát điện năng qua mạng không dây thì bố cục đồ án như sau:
❖ Chương 1: Tổng quan đề tài
Chương này trình bày đặt vấn đề dẫn nhập lý do chọn đề tài, giới thiệu một số
hệ thông giám sát và quản lí năng lượng, mục tiêu, nhiệm vụ, nội dung nghiên cứu,các giới hạn thông số và bố cục đồ án
❖ Chương 2: Cơ Sở Lý Thuyết.
Chương này trình bày các lý thuyết có liên quan đến các vấn đề mà đề tài sẽdùng để thực hiện thiết kế, thi công cho đề tài
❖ Chương 3: Khảo sát và phân tích hệ thống
Chương này giới thiệu tổng quan về các yêu cầu của đề tài về thiết kế và cáctính toán liên quan đến đề tài
❖ Chương 4: Thi công hê thống
Chương này có thể gồm kết quả thi công phần cứng và những kết quả hình ảnhtrên màn hình hay mô phỏng tín hiệu, kết quả thống kê Kết quả, nhận xét và đánhgiá sản phẩm mô hình đã hoàn thành
Trang 15CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
2.1 Công nghệ IOT
Là mạng lưới vạn vật kết nối Internet viết tắt là loT là nền tảng công nghê mớicủa thế giới, khi mà mỗi đồ vật, con người được cung cấp một định danh của riêngmình, và tất cả có khả năng truyền tải, trao đổi thông tin, dữ liệu qua một mạng duynhất mà không cần đến sự tương tác trực tiếp giữa người với người, hay người vớimáy tính loT đã phát triển từ sự hội tụ của công nghệ không dây, công nghệ vi cơđiện tử và Internet Nói đơn giản là một tập hợp các thiết bị có khả năng kết nối vớinhau, với Internet và với thế giới bên ngoài để thực hiện một công việc nào đó Hayhiểu một cách đơn giản IoT là tất cả các thiết bị có thể kết nối với nhau Việc kếtnối thì có thể thực hiện qua Wi-Fi, mạng viễn thông băng rộng (3G, 4G), Bluetooth,ZigBee, hồng ngoại Các thiết bị có thể là điện thoại thông minh, máy pha cafe,máy giặt, tai nghe, bóng đèn, và nhiều thiết bị khác Cisco, nhà cung cấp giải pháp
và thiết bị mạng hàng đầu hiện nay dự báo: đến năm 2020, sẽ có khoảng 50 tỷ đồvật kết nối vào Internet, thậm chí con số này còn gia tăng nhiều hơn nữa IoT sẽ làmạng khổng lồ kết nối tất cả mọi thứ, bao gồm cả con người và sẽ tồn tại các mốiquan hệ giữa người và người, người và thiết bị, thiết bị và thiết bị Một mạng lướiIoT có thể chứa đến 50 đến 100 nghìn tỉ đối tượng được kết nối và mạng lưới này
có thể theo dõi sự di chuyển của từng đối tượng Một con người sống trong thànhthị có thể bị bao bọc xung quanh bởi 1000 đến 5000 đối tượng có khả năng theo dõi.Việc lựa chọn chuẩn giao thức kết nối sao cho hợp lý là rất quan trong, tùythuộc vào các ứng dụng và các yếu tố như phạm vi giao tiếp, khối lượng dữ liệutruyền, yêu cầu tính bảo mật, năng lượng cho hệ thống pin, sẽ quyết định lựa chọnmột hoặc nhiều phương thức truyền thông phù hợp
Sau đây là một số giao thức IoT cho các kỹ sư phát triển tìm hiểu và lựa chọn
2.3.1 Giao thức kết nối
Wifi là giao thức chính được ứng dụng trong nội dung đề tài này
Wifi (là viết tắt từ Wireless Fidelity hay mạng 802.11) là hệ thống mạng khôngdây sử dụng sóng vô tuyến, cũng giống như điện thoại di động, truyền hình và
Trang 16radio Kết nối Wifi thường là sự lựa chọn hàng đầu của rất nhiều kỹ sư
ở chỗ: chúng truyền và phát tín hiệu ở tần số 2.4 GHz hoặc 5 GHz Tần số này caohơn so với các tần số sử dụng cho điện thoại di động, các thiết bị cầm tay và truyềnhình Tần số cao hơn cho phép tín hiệu mang theo nhiều dữ liệu hơn
2.3.2 Giao thức truyền tải dữ liệu
Có 5 giao thức truyền tải dữ liệu phổ biến có thể được sử dụng trong các môhình là : MQTT, CoAP, AMQP và DDS
MQTT là một giao thức kết nối máy với máy, một giao thức mã nguồn mở đểtruyền các messages giữa nhiều Client (Publisher và Subscriber) thông qua mộtBroker trung gian, được thiết kế để đơn giản và dễ dàng triển khai Giao thức nàynhẹ đến mức nó có thể được hỗ trợ bởi một số thiết bị đo lường và giám sát nhỏnhất và nó có thể truyền dữ liệu qua các mạng có khả năng tiếp cận, đôi khi liên tục.Kiến trúc MQTT dựa trên Broker trung gian và sử dụng kết nối TCP long-lived từcác Client đến Broker Trong một hệ thống sử dụng giao thức MQTT, nhiều nodetrạm (gọi là mqtt client - gọi tắt là client) kết nối tới một MQTT server (gọi làbroker) Mỗi client sẽ đăng ký một vài kênh (topic), ví dụ như "/clientl/channell",
"/client1/channel2" Quá trình đăng ký này gọi là "subscribe" Mỗi client sẽ nhận
Trang 17được dữ liệu khi bất kỳ trạm nào khác gửi dữ liệu và kênh đã đăng ký.
client gửi dữ liệu tới kênh đó, gọi là "publish"
Hình 2.1 Giao thức truyền của MQTT
MQTT thì nhẹ nhàng hơn và nhanh Nó mất rất ít bytes cho việc kết nối vớiserver và quá trình kết nối có thể giữ trạng thái xuyên suốt Ưu điểm là giao tiếp sẽmất ít dữ liệu và thời gian hơn HTTP protocol, nên có thể được sử dụng cho truyềnthông 2 chiều thông qua các mạng có độ trễ cao và độ tin cậy thấp, nó cũng tươngthích với các thiết bị tiêu thụ điện năng thấp
Vì vậy MQTT phù hợp để chọn làm giao thức truyền thông chính trong đề tài
"Giám sát điên năng tiêu thụ qua mạng không dây "
CoAP (Constrained Applications Protocol)
CoAP là một giao thức truyền tải tài liệu theo mô hình client/server dự trêninternet tương tự như giao thức HTTP nhưng được thiết kế cho các thiết bị ràngbuộc Giao thức này hỗ trợ một giao thức one-to-one để chuyển đổi trạng thái thôngtin giữa client và server
CoAP sử dụng UDP (User Datagram Protocol), không hỗ trợ TCP, ngoài racòn hỗ trợ địa chỉ broadcast và multicast, truyền thông CoAP thông qua cácdatagram phi kết nối (connectionless) có thể được sử dụng trên các giao thức truyềnthông dựa trên các gói
UDP có thể dễ dàng triển khai trên các vi điều khiển hơn TCP nhưng các công
cụ bảo mật như SSL/TSL không có sẵn, tuy nhiên ta có thể sử dụng DatagramTransport Layer Security (DTLS) để thay thế
Trang 18Hình 2.2 Mô hình sử dụng giao thức CoAP và HTTP
AMQP (Advanced Message Queue Protocol)
AMQP (Advanced Message Queue Protocol) là một giao thức làm trung giancho các gói tin trên lớp ứng dụng với mục đích thay thế các hệ thống truyền tin độcquyền và không tương thích Các tính năng chính của AMQP là định hướngmessage, hàng đợi, định tuyến (bao gồm point-to-point và publish-subscribe) có độtin cậy và bảo mật cao Các hoạt động sẽ được thực hiện thông qua broker, nó cungcấp khả năng điều khiển luồng (Flow Control)
Một trong các Message Broker phổ biến là RabbitMQ, được lập trình bằngngôn ngữ Erlang, RabbitMQ cung cấp cho lập trình viên một phương tiện trung gian
để giao tiếp giữa nhiều thành phần trong một hệ thống lớn
Không giống như các giao thức khác, AMQP là một giao thức có dây protocol), có khả năng diễn tả các message phù hợp với định dạng dữ liệu, có thểtriển khai với rất nhiều loại ngôn ngữ lập trình
(wire-DDS (Data Distribution Service)
DDS là một ngôn ngữ trung gian dựa vào dữ liệu tập trung được sử dụng để chophép khả năng mở rộng, thời gian thực, độ tin cậy cao và trao đổi dữ liệu tương tác.Đây là một giao thức phi tập trung (broker-less) với truyền thông ngang hàngtrực tiếp theo kiểu peer-to-peer giữa các publishers và subscribers và được thiết kế
để trở thành một ngôn ngữ và hệ điều hành độc lập DDS gửi và nhận dữ liệu, sựkiện, và thông tin lệnh trên UDP nhưng cũng có thể chạy trên các giao thức truyền
Trang 19tải khác như IP Multicast, TCP / IP, bộ nhớ chia sẻ DDS hỗ trợ các kết
các cơ chế tự dò tìm của nó được thiết lập một lần
XMPP (Extensible Messaging và Presence Protocol)
XMPP (trước đây gọi là “Jabber”) là giao thức truyền thông dùng cho địnhhướng tin nhắn trung gian dựa trên ngôn ngữ XML
XMPP là mô hình phân quyền client-server phi tập trung, được sử dụng cho cácứng dụng nhắn tin văn bản Có thể nói XMPP gần như là thời gian thực và có thể
mở rộng đến hàng trăm hàng nghìn nút Dữ liệu nhị phân phải được mã hóa base64trước khi nó được truyền đi trong băng tần XMPP tương tự như MQTT, có thểchạy trên nền tảng TCP
Hình 2.3 ví dụ về XMPP
2.3.3 Firebase
Firebase là một dịch vụ cơ sở dữ liệu thời gian thực hoạt động trên nền tảngđám mây được cung cấp bởi Google nhằm giúp các lập trình phát triển nhanh các
Trang 20ứng dụng bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu Nếu cần xây dựng
Trang 21một ứng dụng cho mobile hoặc các thiết bị di động khác, mà bạn đang
Mình cùng điểm qua các tính năng và lợi ích của firebase xem sao
Realtime Database
• Firebase lưu trữ dữ liệu database dưới dạng JSON và thực hiện đồng bộdatabase tới tất cả các client theo thời gian thực Cụ thể hơn là có thể xây dựngđược client đa nền tảng (cross-platform client) và tất cả các client này sẽ cùng sửdụng chung 1 database đến từ Firebase và có thể tự động cập nhật mỗi khi dữ liệutrong database được thêm mới hoặc sửa đổi
• Tự động tính toán quy mô ứng dụng, dễ dàng hơn rất nhiều mỗi khi cần nângcấp hay mở rộng dịch vụ Ngoài ra Firebase sử dụng NoSQL, giúp cho database sẽkhông bị bó buộc trong các bảng và các trường mà có thể tùy ý xây dựng databasetheo cấu trúc của riêng
• Cho phép phân quyền một cách đơn giản bằng cú pháp tương tự nhưjavascript
Khi ứng dụng muốn phát triển, không cần lo lắng về việc nâng cấp máychủ Firebase sẽ xử lý việc tự động Các máy chủ của Firebase quản lý hàng triệukết nối đồng thời và hàng tỉ lượt truy vấn mỗi tháng
Các tính năng bảo mật
Firebase hoạt động dựa trên nền tảng cloud và thực hiện kết nối thông qua giaothức bảo mật SSL, chính vì vậy chúng ta sẽ bớt lo lắng rất nhiều về việc bảo mậtcủa dữ liệu cũng như đường truyền giữa client và server Không chỉ có vậy, việccho phép phân quyền người dùng database bằng cú pháp javascipt cũng nâng caohơn nhiều độ bảo mật cho ứng dụng, bởi chỉ những user được cho phép mới có thể
có quyền chỉnh sửa cơ sở dữ liệu
Làm việc offline
Trang 22Ứng dụng Firebase duy trì tương tác bất chấp một số các vấn đề về internet xảy
ra Trước khi bất kỳ dữ liệu được ghi đến server thì tất cả dữ liệu lập tức sẽ đượcviết vào một cơ sử dữ liệu Firebase ở local Ngay khi có thể kết nối lại, client đó sẽnhận bất kỳ thay đổi mà nó thiếu, đồng bộ hoá nó với trạng thái hiện tại server
Xác thực người dùng
Với Firebase, có thể dễ dàng xác thực người dùng từ ứng dụng trên Android,iOS và JavaScript SDKs chỉ với một vài đoạn mã Firebase đã xây dựng chức năngcho việc xác thực người dùng với Email, Facebook, Twitter, GitHub, Google, vàxác thực nặc danh Các ứng dụng sử dụng chức năng xác thực của FireBase có thểgiải quyết được vấn đề khi người dùng đăng nhập, nó sẽ tiết kiện thời gian và rấtnhiều các vấn đề phức tạp về phần backend Hơn nữa có thể tích hợp xác thực ngườidùng với các chức năng backend đã có sẵn dùng custom auth tokens
Firebase Hosting
Chúng ta có thể triển khai một ứng dụng nền web chỉ với vài giây (chém gió tới
từ íirebase, chính mình cũng không tin lắm) với hệ thống Firebase, và các dữ liệu sẽđược lưu trữ đám mây đồng thời được bảo mật thông qua giao thức truy cập SSL.Các ứng dụng sẽ được cấp 1 tên miền dạng *.firebaseio.com hoặc có thể trả tiền
để sử dụng tên miền của riêng mình
Triểu khai siêu tốc
Với Firebase ta có thể giảm bớt rất nhiều thời gian cho việc viết các dòng code
để quản lý và đồng bộ cơ sở dữ liệu, mọi việc sẽ diễn ra hoàn toàn tự động với cácAPI của Firebase Không chỉ có vậy Firebase còn hỗ trợ đã nền tảng nên sẽ càng đỡmất thời gian rất nhiều khi ứng dụng muốn xây dựng là ứng dụng đa nền tảng.Không chỉ nhanh chóng trong việc xây dựng database, Google Firebase còn giúp tađơn giản hóa quá trình đăng kí và đăng nhập vào ứng dụng bằng các sử dụng hệthống xác thực do chính Firebase cung cấp
Sự ổn định
Firebase hoạt động dựa trên nền tảng Cloud đến từ Google vì vậy hầu nhưchúng ta không bao giờ phải lo lắng về việc sập server, tấn công mạng như DDOS,tốc độ kết nối lúc nhanh lúc chậm nữa
Trang 23Giá thành
Google Firebase có rất nhiều gói dịch vụ với các mức dung lượng lưu trữ cũngnhư băng thông khác nhau với mức giá dao động từ Free đến $1500 đủ để đáp ứngđược nhu cầu của tất cả các đối tượng Chính vì vậy có thể lựa chọn gói dịch vụ phùhợp nhất với nhu cầu của mình Điều này giúp tới ưu hóa được vốn đầu tư và vậnhành của mình tùy theo số lượng người sử dụng Ngoài ra còn không mất chi phí đểbảo trì, nâng cấp, khắc phục các sự cố
Thông tin trên mình có tổng hợp và chỉnh sửa lại một chút từ vtcacademy vàtechmaster
2.2 Các chuẩn truyền dữ liệu
2.2.1 Giao tiếp I2C
2.2.1.1 Giới thiệu
Đầu năm 1980 Phillips đã phát triển một chuẩn giao tiếp nối tiếp 2 dây được gọi
là I2C Đây là đường Bus giao tiếp giữa các IC với nhau I2C mặc dù được pháttriển bởi Philips, nhưng nó đã được rất nhiều nhà sản xuất IC trên thế giới sử dụng.I2C trở thành một chuẩn công nghiệp cho các giao tiếp điều khiển Bus I2C được sửdụng làm bus giao tiếp ngoại vi cho rất nhiều loại IC khác nhau như các loại Vi điềukhiển 8051, PIC, AVR, ARM chip nhớ như: RAM tĩnh (Static Ram), EEPROM,
bộ chuyển đổi tương tự số (ADC), số tương tự(DAC), IC điểu khiển LCD, LED
Hình 2.4 Bus I2C và các thiết bị ngoại vi.
2.2.1.2 Đặc điểm giao tiếp I2C
Trang 24Một giao tiếp I2C gồm có 2 dây: Serial Data (SDA) và Serial Clock (SCL).SDA là đường truyền dữ liệu 2 hướng, còn SCL là đường truyền xung đồng hồ đểđồng bộ và chỉ theo một hướng Như ta thấy trên hình vẽ trên, khi một thiết bị ngoại
vi kết nối vào đường bus I2C thì chân SDA của nó sẽ nối với dây SDA của bus,chân SCL sẽ nối với dây SCL
Hình 2.5 Kết nối thiết bị vào bus I2C ở chế độ chuẩn (Standard mode) và chế độ
nhanh (Fast mode)
Mỗi dây SDA hãy SCL đều được nối với điện áp dương của nguồn cấp thôngqua một điện trở kéo lên (pullup resistor) vì chân giao tiếp I2C của các thiết bịngoại vi thường là dạng cực máng hở (opendrain hay opencollector) Giá trị của cácđiện trở này khác nhau tùy vào từng thiết bị và chuẩn giao tiếp, thường dao độngtrong khoảng 1K đến 4.7k
Xem hình 2.5, ta thấy có rất nhiều thiết bị (ICs) cùng được kết nối vào một busI2C, mỗi thiết bị sẽ được nhận ra bởi một địa chỉ duy nhất với một quan hệ chủ/tớtồn tại trong suốt thời gian kết nối Mỗi thiết bị có thể hoạt động như là thiết bị nhậnhoặc truyền dữ liệu hay có thể vừa truyền vừa nhận Hoạt động truyền hay nhận còntùy thuộc vào việc thiết bị đó là chủ (master) hay tớ (slave)
Một thiết bị hay một IC khi kết nối với bus I2C, ngoài một địa chỉ (duy nhất) đểphân biệt, nó còn được cấu hình là thiết bị chủ hay tớ Khi giữa hai thiết bị chủ-tớgiao tiếp thì thiết bị chủ có nhiệm vụ tạo xung đồng hồ cho toàn hệ thống và quản lý
Trang 25địa chỉ của thiết bị tớ trong suốt quá trình giao tiếp Thiết bị chủ giữ vai
động, còn thiết bị tớ giữ vai trò bị động trong việc giao tiếp
Hình 2.6 Quá trình truyền nhận giữa thiết bi chủ (master) và tớ (slave)
Theo như hình 2.6 ta thấy xung đồng hồ chỉ có một hướng từ chủ đến tớ, cònluồng dữ liệu có thể đi theo hai hướng, từ chủ đến tớ hay ngược lại tớ đến chủ
2.2.1.3 Chế độ hoạt động (tốc độ truyền):
Các bus I2C có thể hoạt động ở ba chế độ khác nhau:
• Chế độ tiêu chuẩn (Standard mode)
• Chế độ nhanh (Fast mo de)
• Chế độ cao tốc High-Speed (Hs) mode
• Chế độ tiêu chuẩn:
- Đây là chế độ tiêu chuẩn ban đầu được phát hành vào đầu những năm 80
- Nó có tốc độ dữ liệu tối đa 100kbps
- Nó sử dụng 7-bit địa chỉ, 112 địa chỉ tớ
• Tăng cường hoặc chế độ nhanh:
- Tốc độ dữ liệu tối đa được tăng lên đến 400 kbps
- Đe ngăn chặn gai tiếng ồn Ngõ vào của thiết bị Fast-mode là
Một bus I2C có thể hoạt động ở nhiều chế độ khác nhau:
• Một chủ một tớ (one master - one slave)
Trang 26• Một chủ nhiều tớ (one master - multi slave)
• Nhiều chủ nhiều tớ (Multi master - Multi slave)
Dù ở chế độ nào, một giao tiếp I2C đều dựa vào quan hệ chủ/tớ Giả thiết mộtthiết bị A muốn gửi dữ liệu đến thiết bị B, quá trình được thực hiện như sau:
• Thiết bị A (Chủ) xác định đúng địa chỉ của thiết bị B (tớ), cùng với việc xácđịnh địa chỉ, thiết bị A sẽ quyết định việc đọc hay ghi vào thiết bị tớ
• Thiết bị A gửi dữ liệu tới thiết bị B
• Thiết bị A kết thúc quá trình truyền dữ liệu
Khi A muốn nhận dữ liệu từ B, quá trình diễn ra như trên, chỉ khác là A sẽ nhận
dữ liệu từ B Trong giao tiếp này, A là chủ còn B vẫn là tớ Chi tiết việc thiết lập
một giao tiếp giữa hai thiết bị sẽ được mô tả chi tiết dưới đây
> Trình tự truyền bit trên đường truyền:
Hình 2.7 Trình tự truyền bit trên đường truyền
- Bước 1: Thiết bị chủ tạo một điều kiện start Điều kiện này thông báo cho tất
cả các thiết bị tớ chuẩn bi nhân dữ liệu trên đường truyền
- Bước 2: Thiết bị chủ gởi địa chỉ của thiết bị tớ mà thiết bị chủ muốn giao tiếp
và cờ đọc/ghi dữ liệụ (nếu cờ thiết lập lên 1 byte tiếp theo được truyền từ thiết bị tớđến thiết bị chủ, nếu cờ thiết lập xuống 0 thì byte tiếp theo truyền từ thiết bị chủ đếnthiết bị tớ)
- Bước 3: Khi thiết bị tớ trên bus I2C có địa chỉ đúng với địa chỉ mà thiết bị chủgửi sẻ phản hồi lại bằng một xung ACK
Trang 27- Bước 4: Giao tiếp giữa thiết bị chủ và tớ trên bus dữ liệu bắt đầu Cả chủ và tớđều có thể nhận hoặc truyền dữ liệu tùy thuộc vào việc truyền thông là đọc hay ghi.
Bộ truyền gửi 8 bit dữ liệu tới bộ nhận, Bộ nhận phản hồi với một bit ACK
- Bước 5: Đe kết thúc quá trình giao tiếp, thiết bị chủ tạo ra một điều kiện stop
> Điều kiện START và STOP (START and STOP conditions)
START và STOP là những điều kiện bắt buộc phải có khi một thiết bị chủmuốn thiết lập giao tiếp với một thiết bị nào đó trên bus I2C START là điều kiệnkhởi đầu, báo hiệu bắt đầu của giao tiếp, còn STOP báo hiệu kết thúc một giao tiếp.Hình dưới đây mô tả điều kiện START và STOP
Hình 2.8 Điểu kiện để giao tiếp I2C
Ban đầu khi chưa thực hiện quá trình giao tiếp, cả hai đường SDA và SCL đều
ở mức cao (SDA = SCL = HIGH) Lúc này bus I2C được coi là rỗi (“bus free”),
sẵn sàng cho một giao tiếp Hai điều kiện START và STOP là không thể thiếu trongviệc giao tiếp giữa các thiết bị I2C với nhau
Điều kiện START: một sự chuyển đổi trạng thái từ cao xuống thấp trên đường
SDA trong khi đường SCL đang ở mức cao (cao = 1; thấp = 0) báo hiệu một điềukiện START
Điều kiện STOP: Một sự chuyển đổi trạng thái từ mức thấp lên cao trên đường
SDA trong khi đường SCL đang ở mức cao Cả hai điều kiện START và STOP đềuđược tạo ra bởi thiết bị chủ Sau tín hiệu START, bus I2C coi như đang trong trạngthái làm việc (busy) Bus I2C sẽ rỗi, sẵn sàng cho một giao tiếp mới sau tín hiệuSTOP từ phía thiết bị chủ
Sau khi có một điều kiện START, trong quá trình giao tiếp, khi có một tín hiệuSTART được lặp lại thay vì một tín hiệu STOP thì bus I2C vẫn tiếp tục trong trạngthái bận Tín hiệu START và lặp lại START (Repeated START) đều có chức nănggiống nhau là khởi tạo một giao tiếp
Trang 28> Truyền dữ liệu:
Mỗi xung clock có một bit dữ liệu được truyền Mức tín hiệu SDA chỉ đượcthay đổi khi xung clock đang ở mức thấp, và ổn định khi xung clock ở mức cao.Thiết bị tớ có thể lấy mẫu dữ liệu khi xung clock ở mức cao
ytuongnhanh.vn
Hình 2.9 Quá trình truyền dữ liệu I2C
2.2.2 Giao tiếp UART
UART (Universal Asynchronous Receive/Transmit) là chuẩn giao tiếp truyềnnhận dữ liệu không đồng bộ Đây là chuẩn giao tiếp phổ biến và dễ sử dụng, thườngdùng trong giao tiếp giữa vi điều khiển với nhau hoặc với các thiết bị khác
UART chuyển đổi giữa dữ liệu nối tiếp và song song Một chiều, UART chuyểnđổi dữ liệu song song bus hệ thống ra dữ liệu nối tiếp để truyền đi Một chiều khác,UART chuyển đổi dữ liệu nhận được dạng dữ liệu nối tiếp thành dạng dữ liệu songsong cho CPU có thể đọc vào bus hệ thống
UART của PC hỗ trợ cả hai kiểu giao tiếp là giao tiếp đồng thời và không giaotiếp đồng thời Giao tiếp đồng thời tức là UART có thể gửi và nhận dữ liệu vàocùng một thời điểm Còn giao tiếp không đồng thời( không kép) là chỉ có một thiết
bị có thể chuyển dữ liệu vào một thời điểm, với tín hiệu điều khiển hoặc mã sẽquyết định bên nào có thể truyền dữ liệu Giao tiếp không đồng thời được thực hiệnkhi mà cả 2 chiều chia sẻ một đường dẫn hoặc nếu có 2 đường nhưng cả 2 thiết bịchỉ giao tiếp qua một đường ở cùng một thời điểm
Thêm vào đường dữ liệu, UART hỗ trợ chuẩn RS232 và tín hiêu điều khiển nhưRTS, CTS, DTR, DCR, RT và CD
stable I oídata 1
1 data valid 1 alk> *ed 1
Trang 29Đe thuận tiện, các chương trình gửi và nhận dữ liệu trong định dạng khôngđồng bộ, PC và nhiều vi xử lí khác có một bộ phận gọi là UART( universalasynchronous receiver/transmitter: truyền /nhận không đồng bộ chung).
Hình 2.10 Kết nối UART giữa hai vi điều khiển
Rất nhiều vi điều khiển hiện nay đã được tích hợp UART, vì vấn đề tốc độ và
độ tiện dụng của UART không thể so sánh với các giao tiếp mới hiện nay nên cácdòng PC & Laptop đời mới không còn tích hợp cổng UART Nếu giao tiếp SPI vàI2C có môt dây truyền dữ liệu và môt dây được sử dụng để truyền xung clock(SCL) để đồng bộ trong giao tiếp thì với UART không có dây SCL, vấn đề đượcgiải quyết khi mà việc truyền UART được dùng giữa hai vi xử lý với nhau, đồngnghĩa với việc mỗi vi xử lý có thể tự tạo ra xung clock cho chính nó sử dụng
Đe bắt đầu cho việc truyền dữ liệu bằng UART, một START bit được gửi đi,sau đó là các bit dữ liệu và kết thúc quá trình truyền là STOP bit
ST0P6tt»Gaiil!>me
Hình 2.11 Quá trình truyền dữ liệu UART
Khi ở trạng thái chờ mức điện thế ở mức 1 (high) Khi bắt đầu truyền STARTbit sẽ chuyển từ 1 xuống 0 để báo hiệu cho bộ nhận là quá trình truyền dữ liệu sắpxảy ra Sau START bit là đến các bit dữ liệu D0-D7 (Theo hình vẽ các bit này cóthể ở mức High or Low tùy theo dữ liệu) Sau khi truyền hết dữ liệu thì đến BitParity để bộ nhận kiểm tra tính chính xác của dữ liệu Cuối cùng là STOP bit là 1,
Trang 30báo cho thiết bị rằng các bit đã được gửi xong Thiết bị nhận sẽ tiến
khung truyền nhằm đảm báo tính chính xác của dữ liệu
Các thông số cơ bản trong truyền nhận UART:
• Baund rate (tốc độ baund ): Khoảng thời gian truyền 1 bit Phải được cài đặtgiống nhau ở gửi và nhận
• Frame(khung truyền ): Khung truyền quy định về số bit trong mỗi lần truyền
• Start bit : là bit đầu tiên được truyền trong 1 Frame Báo hiệu cho thiết bịnhận có một gói dữ liệu sắp đc truyền đến Là bit bắt buộc
• Data : là dữ liệu cần truyền Bit có trọng số nhỏ nhất LSB được truyền trướcsau đó đến bit MSB
• Parity bit : kiểm tra dữ liệu truyền có đúng không
• Stop bit : là 1 hoặc các bit báo cho thiết bị rằng các bit đã được gửi xong.Thiết bị nhận sẽ tiến hành kiểm tra khung truyền nhằm đảm bảo tính chính xác của
dữ liệu
2.3 Giới thiệu phân cứng
Phần cứng gồm có những thiết bị sau:
• Thiết bị đầu vào: nút nhấn, 0 cắm thiết bi
• Thiết bị đầu ra: LCD
• Thiết bi đo điện năng: PZEM004T
• Thiết bị điều khiển trung tâm: NodeMCU ESP8266 WiFi V1.0
• Các chuẩn truyền dữ liệu: UART, I2C, Wifi, 3G
• Thiết bị giao diện điều khiển: điện thoại, máy tính, Ipad
2.3.1 Module NodeMCUESP8266 wifi v1.0
2.3.1.1 Giới thiệu một số loại ESP 8266
ESP8266 là dạng Vi điều khiển tích hợp Wifi (Wifi SoC) được phát triển bởiEspressif Systems, một nhà sản xuất Trung Quốc có trụ sở tại Thượng Hải Với Viđiều khiển và Wifi tích hợp, ESP8266 cho phép lập trình viên có thể thực hiện vô sốcác tác vụ TCP/IP đơn giản để thực hiện vô số các ứng dụng khác nhau, đặc biệt làcác ứng dụng loT Module ESP8266 có giá thành rẻ, phải nói là rẻ nhất trong tất cảcác loại Wifi SoC từ trước tới nay
Trang 31Chip ESP8266 được phát triển bởi Espressif để cung cấp giải pháp giao tiếpWifi cho các thiết bị loT Điểm đặc biệt của dòng ESP8266 là nó được tích hợp cácmạch RF như balun, antenna switches, TX power ampliíier và RX filter ngay bêntrong chip với kích thước rất nhỏ chỉ 5x5mm nên các board sử dụng ESP8266không cần kích thước board lớn cũng như không cần nhiều linh kiện xung quanh.Sau nhiều năm phát triển, hiện tại AI-Thinker sản xuất 14 loại cho ESP từmodule ESP-01 đến ESP-14 Ở thị trường VN thì ba module là ESP-01, ESP-07 vàESP-12F khá phổ biến, nhất là ESP-12.
2.5.1.2 ESP8266-12
Hình 2.12 Ảnh ESP8266-12 thực tế và sơ đồ chân
ESP-12 kết hợp với firmware ESP8266 trên Arduino và thiết kế phần cứng giaotiếp tiêu chuẩn đã tạo nên NodeMCU, cách sử dụng, kết nối dễ dàng, có thể lậptrình, nạp chương trình trực tiếp trên phần mềm Arduino, đồng thời tương tích vớicác bộ thư viện Arduino sẵn có NodeMCU ESP8266 trở thành loại Kit phát triểnphổ biến nhất trong thời điểm hiện tại
Trang 32Hình 2.13 Module Node MCU ESP8266 và sơ đồ chân
a Thông số cấu hình của NodeMCU ESP8266
Bảng 2.1 Thông số cấu hình của NodeMCU ESP8266
Môt đầu vào với độ phân giải 1024
bước
Phạm vi nhiệt độ hoạt động -40C ~ 125°C
b Sơ đồ mạch nguyên lý của NodeMCU ESP8266
ADtwr LX GRMíĩÃn CfKn*WKU CnODHSV
tf»,VKWXI»
(H0-.UDÍ 005«
<«Ị»wĩ • 5-®
IÍI011XIH •