Đăng ký Đăng nhập

Tài liệu Do an 2

.DOC
55
2096
64

Mô tả:

MQTT lấy nhiệt độ môi trường gửi lên Web thingspeak
Tp. Hồ Chí Minh, ngày 4 tháng 1 năm 2017 LỜI CẢM ƠN Lời đầu tiên em xin chân thành cảm ơn đến quý thầy, cô chuyên ngành ĐIỆN TỬVIỄN THÔNG của Trường Đại Học Công nghiệp Thành phố Hồ Chí Minh, những người đã trực tiếp giảng dạy, truyền đạt những kiến thức bổ ích cho em. Đó chính là những nền tảng cơ bản, những hành trang vô cùng quý giá để em có thể tiếp cận với kiến thức thực tiễn và giúp ích cho công việc của em sau này. Trong suốt thời gian tìm hiểu và hoàn thành đồ án 2 với đề tài “Cài đặt server IoT chuẩn IBM MQTT ”, em xin gửi lời biết ơn sâu sắc đến Thầy Giáo_Giáo viên hướng dẫn: Nguyễn Thế Hoàng đã tận tình hướng dẫn, giúp đỡ em trong suốt thời gian qua để thu được kết quả tốt nhất. Trong quá trình làm đồ án, do thời gian tìm hiểu có hạn nên không tránh khỏi những sai sót, rất mong nhận được sự thông cảm, đóng góp ý kiến của quý thầy cô để em ngày càng được hoàn thiện hơn và rút ra được những kinh nghiệm bổ ích có thể áp dụng vào thực tiễn một cách hiệu quả trong tương lai. Em xin chân thành cảm ơn! NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ......................................................................................................................................... ......................................................................................................................................... ......................................................................................................................................... ......................................................................................................................................... ......................................................................................................................................... ......................................................................................................................................... ......................................................................................................................................... ......................................................................................................................................... Phần đánh giá:  Ý thức thực hiện: ......................................................................................................  Nội dung thực hiện: ..................................................................................................  Hình thức trình bày: .................................................................................................  Tổng hợp kết quả: .................................................................................................... Điểm bằng số:...................... Điểm bằng chữ: .................................................. .............................................. TP. Hồ Chí Minh, ngày 4 tháng 1 năm 2017 Giáo viên hướng dẫn NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN .................................................................................................................................... .................................................................................................................................... .................................................................................................................................... .................................................................................................................................... .................................................................................................................................... .................................................................................................................................... .................................................................................................................................... .................................................................................................................................... Phần đánh giá:  Ý thức thực hiện :......................................................................................  Nội dung :..................................................................................................  Hình thức :.................................................................................................  Tổng hợp kết quả:...................................................................................... Điểm bằng số:.....................................Điểm bằng chữ :............................ Tp Hồ Chí Minh, ngày 4 tháng 1 năm 2017 Giáo viên phản biện MỤC LỤC CHƯƠNG 1: TÌM HIỂU GIAO THỨC IOT MQTT................................................1 I. Khái Niệm Chung...................................................................................................1 a. Internet of things (IoT)...........................................................................................1 b. Giao thức MQTT....................................................................................................1 II. Kiến Trúc Của Giao Thức IoT MQTT...................................................................3 a. Sơ lược về kiến trúc IoT.........................................................................................3 b. Kiến trúc MQTT.....................................................................................................3 III. Tầng Ứng Dụng QoS (QUALITIES OF SERVER)............................................7 IV. LWT (LAST WILL AND TESTAMENT)...........................................................8 V. Bảo Mật..................................................................................................................8 VI. Xác Thực..............................................................................................................9 VII. Ứng Dụng Thực Tế Của MQTT.......................................................................10 CHƯƠNG 2: CÀI ĐẶT SERVER MQTT SERVER LÊN MÁY CHỦ..................11 I. Mục Đích...............................................................................................................11 II. Giới thiệu về Mosquitto và Python (MQTT broker/ Client)...............................11 a. Giới thiệu về Mosquitto (MQTT broke)..............................................................11 b. Giới thiệu về python (MQTT client)....................................................................11 III. Cài Đặt Sever MQTT..........................................................................................12 a. Cài đặt MQTT server ( chương trình mosquitto cho windows)..........................12 b. Cài đặt MQTT client ( chương trình python cho windows)...............................17 IV. Cách thức Hoạt Động MQTT Broker và MQTT Clients...................................21 a. Giới thiệu mô hình hoạt động chủ khách Clients/ Server....................................21 b. Hoạt động MQTT broker (mosquitto) và MQTT clients (Python).....................22 CHƯƠNG 3: DEMO DỊC VỤ MQTT HIỂN THỊ NHIỆT ĐỘ, ĐỘ ẨM TRÊN SEVER......................................................................................................................23 I. Mục Đích...............................................................................................................23 II. Chuẩn Bị..............................................................................................................23 a. Module UART-USB PL2303................................................................................23 b. Module wifi ESP8266..........................................................................................25 c. Cảm biến nhiệt độ DHT11....................................................................................26 d. Mạch arduino UNO R3........................................................................................28 III. Cài Đặt Chương Trình Để Cấu Hình ESP8266.................................................31 a. Cài Đặt ESP8266..................................................................................................31 b. Nạp Chương Trình Cho ESP8266........................................................................34 c. Triển Khai MQTT Trên ESP8266........................................................................36 c. DEMO Dịch Vụ MQTT Hiển Thị Nhiệt Độ, Độ Ẩm Trên Sever Sử Dụng Cảm Biến DHT11 Hiển thị biểu đồ trên web. Thingspeak..............................................38 ĐÁNH GIÁ VÀ KẾT LUẬN...................................................................................43 TÀI LIỆU THAM KHẢO .......................................................................................43 LỜI NÓI ĐẦU Ngày nay với sự vượt bật của nghành Điện Tử, sự ra đời nhiều công nghệ mới được ứng dụng vào ngành Kỹ Thuật Viễn Thông đã giúp cho ngành Viễn Thông có sự tiến bộ đáng kể. Hệ thống thông tin liên lạc được nâng cao, sử dụng đa năng, hiệu quả và chính xác nhanh chóng để đáp ứng nhu cầu phục vu đời sống con người. Cùng với sự phát triển của mạng lưới Internet nhờ vào đó con người có thể điều khiển, quản lý tất cả các thiết bị điện, nhiệt độ và độ ẩm tại nhà thông qua giao thức MQTT và tất cả thiết bị điện đều kết nối Internet. Mục đích của bài này là để giới thiệu các MQTT giao thức nhẹ và khả năng của mình để gửi dữ liệu giữa các thiết bị và các hệ thống khác và để chứng minh họ bằng cách thực hiện hai khách hàng với PyThon. Mạng lưới thiết bị kết nối Internet viết tắt là IoT (Internet of Things) là tất cả các thiết bị có thể kết nối với nhau, 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. Nói đơn giản là một tập hợp các thiết bị có khả năng kết nối với nhau, với Internet và với thế giới bên ngoài để thực hiện một công việc nào đó. Một số giao thức được tối ưu riêng cho IoT, trong đó nổi bật là giao thức MQTT. MQTT được phát minh bởi tiến sĩ Andy Stanford-Clark của IBM, và Arlen Nipper của Arcom (nay Eurotech), vào năm 1999 để giải quyết các vấn đề của hệ thống nhúng và SCADA. Giao thức MQTT có phần mào đầu nhỏ (chỉ 2 byte/message), chạy được trên nền TCP và có khả năng chịu được môi trường mạng thường bị gián đoạn và suy hao cao. MQTT có tính linh hoạt trong các mô hình truyền thông và hoạt động hoàn toàn như một đường ống cho các dữ liệu nhị phân. Hãy tưởng tượng đồng hồ báo thức của bạn sẽ biết rằng tàu của bạn để làm việc là 15 phút cuối và điều chỉnh bản thân cho phù hợp. Ngoài ra nhà sản xuất cà phê của bạn được bật tự động 15 phút sau đó để làm cho bạn một tách cà phê nóng trước khi đi làm. Nghe có vẻ như tương lai? Tất cả những gì đã thể hiện . Ericsson dự đoán rằng vào năm 2020 là 50 tỷ thiết bị được kết nối qua internet. Việc giao tiếp giữa số lượng lớn các thiết bị được kích hoạt IPv6 và các giao thức truyền thông nhẹ như MQTT. ĐỒ 1 ÁN 2 GVHD CHƯƠNG 1: TÌM HIỂU GIAO THỨC IOT MQTT I. Khái Niệm Chung. a. Internet of things (IoT). Mạng lưới vạn vật kết nối Internet hoặc là Mạng lưới thiết bị kết nối Internet viết tắt là IoT (Internet of things) là một kịch bản của thế giới, khi mà 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. Nói đơn giản là một tập hợp các thiết bị có khả năng kết nối với nhau, với Internet và với thế giới bên ngoài để thực hiện một công việc nào đó. Một vật trong IoT có thể là một người với một trái tim cấy ghép, một động vật ở trang trại với bộ chip sinh học, một chiếc xe với bộ cảm ứng tích hợp cảnh báo tài xế khi bánh xe xẹp hoặc bất kỳ vật thể tự nhiên hay nhân tạo nào mà có thể gán được một địa chỉ IP và cung cấp khả năng truyền dữ liệu thông qua mạng lưới. Cho đến nay, IoT là những liên kết máy-đến-máy (Broker) trong ngành sản xuất, công nghiệp năng lượng, kỹ nghệ xăng dầu. Khả năng sản phẩm được tích hợp máy-đến-máy thường được xem như là thông minh. b. Giao thức MQTT. MQTT là viết tắt của Message Queuing Telemetry Transport, là giao thức gửi nhận tin nhắn dưới dạng publish/subscribe được sử dụng cho các thiết bị IoT (Internet of Things) với băng Thông thấp, độ tin cậy cao và khả năng được sử dụng trong mạng lưới không ổn định. Nó được thiết kế cho các kết nối cho các địa điểm từ xa, đến một nơi cần thiết hoặc các mạng băng thông bị hạn chế. Các mẫu tin nhắn publish-đăng ký của nhà môi giới. Các nhà môi giới là trách nhiệm phân phối các thông điệp tới khách hàng quan tâm dựa trên chủ đề của thông điệp. Quá khứ, hiện tại và tương lai của MQTT: MQTT ban đầu được phát triển bởi IBM và Eurotech. Các phiên bản giao thức trước 3.1 được phát hành dưới http://mqtt.org/. Trong năm 2014, MQTT đã được thông qua và công bố như là một tiêu chuẩn chính thức của OASIS (xuất bản V3.1.1). Như vậy, OASIS đã trở thành ngôi nhà mới cho sự phát triển của MQTT. 1 Lớp: DHDTVT 9A Đ 2 Ồ ÁN 2 GVHD OASIS TC (Ủy ban kỹ thuật) được giao nhiệm vụ với sự phát triển của MQTT. Phiên bản 3.1.1 của MQTT tương thích với 3.1 lạc hậu và mang lại thay đổi chỉ nhỏ: • Thay đổi giới hạn các thông CONNECT. • Làm rõ các phiên bản 3.1 (chủ yếu là thay đổi biên tập). Hình 1.1 : Các phiên bản MQTT. MQTT cũng là giao thức sử dụng trong Facebook Messager. MQTT chứa các phương thức để chỉ ra các hành động mong muốn được thực hiện trên các tài nguyên được xác định. Những tài nguyên này đại diện, cho dù dữ liệu có sẵn từ trước hoặc dữ liệu được tạo ra tự động, phụ thuộc vào việc thực hiện của máy chủ. Thông thường, các tài nguyên tương ứng với một tập tin hoặc đầu ra của một thực thi nằm trên máy chủ. MQTT là một khách hàng đợi thông điệp và vận chuyển giao thức. MQTT, như tên gọi của nó, rất thích hợp cho việc vận chuyển dữ liệu từ xa (cảm biến và dữ liệu). MQTT là rất nhẹ và do đó thích hợp cho M2M (Mobile Mobile), WSN (Wireless Sensor networks) và cuối cùng là IOT (Internet of Things) kịch bản mà bộ cảm biến và giao tiếp với các ứng dụng thông qua các nhà môi giới thông MQTT. 2 Lớp: DHDTVT 9A Đ 3 Ồ ÁN 2 GVHD Kếết nốếi Đợi cho một kếết nốếi được thiếết lập với máy ch ủ.  ngắết kếết nốếi Đợi cho khách hàng MQTT để kếết thúc bấết kỳ cống vi ệc ph ải làm, và cho c ác giao thức TCP/IP phiến ngắết kếết nốếi.  Theo dõi Đợi cho hoàn thành đặt hay loại bỏ phương pháp.  Hủy đắng ký Yếu cấầu máy chủ ngừng đắng ký cho khách hàng t ừ một ho ặc nhiếầu ch ủ đếầ.  Cống bốế Trả lại ngay cho chủ đếầ ứng dụng sau khi đi qua các yếu cấầu cho khách hàng MQTT. II. Kiếến Trúc Của Giao Thức IoT MQTT.  a. Sơ lược về kiến trúc IoT. Sự thông minh và tự động trong điều khiển thực chất không phải là một phần trong ý tưởng về IoT. Các máy móc có thể dễ dàng nhận biết và phản hồi lại môi trường xung quanh (ambient intelligence), chúng cũng có thể tự điều khiển bản thân (autonomous control) mà không cần đến kết nối mạng. Tuy nhiên, trong thời gian gần đây người ta bắt đầu nghiên cứu kết hợp hai khái niệm IoT và autonomous control lại với nhau. Tương lai của IoT có thể là một mạng lưới các thực thể thông minh có khả năng tự tổ chức và hoạt động riêng lẻ tùy theo tình huống, môi trường, đồng thời chúng cũng có thể liên lạc với nhau để trao đổi thông tin, dữ liệu. Việc tích hợp trí thông minh vào IoT còn có thể giúp các thiết bị, máy móc, phần mềm thu thập và phân tích các dấu vết điện tử của con người khi chúng ta tương tác với những thứ thông minh, từ đó phát hiện ra các tri thức mới liên quan tới cuộc sống, môi trường, các mối tương tác xã hội cũng như hành vi con người. Các thực thể, máy móc trong IoT sẽ phản hồi dựa theo các sự kiện diễn ra trong lúc chúng hoạt động theo thời gian thực. Một số nhà nghiên cứu từng nói rằng một mạng lưới các sensor chính là một thành phần đơn giản của IoT. b. Kiến trúc MQTT. 1.1 Cấp quyền cho MQTT. Khi xây dựng hệ thống MQTT, việc làm khá phổ biến là vẽ ra sơ đồ thể hiện kết nối giữa client và server, hướng đi của các bản tin và các topic được sử dụng. 3 Lớp: DHDTVT 9A Đ 4 Ồ ÁN 2 GVHD Hình 1.2: Giao tiếp giữa các topic. MQTT là giao thức pub/sub bản tin. Mỗi bản tin được pub trên một topic và mỗi client có quyền sub vào các topic. Vì vậy, cấp quyền là pub, sub và tên topic. 1.2 publish/subscribe giữa các kênh. MQTT có mô hình client/server, nơi mà mỗi cảm biến là một khác hàng (client) và kết nối đến một máy chủ, có thể hiểu như một nhà môi giới (broker), thông qua giao thức TCP (Transmission Control Protocol). MQTT là giao thức định hướng bản tin. Mỗi bản tin là một đoạn rời rạc của tín hiệu và broker không thể nhìn thấy. 4 Lớp: DHDTVT 9A Đ 5 Ồ ÁN 2 GVHD Hình 1.3: publisher/subscriber giữa các kênh. • Không đồng bộ mô hình truyền thông với thông điệp (events). • Chi phí thấp (2 bytes header) cho các ứng dụng băng thông mạng thấp. • Xuất bản / Theo dõi (PubSub) mô hình. • Tách của nhà sản xuất dữ liệu (publisher) và người tiêu dùng dữ liệu (subscriber) qua các chủ đề. • Giao thức đơn giản, nhằm vào độ phức tạp thấp, điện năng thấp và triển khai thực hiện dấu chân thấp (ví dụ. WSN - Wireless Sensor Networks). • Chạy trên giao thức hướng kết nối (TCP). Để được sử dụng kết hợp với 6LoWPAN (TCP header compression). • MQTT phục vụ cho (wireless) gián đoạn mạng. Trong một hệ thống sử dụng giao thức MQTT, nhiều node trạm (gọi là mqtt client - gọi tắt là client) kết nối tới một MQTT server (gọi là broker). Mỗi client sẽ đăng ký một vài kênh (topic), ví dụ như "/client1/channel1", "/client1/channel2". Quá trình đăng ký này gọi là "subscribe", giống như chúng ta đăng ký nhận tin trên một kênh Youtube vậy. Mỗi client sẽ nhận được dữ liệu khi bất kỳ trạm nào khác gởi dữ liệu và kênh đã đăng ký. Khi một client gởi dữ liệu tới kênh đó, gọi là "publish". 5 Lớp: DHDTVT 9A Đ 6 Ồ ÁN 2 GVHD Mỗi bản tin được publish một địa chỉ, có thể hiểu như một kênh. Client đăng kí vào một vài kênh để nhận/gửi dữ liệu, gọi là subscribe. Client có thể subscribe vào nhiều kênh. Mỗi client sẽ nhận được dữ liệu khi bất kì trạm nào khác gửi dữ liệu vào kênh đã đăng kí. Khi một client gửi một bản tin đến một kênh vào đó, gọi là publish. Ví dụ, một mạng đơn giản gồm 3 Client và một broker trung tâm. Cả 3 khách hàng mở kết nối TCP với Broker. Client B và C đăng kí tới kênh nhiệt độ topic temperature. Hình 1.4: Khách hàng đăng ký topic. Tại một thời điểm nào đó, Client A gửi một giá trị 22.5 đến kênh nhiệt độ topic temperature. Broker sẽ chuyển bản tin đến tất cả các Client đã đăng kí. 6 Lớp: DHDTVT 9A Đ 7 Ồ ÁN 2 GVHD Hình 1.5: Broker nhận được nhiệt độ gửi đến các kênh khác. Như vậy, cả Client B và C đều nhận được bản tin gửi từ A. Các mô hình publish/subscribe cho phép các Client MQTT có thể giao tiếp 1-1, 1N và N-1. III. Tầng Ứng Dụng QoS (QUALITIES OF SERVER). Có 3 tuỳ chọn QoS (Qualities of service) khi "publish" và "subscribe": QoS0 Broker/client sẽ gởi dữ liệu đúng 1 lần, quá trình gởi được xác nhận bởi chỉ giao thức TCP/IP. QoS1 Broker/client sẽ gởi dữ liệu với ít nhất 1 lần xác nhận từ đầu kia, nghĩa là có thể có nhiều hơn 1 lần xác nhận đã nhận được dữ liệu. QoS2 Broker/client đảm bảm khi gởi dữ liệu thì phía nhận chỉ nhận được đúng 1 lần, quá trình này phải trải qua 4 bước bắt tay. Một gói tin có thể được gởi ở bất kỳ QoS nào, và các client cũng có thể subscribe với bất kỳ yêu cầu QoS nào. Có nghĩa là client sẽ lựa chọn QoS tối đa mà nó có để nhận tin. 7 Lớp: DHDTVT 9A Đ 8 Ồ ÁN 2 GVHD Ví dụ, nếu 1 gói dữ liệu được publish với QoS2, và client subscribe với QoS0, thì gói dữ liệu được nhận về client này sẽ được broker gởi với QoS0, và 1 client khác đăng ký cùng kênh này với QoS 2, thì nó sẽ được Broker gởi dữ liệu với QoS2. Một ví dụ khác, nếu 1 client subscribe với QoS2 và gói dữ liệu gởi vào kênh đó publish với QoS0 thì client đó sẽ được Broker gởi dữ liệu với QoS0. QoS càng cao thì càng đáng tin cậy, đồng thời độ trễ và băng thông đòi hỏi cũng cao hơn. IV. LWT (LAST WILL AND TESTAMENT). Các client MQTT có thể đăng ký một bản tin tùy chỉnh được gửi bởi broker nếu các client ngắt kết nối. Những bản tin này có thể được dùng để báo cho các Client đã đăng ký Subscriber khi một thiết bị ngắt kết nối. Ví dụ. Giả sử có 1 cảm biến, nó gửi những dữ liệu quan trọng và rất không thường xuyên. Nó có đăng ký trước với Broker một bản tin ở topic /node/gone-offline. Và Client A đăng ký theo dõi topic /node/gone-offline, Broker sẽ gửi SMS tới mỗi khi nhận được tin nhắn nào ở kênh mà Client theo dõi. Trong quá trình hoạt động, cảm biến luôn giữ kết nối với Broker bởi việc luôn gửi các bản tin cập nhật. Nhưng nếu vì lý do gì đó, cảm biến này chuyển sang ngoại tuyến, kết nối tới Broker timeout. Lúc này, do cảm biến đã đăng ký LWT, do vậy Broker sẽ đóng kết nối của Cảm biến, đồng thời sẽ publish một bản tin cần thiết vào kênh /node/gone-offline, dĩ nhiên là Client cũng sẽ nhận được tin nhắn báo cảm đã ngoại tuyến. Khả năng duy trì bản tin. MQTT hỗ trợ lưu trữ các bản tin trong Broker để duy trì bản tin. Khi publish các bản tin, các Client có thể yêu cầu broker duy trì các bản tin. Chỉ có các bản tin mới nhất được lưu lại. Khi một Client đăng kí đến một kênh, bất kì bản tin nào đã được đăng kí lưu trữ sẽ được gửi đến Client. Không giống như một hàng đợi bản tin, broker của MQTT không cho phép duy trì các bản tin để sao lưu vào máy chủ. V. Bảo Mật. IoT đang ngày càng nhiều các thiết bị được kết nối tới Internet. Có nhiều vấn đề về bảo mật và IoT, chủ yếu làm nổi bật lên những sai lầm của người xây dựng hệ thống. Nhiều công nghệ bảo mật sử dụng MQTT cũng được sử dụng cho HTTP nhưng, vì MQTT 8 Lớp: DHDTVT 9A Đ 9 Ồ ÁN 2 GVHD một giao thức pub/sub bản tin theo mô hình client-server, nên có một số vấn đề xem xét như năng lực buffer bản tin của server MQTT. MQTT được sử dụng ở nhiều môi trường đa dạng khác nhau, từ những ngôi nhà của những đam mê tự động hóa đến các cơ sở hạ tầng cho các thành phố thông minh. MQTT broker có thể yêu cầu tên người dùng và mật khẩu xác thực từ client để kết nối. Để đảm bảo tính bảo mật, kết nối TCP có thể được mã hóa với SSL/TLS (Transport Layer Security (TLS) protocol, Secure Sockets Layer (SSL) protocol). Mặc dù MQTT được thiết kế gọn nhẹ, nó có hai nhược điểm làm hạn chế các thiết bị: Mỗi client MQTT phải hỗ trợ TCP và thường sẽ giữ một kết nối mở đến broker ở mọi thời điểm. Đối với một số môi trường mà xác suất mất bản tin cao hay không có sẵn máy tính thì đây là cả một vấn đề. Kênh MQTT thường là các chuỗi dài làm chúng không thỏa đáng với tiêu chuẩn 802.15.4 Cả hai thiết sót được giải quyết bằng giao thức MQTT-SN, trong đó xác định một ánh xạ UDP của MQTT và thêm khả năng lập chỉ mục (indexing) tên các kênh cho broker. VI. Xác Thực. Xác thực nhằm xác định danh tính. Mặc dù xác thực và cấp quyền là hai khái niệm khác nhau, nhưng chúng có mối liên hệ chặt chẽ. Một MQTT client có thể khai báo một username và password khi kết nối tới server. MQTT server có trách nhiệm kiểm tra usr và pwd. Thông tin đó sẽ được sử dụng để cấp quyền. Muốn kiểm soát mạng chặt chẽ mạng MQTT, một lựa chọn khác là sử dụng xác thực lẫn nhau và tự tạo chứng chỉ cho client. Chúng ta cấp cho client thông tin danh tính và sử dụng thông tin đó cho việc xác thực và cấp quyền. Điều này làm cho việc mạo danh client rất khó khăn. Trường hợp chứng chỉ bị đánh cắp, chỉ duy nhất client bị mạo danh và không ảnh hưởng đến các client khác. Khi sử dụng Aoth, client gửi chứng chỉ đến máy chủ xác thực, máy chủ xác thực thực hiện chức năng kiểm tra xác thực và trả về giấy phép truy cập đến tài nguyên. Giấy phép truy cập sau đó được truy cập đến máy chủ tài nguyên. Máy chủ tài nguyên xác nhận giấy phép truy cập bằng cách giao tiếp với máy chủ xác thực và 9 Lớp: DHDTVT 9A ĐỒ 10 ÁN 2 GVHD sau đó cấp quyền truy cập cho client. Bằng cách dùng giấy phép, client được phép truy cập an toàn đến server mà không gửi đến server. VII. Ứng Dụng Thực Tế Của MQTT. • MQTT được thiết kế để hỗ trợ các mạng không dây với mức độ khác nhau của độ trễ do hạn chế về băng thông không thường xuyên hoặc các kết nối không đáng tin cậy. Có một số dự án thực hiện MQTT. • Facebook Messenger Facebook đã sử dụng các khía cạnh của MQTT trong Facebook Messenger cho trò chuyện trực tuyếến. Tuy nhiến, vấẫn chưa rõ có bao nhiếu MQTT đ ược s ử dụng hoặc cho cái gì. • IECC Scalable phiến bản mới nhấết của hệ thốếng điếầu khiển bắầng tn hiệu IECC h ọ DeltaRail của sử dụng MQTT cho thống tn liến lạc trong các phấần khác nhau c ủa h ệ thốếng và các thành phấần khác của hệ thốếng báo hiệu. Nó cung cấếp khuốn khổ truyếần thống c ơ bản cho một h ệ thốếng phù hợp với các tếu chuẩn CENELEC cho thống tn liến l ạc an toàn quan tr ọng. • Các EVRYTHING nếần tảng IOT sử dụng MQTT như một giao thức cho hàng triệu sản phẩm được kếết nốếi. • Ngày 08 tháng 10 nắm 2015 của Amazon Web Services cống bốế Amazon IOT dựa trến MQTT. • Các tổ chức khống gian địa lý Sensor Things API đặc điểm kyẫ thuật tếu chuẩn có một phấần mở rộng MQTT trong tếu chuẩn như một giao th ức thống báo b ổ sung ràng bu ộc. Nó đã được chứng minh trong một Bộ Nội An Hoa Kỳ IOT Pilot. • Các OpenStack Cơ sở hạ tấầng thượng sử dụng MQTT như một xe buýt thống điệp hợp nhấết giữa các dịch vụ. CHƯƠNG 2: CÀI ĐẶT SERVER MQTT SERVER LÊN MÁY CHỦ 10 Lớp: DHDTVT 9A ĐỒ 11 ÁN 2 GVHD I. Mục Đích. dữ liệu thông qua mô hình broker/ client. Truyền nhận - Kết nối các thiết bị với nhau thông qua mạng lưới internet. - Cung cấp các phương thức hoạt động theo mô hình Publish/Subscribe. - Hỗ trợ hầu hết các nền tảng và ngôn ngữ lập trình. II. Giới thiệu về Mosquitto và Python (MQTT broker/ Client). a. Giới thiệu về Mosquitto (MQTT broke). - Là một open source thực hiện giao thức MQTT bao gồm hai phiên bản v3.1, v3.1.1 và là một dự án của iot.eclipse.org. - MQTT Mosquito cung cấp các phương thức thực hiện gửi tin nhắn bằng cách sử dụng mô hình publish/subscribe. - Vì vậy Mosquito phù hợp với “Internet of Thing” như với các cảm biến đơn giản, các thiết bị như điện thoại di động, máy tính nhúng hoặc vi điều khiển như Arduino. - Chương trình Mosquitto cho phép ta triển khai một broker lên một nền tảng bất kì tùy từng ứng dụng và phương pháp triển khai mà sẽ cài đặt broker lên các đối tượng nhất định nào đó. b. Giới thiệu về python (MQTT client). - Python là một ngôn ngữ lập trình hướng đối tượng, python hoàn toàn tạo kiểu động, cấp phát bộ nhớ động. - Mục đích ra đời của Python là cung cấp một ngôn ngữ lập trình có cấu trúc rõ ràng, sáng sủa, thuận tiện cho người mới học lập trình. - Python được phát triển bởi Guido và Rossum. Phiên bản đầu tiên được phát hành vào năm 1991. Python được lấy cảm hứng từ ABC, Haskell, Java, Lisp, Icon và Perl. - Python là một ngôn ngữ thông dịch, đa nền tảng. Một trong những đặc điểm độc nhất của Python là ngôn ngữ này không dùng đến dấu chấm phẩy, dấu mở-đóng 11 Lớp: DHDTVT 9A ĐỒ 12 ÁN 2 GVHD ngoặc {} để kết thúc câu lệnh hay khối lệnh, mà cách duy nhất để nó nhận biết một lệnh là dấu thụt đầu dòng. III. Cài Đặt Sever MQTT. a. Cài đặt MQTT server ( chương trình mosquitto cho windows). - PC1. Bước 1: Tải mosquito từ trang mosquito.org. Ở đây có hai mục, ta chọn mục đầu tiên. Bước 2: Sau đó nó sẽ chuyển sang trang eclipse với các tùy chọn, có thể tải về các tập tin .exe. Bước 3: Cài đặt file vừa tải về. Xuất hiện hai đường dẫn để tải về hai file OpenSSL và pThreads. 12 Lớp: DHDTVT 9A ĐỒ 13 ÁN 2 GVHD Bước 4: Vào đường dẫn đầu tiên tải Win32 OpenSSL v1.0.2 Light và cài đặt file. Chúng ta cần file DLL từ file cài đặt vừa cài đặt xong . 13 Lớp: DHDTVT 9A
- Xem thêm -

Tài liệu liên quan