ĐẠI ĐẠI HỌ HỌC QUỐ QUỐC GIA TP.HỒ TP.HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆ N – ĐIỆ – ĐIỆ N TỬ BỘ MÔN ĐIỆN ĐIỆN TỬ TỬ ---------------o0o---------------
LUẬN LUẬN VĂN TỐT TỐT NGHIỆP NGHIỆP ĐẠI ĐẠI HỌ HỌC
HỆ THỐNG GIÁM SÁT QUA MẠNG LORA
GVHD: SVTH: MSSV:
TP. HỒ HỒ CHÍ MINH, THÁNG 12 NĂM 2016 2016
ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH CỘ NG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠ I HỌC BÁCH KHOA Độc lậ p – T Tự do – H Hạnh phúc. -----✩----/BKĐT Số: ______ /BKĐT Điện – Điệ – Điện n tử tử Khoa: Điện Điện Tử Tử Bộ Môn: Điện
-----✩-----
HIỆM VỤ VỤ LUẬN LUẬN VĂN TỐT TỐT NGHIỆ NGHIỆP NHIỆ 1. HỌ VÀ TÊN:
MSSV:
ĐIỆN ĐIỆN TỬ TỬ - VIỄ VIỄN THÔNG 2. NGÀNH: LỚP : 3. Đề tài: HỆ THỐ NG GIÁM SÁT QUA MẠ NG LORA 4. Nhiệm vụ (Yêu cầu về nội dung và s ố liệu ban đầu): ......................................... ............................................................... ............................................ ............................................ .............................................. .................................. .......... ......................................... ............................................................... ............................................ ............................................ .............................................. .................................. .......... ......................................... ............................................................... ............................................ ............................................ .............................................. .................................. .......... ......................................... ............................................................... ............................................ .............................................. .............................................. ................................ .......... ......................................... ............................................................... ............................................ ............................................ .............................................. .................................. .......... ......................................... ................................................................. .............................................. ............................................ ............................................ ................................ .......... ............................... 5. Ngày giao nhi nhiệm vụ luận văn: ............................... 6. Ngày hoàn thành nhiệm vụ: ................................... ................................... 7. Họ và tên người hướ ng ng dẫn: Phần hướ ng ng dẫn ................................................................. ..................................... ................................................................. ..................................... Nội dung và yêu c ầu LVTN đã đượ c thông qua B ộ Môn. Tp.HCM, ngày…... tháng….. năm 20 CHỦ CH Ủ NHIỆ NHIỆM BỘ BỘ MÔN
PHẦ PHẦN DÀNH CHO KHOA, BỘ BỘ MÔN: Ngườ i duyệt (chấm sơ bộ):....................... Đơn vị:...................................................... Ngày bảo vệ : ........................................... ........................................... Điểm tổng k ết: ......................................... .........................................
NGƯỜI HƯỚ NG NG DẪ DẪN CHÍNH
Nơi lưu trữ luận văn: ............................... ...............................
Lờ i cảm ơn
GVHD: ThS. Bùi Qu ốc Bảo
L Ờ I C ẢM ƠN Xin chân thành g ửi lờ i cảm ơn tớ i Thạc sĩ Bùi Quốc Bảo đã tận tình giúp đỡ em trong suốt học k ỳ vừa qua. Những lờ i nhận xét, góp ý, hướ ng ng dẫn của thầy đã giúp em thấy đượ c khuyết điểm của mình để ngày càng kh ắc phục tốt hơn. Xin chân thành g ửi lờ i cảm ơn tớ i toàn thể quý thầy cô trường Đại học Bách Khoa Thành ph ố Hồ Chí Minh đã giả ng dạy, hướ ng ng dẫn và t ạo mọi điều kiện, môi
trườ ng ng học tậ p tốt cho em trong nh ững ngày tháng h ọc tậ p tại trườ ng. ng. Bên cạnh đó, em muố n nói lờ i cảm ơn đến công ty TNHH BigDolphin đ ã tạo
điều kiện để em có th ể hoàn thành lu ận văn. Xin kính chúc s ức khỏe và chân thành c ảm ơn.
Tp. H ồ Chí Minh, Minh, ngày 26 tháng 12 năm 2016
.
Sinh viên
i
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
TÓM TẮ TẮT LUẬN LUẬN VĂN Đề tài này thực hiện thiết k ế thiết bị giám sát các thông s ố môi trường như nhiệt độ, độ ẩm, khí CO qua m ạng LoRa. Thi ết bị nhằm truyền tải thông tin về các thông số môi trường, qua đó cả nh báo khi có s ự vượ t mức cảnh báo ngưỡng đượ c
cài đặt trướ c. c. Trong phần luận văn này tậ p trung xây dựng hệ thống gồm một server tiế p nhận thông tin (ph ần trung tâm) và thi ết bị giám sát (node ngo ại vi).
ii
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
Ụ C LỤ C M Ụ Chương 1:
T ỔN G QUAN QUA N ______________________ _________________________________ ______________________ _____________ __ 1
1.1.
Đặt Đặt vấn đề __________________________________________________________ vấn đề __________________________________________ ________________ 1
1.2.
Tình hình nghiên cứ cứ u trong và ngoài nướ c _______________________________ 2
1.3.
đề tài ________________________________________ 3 Mục tiêu và nhiệ nhiệm vụ vụ của của đề tài
1.3.1.
Mục tiêu của đề tài _____________________________________________________ 3
1.3.2.
Nhiệm vụ của đề tài_____________________________ _____________________________________________________ ________________________ 3
Chương 2: LÝ THUY Ế T ______________________ _________________________________ ______________________ _____________ __ 4 2.1.
Cơ bản bản về về mạ mạng LoRa ________________________________________________ 4
2.1.1.
Tổng quan về LoRa _____________________________________________________ 4
2.1.2.
Giao thức LoRaWAN __________________________________________________ 11
2.2.
Nguyên lý truyề truyền và nhậ nhận dữ dữ liệ liệu trong mạ mạng LoRa ______________________ 12
2.2.1.
Truyền dữ liệu ________________________________________________________ 12
2.2.2.
Nhận dữ liệu trong mạng LoRa _______________________________ ___________________________________________ ____________ 13
2.2.3.
Cách k ết nối giữa node và Server _________________________________________ 13
2.3.
văn ___________________________ 14 Giớ Giớ i thiệ thiệu module, IC sử sử dụ dụng trong luận luận văn ___________________________
2.3.1.
Module LoRa_________________________________________________________ 14
2.3.2.
Giớ i thiệu về Raspberry Pi ______________________________________________ 17
2.3.3.
Webserver ___________________________________________________________ 18
2.3.4.
Cảm biến nhiệt độ và độ ẩm (DHT22/AM2302) ____________________________ ______________________________ __ 23
2.3.5.
Cảm biến khí CO (MQ-7) _______________________________________________ 27
2.3.6.
IC thờ i gian thực (PCF8583) ________________________________ _____________________________________________ _____________ 29
Chương 3: 3.1.
TH I Ế VÀ THI CÔNG CÔNG MÔ HÌ NH PH Ầ N C Ứ ____________ __ 31 Ế T K Ế VÀ ỨN G __________
Mô hình luận luận văn. __________________________________________________ văn. __________________________________________________ 31
3.1.2.
Tr ạm thu dữ liệu (Server) _______________________________________________ 32
3.1.3.
Tr ạm con (Node) _______________________________ ______________________________________________________ _______________________ 37
Chương 4: 4.1.
G I Ả ____________ _________________ ____ 44 Ả I THU ẬT CHƯƠNG TRÌNH TRÌNH _________________________
Giả Giải thuậ thuật khố khối trung tâm (Server) ___________________________________ (Server) _____________________________________ __ 44
4.1.1.
Thu thậ p thông tin từ các node ___________________________________________ 44
4.1.2.
Xử lý dữ liệu _________________________________________________________ 45
4.2.
Giả Giải thuậ thuật khố khối node_________________________________________________ node_________________________________________________ 48
Chương 5:
K Ế T QU QU Ả TH Ự C HI H I Ệ _________________________________ ______________ ___ 53 Ệ N ______________________ iii
Luận văn tốt nghiệ p 5.1.
GVHD: ThS. Bùi Quốc Bảo
K ết quả quả thi công phầ phần cứ cứ ng ng __________________________________________ 53
5.1.1.
K ết quả thực hiện _____________________________________________________ 53
5.1.2.
______________________________________________________ _______________________ 54 Đánh giá kết quả. _______________________________
5.2.
K ết quả quả thi công phầ phần mề mềm __________________________________________ 55
5.2.1.
Hiển thị và cảnh báo ___________________________________________________ 55
5.2.2.
Đánh giá hoạt độ ng ____________________________________________________ 57
5.3.
Đánh giá kết kết quả quả hoạt hoạt động động chung c hung ___________________________________ _____________________________________ __ 57
Chương 6:
K Ế T LU ẬN VÀ HƯỚ NG N G PHÁT TRI Ể N _______________________ _______________________ 59
6.1.
K ết luậ luận __________________________________________________ ___________________________________________________________ _________ 59
6.2.
Hướ ng ng phát triể triển ______________________________ ___________________________________________________ _____________________ 59
TÀI TÀI LI Ệ U THAM THAM K H Ả O ______________________________________________ 60
iv
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
DANH SÁCH HÌNH MINH H Ọ A Hình 2. 1: Biểu đồ so sánh gi ữ a LoRa và các chu ẩ n giao tiế p thông d ụng _____________ 6 Hình 2. 2: Mô hình mạng LoRa _______________________________________________ 6
ự thay đổ i t ần số theo Hình 2. 3: S ự thay theo thờ i gian của mỗ i tín hiệu mẫu đượ c phát ra bở i tr ạm phát LoRa. ____________________________________________________________ 8
ấu trúc frame của LoRa __________________________________________ 10 Hình 2. 4: C ấ Hình 2. 5: Tiêu biể u cho mạng hình sao. _______________________________________ 11
ữ liliệu trong LoRa ____________________________ 12 Hình 2. 6: Mô t ả nguyên lý truy ề n d ữ ữ liliệu trong LoRa _____________________________ 13 Hình 2. 7: Mô t ả nguyên lý nhận d ữ Hình 2. 8: Module LoRa RFM98 RFM98 c ủa HopeRF (a) và SX1278 c ủa XIAMEN (b) (b) ________ 15 Hình 2. 9: Mô t ả chân của module Lora SX1278 ______________________ ________________________________ __________ 16 Hình 2. 10: Raspberry Model B ______________________ _________________________________ ______________________ ______________ ___ 17 Hình 2. 11: Mô t ả về Web Server _____________________ ________________________________ ______________________ ______________ ___ 19 Hình 2. 12: Mô t ả về LAMP LAMP__________________________ _____________ __________________________ ________________________ ___________ 19 Hình 2. 13: Mô t ả hoạt động PHP _____________________________________________ 21
ết nố i vớ i cảm biế n _________________________________________ 27 Hình 2. 14: Sơ đồ k ế Hình 2. 15: Sơ đồ khố i của IC PCF8583 ______________________ __________________________________ __________________ ______ 30
ổng Hình 3. 1: T ổ n g quan mô hình lu ận văn _______________________________________ 31 ấu trúc phần cứ ng ữ liliệu _____________________________ 32 Hình 3. 2: C ấ ng của tr ạm thu d ữ Hình 3. 3: Mô hình phần cứ ng ng node __________________________________________ 37
ữ liliệu t ừ ừ các Hình 4. 1: Lưu đồ giải thuật khố i trung tâm về nh nhận d ữ các node _____________ _____________ 44 ữ liliệu sau khi nhận đượ c t ừ ừ node Hình 4. 2: Lưu đồ giải thuật xử lý lý d ữ node ________________ 46 Hình 4. 3: Lưu đồ giải thuật phía node ________________________________________ 48 Hình 4. 4: a) Đọc cảm biế n nhiệt độ-độ ẩm (DHT22) b) Đọ c cảm biế n khí CO (MQ-7) __ 51
ối đa giữ a node và Server thự c t ế ế ______________ Hình 5. 1: Khoảng cách truy ề n nhận t ối ______________ 58
v
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
Ụ L PH Ụ LỤ C B Ả NG Bảng 2. 1: Đặc điể m k ỹ thu thuật của chuẩ n giao tiế p LoRa______________________ ____________________________ ______ 5 Bảng 2. 2: Độ nhạ y máy thu của LoRa (theo dBm) khi băng thông và hệ số tr tr ải phổ khác nhau. __________________________ _____________ _________________________ _________________________ _________________________ ____________ 9 Bảng 2. 3: Chức năng từ ng ng chân của module SX1278 _____________________ ____________________________ _______ 17 Bảng 2. 4: Thông số c cảm biế n AM2302 ________________________________________ 25
vi
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
Chương 1:
TỔNG QUAN
1.1. Đặt Đặt vấn vấn đề Trong những thậ p niên gần đây, tình trạng ô nhiễm môi trường đang ở m mức đáng
báo động, và đặ đặ c biệt nghiêm tr ọng. Sự xả thải các chất ô nhiễm môi trườ ng ng không qua ọng đến sức khỏe con ngườ i.i. Một trong những loại khí xử lý gây nên h ậu quả nghiêm tr ọng thải gây tác động xấu tớ i sức khỏe con người đó chính là Cacbon mônôxit (CO). Nhữ ng
nơi có mật độ khí CO lớ n là những điểm tắc nghẽn giao thông, các b ến xe, nhà để xa hoặc trong những nơi làm việc kín như hầm lò, nhà máy. CO có độ c tính cao c ực k ỳ nguy hiểm vớ i sức khỏe con ngườ i,i, nếu bị hit một lượ ng ng lớ n sẽ gây thương tổn với cơ
ở kh thể, nó cản tr ở khả năng vận chuyển oxy trong máu. Chính vì th ế, việc giám sát khí CO r ất quan tr ọng, từ đó tìm ra những giải pháp để giảm thiểu lượ ng ng khí thải đó. Việc thu thậ p chất lượ ng ng chất lượng môi trường không khí (trong đó có CO) đượ c thu thậ p thông qua mạng IoT. V ậy IoT là gì? IoT (Internet of Thing) là s ự k ết nối tất cả các thiết bị vớ i nhau, có kh ả năng trao
đổi thông tin, cung c ấ p dữ liệu với con ngườ i mà không c ần phải tương tác tr ực tiế p. Con ngườ i có thể k ết nối vớ i tất cả các thiết bị tớ i mạng Internet Internet thông qua qua mạng nội bộ. Trong những năm gần đây, IoT đang phát triể n nhanh đến chóng mặt. Theo sự
tính toán thông kê có đế n 50 triệu thiết bị đượ c k ết nối cho tớ i nắm 2020. Con ngườ i đang biến tất cả các thiết bị trong đờ i sống hằng ngày như otô, thiết bị sản xuất, dụng cụ trong nhà, đồ mặc,…đều có thể điều khiển, kiểm soát, thu thậ p dữ liệu chỉ bằng laptop hay điện thoại. Công nghệ IoT giúp cho con ngườ i sống tốt hơn, và đối phó vớ i vấn đề lớ n nhất đang gặ p phải của thế giới đó là biến đổ i khí hậu, kiểm soát ô nhi ễm, cảnh báo các vấn đề tự nhiên. Tuy nhiên, đòi hỏ i về công suất thấ p cho các thi ết bị IoT không hề
đơn giản, các thiết bị hiện nay dùng RFID, Bluetooth hay Wifi đề u là những công ngh ệ vớ i công suất thấp nhưng khoả ng cách ng ắn. Để đáp ứng đượ c công su ất thấ p và khoảng cách xa, LoRa là m ột giải pháp t ốt nhất tại thời điểm hiện nay. LoRa là công ngh ệ mạng không dây đượ c phát tri ển để tạo ra đượ c công su ất thấ p (low-power), mạng lướ i r ộng (LPWANs- Low Power Wide Area Networks) dùng cho các ứng dụng Internet of Thing. Công ngh ệ này hấ p dẫn vớ i khoảng cách xa, công su ất tiêu thụ thấ p và việc truyền dữ liệu an toàn. Ưu điể m của mạng lưới đượ c xây d ựng vớ i 1
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
LoRa so vớ i mạng lướ i hiện tại là việc phủ sóng lớ n. n. Vớ i khoảng cách xa và công su ất thấ p, LoRa tự tin sẽ là ứng cử viên cho công ngh ệ thông minh trong h ạ tầng dân d ụng
tr ường,..) cũng (chẳng hạn như giám s át sức khỏe, đo lườ ng ng thông minh, giám sát môi trường,..) như trong các ứng dụng công nghi ệ p. Công nghệ LoraWAN hướ ng ng tớ i mục tiêu là ho ạt động các c ảm biến dựa vào pin mà có thể hoạt động vớ i thờ i gian lâu. V ớ i LoRaWAN, toàn b ộ thành ph ố hoặc một vùng sẽ đượ c phủ bở i một vài tr ạm mà có th ể k ết nối đến hàng ngàn các thi ết bị khác nhau. Nhận thấy ưu điểm của Lora so v ớ i các khác. Chính vì v ậy mục tiêu của đề tài tạo ra mạng k ết nối vớ i các thiết bị, thu thậ p dữ liệu, vẽ đồ thị tr ạng thái, gửi cảnh báo dựa trên dữ liệu thu thậ p qua mạng LoRa.
1.2. Tình hình nghiên cứ c ứ u trong và ngoài nướ c a) Nghiên cứu trong nướ c Qua tìm hiểu về tình hình nghiên c ứu trong vi ệc ứng dụng mạng LoRa khá th ấ p, cho thấy đượ c việc ứng dụng vào công ngh ệ này chưa đượ c quan tâm nhi ều. Tuy nhiên, hiện nay, việc ứng dụng mạng LoRa đang được xem xét, đầu tư vào các ứ ng dụng như
đọc chỉ số đồng hồ nướ c, c, quản lý bãi xe,… Đây là dấ u hiệu khả quan trong vi ệc nghiên cứu mạng LoRa. b) Nghiên cứu ngoài nướ c: c: Hiện nay có nhi ều cá nhân, công ty nghiên c ứu phát hành s ản phẩm LoRa một hay nhiều kênh truyền dựa trên chipset c ủa Semtech. Các công trình nghiên c ứu:
Đề tài “A DIY low -cost LoRa gateway” [1] của Giáo sư Phạm Công Đứ c, trường đại học Pau, Pháp s ử dụng chip SX1276 c ủa Semtech v ớ i gateway m ột kênh truyền.
-
Sản phẩm EMB-GW1301 c EMB-GW1301 của công ty Embit, Italy[2] dựa trên chipset SX1301 của Semtech cho phép ho ạt động nhiều kênh truyền trong cùng m ột khoảng thờ i gian, cung c ấ p giải pháp cho công ngh ệ IoT.
-
Các sản phẩm cảm biến không dây c ủa công ty nke Wattec, Pháp vớ i các s ản phẩm công ngh ệ LoRa như cảm biến nhiệt độ, độ ẩm, ánh sáng, đo lượ ng ng
nướ c,.. c,..[3] cho hoạt động hiệu quả và thờ i gian sử dụng pin t ốt nhất. 2
Luận văn tốt nghiệ p -
GVHD: ThS. Bùi Quốc Bảo
Module LoRaWan IXM-LPWA-800-16-K9 LoRaWan IXM-LPWA-800-16-K9 c của Cisco[4] cho các ứng dụng cần công suất thấ p, diện tích phủ r ộng lớn như tracking vậ t thể, đo nướ c hay khí,
các tòa nhà thông minh, đèn đường, giám sát môi trườ ng ng và nông nghi ệ p thông minh.
đề tài 1.3. Mục tiêu và nhiệ nhi ệm vụ vụ của của đề tài 1.3.1. Mục tiêu của của đề tài đề tài Đề tài thực hiện thiết k ế thiết bị giám sát các thông s ố môi trường như nhiệt độ, độ ẩm, khí CO qua m ạng LoRa. Thi ết bị ngoại vi sẽ truyền tải thông tin về các thông s ố môi trườ ng ng về Server, qua đó hiể n thị lên web và đồ ng thờ i cảnh báo khi có s ự vượ t mức cảnh báo ngưỡ ng. ng.
1.3.2. Nhiệ Nhiệm vụ vụ của của đề tài đề tài Vớ i các mục tiêu đề ra, luận văn đượ c chia thành 4 n ội dung:
Nội dung 1: Tìm hi ểu LoRa và các moudule, IC đượ c sử dụng trong luận
văn.
Nội dung 2: Gi ải thuật và phần cứng của Server và node
Nội dung 3: K ết quả đạt đượ c
Nội dung 4: K ết quả, hướ ng ng phát triển và tài liệu tham khảo
3
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
Chương 2:
LÝ THUYẾ THUYẾT
2.1. Cơ bản bản về về mạ mạng LoRa 2.1.1. Tổng quan về v ề LoRa[5]. a) Giao thức LoRa
LoRa được định nghĩa là Long Range (khoả ng cách xa), là m ột hệ thống giao ti ế p không dây kho ảng cách xa, đượ c phát triển bở i LoRa Alliance™ ( là thành viên c ủa tổ chức phi lợ i nhuận, những ngườ i tin r ằng k ỷ nguyên IoT là bây gi ờ ). ). Hệ thống này nhằm mục đích tăng thờ i gian sử dụng pin của các thi ết bị lâu hơn, nơi mà công suất
năng lượ ng ng là giữ vai trò quan tr ọng. LoRa có th ể tham chi ếu tớ i hai lớ p riêng biệt: một lớ p vật lý sử dụng công ngh ệ điều chế mạng tr ải phổ Chirp (Chirp Spread Spectrum – CSS) và hai là giao th ức lớ p MAC (LoRaWAN) (LoRaWAN)[5]. Lớ p vật lý LoRa, đượ c phát triển bở i Semtech, cho kho ảng cách xa, công su ất thấ p và giao ti ếp băng thôn g thấ p. Hoạt động trên băng tầ n ISM 433-, 868- ho ặc 915-MHz, phụ thuộc vào từng khu vực triển khai. Khối lượ ng ng (gọi là payload ) của mỗi đợ t truyền tải có thể đạt từ 2-255 byte, t ốc độ data có th ể đạt tớ i 50 Kbps. Công ngh ệ điều chế là một công nghệ độc quyền từ Semtech. LoRaWAN cung c ấ p một cơ chế điều khiển truy cậ p, cho phép nhi ều thiết bị cuối k ết nối tớ i gateway sử dụng điều chế LoRa. Trong khi vi ệc điều chế LoRa là độc quyền,
ở đượ c phát triển bở i LoRa Alliance. LoRaWAN là một chuẩn mở đượ
4
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
Dướ i dây là b ảng đặc điểm của công nghệ không dây LoRa v ề khoảng cách, chu ẩn giao tiế p, công suất, lớ p vật lý.
Định nghĩa
Đặc điểm k ỹ thuật Khoảng cách
2-5 kilomet trong khu v ực thành thị và 15 km trong vùng ngo ại ô
Băng tần
Băng tần ISM 433MHz, 868MHz và 915 MHz
Chuẩn giao tiế p
IEEE 802.15.4g
Điều chế tr ải phổ đượ c sử dụng xung dải băng tần FM. Tần số tăng hoặc Điều chế
giảm trên thờ i gian nhất định đượ c sử dụng để mã hóa dữ liệu khi đượ c gửi.
Công suất
Một mạng Lora quản lý hàng ngàn node
Điện năng
Sử dụng lâu
Lớ p vật lí
Quản lý tần số, công suất, điều chế, tín hiệu giữa các node và Gateway
Bảng 2. 1: Đặc điể m k ỹ thu thuật của chuẩ n giao tiế p LoRa
5
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
Data Rate
WIFI GSM CDMA Bluetooth Low Energy Zigbee, ZWave LoRa
NFC Đối diện (vài centimet)
Trong nhà (Vài chục mét )
Trong thành phố (Vài kilomet)
Range
Hình 2. 1: Biểu đồ so sánh gi ữ a LoRa và các chu ẩ n giao tiế p thông d ụng [6] b) Kiến trúc mạng LoRa Một mạng LoRa đặc trưng cấu hình mạng sao, bao g ồm ba loại thiết bị khác nhau:
Hình 2. 2: Mô hình mạng LoRa Kiến trúc cơ bản của mạng LoRaWAN: các thi ết bị cuối giao tiế p vớ i Gateway sử dụng LoRa vớ i LoRaWAN. LoRaWAN. Gateway chuyển các frame LoRaWAN t ừ thiết bị tớ i một Server mạng, sau đó chuyể n lên thiết bị có băng thông cao hơn, đặc trưng là Ethernet hoặc 3G. 6
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
Có 3 lớ p của các thi ết bị cuối: lớ p A (cho tất cả), lớ p B (cho Beacon) Beacon) và lớ p C (cho việc nghe liên t ục). c) Lớ p vật lý LoRa
Điều chế LoRa là m ột công nghệ độc quyền của Semtech. Phần này phân tích và đánh giá (phần độ c quyền của LoRa) vớ i mục đích hiểu rõ liệu r ằng hiệu suất quảng cáo của LoRa đượ c quan sát trong th ực tế. c.1)
Tổng quan về lớ p vật lý
LoRa là điều chế tr ải phổ theo cường độ và pha (Chirp Spread Spectrum), s ử dụng cường độ và pha t ần số vớ i sự biến đổi tuyến tính của tần số theo thời gian để mã hóa thông tin. Bở i vì sự tuyến tính của xung tr ải phổ, độ lêch t ần số giữa các thi ết bị thu
và phát tương ứng với độ lệch thờ i gian, dễ dàng b ị loại bỏ trong giải mã. Điều này làm cho việc miễn nhiễm việc điều chế do ảnh hưở ng ng của hiệu ứng Doppler, tương ứng vớ i
độ lệch tần số. Độ lệch tần số giữa thu và phát có th ể đạt đến 20% băng thông thông mà không ảnh hưở ng ng hiệu suất mã hóa. Vi ệc nhận LoRa có th ể khóa t ần số nhận đượ c, c, cung cấp độ nhạy lên tớ i -130 dBm. Khi thờ i gian sống của ký tự LoRa dài hơn so vớ i công nghệ tr ải phổ nhảy tần Frequency Hopping Spread Spectrum Spectrum (FHSS), các l ỗi đượ c tại bở i nhiễu có thể dễ dàng
đượ c sửa thông qua vi ệc sửa lỗi tiế p chuyển (Forward Error-correction Codes - FECs). Nhanh hơn điều chế truyền thông chẳng hạn như FSK làm cho LoRa thích hợ p vớ i công suất thấ p và truyền tin vớ i khoảng cách dài. c.2)
Thông số của lớ p vật lý
Một vài thông s ố có sãn cho vi ệc tùy biến trong việc điều chế LoRa như : băng thông (BW), hệ số tr ải phổ (SF) và t ỉ lệ mã hóa (CR). LoRa sử dụng một định nghĩa độ c
đáo cho việc tr ải phổ như logarit, số lượ ng ng Chirp/symbol. Các thông s ố ảnh hưở ng ng tớ i tốc độ bit, làm giảm ảnh hưở ng ng của nhiễu, và d ễ dàng gi ải mã.
Băng thông là thông số quan tr ọng nhất trong việc điều chế LoRa. Một symbol LoRa tạo ra 2SF chirps, bao ph ủ toàn bộ băng thông tần số. Nó bắt đầu vớ i một chuỗi
chirp được tăng lên. Khi tầ n số của băng thông đạ t cực đại, tần số sẽ đượ c bọc kín xung quanh, việc tăng tần số đượ c bắt đầu lại từ từ số nhỏ nhất. Hình 2.8 đưa ra ví dụ về việc vận chuyển LoRa trong vi ệc thay đổi tần số theo thờ i gian. Vị trí không liên t ục trong 7
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
chuỗi tần số được mã hóa thông tin đượ c chuyển đi. Có 2SF trong một ký tự, một ký tự có thể mã hóa SF(bits) m ột cách hiệu quả.
Fc kà tần số trung tâm của kênh truyền, và BW là băng thông
ự thay đổ i t ần số theo Hình 2. 3: S ự thay theo thờ i gian của mỗ i tín hiệu mẫu đượ c phát ra bở i tr ạm phát LoRa. Trong LoRa, t ỉ lệ Chirp phụ thuộc vào băng thông: tệ lệ churp bằng với băng thông ( một chirp/second/Hz băng thông). Mộ t vài chuỗi trong điều chế: việc tăng hệ số tr ải phổ sẽ chia kho ảng cách t ần số một chirp (bằng 2SF chirp trên toàn bộ băng thông) và thờ i gian sống của một symbol đượ c nhân lên g ấp đôi. Tuy nhiên, việ c chia hai t ỉ lệ bit, khi nhiều bit hơn sẽ đượ c vẫn chuyển trên mỗi symbol. Hơn thế nữa, tỉ lệ symbol và tỉ lệ bit đượ c cho bở i hệ số tr ải phổ tỉ lệ thuận với băng thông tầ n số, khi băng thông gấ p
đôi sẽ gấp đôi tỉ lệ truyền được. Điều này được đưa ra vởi phương trình dưới đây, l iên hệ giữa thờ i gian sống của một symbol (Ts) với băng thông và hệ số tr ải phổ. 2 =
LoRa chứa mã hóa s ửa lỗi. Code rate (CR) b ằng 4/(4+n), vớ i n € {1,2,3,4}.
Phương trình sau cho phép tính toán tỉ lệ bit (R b). =
2
Ví dụ, BW = 125 kHz, SF = 7, SR = 4/5 cho t ốc độ bit R b = 5.5 kbps Các thông s ố cũng ảnh hưở ng ng tới độ nhạy giải mã. Việc tăng băng thông làm cho
độ nhạy máy thu th ấp hơn, trong khi đó tăng hệ số tr ải phổ sẽ tăng độ nhạy máy thu. Giảm tốc độ mã hóa giúp gi ảm tỉ lệ lỗi packet khi có s ự ảnh hưở ng ng của nhiễu; ví dụ khi
8
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
packet nhận đượ c vớ i tốc độ mã hóa là 4/8 s ẽ tăng khả năng chống nhiễu hơn so vớ i tín hiệu đượ c vận chuyển vớ i tốc độ mã hóa là 4/5. B ảng 2.4 l ấy từ datasheet SX1276 SF
7
8
9
10
11
12
125 kHz
-123
-126
-129
-132
-133
-136
250 kHz
-120
-123
-125
-128
-130
-133
500 kHz
-116
-119
-122
-125
-128
-130
BW
Bảng 2. 2: Độ nhạ y máy thu của LoRa (theo dBm) khi băng thông và hệ số tr tr ải phổ khác khác nhau. c.3)
Định dạng frame vật lý
ỳ, định dạng frame được xác đị nh Mặc dù điều chế LoRa có thể truyền frame bất k ỳ, và tiến hành theo thu và phát c ủa Semtech. Băng thông và hệ số tr ải phổ là hằng số cho một frame Một frame đượ c bắt đầu vớ i một preamble. Preamble b ắt đầu vớ i một chuỗi hằng
ải trên toàn băng thông tầ n số. Hai upchirps cu ối cùng số bắt đầu gọi là upchirps đượ c tr ải đượ c giải mã ký tự đống bộ (gọi là Sync word). Sync word có giá tr t r ị 1 byte, thường để phân biệt mạng LoRa khi s ử dụng cùng một băng thông tầ n số. Một thiết bị đượ c cấu hình vớ i một sync word d ừng việc lắng nghe vi ệc vận chuyển nếu sync word không phù hợ p vớ i cấu hình. Sync word được đưa ra vởi 2.25 downchirps, có độ dài 2.25 symbols. Sau preamble, có m ột header tùy ch ọn. Khi đượ c bật header, header này đượ c gửi
đi vớ i tốc độ mã hóa là 4/8. Điề u này chỉ ra r ằng khối lượ ng ng của payload ( theo bytes), t ỉ lệ mã hóa đượ c sử dụng cho cu ối việc vận chuyển và liệu r ằng có hay không 16 bit CRC
cho payload có đượ c hiện diện cuối frame hay không. Kích thướ c của payload được lưu tr ữ một byte, giớ i hạn kích thướ c của payload t ớ i 255 ký t ự. Header đượ c tùy ch ọn để
cho phép đượ c tắt trong tình hu ống liệu r ằng có cần thiết hay không, ví d ụ khi độ dài payload, tỉ lệ mã hóa và CRC.
9
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo Header
Preamble
Payload
Payload CRC
(optional)
(optional)
CR = 4/8
CR = 4/(4+n)
ấu trúc frame của LoRa Hình 2. 4: C ấ Sự liên hệ giữa spreading factor (SF), coding rate (CR) và băng thông tín hiệ u (BW), thờ i gian gửi dữ liệu trong không gian c ủa packet LoRa có th ể được tính toán như
dưới đây. T s
1
Rs
Thờ i hạn của packet LoRa là b ằng tổng của chuỗi preamble và packet đượ c gửi đi.
Độ dài của preamble được tính toán như sau: T preamble
(npreamble
4.25)T sym
Trong đó n preamble là độ dài preamble c ủa chương trình, đượ c lấy từ thanh ghi RegPreambleMsb và RegPreambleLsb. Thờ i
gian của payload phụ thuộc vào chế độ
header đượ c bật. Công thức dưới đây đưa ra số ký tự payload
(8 PL 4SF 28 16CRC 20 IH ) ( C R 4 ) , 0 4 ( S F 2 D E )
n payloa payload 8 max ceil
Trong đó:
PL là số bytes của Payload (1 t ớ i 255) SF là spreading factor (6 t ớ i 12) IH =0 khi header đượ c bật, IH =1 khi không có header hi ện diện DE =1 khi LowDataRateOptimize=1 CR là coding rate (1 tương ứ ng vớ i 4/5, 4 là 4/8)
Thờ i gian của Payload: T payload
n payload T s
Thờ i gian trong không khí b ằng tổng thờ i gian của preamble và Payload T packet
Tp re amble
T payloa d
10
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
2.1.2. Giao thứ thứ c LoRaWAN Hệ thống LoRa chưa 3 phầ n chính:
Thiết bị cuối (End-devices): các c ảm biến/cơ cấu chấp hành đượ c k ết nối thông ra giao tiế p LoRa tớ i một hoặc nhiều Gateway Lora Gateway: b ộ tậ p trung dùng làm cầu nối từ các thiết bị cuối tớ i Servẻ, nó là phần tử trung tâm của kiến trúc mạng. Lora NetServer: Server c ủa mạng điều khiển toàn bộ hệ thống (quản lý tài nguyên, ki ểm soát truy c ậ p, bảo mật,…) Hình 2.10 mô t ả các thi ết bị cuối đượ c k ết nối thông giao tiế p LoRa tớ i Gateway,
và sau đó đượ c k ết nối tớ i Server thông qua m ạng Internet.
Hình 2. 5: Tiêu biể u cho mạng hình sao.
Điểm khác biệt của mạng LoRa là vi ệc hình dung 3 l ớ p của thiết bị cuối, lớ p A (cho tất cả), lớ p B (cho Beacon) Beacon) và l ớ p C (cho việc nghe liên t ục)
độ ban đầu của mạng LoRa và phải đươc hỗ tr ợ ợ b Lớp A được định nghĩa là chế độ ban bở i các thiết bị LoRa. Trong m ạng lớ p A, việc gửi đi luôn luôn đượ c bắt đầu bở i các thiết bị cuối. Sau mỗi lần dữ liệu đượ c gửi tớ i Gateway, thi ết bị cuối sẽ mở 2 2 cửa sổ tiế p nhận, chờ l lệnh bất k ỳ hay gói d ữ liệu đượ c tr ả về bở i Server. Lớ p A mục đích chính được hướ ng ng tớ i cho các ứng dụng giám sát, nơi các dữ liệu đượ c sản suất bở i các ạm điều khiển. thiết bị cuối, sau đó đượ c tậ p hợ p bở i tr ạm Lớp B đượ c giớ i thiệu dùng để uplink và downlink, được đồ ng bộ hóa vớ i Server bằng cách gửi gói dữ liệu broadcast b ở i Gateway l ớ p B, và có th ể nhận dữ liệu hoặc gói lệnh trong nh ững thờ i gian riêng bi ệt, cho dù . Lớp B đượ c dử dụng cho các thi ết 11
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
bị cuối cần nhận lệnh từ sự điều khiển từ xa chẳng hạn như chấ p hành, bật tắt hay cần cung cấ p dữ liệu cho ngườ i sử dụng Cuối cùng, Lớp C được định định nghĩa thiế t bị cuối không cần quá coi tr ọng về năng lượ ng, ng, nó có th ể duy trì c ửa sổ tiế p nhận luôn mở
2.2. Nguyên lý truyề truy ền và nhậ nhận dữ dữ liệ liệu trong mạ mạng LoRa Giao tiế p LoRa k ết hợ p của 3 loại giao tiế p số, thanh ghi tĩnh, thanh ghi tr ạng thái và data data buffer buffer FIFO. T ất cả đượ c k ết nối thông qua giao ti ế p SPI
2.2.1. Truyề Truyền dữ dữ liệ liệu Vào chế độ Stand-by
Khởi tạo trạng thái Tx
Viết data vào FIFO
Đưa vào mode Tx
Chờ cho cờ IRQ TxDone
Có
Có Tx mới?
Không
Chuyển qua mode mới
ữ liliệu trong LoRa Hình 2. 6: Mô t ả nguyên lý truy ề n d ữ -
Các thanh ghi tĩnh có thể đượ c truy cậ p ở ch chế độ Sleep, Standby ho ặc FSTX
-
FIFO LoRa chỉ có thể được điền trong chế độ Standby
-
Việc vận chuyển dữ liệu đượ c bắt đầu bằng gửi yêu cầu chế độ TX
-
Chờ cho cho cờ ng ngắt TxDone , sau đo chuyể n sang ch ế độ Standby 12
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
2.2.2. Nhậ Nhận dữ dữ liệ liệu trong mạ mạng LoRa Vào chế độ Stand-by
Khởi tạo trạng thái Rx
Đưa vào mode Rx
RxTimeout
Chờ cờ ngắt Rx?
RxDone
Có
Cờ IRQ Payload CRC Error?
Không
Đọc data
Chuyển qua mode mới
ữ liliệu trong LoRa Hình 2. 7: Mô t ả nguyên lý nhận d ữ ờ CRC đóng vai trò quan trọ ng trong việc Việc nhận dữ liệu trong mạng LoRa cờ CRC xác định dữ liệu nhận được có đúng hay không, giúp khắ c phục tình tr ạng chồng lấn hay xung đột dữ liệu giữa hai hay nhi ều thiết bị cùng lúc. 2.2.3. Cách k ết nố nối giữ giữ a node và Server Luận văn đượ c xây dựng hai gói packet, m ột gói dữ liệu đượ c gửi từ node t ớ i Server để gửi data thu thập đượ c từ node và m ột gói đượ c gửi ACK từ Server về node
để xác nhận đã nhận đượ c data.
13
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
a) Cấu trúc gửi data tớ i Server Cấu trúc gói packet (11 bytes) đượ c ghi vào FIFO và g ửi tớ i Server có c ấu trúc
như sau: Địa chỉ Server (3 bytes)
-
Địa chỉ node (1 byte)
Nhiệt độ (2 bytes)
Độ ẩm (2 bytes)
Khí CO (2 bytes)
Lượ ng ng pin (1 byte)
Địa chỉ Server (chiếm 3 bytes dữ liệu): tạo ra tớ i 224 địa chỉ dữ liệu, giúp hạn chế sai sót trên Server
-
Địa chỉ node (chi ếm 1 byte dữ liệu): Do có 3 thiết bị nên chỉ cần 1 byte là đủ
- Nhiệt độ (chiếm 2 byte dữ liệu): 1 byte cho nhi ệt độ nguyên, 1 byte cho
nhiệt độ phần thậ p phân -
Độ ẩm (chiếm 2 byte dữ liệu): 1 byte cho độ ẩm nguyên, 1 byte cho độ ẩm phần thậ p phân.
-
Khí CO (chiếm 2 byte dữ liệu): cũng giống như nhiệt độ và độ ẩm, 1 byte cho phần nguyên dương, 1 byte cho phầ n thậ p phân.
-
Lượ ng ng pin (chi ếm 1 byte d ữ liệu): Do pin đầ y là 4.2V nên ch ỉ cần sử dụng 1 byte.
b) Cấu trúc gửi ACK từ Server về node
Địa chỉ node (1 byte)
Địa chỉ Server (3 bytes)
ACK (1 bytes)
-
Địa chỉ node (chiếm 1 byte): đị a chỉ node gửi tr ả ACK
-
Địa chỉ Server ( chi ếm 3 bytes): Đị a chỉ của Server
-
Ack ( chiếm 1 byte): quy đị nh bit ACK tr ả về.
2.3. Giớ Giớ i thiệ thiệu module, IC sử s ử dụ dụng trong luận lu ận văn 2.3.1. Module LoRa Module LoRa c ủa hãng HopeRF và XIAMEN s ử dụng công ngh ệ điều chế LoRa, module LoRa có th ể đạt độ nhạy tớ i -148dBm.
14
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
a)
b)
Hình 2. 8: Module LoRa RFM98 RFM98 c ủa HopeRF (a) và SX1278 c ủa XIAMEN (b) a) Thông số k ỹ thuật Tần số hoạt động
433MHz
Cách điều chế
LoRa/FSK/GFSK/OOK
Công suất phát
20dBm
Độ nhạy thu
-136dBm (LoRa, BW =125kHz, SF=12,CR=4/5) SF=12,CR=4/5)
Cường độ dòng phát
120mA (+20dBm)
Cường độ dòng ở Standby
0.2uA
Chuẩn giao tiế p
SPI
Khoảng cách trao đổi
Hơn 8000m @LoRa
ở kháng anten Tr ở
50 Ohm
Nhiệt độ hoạt động
-20oC ~ 70oC
Nguồn cung cấ p
1.8-3.7V
15
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
b) Thông số chân ra và ch ức năng
Hình 2. 9: Mô t ả chân của module Lora SX1278
Số
Tên
Kiểu chân
Mô tả chức năng
1
GND
Power
Ground
2
MISO
Input
Dữ liệu ra SPI
3
MOSI
Output
Dữ liệu vào SPI
4
SCK
Input
Dữ liệu clock SPI
5
NSS
Input
Chọn chip SPI
6
RESET
Input/Output Input/Output
Reset
7
DIO5
Input/Output
Digital In/Out, cấu hình bở i phần mềm
8
GND
Power
Ground
9
ANT
-
Tín hiệu RF input/Output
10
GND
Power
Ground
11
DIO3
Input/Output
Digital In/Out, cấu hình bở i phần mềm
12
DIO4
Input/Output
Digital In/Out, cấu hình bở i phần mềm
13
3.3V
Power
Nguồn cung cấ p
14
DIO0
Input/Output
Digital In/Out, cấu hình bở i phần mềm 16
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
15
DIO1
Input/Output
Digital In/Out, cấu hình bở i phần mềm
16
DIO2
Input/Output
Digital In/Out, cấu hình bở i phần mềm
Bảng 2. 3: Chức năng từ ng ng chân của module SX1278 2.3.2. Giớ Giớ i thiệ thiệu về về Raspberry Pi [7] Raspberry Pi là m ột máy tính đơn khối có kích thướ c nhỏ như chiếc thể ATM,
đượ c phát triển bở i Quỹ Raspberry (nướ c Anh) vớ i mục tiêu khuyến khích học tậ p khoa học máy tính trong trườ ng ng học.
Hình 2. 10:
Raspberry Model B
Raspberry Pi đượ c bắt đầu phát triển từ năm 2006, bả n concept s ớ m nhất dựa trên vi điều khiển AVR Atmel ATmega644. Ngày 16 tháng 6 năm 2012, nhữ ng chiếc Raspberry Pi đầu tiên đượ c gửi đến tay ngườ i nhận. Đến ngày 22/5 hơn 20.000 chiếc đã đượ c bán ra. Ngày 16/7/2012, Qu ỹ Raspberry Pi thông báo có 4000 s ản phẩm đượ c phân phối mỗi ngày và b ắt đầu cho phép người dùng mua “máy tính nhỏ” này vớ i số
lượ ng ng lớn. Trong vòng 3 năm kể từ khi được bán ra, đã có hơn 5 triệ u chiếc Pi đã đượ c bán ra thị trườ ng ng (theo số liệu thống kê của trang chủ Raspberry Pi). Vậy điều gì làm nên thành công ngoài s ức tưởng tượ ng ng của Raspberry Pi:
Raspberry Pi có m ức giá quá h ấ p dẫn: chỉ từ 25$ cho một chiếc bo mạch có thể làm hầu như mọi ứng dụng hằng ngày như lướ t web, lậ p trình, xem phim HD đến ờ đến như điều khiển robot, nhà thông minh,.. những ý tưở ng ng mà b ạn không ngờ đến Một điều quan tr ọng là nó tiết kiệm điện và khả năng chạy liên tục 24/24. Raspberry Pi ch ạy hệ điều hành Linux: Linux: 99% nh ững thứ mà bạn có thể làm trên máy tính đều có thể làm trên Window và quan tr ọng là tất cả đều miễn phí! Raspberry Pi có kích thướ c tí hon: chỉ tương đương như mộ t chiếc thẻ ATM và nặng chưa đầy 50 gram. Gắn vớ i chiếc tivi, bạn có thể biến nó thành m ột thiết bị 17
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
giải trí thông minh trong phòng khách. Gắn vớ i màn hình và bàn phím, chu ột, bạn có thể biến nó thành m ột chiếc máy tính đúng nghĩa. Nhỏ gọn và tiện lợ i Cộng đồng Raspberry Pi phát tri ển r ất nhanh trên thế giớ i: i: Hầu hết những thắc mắc của bạn đều đượ c giải đáp rất nhanh va còn hơn thế nữa: bạn có thể tìm thấy hang ngàn d ữ án đã thực hiện và vố số ý tưởng độc đáo. Vớ i những ưu điểm độc đáo trên, Raspberry đã vượ t khỏi biên giớ i vủa trườ ng ng học
ở thành và tr ở thành thiết bị ưa thích của r ất nhiều người đam mê điệ n tử và lậ p trình. Sự thành mở đã một bướ c phát triển mớ i cho tin học: đem máy tính và cả m hứng công của nó đã mở đã lập trình đến gần mọi người hơn bao giờ h hết Raspbery Pi s ử dụng chip Broadcom BCM2835 SoC (System on Chip) có ch ứa bộ xử lý ARM1176JZF-S 700 Mhz (có th ể ép xung lên 1Ghz), GPU Video Core IV, và b ộ nhớ RAM RAM 256 sau nâng c ấ p lên 512MB. Nó không có ổ cứng hay SSD đi kèm mà sử dụng thẻ SD để lưu trữ dữ và khởi động hệ điều hành.
2.3.3. Webserver
a) Khái niệm về Web Server. Webserver là m ột máy tính đượ c k ết nối vào Internet và ch ạy các phần mềm đượ c thiết k ế. Webserver có kh ả năng tiế p nhận yêu cầu từ các trình duyệt web và g ửi phản hồi đến máy khách nh ững trang web thông qua môi trườ ng ng mạng Internet qua giao th ức HTTP hoặc các giao th ức khác. Webserver đóng vai trò là một chương trình xử lý các nhiệm vụ xác định như xử lý dữ liệu, kiểm tra dữ liệu hợ p lệ.
ợ các Web server h ỗ tr ợ các công ngh ệ khác nhau , ví d ụ như: ợ m IIS (Internet Information Service): H ỗ tr ợ một số tập tin như .asp, mở r r ộng hỗ ợ PHP,… tr ợ PHP,…
18
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
ợ PHP Apache: Hỗ tr ợ PHP ợ JSP JSP (Java Servlet Page). Tomcat: Hỗ tr ợ Hình 2. 11:
Mô t ả về Web Web Server
Trong luận văn này sử dụng phần mềm Apache làm Web Server vì tính thông dụng và miễn phí của nó. b) Giớ i thiệu về LAMP LAMP là chữ viết tắt thường được dùng để chỉ sự sử dụng các ph ần mềm Linux, Apache, Linux, Apache, MySQL MySQL và ngôn ng ữ văn lệnh PHP nh PHP hay hay Perl Perl hay hay Python Python để tạo nên một môi trườ ng ng máy chủ Web có kh ả năng chứa và phân ph ối các trang Web độ ng.
Hình 2. 12:
Mô t ả về LAMP LAMP
LAMP là sự k ết hợ p của Linux + Apache + MySQL + PHP [8]:
19
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
Linux: là m ột hệ điều hành máy tính d ựa trên Unix đượ c phát tri ển và phân phối qua mô hình t ự do mã nguồn mở , chiếm tỉ lệ lớ n trên các máy ch ủ. Trong Raspberry Pi, được cài đặ t hệ điều hành Raspbian, m ột hệ điều hành đượ c dựa trên nền tảng Linux đượ c tối ưu hóa trên Pi. Apache: là ph ần mềm mã ngu ồn mở , miễn phí, và là ph ần mềm máy chủ web ất an toàn, nhanh chóng và đáng tin cậ y. Chúng phổ biến nhất trên mạng. Nó r ất ợ các ta có thể tùy chỉnh để Apache hỗ tr ợ các ngôn nh ữ web khác nh au như PHP, CGI / Perl, SSL, SSI, ePerl, và th ậm chí ASP. MySQL: là hệ quản tr ị cơ sở d dữ liệu nhanh nh ất thế giớ i,i, là cơ sở d dữ liệu nguồn mở ph phổ bi ến nhất trên thế giớ i vì hiệu suất cao, độ tin cậy cao và d ễ sử dụng. MySQL chạy được trên hơn 20 nề n tảng bao gồm cả Linux, Windows, Mac OS, Solaris, IBM AIX, cho phép b ạn linh hoạt kiểm soát hệ thống. PHP: là một ngôn ngữ k ịch bản trên máy ch ủ (server-side scripting language). ất nhanh, tương thích Nó có kh khả năng nhúng vào ngôn ngữ HTML đượ c xử lý r ất vớ i nhiều nền tảng hệ điều hành.
c) Tìm hiểu ngôn ngữ PHP c.1)
Khái niệm PHP
PHP là một ngôn ngữ lập trình đượ c k ết nối chặt chẽ vớ i máy chủ, là một công nghệ phía máy ch ủ (Server – Side) Side) và không ph ụ thuộc vào môi trườ ng ng (cross-platform). Khi một trang Web mu ốn đượ c dùng ngôn ng ữ PHP thì phải đáp ứng đượ c tất cả các quá trình xử lý thông tin trong trang Web đó, sau đó đưa ra kế t quả ngôn ngữ HTML.
PHP đượ c sử dụng làm Web động vì nó nhanh, d ễ dàng, t ốt hơn so vớ i các gi ải pháp khác. khác. c.2)
Hoạt động của PHP
Vì PHP là ngôn ng ữ của máy ch ủ nên mã l ệnh của PHP sẽ tậ p trung trên máy ch chủ
để phục vụ các trang Web theo yêu c ầu của ngườ i dùng thông qua trình duy ệt
20
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
Hình 2. 13:
Mô t ả hoạt động PHP
Khi ngườ i dùng truy cậ p Website viết bằng PHP, máy ch ủ đọc mã lệnh PHP và x ử lý chúng theo các hướ ng ng dẫn đượ c mã hóa. Mã l ệnh PHP yêu c ầu máy ch ủ gửi một dữ liệu thích hợ p (mã lệnh HTML) đến trình duyệt Web. Khi trình duyệt truy cậ p vào một trang PHP, Server s ẽ đọc nội dung file PHP lên và l ọc các đoạn mã PHP và th ực thi các
đoạn mã đó, lấ y k ết quả nhận đượ c của đoạn mã PHP thay th ế vào chỗ ban đầu của chúng trong file PHP, cu ối cùng Server tr ả về k ết quả cuối cùng. c.3)
Framework PHP
Framework là m ột bộ thư viện đượ c tổ chức theo một mô hình sẵn và tích hợ p nhiều thư viện sẵn giúp lậ p trình viên tiết kiệm thờ i gian, đồng thờ i giải quyết vấn đề tạo ra chuẩn chung cho các l ậ p trình viên khi làm vi việc nhóm. Những lợ i ích khi sử dụng framework:
Nâng cao t ốc độ phát triển sản phẩm Cung cấp code đượ c tổ chức tốt, có thể sử dụng lại và dễ dàng bảo trì Cho phép bạn phát triển theo thờ i gian khi các ứng dụng đượ c mở r r ộng Giải phóng khỏi những lo ngại về bảo mật ở m mức thấ p Tuân theo mô hình MVC (Model-View- Controller) đảm bảo tách biệt giữa phần trình diễn và ph ần logic nghiệ p vụ. 21
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
Thúc đẩy phương thứ c phát triển trang web hi ện đại như các công cụ lậ p trình hướ ng ng dối tượ ng. ng.
Hiện nay có khá nhi ều framework đượ c xây dựng từ PHP như Zend, Laravel,
Symfony, Yii 2,… Mỗ i framework có nh ững điểm mạnh yếu khác nhau và tùy vào s ở thích nhu cầu để chọn làm dự án. Laravel là framework ph ổ biến nhất mà các nhà phát tri ển sử dụng. Nhờ có có một hệ sinh thái l ớ n và nền tảng giúp triển khai ứng dụng một cách nhanh chóng , đơn giản và hiệu quả. Trong luận văn này, Laravel được dùng làm framework để lậ p trình PHP vì
tính đơn giản và dễ lậ p trình của nó. d) MySQL d.1)
Giớ i thiệu cơ sở d dữ liệu:
MySQL là ứng dụng cơ sở d dữ liệu mã nguồn mở ph phổ biến nhất hiện nay và đượ c sử dụng phối hợ p vớ i PHP.
MySQL là cơ sở d ợ trên dữ liệu hỗ tr ợ trên nhi ều nền tảng, cho phép ngườ i sử dụng có thể thao tác các hành động liên quan đế n nó. Vi ệc tích hợ p công ngh ngh ệ PHP và MySQL vào Webserver là công vi ệc cần thiết. d.2)
Mục đích sử dụng cơ sở d dữ liệu
Mục đích sử dụng cơ sở d dữ liệu bao gồm các ch ức năng như: lưu trữ , truy cậ p, tổ chức và x ử lý.
Lưu trữ: Lưu trữ trên đĩa và có thể chuyển đổi dữ liệu từ cơ sở d dữ liệu này sang cơ sở d dữ liệu khác. Truy cậ p: Truy cậ p dữ liệu phụ thuộc vào mục đích và yêu cầu của ngườ i sử dụng, ở mức độ mang tính cục b ộ, truy cập cơ sở d d ữ li l iệu ngay trong cơ sở d d ữ liệu v ớ i nhau, nhằm trao đổi hay xử lý dữ liệu ngay bên trong chính nó. Tổ chức: Tổ chức cơ sở d dữ liệu phụ thuộc vào mô hình cơ sở d dữ liệu, phân tích và thiết k ế cơ sở d dữ liệu tức là tổ chức cơ sở d dữ liệu phụ thuộc vào đặc điể m của từng ứng dụng. Xử lý: Tùy vào nhu c ầu tính toán và truy v ấn cơ sở d dữ liệu vớ i các mục đích khác nhau, cần phải sử dụng các phát bi ểu truy vấn cùng các phép toán. Để thao tác hay xử lý dữ liệu bên trong chính cơ sở d dữ liêu. 22
Luận văn tốt nghiệ p d.3)
GVHD: ThS. Bùi Quốc Bảo K ết nối vớ i database[9]
Để làm mọi thứ vớ i database, k ết nối phải đượ c thiết lập đầu tiên. Hàm PHP cho phép k ết nối thông qua l ệnh mysql_connect. Hàm này có 3 tham s ố. Ví dụ: $host = “localhost”; $user = “root”; $pswd = “password”; $link = mysql_connect($host, $user, $pswd);
Host gần như luôn luôn là localhost. Đây chính là server mà trang sẽ chạy trên đó. User và pswd là username và password đượ c yêu cầu để vào đượ c host. Khi
mysql_connect đượ c gọi, tài nguyên đượ c tạo ra và đượ c liên k ết vớ i biến $link. Sau khi k ết nối đượ c thiết lậ p, database database phải đượ c chọn. Hàm mysql_select_db
cho phép lưa chọn database. Hàm này có 2 tham s ố, tham số thứ nhất là tên của database đượ c chọn, thứ 2 là liên k ết tớ i server ch ứa database trong đó. $db = “a_db”; mysql_select_db($db, mysql_select_ db($db, $link); $link );
d.4)
Thêm dữ liệu vào database
Một khi k ết nối đượ c thiết lậ p, thông tin có thể đượ c thêm vào database. Để thêm
ất đơn giản. dữ liệu vào database r ất mysql_query(“INSERT mysql_query(“INSERT INTO INTO a_table (field1, field2) field2) VALUES VALUES (‘”.$_POST[‘field1’].”’, ‘”.$_POST[‘field2’].”’) “);
Code trên đơn giản thêm dữ liệu vào bảng database (a_table)
2.3.4. Cảm biế biến nhiệt nhiệt độ và độ ẩm (DHT22/AM2302) a) Tổng quan AM2302 là cảm biến nhiệt độ và độ ẩm có ngõ ra đượ c hiệu chỉnh tín hiệu số. Nó áp dụng công ngh ệ thu thậ p nhiệt độ và độ ẩm dữ liệu số, giúp cho vi ệc đọc tín hiệu một cách ổn định và h ợ p lý. Thành phần cảm biến trong AM2302 đượ c k ết nối vớ i chip 8 bit. Mỗi cảm biến đều đượ c hiệu chỉnh và bù tr ừ nhiệt độ một cách chính xác và h ệ số hiệu chỉnh được lưu trong bộ nhớ OTP, OTP, khi cảm biến phát hiện, nó l ấy hệ số từ bộ nhớ .
23
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
Kích thướ c nhỏ, công su ất tiêu thụ thấ p, khoảng cách truyền tin dài (100m) trên AM2302 phù hợ p vớ i tất cả các loại ứng dụng khắc nghiệt nhất . Được đóng gói mộ t
hàng đơn vớ i bốn chân, làm cho vi ệc k ết nối r ất thuận tiện.
24
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
b) Thông số k ỹ thuật: Model Nguồn cung cấ p Tín hiệu ngõ ra Thành phần cảm biến Khoảng hoạt động
Độ chính xác Độ phân giải hay độ nhạy Lặ p lại
Độ tr ễ độ ẩm
AM2302 3.3-5.5V DC Tín hiệu số thông qua giao ti ế p 1 dây Tụ độ ẩm polime
Độ ẩm:0-100%RH ; Nhiệt độ:-40~80oC Độ ẩm:+-2%RH(Max :+-5%RH) ; Nhiệt độ:+-0.5oC Độ ẩm:0.1%RH ; Nhiệt độ:0.1oC Độ ẩm:+-1%RH ; Nhiệt độ:+-0.2oC +-0.3%RH
Ổn định
+-0.5RH/năm
Thay thế
Thay th ế hoàn toàn
Bảng 2. 4: Thông số c cảm biế n AM2302 c) Kích thước và sơ đồ chân c.1)
Cách hoạt động.
Dữ liệu nhận đượ c gồm 40 bit. Trong đó có 16 bit độ ẩm, 16 bit nhiệt đọ và 8 bit checksum. Khi MCU gửi tín hiệu bắt đầu đọc dữ liệu, AM2302 t ừ tr ạng thái standby sang tr ạng thái running. Khi MCU k ết thúc gửi tín hiệu bắt đầu, AM2302 sẽ gửi tín hiệu đáp
ứng gồm 40 bit để phản ánh nhiệt độ và độ ẩm tớ i MCU. Nếu không có tín hi ệu từ MCU, cảm biến sẽ không gửi tín hiệu đáp ứng tớ i MCU. Một tín hiệu bắt đầu sẽ cho một dữ liệu đáp ứng từ cảm biến. AM2302 sẽ không thay đổi trang thái standby n ếu nó không nhận đượ c tín hiệu bắt đầu từ MCU lần nữa.
Dưới đây l à toàn bộ quá trình xử lý, toàn b ộ quá trình mất khoảng 2 giây
25
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
Khi muốn giao tiế p giữa MCU và AM2302, MCU s ẽ kéo đườ ng ng data xuống thấ p và quá trình x ử lý này m ất ít nhiết từ 1-10ms để đảm bảo AM2302 có th ể phát hiện tín hiệu từ MCU và ch ờ kho khoảng 20-30us để AM2302 đáp ứ ng. Khi AM2302 phát hi ện tín hiệu bắt đầu, nó s ẽ kéo đườ ng ng bus xuống thấ p khoảng
80us để coi đó là tín hiệu đáp ứng, sau đó sẽ kéo lên cao 80us để chuẩn bị gửi dữ liêu. Khi AM2303 gửi dữ liệu tớ i MCU, mỗi bit đượ c gửi sẽ đượ c bắt đầu vớ i mức thấ p khảng 50us, sau đó sẽ là mức cao, độ dài của mức cao s ẽ quyết định bit đó là 0 hay 1. Dữ liệu của AM2302 đượ c mô tả như hình :
26
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
2.3.5. Cảm biế biến khí CO (MQ-7) MQ7 là cảm biến bán d ẫn, đượ c làm từ SnO2, một vật liệu cảm biến có tính dẫn thấ p trong không khí sạch. Cảm biến MQ7 nhạy cảm vớ i khi CO. Nó là cảm biến có chi phí thấ p, thích hợ p cho các ứng dụng để phát hiện khí trong nhà, khu công nghi ệ p.
Hình 2. 14:
Sơ đồ k ế ết nố i vớ i cảm biế n
Trong đó Rs là điện tr ở ở c của cảm biến MQ7 khi có sự thay đổi môi trườ ng ng ở đượ c thêm vào RL là điện tr ở đượ Ta có : Rs=RL*(5-Vout)/Vout
(1)
27
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
Dựa vào bảng đặc điểm độ nhạy đượ c cho bở i datasheet MQ-7, Ta có: ppm (CO) = a*(Rs/Ro)^b Sử dụng công c ụ Excel, ta tính đượ c hàm: ppm = 86.358(Rs/Ro) 86.358(Rs/Ro) -1.465
Tỉ số Rs/Ro được điều chỉnh phụ thuộc vào nhiệt độ vào độ ẩm tại môi trườ ng ng
được đưa ra như hình trên. Để xác định phương trình toán họ c của hai đườ ng ng cong, s ử dụng công c ụ Excel để tính đượ c[10]:
Ta có :
Rs/Ro@85%RH = -0.111*ln(temp) -0.111*ln(temp) + 1.1686
Rs/
[email protected]%RH = -0.123*ln(temp) -0.123*ln(temp) + 1.2831
Rs/Ro@33%RH = -0.135*ln(temp) -0.135*ln(temp) + 1.3975
Công thức chung : Rs/Ro = a*ln(temp) + b
(1)
A và b liên h ệ tuyến tính theo độ ẩm vớ i nhau:
28
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
Ta có:
0.33
0.88
A
-0.135
-0.111
b
1.3975
1.1686
A= 0.0436*RH-0.1494 0.0436*RH-0.1494
(2)
B = -0.416 *RH+1.535 K ết hợp phương trình (1) và (2), ta được phương trình Rs/Ro theo nhiệt độ và độ
ẩm: Rs/Ro = (0.0436*RH-0.1 ( 0.0436*RH-0.1494) 494) * ln(temp) l n(temp) +(-0.416 *RH+1.535) *Tính hiệu chuẩn Ro: Ví dụ tại điều kiện phòng bình thườ ng: ng: RH = 85%, nhi ệt độ : 30oC , CO = 30ppm
Điện tr ở Rs ở Rs tính đượ c là : Rs = 26.15k Ta có công th ức: ppm (CO) = 86.358(Rs/Ro)-1.465
Ro = 10.25k
2.3.6. IC thờ thờ i gian thự thự c (PCF8583) a) Giớ i thiệu tổng quát PCF 8583 là IC th ờ i gian thực và lịch, dựa trên công ngh ệ CMOS RAM tĩnh 2048 bit vớ i 256 địa chỉ 8 bit của hãng Philip. Địa chỉ và data đượ c truyền nối tiế p thông qua chuẩn giao ti ế p I2C. Địa chỉ đượ c tự động tăng sau mỗ i lần đọc hoặc ghi data. Đị a chỉ
chân A0 đượ c sử dụng cho chương trình phầ n cứng, cho phép k ết nối vớ i 2 thiết bị mà không cần thêm phần cứng
Đượ c xây dựng mạch thạch anh 32.76 8 kHz và 8 bytes đị a chỉ RAM đượ c sử dụng cho đồng hồ, lịch và hàm đếm. 8 bytes ti ế p theo có thể đượ c sử dụng cho thanh ghi báo thức hoặc RAM tr ống. 240 bytes còn l ại là RAM tr ống. b) Đặc điểm
Giao tiế p I2C hoạt động trong khoảng điện áp từ 2.5V tớ i 6V
Hoạt động clock trong khoảng điện áp t ừ 1V tớ i 6V tại 0oC tớ i +70 oC 29
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
240 x 8 bit RAM điệ n áp thấ p
Điện áp duy trì data t ừ 1.0V tớ i 6.0V
Dòng hoạt động: tối đa 50 µA
Định dạng 24 ho ặc 12 gi ờ
Tự động tăng đị a chỉ
Hàm báo động, timer and ng ắt
Địa chỉ: A1h hoặc A3h cho vi ệc đọc, A0h hoặc A2h cho việc ghi
c) Sơ đồ khối Hình 2. 15:
Sơ đồ khố i của IC PCF8583
30
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
Chương 3: THIẾ THIẾT K Ế VÀ THI CÔNG MÔ HÌNH PHẦ PHẦN CỨ CỨ NG NG 3.1. Mô hình luận luận văn.
Webserver
Server Gateway Raspberry Pi Node
SPI
LoRa Transceive +Thờ i gian thực (PCF8583) +Cảm biến nhiệt độ, độ ẩm (DHT22) +Cảm biến khí CO (MQ7)
LoRa Transceive
SPI
MCU ATMEGA328
ổng Hình 3. 1: T ổ n g quan mô hình lu ận văn Mô hình của luận văn gồ m:
Một tr ạm thu dữ liệu thu thậ p các thông số môi trườ ng ng (gọi là Server) từ các tr ạm con (node). Sau khi nh ận dữ liệu từ các node, Server s ẽ lưu dữ liệu vào database (MySQL), khi có d ữ liệu mớ i trong database, d ữ liệu đượ c xử lý để hiển lên web, và s ẽ phát tín hi ệu cảnh báo vào email n ếu dữ liệu nhận đượ c từ
node quá ngưỡng được cài đặt ban đầ u.
Node dùng để thu thậ p các thông s ố môi trườ ng ng từ các cảm biến nhiệt độ, độ
ẩm, khí CO trong m ột khoảng thời gian được cài đặt trước. Khi đúng thờ i gian đã được đặt trướ c, c, IC thờ i gian thực sẽ phát tín hiệu để bật khối trung tâm xử lý, thu thậ p dữ liệu gửi tớ i Server.
31
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
3.1.2. Trạ Trạm thu dữ dữ liệ liệu (Server) a) Mô hình phần cứng. Khối bàn phím :
Điều Điều khiể khiển trung tâm
3 phím
Khối thu phát tín hiệu LoRa
Raspberry Pi
Khối hiển thị: LED LDO Khối nguồn 5VDC
Khối nguồn 3.3VDC
ấu trúc phần cứ ng ữ liliệu Hình 3. 2: C ấ ng của tr ạm thu d ữ Chức năng của từng khối của tr ạm thu dữ liệu:
Khối điều khiển trung tâm: Dùng Raspberry Pi làm b ộ điều khiển và xử lý dữ liệu. Khối này có nhi ệm vụ nhận các thông tin t ừ các tr ạm con, xử lý các thông tin thu nhận được, qua đó lưu dữ liệu vào database, hi ển thị lên web và th ực hiện các cảnh báo n ếu quá ngưỡng được cài đặt trướ c. c.
Khối nguồn 5VDC: Đượ c cung c ấ p từ adapter chuyển đổi điện áp 220VAC sang 5VDC.
Khối nguồn 3.3VDC: Đượ c giảm áp từ khối nguồn 5V xuống 3.3V dùng IC giảm thế cố định LM1117-3.3V. Dùng để cung cấ p cho khối thu phát tín hiệu LoRa.
Khối thu phát tín hiệu LoRa: Dùng để thu phát tín hi ệu qua mạng LoRa, t ần số 433Mhz. Khối này dùng module GB1278-H, s ử dụng giao ti ế p SPI.
Khối bàn phím: Dùng điều điề u khiển khối điều khiển trung tâm, có ch ức năng tắt nguồn, khởi động lại và..
Khối hiển thị: dùng Led để hiển thị, hiển thị sự có nguồn và đèn tín hiệ u tr ạng thái của khối trung tâm.
32
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
b) Mạch từng khối của tr ạm thu dữ liệu b.1)
Khối xử lý trung tâm.
ợ giao Do module LoRa s ử dụng giao tiế p SPI, Raspberry hỗ tr ợ giao tiế p SPI trên các chân 19 (MOSI – Master Master Out Slave In), 21(MISO – Master Master In Slave Out), 23 (SCK)và ( SCK)và chân 24,26 (CS – Chip Chip Select). Các chân của LED, nút nh ấn đượ c k ết nối vào các GPIO c ủa Raspberry Pi như trong schematic. b.2)
Khối nguồn 3.3VDC
33
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
LM1117-3.3V là IC c ủa hãng TI có s ẵn các thế cố định 1.8V, 2.5V, 3.3V và 5V. Vớ i dòng ra lên tớ i 800mA, hi ệu suất cao.
Sơ đồ cấu trúc của LM1117
Theo datasheet c ủa hãng, t ụ điện ngõ ra c ực giúp duy trì s ự ổn định. Tụ điện càng lớn giúp làm tăng sự ổn định và đáp ứ ng. b.3)
Khối hiển thị và nút nh ấn
LED được điều khiển tr ực tiế p qua GPIO của Raspeberry nên đượ c k ết nối tớ i GPIO của Raspberry . LED1 đượ c k ết nối tới GPIO4 (pin 7), LED2 đượ c k ết nối vớ i GPIO3 (pin 5). Nút nhấn đượ c k ết nối tớ i GPIO của Raspberry. Khi nút nh ấn không đượ c bấm, GPIO luôn ở m mức cao (3.3V). Khi nút nh ấn đượ c bấm, GPIO đó ở m mức thấ p (0V) 34
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
Led hiển thị: R
LE D
Chọn R
LE D
b.4)
3.3 V LE D I LE D
3.3 2 20mA
65
68
Khối thu phát LoRa
Module LoRa theo chu ẩn giao tiế p SPI (Serial Peripheral Peripheral Interface):
Các chân SCK, MISO, MOSI c ủa LoRa (tương ứ ng với pin 4, 5, 6) đượ c k ết nối chung tớ i chân SPI c ủa Raspberry Pi.
Chân SS (pin 7) dùng để chọn module giao ti ế p nên sẽ k ết nối vào 2 chân GPIO của Raspberry Pi
Ngoài ra Reset Reset (Pin 10) s ẽ đượ c k ết nối với GPIO dùng để Reset module LoRa
Dưới đây là bảng k ết nối các chân module v ớ i Raspberry Pi Khối phát LoRa SCK (pin 4) MISO (pin 5) MOSI (pin 6) SS0 (pin 7)
Khối thu LoRa SCK (pin 4) MISO (pin 5) MOSI (pin 6) SS1 (pin 7)
RESET_TX(pin 10) 3.3V(pin 9) GND (pin 8)
RESET_RX(pin 10) 3.3V(pin 9) GND (pin 8)
Raspberry Pi GPIO11 (pin 23) GPIO9 (pin 21) GPIO10 (pin 19) GPIO8 (pin 24) GPIO7 (pin 26) GPIO27 (pin 13) GPIO17 (pin 11) 3.3V GND
35
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
c) Sơ đồ hoàn ch ỉnh
36
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
3.1.3. Trạ Trạm con (Node) a) Mô hình phần cứng.
Thờ i gian thực Khối bàn phím : 2 hím
Điều Điều khiể khiển trung tâm Khối cảm biến:
Khối thu phát tín hiệu LoRa
ATMEGA328
nhiệt độ, độ ẩm, CO
Bật tắt nguồn
LDO Boost
Khối nguồn 5VDC
Pin
Khối nguồn 3.3VDC
Hình 3. 3: Mô hình phần cứ ng ng node b) Mạch từng khối của tr ạm con b.1)
Khối nguồn
Khối giảm áp xuống 3.3V để cũng cấ p cho khối thu phát LoRa
- Ngõ vào là ngu ngu ồn pin 3.7V, tụ lọc nguồn C2 (10uF)
37
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
- Ngõ ra 3.3V, tụ lọc C3 (10uF), C4 (100nF) giúp c ải thiện thời gian đáp ứng ngõ
ra. -
Chân Enable giúp b ật tắt nguồn. Chân Enable đượ c k ết nối với vi điều khiển thông qua chân digital (chân PD5 – pin pin 9). Khối nguồn đượ c boost t ừ nguồn pin lên 5V
Ta có:
VOUT
Vớ i V
OUT
R4 R5
22
3
V
REF
5V
(1
, V
REF
Chọn R
5
R4 R5
)
0.6V
2.4k
R4
18k
38
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
Khối bật tắt nguồn phần cảm biến
Chận dùng để điều khiển MOSFET đượ c k ết nối với vi điều khiển qua chân digital, chọn chân PD6 (pin 10). Khi 5V_EN=0V thì MOSFET kênh N (U4A) t ắt, MOSFET kênh P (U4B) t ắt. VOUT (5V_SW) = 0V. Khi 5V_EN=5V thì MOSFET kênh N (U4A) d ẫn, MOSFET kênh P (U4B) d ẫn. VOUT (5V_SW) = 5V. b.2)
Khối thờ i gian thực (PCF8583)
39
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
Vì IC PCF8583 giao ti ế p với vi điều khiển theo chuẩn giao tiế p I2C.
ợ giao ATMEGA328 hỗ tr ợ giao tiế p này qua 2 chân PC4 (SDA) và và chân PC5 (SCL). (SCL). Chân INT của IC sẽ báo hi ệu khi thờ i gian báo th ức đượ c bật. Chân này đượ c k ết nối với vi điều khiển, dùng để bật vi điều khiển. Do chân này dùng để bật vi điều khiển
ợ 22 chân ng ắt nên sẽ nối vào chân ng ắt tương ứng trên vi điề u khiển. ATMEGA328 h ỗ tr ợ PD2 (int.0) và chân PD3 (int.1) nên ch ọn một trong hai chân. Ở đây, đượ c k ết nối vào chân interrupt 0 (PD2). Mạch có sử dụng pin CR2302-3V dùng để cung c ấ p nguồn cho real time ch ạy
đúng thời gian khi đã tắ t hết ngoại vi đi. b.3)
Khối cảm biến
Cảm biến nhiệt độ, độ ẩm (DHT22): sử dụng chuẩn giao tiế p 1-Wire, đượ c k ết nối
ở 10k với điện tr ở 10k (R7) lên ngu ồn. Do là giao ti ế p số nên sẽ đượ c k ết nối vớ i ATMEGA328 vào chân digital. Ch ọn chân PD7 (do là chân giao ti ế p digital)
– MQ7: khi môi trường thay đổi, cảm biến cũng thay đổ i theo Cảm biến khí CO – MQ7: giá tr ị điện áp. Vì vậy cần phải k ết nối vào chân analog để đọc ADC. ATMEGA328 h ỗ
ợ 8 chân analog (trong đó có 2 chân I 2C). Chọn chân ADC6 (pin 19). tr ợ 8
40
Luận văn tốt nghiệ p b.4)
GVHD: ThS. Bùi Quốc Bảo Khối vi điều khiển, nút nhấn và debug
Mạch vi điều khiển đượ c k ết nối vớ i thạch anh 16Mhz, k ết nối vớ i các cảm biến, nút nhấn, LoRa và đọ c tr ạng thái pin nguồn. Nguồn pin đượ c k ết nối với chân đọc giá tr ị điện áp của nguồn pin, sử dụng ADC3 (pin 26) để đọc ADC.
41
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
Nút nhấn giúp reset (SW2) vi điều khiển khi cần thiết, đượ c kích hoạt ở m mức thấ p
và đượ c k ết nối với chân Reset vi điề u khiển. Nút nhấn SW1 giúp b ật vi điều khiển mà không cần phải chờ ng ngắt trên chân của IC thờ i gian thực. Do chân interrupt 0 đã đượ c sử dụng cho PCF8583 nên ch ỉ còn một chân cho interrupt (pin 1). Header giúp n ạ p bootloader (sử dụng MISO, MOSI, SCK, RESET c ủa vi điều khiển)và nap code cho vi điều khiển (sử dụng 2 chân UART và chân RESET). b.5)
Khối thu phát LoRa
Module LoRa (RFM98) giao ti ế p với vi điều khiển thông qua các chân SPI. K ết nối các chân
– MISO(vi điều khiển), MOSI (LoRa) – MOSI – MOSI (vi điều khiển), SCK (LoRa) – MISO (LoRa) – MISO(vi SCK (vi điều khiển), NSS (LoRa) – SS – SS (vi điều khiển), chân Reset (LoRa) – PB1(pin PB1(pin 13 vi điều khiển).
42
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
c) Sơ đồ hoàn ch ỉnh
43
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
Chương 4: GIẢ GIẢI THUẬT THUẬT CHƯƠNG TRÌNH 4.1. Giả Giải thuậ thuật khố khối trung tâm (Server) 4.1.1. Thu thậ thập thông tin từ từ các các node Start
LoRa, LED Configure
Không
Kiểm tra dữ liệu tới?
Hiển thị LED trạng thái hoạt động
Sai
Có
Kiểm tra địa chỉ gởi tới?
Đúng
Send ACK
Lưu dữ liệu vào database
ữ liliệu t ừ ừ các Hình 4. 1: Lưu đồ giải thuật khố i trung tâm về nh nhận d ữ các node a) Nguyên lý hoạt động Khối trung tâm sẽ nhận data từ node, đồng thờ i hiển thị nháy led khi có packet
đượ c truyền tớ i.i. Server luôn ki ểm tra xem có dữ liệu nào đượ c gửi tới, khi có packet đượ c gửi tớ i Server sẽ kiểm tra xem có phải đượ c gửi từ node t ớ i trung tâm hay không? N ếu sai, sẽ
thr ead song song, 1 thread dùng để send tiế p tục kiểm tra dữ liệu. Nếu đúng, sẽ tạo ra 2 thread 44
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
ACK tớ i node vừa gửi data, 1 thread s ẽ lưu dữ liệu vừa nhận đượ c vào database. Sau khi hoàn thành, server s ẽ tiế p tục rơi vào trang thái chờ d dữ liệu tiếp theo đượ c gửi tớ i.i. b) Giải quyết đụng độ, chồng lấn Việc đụng độ giữa hai hay nhi ều node cùng m ột lúc khó xảy ra, do trướ c khi gửi dữ liệu tớ i Server, node đã thực hiện việc LBT (listen-before-talk) để kiểm tra xem li ệu có kênh truyền nào đang hoạt độ ng hay không? (s ẽ được đề cậ p phần 4.2.b ).
Khi đụng độ hay ch ồng lần dẫn tớ i sai dữ liệu, việc kiểm tra CRC là vô cùng quan tr ọng ở bên bên phía Server, n ếu Server kiểm tra CRC sai, vi ệc tiế p nhận dữ liệu cũng như gửi ACK về node không đượ c diễn ra. Về bên phía node, khi không có ACK truy ền về, sẽ gửi lại data tớ i node. c) Chương trình nhận và lưu dữ liệu trong Server: pthread_t thread1; pthread_t thread2; wiringPiSetup (); setup_Lora();
while(true while( true) ) { state = check_data(); //Kiểm tra có dữ liệu tới cũng như check CRC if( if (state)
{ //Tạo 2 luồng xử lý song song để gửi ACK và lưu dữ liệu pthread_create (&thread1, NULL NULL, ,send_ACK, NULL NULL); ); pthread_create (&thread2, NULL NULL, , save_data, NULL NULL); ); //Chờ cho thread xử lý xong pthread_join (thread2 NULL); NULL); , pthread_join (thread1 NULL); NULL); ,
} }
4.1.2. Xử lý lý dữ dữ liệ liệu Sau khi d ữ liệu được lưu vào database, Server sẽ hiễn thị dữ liệu nhận được dướ i dạng biểu đồ, đồng thờ i kiểm tra xem d ữ liệu nhận đượ c từ node đó có vượt qua ngưỡ ng ng
đã được cài đặt ban đầu hay không? N ếu có vượt ngưỡ ng, ng, Server s ẽ gửi email tớ i mail người dùng để cảnh báo.
45
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
Dữ liệu được lưu trữ trong MySQL
Hiển thị biểu đồ theo dõi lên Web
Không
Dữ liệu quá ngưỡng được set?
Có
Send email
cảnh báo
ữ liliệu sau khi nhận đượ c t ừ ừ node Hình 4. 2: Lưu đồ giải thuật xử lý lý d ữ node Việc xử lý các d ữ liệu trong database trong vi ệc cậ p nhật hiển thị cũng như gử i các cảnh báo tới email đượ c sử dụng PHP. PHP s ẽ xử lý các thông tin và đưa kế t quả tớ i máy chủ (Apache).
Chương trình dùng để lọc dữ liệu 1 tuần lên biểu đồ: /*Chương trình sau tính toán 7 ngày trong tuầ n từ thứ 2 đến chủ nhật*/ $now = Carbon:: Carbon::now now()-> ()->subDay subDay(); (); $monday = $now $now-> ->subDays subDays( ($now $now-> ->dayOfWeek dayOfWeek - 1); $nextMonday = $monday $monday-> ->copy()-> ()->addDays addDays( (7); $results = new Collection( Collection(app( app('db' 'db')-> )->select select( ("select * from {$chart} where {$chart} where date >= '{$monday->toDateString()} '{$monday->toDateString()}' ' and date < '{$nextMonday'{$nextMonday>toDateString()}'" >toDateString()} '")); ));
/*Chương trình sau hiển thị dữ liệu lên web*/ <script> var ctx = document.getElementById("chartjs"); var myChart = new Chart(ctx, {type: 'line', data: { labels: labels, datasets: [ { label: "Node 1", fill: false false, , lineTension: 0.1, backgroundColor: "rgba(255,0 "rgba(255,0, , 0,0.4)",
46
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo borderColor: "rgba(255,0 "rgba(255,0, , 0,1)", borderCapStyle : 'butt', borderDash: [], borderDashOffset : 0.0, borderJoinStyle: 'miter', pointBorderColor : "rgba(255,0, 0,1)", pointBackgroundColor : "#fff", pointBorderWidth : 1, pointHoverRadius : 5, pointHoverBackgroundColor : "rgba(255,0, 0,1)", pointHoverBorderColor: "rgba(220,220,220,1)" , pointHoverBorderWidth: 2, pointRadius: 1, pointHitRadius : 10, data: node1, spanGaps: false
} ] } }); var update = function function() () { $.get(window.location.href , function function( (data) { myChart.data.labels = data.keys; myChart.data.datasets [0].data = data.results[1]; document.querySelector ("#node1-message" ).innerHTML = "Node 1: " + data.messages[0]; myChart.update (); }); }; update(); setInterval(update, 5000)
47
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
4.2. Giả Giải thuậ thuật khố khối node Start
Kiểm tra có ngắt
Có
ngoài không?
Sleep
Thu thập dữ liệu từ các cảm biến, cài đặt thời gian gửi lần tiếp
Không
theo
Bật module LoRa; Counter=1;
Delay một khoảng thời
Có
gian random
Kiểm tra đường truyền có bận?
Không
Gửi dữ liệu; Counter++;
Sai
Tắt hết các ngoại vi
Có
Chờ nhận ACK trong 5s?
Không
Counter=3?
Đúng
Hình 4. 3: Lưu đồ giải thuật phía node a) Nguyên lý hoạt động
Node rơi vào trạng thái ngủ, tắt hết các ngo ại vi để chờ tín tín hiệu ngắt ngoài do IC thờ i gian thực PCF8583 đánh thứ c bằng việc bật chân ngắt ngoài lên 1. Khi có tín hiệu báo thức từ IC thờ i gian thực, Node sẽ thực hiện đo nhiệt độ, độ
ẩm từ cảm biến DHT22, và đo lượ ng ng khí CO v ớ i cảm biến MQ-7, cũng như lượ ng ng pin còn lại. Sau khi có đầy đủ data, node sẽ bật module LoRa RFM98, sau đó gử i dữ liệu, nếu trong 5 giây sau khi g ửi dữ liệu mà không có tín hi ệu ACK từ Server gửi về, Node sẽ tự động gửi lại. 48
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
Khi gửi thành công ho ặc quá 3 l ần gửi, node s ẽ rơi vào trạng thái Power Down, và chờ l lần bật dậy k ế tiế p của PCF8583. b) Lắng nghe trướ c khi gửi LBT (listen-before-talk)
Để tránh quá trình xung độ t hay va ch ạm vớ i các tín hi ệu gửi cùng lúc v ề Server. Trướ c khi gửi đi, node sẽ kiểm tra xem hiện giờ đang ờ đang có kênh truyền nào đang hoạ t động dựa vào ch ức năng CAD mode (CAD - Channel Activity Detection). K ỹ thuật này gọi là Listen-Before-Talk (l ắng nghe trướ c khi gửi). Khi có kênh truyền đang hoạt độ ng, Node s ẽ delay một khoảng thời gian, sau đó tiế p tục kiểm tra. c) Chương trình chính phía node
void wakeUp1 void wakeUp1()
{ } void wakeUp2 void wakeUp2()
{ } //End wake up void setup void setup()
{ //Set input for interupt to wake up pinMode(2, INPUT); pinMode(3, INPUT); pinMode(8, OUTPUT); pinMode(5, OUTPUT);
} void loop void loop(void)
{ attachInterrupt(0,wakeUp1,LOW); attachInterrupt (1,wakeUp2,HIGH); // Enter power down state with ADC and BOD module disabled. // Wake up when wake up pin is low. LowPower.powerDown(SLEEP_FOREVER, ADC_OFF, BOD_OFF); // Disable external pin interrupt on wake up pin. detachInterrupt(0); detachInterrupt(1); pinMode(6, OUTPUT); //5V ON digitalWrite (6, HIGH); //set up time to wake up after 3 hours wake_up_time (); //Read temperature and humidity DHT22.DHT22_read (); delay(30000); //Wait 30 seconds to preheat MQ-7 int i int i; double ppm double ppm[10];
49
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
average_CO = 0; for (i=0;i <10;i++) <
{ ppm[i] = MQ7.mq7_getppm(DHT22.humidity/1000,DHT22.temperature /10); Serial.println(ppm[i]); average_CO += ppm[i]; delay(100);
} average_CO = average_CO/10; //Read battery level battery_level = ((double)analogRead (A3)/1023)*5; //Turn off 5VDC digitalWrite (6, LOW); LORA_setup(); //Send data to Server //Turn off 3.3V digitalWrite (5, LOW);
}
50
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
Quá trình đọ c cảm biến Start
Start
Gửi tín hiệu tới cảm biến
Chờ một khoảng thời gian để preheat
Không Chờ cảm biến hồi đáp?
Đọc giá trị ADC Có
Đọc 40 bit dữ liệu từ cảm biến
Checksum dữ liệu
End
Sai
Đúng
Cập nhật giá trị nhiệt độ, độ ẩm
End
a)
b)
Hình 4. 4: a) Đọc cảm biế n nhiệt độ-độ ẩ m (DHT22)
b) Đọc cảm biế n khí CO (MQ-7)
51
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
Dưới đây là chương trình đọ c cảm biến DHT22 //Send start signal to DHT22 pinMode(DHT22_pin,OUTPUT); digitalWrite (DHT22_pin,LOW); delayMicroseconds (600); digitalWrite (DHT22_pin,HIGH); pinMode(DHT22_pin,INPUT); delayMicroseconds (70); //Wait for low to receive data while( while (digitalRead(DHT22_pin)) ; for( for (i=0;i <5;i++) <
{ for (j=0;j <8;j++) < { while( while (digitalRead(DHT22_pin)); //Wait to pin 0 delayMicroseconds(5); while(! while (!digitalRead(DHT22_pin)); delayMicroseconds (50); if( if (digitalRead (DHT22_pin)) { bits[i] |= (1 <<(7-j)); <<( } } } //Excuse data checksum = bits[0] + bits[1] + bits[2] + bits[3]; if (checksum != bits[4])
{ return 1; //Fail } //These bits are always zero, masking them reduces errors bits[0] &= 0x03; bits[2] &= 0x83; //Convert humidity = bits[0]*256 + bits[1]; temperature = (bits[2]&0x7f)*256 + bits[3];
if(bits[2] & 0x80) if( { temperature = - temperature; }
Dưới đây là chương trình đọc cảm biến MQ-7: double ADC_read double ADC_read,mq7_RsRo,mq7_RsRo_Scale ,mq7_Ro; ADC_read = analogRead(MQ7_pin); //Read ADC from pin A0 mq7_RsRo = ((1023/ADC_read -1)*10)/mq7_Ro; //Scaling Rs mq7_RsRo_Scale = (0.0436*humidity-0.1494)*log(temperature ) + (0.416*humidity +1.535); mq7_RsRo = mq7_RsRo*mq7_RsRo_Scale ; return (double)mq7_scalingfator*pow((double)mq7_RsRo,mq7_exponent );
52
Luận văn tốt nghiệ p
Chương 5:
GVHD: ThS. Bùi Quốc Bảo
K ẾT QUẢ QUẢ THỰ THỰ C HIỆ HIỆN
5.1. K ết quả quả thi công phầ phần cứ cứ ng ng 5.1.1. K ết quả quả thự thự c hiệ hiện a) Tr ạm Server
53
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
b) Node
5.1.2. Đánh giá kết kế t quả quả. a) Server Phần cứng hoạt động tốt, nguồn ra ổn định giúp cung c ấ p nguồn cho module LoRa. Ngoài ta, có th ể k ết nối với Wifi, Ethernet. Giúp ngườ i dùng có th ể truy cậ p bất k ỳ
đâu b) Node -
Mạch boost ngu ồn pin lên 5V đạt đượ c mức yêu c ầu, mạch power switching 5V và mạch bật tắt nguồn 3.3V hoạt động tốt.
-
Mạch thờ i gian thực chạy đúng thờ i gian, tiến trình ngắt diễn ra khi có sự kiện ngắt. Khi nguồn bị tắ hết các thiết bị ngoại vi, mạch thờ i gian thực vẫn chạy do có nguồn pin 3V.
-
Mạch đọc các c ảm biến tốt.
54
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
5.2. K ết quả quả thi công phầ phần mề mềm 5.2.1. Hiể Hiển thị thị và cả cảnh báo a) Hiển thị biểu đồ
Biểu thị thể hiện lượ ng ng pin còn l ại theo thờ i gian
Biểu đồ thể hiện nhiệt độ theo thờ i gian
55
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
Biểu đồ thể hiện khí CO trong không khí
Biểu đồ hiển thị độ ẩm b) Cảnh báo Khi một trong các thông s ố quá ngưỡng được cài đặt. Server s ẽ gửi email vào
email đã được cài đặt trong database.
56
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
hi vượt ngưỡ ng Cảnh báo k hi ng 5.2.2. Đánh giá hoạt động độ ng Thời gian đáp ứng nhanh khi có data t ừ node tớ i.i. Hiển thị lên giao di ện web tốt,
đồng bộ dữ liệu vớ i database. ạng quá ngưỡ ng. Cảnh báo d ữ liệu đáp ứng nhanh khi có tình tr ạng ng. 5.3. Đánh giá kết kế t quả quả hoạt hoạt động động chung Sau một thờ i gian kiểm tra hoạt động giữa Server và node, k ết quả như sau: - Node đượ c báo thức nhờ IC IC thờ i gian thực chính xác v ớ i thời gian định trướ c, c, sai
số thấ p. - Nhiệt độ, độ ẩm đọc từ cảm biến DHT22 chính xác. -
Khí CO đọc từ cảm biến MQ-7 chưa ổn đị nh.
-
Server ghi nh ận data nhanh, chính xác, hi ển thị biểu đồ sau 5s c ậ p nhật, cũng như cảnh báo d ữ liệu vào email ổn định
-
Khoảng cách truyền từ Node tớ i Server thấp hơn so vớ i lý thuyết (trong vòng bán kính 450m thành th ị)
57
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
ối đa giữ a node và Server thự c t ế ế Hình 5. 1: Khoảng cách truyề n nhận t ối Tuy nhiên, mô hình gi ữa node và server chưa phả i là mô hình chu ẩn vì những lý
do sau đây: -
Chỉ làm việc vớ i lớ p vật lý, chưa tạo đượ c lớ p mạng giúp node b ất k ỳ có thể truy cậ p vào khi có s ự cố hư hỏng hay thay th ế nhanh chóng.
-
Server chỉ làm việc vớ i một tần số thu phát cố định. Vì vậy, chưa cho phép nhiề u thiết bị đượ c gửi cùng lúc.
58
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
Chương 6: K ẾT LUẬN LUẬN VÀ HƯỚ NG NG PHÁT TRIỂ TRIỂN 6.1. K ết luậ luận Từ những yêu c ầu đặt ra ở ph phần đầu luận văn, sau đây là những ưu điểm và nhượ c
điểm những gì đã làm đượ c. c. Ưu điểm: -
Hoàn thành mạch thiết k ế mạch server và m ạch node
- Nhiệt độ và độ ẩm đo đượ c khá chính xác -
Thờ i gian gửi dữ liệu từ node tớ i Server chính xác
Nhược điểm: -
Cảm biến khí CO hoạt động còn chưa chính xác do phả i đốt nóng lâu
-
Chỉ nhận đượ c một chiều từ node tới server, chưa đượ c từ server tớ i node.
-
Chưa thiết lập đượ c lớ p mạng.
6.2. Hướ ng ng phát triể tri ển -
Điều khiển từ server, dùng giám sát và điề u khiển các thi ết bị ngoại vi như relay, máy bơm nướ c, c, quạt
-
Sử dụng vi điều khiển công su ất thấp hơn, giúp cả i thiện hiệu suất năng lượ ng ng sử dụng
dài ngày hơn. -
Xây dựng lớ p mạng theo chu ẩn LoRaWan cho thi ết bị bên ngoài cho th ể truy cậ p vào mạng.
59
Luận văn tốt nghiệ p
GVHD: ThS. Bùi Quốc Bảo
TÀI LIỆ LIỆU THAM KHẢ KHẢO [1] “A DIY low-cost LoRa gateway” - C. Pham, LIUPPA laboratory, University of Pau, France. [2] The LoRaWAN™ EMB - http://www.embit.eu/lorawanemb-gw1301/ [3] LoRa Products - http://www.nke-watteco.com/gamme/lora-range/ [4] Cisco Interface Module for LoRaWAN - http://www.cisco.com [5] Dongkyun Kim, “A Study of LoRa: Long Range & Low Power Networks for the
Internet of Things”, 2016 [6] “The Internet of Things LoRaWAN ”- Nate Argetsinger, Rohan Rohan Paul, David David Hodgsonhttp://slideplayer.com [7] Hướ ng ng dẫn cài đặt Hệ điều hành cho Raspberry Pi - http://codientu.org/ [8] Introduction to LAMP technology technology - http://www.ibm.com/
– https://www.tutorialspoint.com [9] MySQL Tutorial – [10]
“RESEARCH ON TEMPERATURE AND HUMIDITY COMPENSATION
OF SENSOR MEASURED VALUES MQ- 7”, 2015 Và cùng m ột số tài liệu trong datasheet SX1276/77/78/79, MQ7, DHT22, PCF8583.
60