Tải bản đầy đủ

MQTT home automatic

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA: KỸ THUẬT ĐIỆN TỬ I

----------

ĐỒ ÁN TỐT NGHIỆP
Đề tài: “Ứng dụng giao thức MQTT trong điều khiển
thiết bị không dây”

Giảng viên hướng dẫn: ThS. Phạm Văn Sự
Sinh viên thực hiện: Đoàn Xuân Đức
Lớp : D12DTMT

Hà nội, năm 2016


NHẬN XÉT, ĐÁNH GIÁ, CHO ĐIỂM
(Của giảng viên hướng dẫn)
..............................................................................................................................................................
..............................................................................................................................................................
..............................................................................................................................................................

..............................................................................................................................................................
..............................................................................................................................................................
..............................................................................................................................................................
..............................................................................................................................................................
..............................................................................................................................................................
..............................................................................................................................................................
..............................................................................................................................................................
..............................................................................................................................................................
..............................................................................................................................................................
..............................................................................................................................................................
..............................................................................................................................................................
..............................................................................................................................................................
..............................................................................................................................................................
..............................................................................................................................................................
Điểm:..........................(Bằng chữ:……………………………..)
Đồng ý/Không đồng ý cho sinh viên bảo vệ trước hội đồng chấm đồ án tốt
nghiệp…?
Hà Nội, Ngày…...Tháng…...Năm 2016
CÁN BỘ - GIẢNG VIÊN HƯỚNG DẪN
(ký, họ tên)


Đồ án tốt nghiệp đại học

Lời cảm ơn

LỜI CẢM ƠN
Kể từ ngày bước chân vào giảng đường đại học, em đã nhận được sự giúp đỡ vô
cùng to lớn từ quý thầy cô, gia đình và bạn bè.
Từ đáy lòng mình, em xin gửi lời cảm ơn chân thành nhất tới quý thầy cô đang
công tác tại khoa Kỹ Thuật Điện Tử 1 – Học viện Công nghệ Bưu chính Viễn thông đã
hết lòng dìu dắt, chỉ bảo để truyền đạt kiến thức cho em cũng như các bạn sinh viên
khác.
Mặc dù đã hoàn thiện sản phẩm cũng như báo cáo, tuy nhiên, do hạn chế về thời
gian cũng như kiến thức của bản thân nên sản phẩm chưa thực sự tối ưu. Em rất mong
nhận được sự đóng góp từ quý thầy cô để có thêm kinh nghiệm trong việc nghiên cứu
và phát triển sản phẩm trong tương lai.
Em xin chân thành cảm ơn.
Hà Nôi, ngày 10 tháng 12 năm 2016
Sinh viên thực hiện



Đoàn Xuân Đức

Đoàn Xuân Đức – D12DTMT

1


Đồ án tốt nghiệp đại học

Mục lục

MỤC LỤC
LỜI CẢM ƠN............................................................................................................... i
DANH MỤC HÌNH ẢNH..........................................................................................iv
DANH MỤC BẢNG BIỂU.........................................................................................v
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT...............................................vi
LỜI MỞ ĐẦU.............................................................................................................. 1
CHƯƠNG 1: TỔNG QUAN VỀ INTERNET OF THINGS....................................2
1.1. Sự phát triển của IoT.....................................................................................2
1.2. Phương thức kết nối thiết bị không dây.......................................................3
1.2.1.

Lựa chọn giải pháp kết nối.....................................................................3

1.2.2.

Kết nối mạng Wifi................................................................................5

1.3. Đặt vấn đề.......................................................................................................6
CHƯƠNG 2: CÔNG CỤ THIẾT KẾ SẢN PHẨM..................................................7
2.1. Giới thiệu Module ESP8266-07.....................................................................7
2.2. Giới thiệu máy tính nhúng Raspberry Pi 3..................................................9
2.2.1.

Hệ điều hành Linux................................................................................9

2.2.2.

Máy tính nhúng Raspberry Pi 3............................................................12

2.3. Giới thiệu cảm biến nhiệt độ, độ ẩm DHT11.............................................15
CHƯƠNG 3: GIAO THỨC MQTT VÀ ỨNG DỤNG............................................18
3.1. Mô hình mạng TCP/IP................................................................................18
3.1.1.

Tổng quát.............................................................................................18

3.1.2.

Lớp ứng dụng (application layer).........................................................21

3.1.3.

Lớp vận chuyển....................................................................................22

3.1.4.

Lớp Internet..........................................................................................22

3.1.5.

Lớp truy nhập mạng (network access layer).........................................23

3.1.6.

Port Service..........................................................................................23

3.2. Giao thức MQTT.........................................................................................26
3.2.1.

Tổng quát.............................................................................................26

3.2.2.

Kiến trúc giao thức MQTT...................................................................27

3.2.3.

Mô tả gói tin.........................................................................................28

3.2.4.

MQTT qua WebSocket.........................................................................31

3.2.5.

Ưu và nhược điểm của giao thức MQTT..............................................35

Đoàn Xuân Đức – D12DTMT

2


Đồ án tốt nghiệp đại học

Mục lục

CHƯƠNG 4: XÂY DỰNG, THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN, GIÁM SÁT
THIẾT BỊ KHÔNG DÂY.........................................................................................36
4.1. Giới thiệu tổng quát về sản phẩm...............................................................36
4.2. Thiết kế phần cứng......................................................................................37
4.2.1.

Khối nguồn...........................................................................................37

4.2.2.

Module Wifi.........................................................................................38

4.2.3.

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

4.2.4.

Relay....................................................................................................39

4.2.5.

Layout PCB..........................................................................................40

4.3. Lập trình firmware cho ESP8266...............................................................42
4.4. Thiết kế giao diện trên điện thoại...............................................................45
4.5. Cài đặt WebSocket và thư viện Mosquitto cho RasPi3.............................49
4.6. Đánh giá quá trình chạy thực tế của sản phẩm.........................................51
KẾT LUẬN................................................................................................................ 52
TÀI LIỆU THAM KHẢO........................................................................................53

Đoàn Xuân Đức – D12DTMT

3


Đồ án tốt nghiệp đại học

Danh mục hình ảnh

DANH MỤC HÌNH Ả
Hình 1.1: Tổng quan về IoT...........................................................................................2
Hình 1.2: Tương lai IoT từ nay đến 2020......................................................................3
Hình 1.3: Giải pháp kết nối thiết bị không dây..............................................................4
Hình 1.4: Ứng dụng truyền thông Wifi trong thực tế.....................................................5
Y
Hình 2.1: Hình ảnh module trong thực tế......................................................................8
Hình 2.2: Mặt sau của module và các chân I/O.............................................................9
Hình 2.3: Tổng quan hệ điều hành Linux.....................................................................10
Hình 2.4: Hình ảnh RasPi 3 trong thực tế....................................................................13
Hình 2.5: Ngoại vi máy tính nhúng RasPi3.................................................................14
Hình 2.6: Cảm biến DHT11.........................................................................................15
Hình 2.7: Giao tiếp với DHT11....................................................................................16
Hình 2.8: Kết nối chuẩn 1 dây giữa cảm biến và vi xử lý............................................17
Hình 3.1: Các lớp trong mô hình TCP/IP....................................................................18
Hình 3.2: Các giao thức trong mô hình TCP/IP phổ biến............................................20
Hình 3.3: Ứng dụng của PortService...........................................................................25
Hình 3.4: Tổng quát về giao thức MQTT.....................................................................27
Hình 3.5: Mô hình Websocket......................................................................................32
Hình 3.6: Websocket và MQTT....................................................................................34
Hình 4.1: Sơ đồ khối sản phẩm....................................................................................36
Hình 4.2: Quá trình gửi/nhận bản tin của các thiết bị trong hệ thống.........................37
Hình 4.3: Khối nguồn..................................................................................................37
Hình 4.4: Module WiFi trên mạch...............................................................................38
Hình 4.5: Khối mạch nạp Firmware cho ESP8266......................................................38
Hình 4.6: Cảm biến DHT11 trên mạch........................................................................39
Hình 4.7: Nguyên lý khối mạch điều khiển relay.........................................................39
Hình 4.8: Lớp Top........................................................................................................40
Hình 4.9: Lớp Bottom..................................................................................................41
Hình 4.10: Hình ảnh thực tế của sản phẩm.................................................................41
Hình 4.11: App Inventor..............................................................................................46
Hình 4.12: Thiết kế giao diện......................................................................................47
Hình 4.13: Lập trình bằng công cụ kéo thả câu lệnh...................................................47
Hình 4.14: Hình ảnh thực tế của ứng dụng trên điện thoại.........................................48
Hình 4.15: Thư viện Mosquitto....................................................................................49
Hình 4.16: RasPi đang chạy với vai trò Broker qua WebSocket..................................50
Hình 4.17: Anten PCB.................................................................................................51
Đoàn Xuân Đức – D12DTMT

4


Đồ án tốt nghiệp đại học

Danh mục bảng biểu

DANH MỤC BẢNG BI
Bảng 2.1: Bảng trạng thái hoạt động của module WiFi ESP8266.................................8
Y
Bảng 3.1: So sánh mô hình TCP/IP với OSI................................................................21
Bảng 3.2: Kiến trúc giao thức MQTT..........................................................................27
Bảng 3.3: Connect Packet Fixed Header.....................................................................28
Bảng 3.4: Protocol Name.............................................................................................28
Bảng 3.5: Cờ trạng thái...............................................................................................29
Bảng 3.6: Header của gói tin Publish..........................................................................30
Bảng 3.7: Phản hồi trạng thái của gói tin Publish tương ứng với từng trạng thái QoS
..................................................................................................................................... 30
Bảng 3.8: Header của gói tin Subscribe......................................................................31
Bảng 3.9: Định dạng gói tin Subscribe........................................................................31
Bảng 3.10: Các thuộc tính của Websocket...................................................................33
Bảng 3.11: Các sự kiện của Websocket........................................................................33
Bảng 3.12: Phương thức của Websocket......................................................................34

Đoàn Xuân Đức – D12DTMT

5


Đồ án tốt nghiệp đại học

Danh mục các ký hiệu và chữ viết tắt

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Từ viết tắt

Viết đầy đủ

IoT

Internet of Things

MQTT

Message Queuing Telemetry
Transport

RasPi3

Raspberry Pi 3

TCP

Transmission Control Protocol

Đoàn Xuân Đức – D12DTMT

Giải nghĩa

6

Giao thức điều khiển truyền vận


Đồ án tốt nghiệp đại học

Lời mở đầu

LỜI MỞ ĐẦU
Trong khoảng 2 năm trở lại đây, chắc hẳn nhiều người đã không
ít lần nghe thoáng qua về khái niệm Internet of Things, hay bắt gặp
tin tức về các sản phẩm được quảng cáo là phục vụ cho nhu cầu
“smart home” (nhà thông minh). Trong đó, những thiết bị gia dụng
như lò nướng hay tủ lạnh có thể "nói chuyện" được với nhau. Trong
bối cảnh mà hàng ngày càng nhiều chủng loại thiết bị được kết nối
với nhau qua một mạng, sẽ là không thừa khi chúng ta trang bị cho
mình các kiến thức căn bản về hệ sinh thái Internet of Things này.
Một bối cảnh giả định điển hình sẽ diễn ra như sau: Khi chúng ta
bước gần về đến cửa nhà, cơ chế điều khiển tự động tích hợp trong
chìa khóa (hay thậm chí là điện thoại, thẻ tín dụng, smartwatch) của
chúng ta sẽ tự động mở cửa từ xa. Khóa cửa sẽ gửi tín hiệu không
dây đến hệ thống mạng nội bộ trong nhà, trước hết là khiến đèn cửa
và hàng lang được kích hoạt. Hệ thống điều hòa, vốn đã chuyển sang
trạng thái chờ khi chúng ta rời đi, sẽ tiếp tục hoạt động trở lại. Theo
một số cài đặt sẵn, thậm chí máy pha cà phê sẽ có thể tự động được
kích hoạt để chuẩn bị sẵn 1 tách cà phê thơm phức ngay khi ta bước
chân vào phòng khách. Mọi thiết bị trong một smart house sẽ giao
tiếp và hoạt động một cách hài hòa, từ đó đưa chúng ta đến một
định nghĩa đơn giản nhất cho IoT: “Một hệ sinh thái IoT thực sự là
một thế giới trong đó mọi thiết bị đều có thể phối hợp được với
nhau”.
Với mong muốn bước đầu tiếp cận với thế giới IoT, em quyết
định thực hiện đồ án: “Ứng dụng giao thức MQTT trong điều
khiển thiết bị không dây”.
Nội dung của đồ án bao gồm 4 chương:






Chương 1: Tổng quan về Internet of things.
Chương 2: Công cụ thiết kế sản phẩm.
Chương 3: Giao thức MQTT và ứng dụng.
Chương 4: Xây dựng, thiết kế hệ thống điều khiển, giám
sát thiết bị không dây.

Đoàn Xuân Đức – D12DTMT

1


Đồ án tốt nghiệp đại học
Things

Chương 1: Tổng quan về Internet of

CHƯƠNG 1: TỔNG QUAN VỀ INTERNET OF THINGS
1.1.

Sự phát triển của IoT
Trong thời gian gần đây, cộng đồng những người nghiên cứu, đam mê tìm hiểu
về công nghệ thường hay nhắc tới IoT. Tuy nhiên, chưa nhiều người thực sự hiểu về
khái niệm này.
Thực chất, biểu hiện của Internet of Things (IoT) đã xuất hiện ngay từ thời kỳ sơ
khai của Internet, khi các nhà phát minh mong muốn kết nối tất cả mọi thứ qua một
mạng lưới đồng nhất để có thể điều khiển chúng phục vụ cho mục đích của con người.
Theo định nghĩa từ Wikipedia, Internet of Things (IoT) là một kịch bản của thế
giới, khi mà mỗi đồ vật, mỗi đồ vật, con người được cung cấp một định danh của riêng
mì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 duy
nhấ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ới
máy tính. IoT đã 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.
Gần đây, Internet of Things còn bao gồm cả những giao tiếp theo kiểu máy với
máy (M2M), hạn chế sự tác động của con người nhưng chủ yếu được áp dụng trong
sản xuất năng lượng hay các ngành công nghiệp nặng.
Viễn cảnh tưởng chừng chỉ có trên phim ảnh này đã dần hiển hiện trên thực tế,
với sự phát triển của Nhà thông minh, TV thông minh, tủ lạnh thông minh,…. và cũng
không thể không kể tới sự mở rộng không gian địa chỉ lên IPv6 thay vì IPv4 như trước
đây.

Hình 1.1: Tổng quan về IoT

Đoàn Xuân Đức – D12DTMT

2


Đồ án tốt nghiệp đại học
Things

Chương 1: Tổng quan về Internet of

Nhiều chuyên gia công nghệ cũng như các kỹ sư đều dự đoán tương lai của IoT
sẽ rất phát triển từ nay cho tới năm 2020 với một kịch bản vô cùng khả thi:






4 tỷ người kết nối với nhau.
4 ngàn tỷ USD doanh thu.
Hơn 25 triệu ứng dụng.
Hơn 25 tỷ hệ thống nhúng và hệ thống thông minh.
50 ngàn tỷ Gigabytes dữ liệu.

Hình 1.2: Tương lai IoT từ nay đến 2020
1.2.

Phương thức kết nối thiết bị không dây

1.2.1. Lựa chọn giải pháp kết nối
Ở phần 1.1, em đã đưa ra những đặc điểm tổng quan về IoT, yếu tố quan trọng có
thể dễ nhận thấy nhất ở đây chính là việc kết nối các thiết bị trong một hệ thống. Việc
kết nối các thiết bị lại với nhau phải đảm bảo các yếu tố sau:
 Dễ dàng lắp đặt, triển khai trong thực tế.
 Tốc độ đường truyền được đảm bảo khi hoạt động lâu dài.
 Hỗ trợ tối ưu nhất cho thiết bị gateway trong quá trình quản lý các thiết bị con.
Để có thể kết nối các thiết bị trong một mạng, ta có thể kết nối trực tiếp trong
mạng LAN sử dụng dây cáp qua cổng RJ45. Tuy nhiên, cùng với sự phát triển của các
thiết bị di động cầm tay, việc kết nối sử dụng dây gặp nhiều khó khăn trong quá trình
lắp đặt cũng như gây nên hình thức không được đẹp mắt của sản phẩm. Việc lựa chọn
kết nối không dây như wifi, zigbee, RF, ... giúp việc kết nối các thiết bị trở nên thuận
tiện hơn mà vẫn đảm bảo được tốc độ đường truyền, không bị gián đoạn kết nối trong
quá trình thiết bị làm việc.
Trong các giải pháp kết nối vừa kể trên, em lựa chọn wifi cho sản phẩm mà mình
xây dựng do tính phổ biến của kết nối này, đồng thời tốc độ đường truyền được đảm
Đoàn Xuân Đức – D12DTMT

3


Đồ án tốt nghiệp đại học
Things

Chương 1: Tổng quan về Internet of

bảo trong quá trình sử dụng cũng như khả năng kết nối vào mạng Internet đã được
kiểm chứng. Hơn nữa các module hỗ trợ kết nối Wifi hầu hết có giá thành rẻ hơn so
với các module có hỗ trợ kết nối Zigbee

Hình 1.3: Giải pháp kết nối thiết bị không dây
Để có cái nhìn khách quan trong việc lựa chọn giải pháp kết nối, em xin đưa ra
bảng so sánh chức năng và hiệu quả làm việc của một số chuẩn kết nối khá phổ biến
hiện nay.
Chuẩn
Tầm hoạt
động (mét)
Thời gian
sống nuôi
bằng pin
(ngày)
Số lượng các
nút trong
mạng
Ứng dụng

802.15.4/Zigbee

802.15.1/Bluetooth

802.11/Wi-Fi

1 – 100

1 – 10

1 – 100

100 – 1000

1–7

0.5 – 5.0

> 64000

7

32

Web, Email, Video

Thay thế dây nối
trong giao tiếp máy
tính – thiết bị ngoại
vi

Giám sát và điều
khiển (Monitoring
& Control)

Tốc độ
20 – 250
720
11000
truyền (kb/s)
Bảng 1.1: So sánh các giải pháp kết nối không dây phổ biến
1.2.2. Kết nối mạng Wifi
Hiểu một cách đơn giản Wifi là mạng kết nối Internet không dây, là từ vi ết
tắt của Wireless Fidelity, sử dụng sóng vô tuyến để truyền tín hiệu. Loại sóng vô
tuyến này tương tự như sóng điện thoại, truyền hình và radio. Và trên h ầu h ết

Đoàn Xuân Đức – D12DTMT

4


Đồ án tốt nghiệp đại học
Things

Chương 1: Tổng quan về Internet of

các thiết bị điện tử ngày nay như máy tính, laptop, đi ện thoại, máy tính b ảng...
đều có thể kết nối Wifi.

Hình 1.4: Ứng dụng truyền thông Wifi trong thực tế
Kết nối Wifi dựa trên các loại chuẩn kết nối IEEE 802.11, và chủ yếu hiện
nay Wifi hoạt động trên băng tần 54 Mbps và có tín hi ệu m ạnh nh ất trong
khoảng cách gần 31m. Trong thực tế, do có nhiều vật cản sóng nên kho ảng cách
đó sẽ ngắn hơn, chỉ rơi vào khoảng hơn 5 m.
Về bản chất kỹ thuật, tín hiệu Wifi hoạt động gửi và nhận d ữ li ệu ở tần
số 2.5GHz đến 5GHz, cao hơn khá nhiều so với tần s ố của đi ện tho ại di đ ộng,
radio... do vậy tín hiệu Wifi có thể chứa nhiều dữ li ệu nhưng lại b ị h ạn ch ế ở
phạm vi truyền - khoảng cách.
Sóng Wifi sử dụng chuẩn kết nối 802.11 trong thư viện IEEE (Institute of
Electrical and Electronics Engineers), chuẩn này bao gồm 4 chuẩn nhỏ hơn
là a/b/g/n.
 Chuẩn 802.11b là phiên bản yếu nhất, hoạt động ở mức 2.4GHz và có
thể xử lý đến 11 megabit/giây.
 Chuẩn 802.11g nhỉnh hơn đôi chút so với chuẩn b, tuy nó cũng hoạt
động ở tần số 2.4GHz nhưng nó có thể xử lý 54 megabit/giây.
 Chuẩn 802.11a phát ở tần số cao hơn là 5GHz và tốc độ xử lý đạt 54
megabit/giây.
 Chuẩn 802.11n, hoạt động ở tần số 2.4GHz nhưng tốc độ xử lý lên
đến 300 megabit/giây.
1.3.

Đoàn Xuân Đức – D12DTMT

5


Đồ án tốt nghiệp đại học
Things

Chương 1: Tổng quan về Internet of

1.3.

Đặt vấn đề
Qua những gì đã tìm hiểu, em mong đồ án sẽ xây dựng được một sản phẩm hoàn
thiện, ứng dụng được những kiến thức đã học trên giảng đường đại học vào trong thực
tiễn và bước đầu tiếp cận với lĩnh vực IoT.
Cụ thể với đồ án tốt nghiệp, em sẽ đi sâu vào nghiên cứu với đề tài: “Ứng dụng
giao thức MQTT trong điều khiển thiết bị không dây”. Sản phẩm sau cùng sẽ thỏa
mãn nhưng tiêu chí sau:
 Điều khiển các thiết bị với khả năng kết nối không dây trong cùng một mạng.
 Cập nhập trạng thái, giám sát thông số cảm biến.
 Dễ tương tác với người dùng.

Đoàn Xuân Đức – D12DTMT

6


Đồ án tốt nghiệp đại học
phẩm

Chương 2: Công cụ thiết kế sản

CHƯƠNG 2: CÔNG CỤ THIẾT KẾ SẢN PHẨM
Ở chương 1, với việc tìm hiều và nắm bắt được sự phát triển của IoT, cách thức
lựa chọn giải pháp kết nối cho thiết bị vẫn chỉ là nền tảng của việc xây dựng một ứng
dụng IoT trong thực tế. Những trang thiết bị, linh-phụ kiện điện tử đóng vai trò không
hề nhỏ trong việc làm nên một sản phẩm, thực tế.
Ở chương 2, em sẽ trình bày về những thiết bị mà mình sử dụng để xây dựng nên
sản phẩm cuối cùng.
2.1.

Giới thiệu Module ESP8266-07
Đây là module truyền nhận WiFi đơn giản dựa trên chip ESP8266 SoC
(System on Chip). ESP8266 là một chip tích hợp được thiết kế dùng cho chuẩn
kết nối mới. Có thể dùng nó để đưa những dự án của ta kết n ối đ ến Internet.
Đơn giản nó sử dụng ngõ giao thức nối tiếp với tốc độ Baud 9600(mặc đ ịnh).
Kết nối mạng không dây, giống như một máy chủ hoặc một cầu nối trung gian và
có thể download dữ liệu từ Internet.
Các tính năng nổi bật:
Module có thể lập trình một cách đơn giản với Arduino IDE.
Hỗ trợ chuẩn 802.11 b/g/n.
Wi-Fi 2.4 GHz, hỗ trợ WPA/WPA2.
Chuẩn điện áp hoạt động: 3.3V.
Chuẩn giao tiếp nối tiếp UART với tốc độ Baud lên đến115200.
Có 3 chế độ hoạt động: Client, Access Point, Both Client and Access Point.
Hỗ trợ các chuẩn bảo mật như: OPEN, WEP, WPA_PSK, WPA2_PSK,
WPA_WPA2_PSK.
 Hỗ trợ cả 2 giao tiếp TCP và UDP.
 Làm việc như các máy chủ có thể kết nối với 5 máy con.








Chế độ làm việc của Module Wifi ESP8266:
 Trong module ESP8266, 3 chân GPIO15, GPIO0 và GPIO2 có chức năng gắn
liền với các chế độ hoạt động và nạp firmware của module.
 Ở đây ta chú ý tới 2 hàng Normal Running và Program via UART, chỉ có
chân GPIO thay đổi mức logic giữa 2 chế độ hoạt động. Vì vậy, ở chân
GPIO0, ta sẽ nối với một công tắc bit để thay đổi mức logic.
 Cụ thể, khi nạp code, ta gạt công tắc bit về vị trí ON, sau đó, g ạt l ại v ề v ị
trí cũ và ấn nút reset, KIT sẽ hoạt động ở chế độ Normal Running.


Đồ án tốt nghiệp đại học
phẩm

Chương 2: Công cụ thiết kế sản

Bảng 2.1: Bảng trạng thái hoạt động của module WiFi ESP8266
Một số hình ảnh thực tế của module:

Hình 2.1: Hình ảnh module trong thực tế

Đoàn Xuân Đức – D12DTMT

8


Đồ án tốt nghiệp đại học
phẩm

Chương 2: Công cụ thiết kế sản

Hình 2.2: Mặt sau của module và các chân I/O
2.2.

Giới thiệu máy tính nhúng Raspberry Pi 3
Hiện nay, máy tính nhúng được thiết kế để thực hiện một ứng dụng cụ thể như
giám sát cửa an ninh, báo cáo tình trạng của cảm biến cho một hệ thống điều khiển hay
quản lí đèn giao thông tại chỗ giao nhau đông người qua lại.
Có hai ưu điểm khi sử dụng máy tính nhúng. Đầu tiên là giảm thiểu được chi
phí.Thứ hai là chúng dễ dàng triển khai. Trên thực tế, cả hai ưu điểm đó đều liên quan
đến kích thước của máy tính nhúng. Do máy tính nhúng thường nhỏ hơn nhiều so với
máy tính có đa dụng, và không cần phải mua một màn hình, bàn phím, chuột nên chi
phí ít hơn cho một hệ thống máy tính đa dụng. Kích thước giảm đi cũng giúp triển khai
các máy tính nhúng một số lượng lớn các địa điểm từ xa một cách dễ dàng hơn.
Để sử dụng máy tính nhúng hiệu quả, người nghiên cứu cần phải biết một số kiến
thức cơ bản về hệ điều hành linux, do hầu hết các máy tính nhúng hiện nay đều sử
dụng hệ điều hành để thuận tiện cho quá trình nghiên cứu và phát triển sản phẩm. Bên
cạnh đó, ta cũng cần có một sự lựa chọn hợp lý về loại máy tính nhúng mà mình sử
dụng để phù hợp với ứng dụng đang phát triển.
2.2.1. Hệ điều hành Linux
2.2.1.1. Tổng quan
Linux đang ở thời điểm phát triển mạnh. Tính đến năm 2013 thì Linux đã ra đời
được 22 năm, một hệ điều hành hoàn thiện với sự hỗ trợ cho một loạt các mô hình sử
dụng. Nhân mô đun và tính linh hoạt của nó có thể xử lý trong nhiều mô hình sử dụng
(từ siêu máy tính lớn nhất đến các thiết bị nhúng nhỏ nhất) đến mức khó phân loại nó
vào bất cứ thứ gì khác hơn là một công nghệ khả dụng. Trong thực tế, Linux là một

Đoàn Xuân Đức – D12DTMT

9


Đồ án tốt nghiệp đại học
phẩm

Chương 2: Công cụ thiết kế sản

nền tảng, là một công nghệ then chốt cho phép tạo ra các sản phẩm mới, mà một vài
trong số các sản phẩm đó mới chỉ được giới thiệu gần đây.
Bằng một cuộc khảo sát nhanh về Linux, kiến trúc cơ bản và một số nguyên tắc
quan trọng của nó. Sau đó, xem xét Linux áp dụng những nguyên tắc này như thế nào
cho một loạt các mô hình sử dụng và tại sao nó là một nền tảng, chứ không chỉ là một
hệ điều hành.
Nhìn bề ngoài, Linux là một hệ điều hành. Như thể hiện trong bên dưới, Linux
gồm có một nhân kernel (mã cốt lõi quản lý các tài nguyên phần cứng và phần mềm)
và một bộ sưu tập các ứng dụng của người dùng (ví dụ: các thư viện, các trình quản lý
cửa sổ và các ứng dụng).

Hình 2.3: Tổng quan hệ điều hành Linux
Sơ đồ trên chỉ ra các thành phần quan trọng. Tầng cuối cùng chính là một tập hợp
mã kiến trúc giúp Linux có thể hỗ trợ đa nền tảng phần cứng (ARM, PowerPC, Tilera
TILE v.v...). Tất nhiên, chức năng này được đăng ký theo giấy phép GNU, tạo
nên tính di động của Linux.
Linux theo phong cách riêng của mình trong lĩnh vực về tính di động . Hệ thống
con của trình điều khiển (là rất lớn về khả năng của nó) hỗ trợ động các mô đun được
nạp mà không ảnh hưởng đến hiệu năng, tạo nên tính mô đun (thêm vào một nền
tảng động hơn). Linux cũng bảo mật ở mức nhân kernel (trong một số lược đồ) tạo
nên một nền tảng bảo mật Trong miền hệ thống tệp bên ngoài, Linux tạo nên một
mảng lớn nhất về hỗ trợ hệ thống tệp của bất kỳ hệ điều hành nào, như là một ví dụ,
tạo nên tính linh hoạt thông qua tính mô đun thiết kế. Linux thực hiện không chỉ các
Đoàn Xuân Đức – D12DTMT

10


Đồ án tốt nghiệp đại học
phẩm

Chương 2: Công cụ thiết kế sản

tính năng lên lịch trình tiêu chuẩn mà còn lên lịch trình thời gian thực bao gồm các
bảo đảm về độ trễ ngắt).
Cuối cùng, Linux là mở, có nghĩa là trên thực tế bất cứ ai cũng có thể xem và cải
thiện dựa vào nguồn gốc của nó. Tính mở này cũng giảm thiểu các cơ hội bị lợi dụng,
tạo ra một nền tảng an toàn hơn. Nhiều công ty đóng góp cho Linux, bảo đảm rằng nó
sẽ tiếp tục giải quyết một loạt các mô hình sử dụng trong khi vẫn duy trì các đặc tính
cốt lõi của mình.
Bảy nguyên tắc quan trọng này chắc chắn không phải là các thuộc tính duy nhất
mà Linux cung cấp, nhưng chúng cho phép Linux dùng như một nền tảng đa năng trên
rất nhiều các mô hình sử dụng. Hơn nữa, Linux là như nhau trên các mô hình sử dụng
này—không chỉ các nguyên tắc thiết kế mà còn bản thân mã của nó nữa. Người ta
không thể nói điều này về các hệ điều hành khác (như Windows®—máy tính để bàn,
máy chủ, hoặc thiết bị nhúng—hoặc Mac OS X hoặc Apple iOS), chúng có phân khúc
dịch vụ và mô hình sử dụng khác.
2.2.1.2. Sử dụng linux
Khác với window, để làm chủ được hệ điều hành linux, ta cần sử dụng thành thạo
các tập lệnh terminal mới có thể can thiệp sâu vào hệ thống.
Các lệnh kiểm tra performance
 cat /proc/cpuinfo
 cat /proc/meminfo
 cat /proc/version

hiển thị thông tin CPU
hiển thị thông tin về RAM đang sử dụng
hiển thị phiên bản của kernel

 cat /proc/ioports xem thông tin I/O port
 cat /proc/interrupts xem thông tin interrupt
 cat /proc/dma xem thông tin về DMA
Các lệnh hệ thống
 exit thoát khỏi cửa sổ dòng lệnh.
 logout tương tự exit.
 reboot / init 6 / shutdow -r khởi động lại hệ thống.
 halt / shutdow -h now / init 0 / poweroff
Đoàn Xuân Đức – D12DTMT

11

tắt máy


Đồ án tốt nghiệp đại học
phẩm

Chương 2: Công cụ thiết kế sản

 hostname xem tên máy tính
Lệnh thao tác với tập tin text
 wc đếm số dòng, số kí tự… trong tập tin
 touch tạo một tập tin.
 cat xem nội dung tập tin.
 more xem nội dung tập tin theo trang.
 less xem nội dung tập tin theo dòng.
 tail xem nội dung tập tin (mặc định xem 10 dòng cuối).
 head xem nội dung tập tin (mặc định xem 10 dòng đầu).
 vi khởi động trình soạn thảo văn bản vi.
 man Xem hướng dẫn thực hiện các lệnh
Lệnh quản lý user
 useradd tạo một người dùng mới.
 userdel xoá người dùng đã tạo.
 usermod thay đổi thông tin user.
 passwd đặt và thay đổi password cho người dùng.
Các lệnh quản lý file và thư mục
 ls

xem danh sách các file và thư mục con trong thư mục hi ện th ời

 ls -l như trên, nhưng liệt kê cả kích thước file, ngày cập nhật…
 ls -a liệt kê tất cả các file ẩn
 rm xóa file
 rmdir xóa thư mục rổng
 rm -rf

xóa thư mục không rỗng.

Đoàn Xuân Đức – D12DTMT

12


Đồ án tốt nghiệp đại học
phẩm

Chương 2: Công cụ thiết kế sản

 mv đổi tên / di chuyển thư mục hoặc file từ nơi này sang nơi khác
 cp copy file hoặc thư mục
 mkdir tạo thư mục
 cd chuyển thư mục
 pwd xem thư mục hiện hành
 find tìm kiếm file
 find /etc -name inittab : tìm file có tên inittab trong thư mục /etc
Lệnh nén và giải nén
 tar -cvf nén file/thư mục sang định dạng .tar
 tar -xvf giải nén file .tar
 gzip chuyển file .tar sang .tar.gz
 gunzip chuyển file .tar.gz về .tar
 tar -xzf giải nén file .tar.gz
 tar -zxvf giải nén file .tar.bz2
2.2.2. Máy tính nhúng Raspberry Pi 3
2.2.2.1. Tổng quan
Raspberry Pi là một chiếc máy tính gía rẻ kích cỡ nhỏ và chạy HĐH Linux. Với
mục tiêu chính của chương trình là giảng dạy máy tính cho trẻ em. Được phát triển bởi
Raspberry Pi Foundation – là tổ chức phi lợi nhuận với tiêu chí xây dựng hệ thống mà
nhiều người có thể sử dụng được trong những công việc tùy biến khác nhau.

Đoàn Xuân Đức – D12DTMT

13


Đồ án tốt nghiệp đại học
phẩm

Chương 2: Công cụ thiết kế sản

Hình 2.4: Hình ảnh RasPi 3 trong thực tế
Raspberry Pi sản xuất bởi 3 OEM: Sony, Qsida, Egoman. Và được phân phối
chính bởi Element14, RS Components và Egoman.
Nhiệm vụ ban đầu của dự án Raspberry Pi là tạo ra máy tính rẻ tiền có khả năng
lập trình cho những sinh viên , nhưng Pi đã được sự quan tầm từ nhiều đối tượng khác
nhau . Đặc tính của Raspberry Pi xây dựng xoay quanh bộ xử lí SoC Broadcom
BCM2835 ( là chip xử lí mobile mạnh mẽ có kích thước nhỏ hay được dùng trong điện
thoại di động ) bao gồm CPU , GPU , bộ xử lí âm thanh /video , và các tính năng khác
… tất cả được tích hợp bên trong chip có điện năng thấp này.
2.2.2.2. Cấu hình phần cứng
So với các thế hệ Pi cũ, Raspberry Pi thế hệ thứ 3 được đánh giá cao với nhiều
cải tiến về tốc độ xử lý dữ liệu và kết nối không dây.











CPU: ARMv8 64 bit, tốc độ xử lý lên tới 1.2GHz
Kết nối không dây: Wifi, Bluetooth
1GB RAM
4 cổng USB
40 chân GPIO
Cổng HDMI
Cổng Ethernet (RJ45)
Jac cắm Audio chuẩn 3.5
Chuẩn giao tiếp camera (CSI)
Giao tiếp DSI

Đoàn Xuân Đức – D12DTMT

14


Đồ án tốt nghiệp đại học
phẩm

Chương 2: Công cụ thiết kế sản

 Khe cắm thẻ nhớ
 Chip xử lý đồ họa 3D

Hình 2.5: Ngoại vi máy tính nhúng RasPi3
Với sức mạnh phần cứng của mình, RasPi3 có khả năng thực hi ện những
công việc phức tạp liên quan tơi đồ họa, hình ảnh. Trong lĩnh v ực IoT, v ới 2
module kết nối không dây (wifi, bluetooth 4.0), cùng v ới cáp m ạng RJ45 h ỗ tr ợ
đường truyền tốc độ cao, RasPi3 là giải pháp tối ưu cho vi ệc phát tri ển m ột
gateway, một trạm trung chuyển bản tin trong một mạng. Ở đồ án của mình,
RasPi3 được sử dụng như một gateway để trao đổi gói tin giữa các thiết bị.

Đoàn Xuân Đức – D12DTMT

15


Đồ án tốt nghiệp đại học
phẩm

2.3.

Chương 2: Công cụ thiết kế sản

Giới thiệu cảm biến nhiệt độ, độ ẩm DHT11

Hình 2.6: Cảm biến DHT11
DHT11 là một cảm biến chuyên dụng dùng để giám sát nhiệt độ, độ ẩm môi
trường, có cấu tạo 4 chân như hình, sử dụng giao tiếp số theo chuẩn 1 dây.





Pin 1 : Vcc
Pin 2 : Data
Pin 3 : NC ( not conected ).Chân này không sử dụng
Pin 4 : GND
Thông số kỹ thuật:






Đo độ ẩm: 20%-95%
Đo nhiệt độ: 0-50ºC
Sai số độ ẩm ±5%
Sai số nhiệt độ: ±2ºC
Để có thể giao tiếp với DHT11 theo chuẩn 1 chân vi xử lý thực hiện theo 2 bước:

 Bước 1: gửi tín hiệu Start

Đoàn Xuân Đức – D12DTMT

16


Đồ án tốt nghiệp đại học
phẩm

Chương 2: Công cụ thiết kế sản

Hình 2.7: Giao tiếp với DHT11
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. Trong Code mình để 25ms. 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.
Sau khoảng 20-40us, DHT11 sẽ kéo chân DATA xuống thấp. Nếu >40us
mà chân DATA ko được kéo xuống thấp nghĩa là ko giao tiếp được với
DHT11.
o Chân DATA sẽ ở mức thấp 80us sau đó nó được DHT11 kéo nên cao
trong 80us. Bằng việc giám sát chân DATA, MCU có thể biết được có
giao tiếp được với DHT11 ko. Nếu tín hiệu đo được DHT11 lên cao, khi
đó hoàn thiện quá trình giao tiếp của MCU với DHT.

 Bước 2: Đọc giá trị trên DHT11
o DHT11 sẽ trả giá trị nhiệt độ và độ ẩm về dưới dạng 5 byte. Trong đó:
 Byte 1: giá trị phần nguyên của độ ẩm (RH%)
 Byte 2: giá trị phần thập phân của độ ẩm (RH%)
 Byte 3: giá trị phần nguyên của nhiệt độ (TC)
 Byte 4 : giá trị phần thập phân của nhiệt độ (TC)
 Byte 5 : kiểm tra tổng. Nếu Byte 5 = (8 bit) (Byte1 +Byte2
+Byte3 + Byte4) thì giá trị độ ẩm và nhiệt độ là chính xác, nếu sai
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 về MCU, tương ứng chia thành 5 byte kết quả của Nhiệt
độ và độ ẩm.
o Sau khi tín hiệu được đưa về 0, ta đợi chân DATA của MCU được
DHT11 kéo lên 1. Nếu chân DATA là 1 trong khoảng 26-28 us thì là 0,
còn nếu tồn tại 70us là 1. Do đó trong lập trình ta bắt sườn lên của chân
DATA, sau đó delay 50us. Nếu giá trị đo được là 0 thì ta đọc được bit 0,
Đoàn Xuân Đức – D12DTMT

17


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×