Internet of Things (viết tắt là IoT) là một kịch bản của thế giới, khi mà mỗi đồ vật, con người được 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 đó.
Internet of Things (viết tắt là IoT) là một kịch bản của thế giới, khi mà mỗi đồ vật, con người được 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 đó.
MQTT là giao thức gọn nhẹ được thiết kế chủ yếu để kết nối các thiết bị bị hạn chế nguồn trên các mạng băng thông thấp. Mặc dù nó đã tồn tại trong hơn một thập kỷ nhưng chỉ khi có sự ra đời của M2M (máy để truyền thông máy) và Internet of Things (IoT) mới làm cho nó trở thành một giao thức phổ biến.
Cảm ơn các bạn đã theo dõi bài viết của mình, ở bài viết tiếp theo, mình sẽ hướng dẫn các bạn Tìm hiểu và cài đặt MQTT broker Mosquitto - một MQTT broker nhỏ, nhẹ thường được sử dụng, các bạn cùng đón xem nhé ))
Ngành nông nghiệp phải tìm kiếm những phương thức tốt hơn để gia tăng hiệu quả sản xuất. Cách duy nhất chính là áp dụng công nghệ mới vào hoạt động sản xuất, canh tác.
Thật hiếm khi thấy lĩnh vực nông nghiệp đưa ra những phát kiến về công nghệ, nhưng chính nông nghiệp thường đi đầu trong việc áp dụng công nghệ mới trên cánh đồng. Tỷ lệ ứng dụng công nghệ trong nông nghiệp ngày càng tăng là điều không quá bất ngờ cho bất kỳ ai. Trồng trọt là cần đến rất nhiều đất đai và thâm dụng lao động. Nông dân được thúc đẩy sử dụng công nghệ để tăng hiệu quả và quản lý chi phí. Công nghệ đã trở thành một phần không thể thiếu trong việc kinh doanh của mọi nông dân, người thu mua nông sản và các nhànông học.
Làn sóng nông nghiệp chính xác đầu tiên
Nông nghiệp chính xác ra đời với việc giới thiệu hệ thống định vị GPS cho máy kéo vào đầu những năm 1990, và việc áp dụng công nghệ này ngày nay đã phổ biến trên toàn cầu đến mức có thể xem đây là ví dụ tiêu biểu cho nông nghiệp chính xác.
John Deere là người đầu tiên giới thiệu công nghệ sử dụng dữ liệu định vị GPS từ vệ tinh. Bộ điều khiển được kết nối GPS trong máy kéo của nông dân sẽ tự động điều khiển các thiết bị dựa trên tọa độcủa cánh đồng. Điều này giúp giảm các lỗi trong quá trình điều khiển máy kéo và do đó giảm sự trùng lặp trên một đơn vị diện tích. Kết quả là nông dân sẽ tiết kiệm được hạt giống, phân bón, nhiên liệu và cả thời gian.
Nhưng cụ thể cụm từ "nông nghiệp chính xác" nghĩa là gì? Nông nghiệp chính xác còn được gọi là canh tác chính xác. Có lẽ cách dễ nhất để hiểu nghĩa "nông nghiệp chính xác" là coi nó là tất cả mọi thứ giúp cho hoạt động nông nghiệp chính xác hơn và được kiểm soát tốt hơn đối với sự phát triển của cây trồng và chăn nuôi gia súc. Một thành phần quan trọng của phương pháp quản lý trang trại là sử dụng công nghệ thông tin và một loạt các công cụ như điều hướng GPS, hệ thống điều khiển, cảm biến, rô bốt, máy bay, xe tự hành, kỹ thuật xử lý với định lượng thay đổi, lấy mẫu dựa trên GPS, phần cứng tự động, viễn thông và phần mềm.
Trên thực tế, một nghiên cứu gần đây của Hexa Reports cho thấy nông nghiệp chính xác được dự báo tăng giá trị lên 43,4 tỷ đô la vào năm 2025. Đối với một khái niệm mới được sinh ra vào những năm 1990, điều đó khá ấn tượng. Mặc dù các nguyên tắc nông nghiệp chính xác đã tồn tại được hơn 25 năm nhưng chỉ trong thập kỷ qua, chúng đã trở thành xu hướng chủ đạo nhờ những tiến bộ công nghệ và việc áp dụng các công nghệ khác nhau. Việc sử dụng thiết bị di động, truy cập Internet tốc độ cao, những vệ tinh có chi phí thấp và chính xác cao - để định vị và chụp ảnh - và thiết bị nông nghiệp được nhà sản xuất tối ưu hóa cho nông nghiệp chính xác là một số công cụ chủ chốt định hình nên nông nghiệp chính xác. Một số chuyên gia còn cho rằng hơn 50% nông dân ngày nay sử dụng ít nhất một yếu tố của canh tác chính xác.
Mục tiêu chính của nông nghiệp chính xác là đảm bảo lợi nhuận, hiệu quả và tính bền vững trong khi bảo vệ môi trường. Trong những năm gần đây, việc triển khai công nghệ IoT đã là chìa khóa trong việc tự động hóa ngành nông nghiệp và tối đa hóa sản xuất cho dân số ngày càng tăng của chúng ta. Mặc dù việc áp dụng công nghệ IoT trong ngành nông nghiệp vẫn còn trong giai đoạn đầu tư mới (greenfield), nhưng nó đã tạo ra một tác động lớn thông qua việc tự động hóa các quy trình canh tác hàng ngày và giảm chi phí lao động. Điều này đạt được bằng cách sử dụng dữ liệu lớn thu thập từ công nghệ IoT để giúp ra quyết định tức thì hoặc trong tương lai đối với mọi vấn đề, từ những tỉ lệ khác nhau cho khu vực khác nhau, cho đến thời điểm nào là tốt nhất để sử dụng hóa chất, phân bón hoặc hạt giống.
Theo Bảng phân loại quốc tế về sáng chế, trong nông nghiệp mạng lưới kết nối IoT được nghiên cứu và ứng dụng theo 2 hướng chính, đó là "hệ thống theo dõi, kiểm soát trồng trọt" và "hệ thống theo dõi, kiểm soát chăn nuôi gia súc, gia cầm". Trong đó, "hệ thống theo dõi, kiểm soát trồng trọt" chiếm tỷ lệ cao nhất, cho thấy rằng đây là hướng nghiên cứu và ứng dụng rất được các nhà sáng chế quan tâm. Có lẽ không có sự phát triển công nghệ gần đây nào có tác động lớn đến ngành nông nghiệp hơn công nghệ thông minh; và dữ liệu IoT đang được sử dụng để cải thiện hoạt động trên hầu hết các qui trình canh tác hiện đại trên toàn cầu.
IoT trong nông nghiệp - Lời giải cho thách thức chi phí đầu tư
Sự cải tiến trong nông nghiệp chính xác vẫn đang tiếp tục, và ngày càng có nhiều trang trại áp dụng công nghệ. Giống như bất kỳ ngành công nghiệp nào khác, chúng ta cần nhiều sự ủng hộ hơn để thúc đẩy việc áp dụng và đem đến hiệu quả cao hơn. Người trồng cần sự hỗ trợ để triển khai thành công các công nghệ mới.
Bằng cách sử dụng các hệ thống tích hợp toàn diện, nông dân có thể lập kế hoạch trang trại tốt hơn và áp dụng chính xác hơn các yếu tố cần thiết khác của nông nghiệp, bao gồm thuốc trừ sâu và thuốc diệt cỏ, giảm chi phí đáng kể. IoT sẽ biến nông nghiệp từ một lĩnh vực sản xuất định tính thành một lĩnh vực sản xuất chính xác dựa vào những số liệu thu thập, tổng hợp và phân tích thống kê. Từ việc phụ thuộc vào thời tiết, khí hậu…, người nông dân có thể tự chủ, điều chỉnh mọi thứ để đạt được hiệu quả như mong muốn. Nông dân thường làm việc trên biên lợi nhuận hẹp, và sự thiếu hiệu quả nhỏ có thể nhanh chóng làm cho một trang trại không có lợi nhuận. Nông nghiệp chính xác, được cung cấp bởi IoT, là điều cần thiết để cạnh tranh, và người tiêu dùng cũng như môi trường sẽ được hưởng lợi từ hiệu quả đó.
Những hệ thống thiết bị cảm biến, đo đạc sẽ được kết nối với nhau, tích hợp GPS và các công nghệ theo dõi để thu thập dữ liệu, kết nối với hạ tầng đám mây để truy xuất dữ liệu, phân tích đưa ra quyết định tối ưu hóa lượng nước, lượng phân bón, tự động hóa các hoạt động nông nghiệp hàng ngày vàcung cấp giải pháp theo dõi thời gian thực. Nhờ đó, các điều kiện dinh dưỡng đối với cây trồng sẽ được tối ưu, cho mức sinh trưởng tốt nhất.
Một trong những khía cạnh hay bị bỏ qua nhất trong nông nghiệp, nơi canh tác chính xác đã ra đời, là hệ thống thoát nước và tưới tiêu, vì cả hai đều cực kỳ quan trọng đối với sản xuất cây trồng. Đất cần có độ ẩm phù hợp để đảm bảo tính toàn vẹn của cây trồng không bị xâm phạm. Khi mực nước quá cao, cây trồng bị ngập nước. Bằng cách trang bị thêm ống thoát nước bằng cảm biến IoT, nông dân có thể theo dõi kiểm soát và thoát nước cho cây trồng phù hợp hơn. Hơn nữa, các ứng dụng IoT này cho phép nông dân giám sát hệ thống thoát nước từ xa một cách thuận tiện. Ngoài việc tăng năng suất cao hơn và thuận tiện hơn, IoT cũng có thể giảm chi phí lao động và các chi phí khác bằng cách giảm tần suất truy cập trang web.
Giảm thiểu dịch bệnh cũng là một yếu tố quan trọng trong việc nâng cao hiệu suất canh tác. Thêm vào đó, hiện người dùng đang có xu hướng chuộng các sản phẩm hữu cơ nên ngành nông nghiệp phải bắt đầu chú trọng tìm kiếm các giải pháp giảm thiểu dịch bệnh cho cây trồng mà không sử dụng thuốc trừ sâu. Hiện đã có không ít giải pháp ứng dụng IoT giúp giám sát số lượng sâu bệnh, khi phát hiện số lượng sâu bệnh trở nên quá cao, hệ thống tự động kích hoạt và ngăn cản quá trình kết đôi của sâu bệnh để giảm thiểu sự gia tăng, kèm theo đó sẽ cảnh báo để nông dân lựa chọn phương thức xử lý nhân công, sinh học hay thuốc trừ sâu.
Canh tác nhà kính là một phương pháp giúp nâng cao năng suất rau, quả, hoa màu, v.v... Nhà kính kiểm soát các thông số môi trường thông qua can thiệp thủ công hoặc cơ chế kiểm soát tỷ lệ. Vì sự can thiệp thủ công dẫn đến giảm sản xuất, mất năng lượng và chi phí lao động nên sẽ ít hiệu quả hơn. Nhà kính thông minh có thể được thiết kế với sự trợ giúp của IoT; giúp giám sát thông minh cũng như kiểm soát khí hậu, loại bỏ sự cần thiết phải can thiệp thủ công. Để kiểm soát môi trường trong nhà kính thông minh, các cảm biến khác nhau đo các thông số môi trường theo yêu cầu của cây cối.
Chúng ta có thể tạo một máy chủ đám mây để truy cập hệ thống từ xa khi được kết nối bằng IoT. Điều này giúp loại bỏ sự cần thiết phải theo dõi thủ công liên tục. Bên trong nhà kính, máy chủ đám mây cũng cho phép xử lý dữ liệu và có các hành động phù hợp để kiểm soát. Thiết kế này cung cấp các giải pháp tối ưu và hiệu quả cho nông dân với sự can thiệp thủ công tối thiểu.
Mặc dù công nghệ IoT đã được sử dụng trong giám sát chăn nuôi trong vài thập kỷ qua, nhưng việc sử dụng nó chỉ giới hạn ở vật nuôi - gà, lợn và bò được sử dụng chăn thả để sản xuất bơ hoặc sữa trong không gian hạn chế - tất cả vì để dễ dàng theo dõi.
Các chủ trang trại lớn có thể sử dụng các ứng dụng IoT không dây để thu thập dữ liệu liên quan đến vị trí, sức khỏe của gia súc. Thông tin này giúp họ xác định động vật bị bệnh để có thể tách khỏi đàn, từ đó ngăn ngừa sự lây lan của bệnh. Nó cũng làm giảm chi phí lao động vì người chăn nuôi có thể xác định vị trí gia súc của họ với sự trợ giúp của các cảm biến dựa trên IoT.
Gần đây, với mục đích thúc đẩy thu thập và phân tích dữ liệu về gà, lợn và gia súc chăn thả đã mở ra một lĩnh vực mới để ứng dụng công nghệ IoT. Đây cũng là một thách thức mới trong việc giám sát chăn nuôi - đặc biệt là về cách tiến hành thu thập dữ liệu về loại vật nuôi này. Ví dụ, các mối quan tâm như chăn nuôi thả tự do vật nuôi khỏe mạnh như thế nào, phải chăn thả trong bao nhiêu đồng cỏ, với diện tích nào thì vật nuôi đảm bảo yêu cầu khỏe mạnh, v.v.. Khi theo dõi chăn nuôi tự do, tất cả những mối quan tâm khác nhau này cần IoT để thu thập dữ liệu để mang lại kết quả tốt nhất trong sản xuất.
Ngoài ra, người tiêu dùng giờ đây thông minh hơn và có ý thức hơn về những gì họ đang tiêu thụ. Hai mươi năm trước, người tiêu dùng trung lưu sẽ không biết thịt gà nuôi tựdo hoặc thịt bò ăn cỏ miễn phí là gì. Người tiêu dùng ngày nay đã cá nhân hóa nhiều hơn nhu cầu của họ - đã không còn là một loại sản phẩm phù hợp sở thích của tất cả mọi người - bởi vì họ muốn biết họ đang tiêu thụ những sản phẩm an toàn nhất, tốt nhất cho sức khỏe. Điều này có nghĩa là có nhiều ứng dụng IoT cần thiết để theo dõi nhịp tim, gia tốc và vị trí của vật nuôi trên cánh đồng. Những tiến bộ công nghệ mới và kho dữ liệu mở rộng này mang đến cho người tiêu dùng sự an tâm – ví dụ như, con bò này đã có 95% thời gian trong một không gian mở- rằng họ tìm cách đưa ra quyết định mua hàng thông minh hơn, lành mạnh hơn.
Ứng dụng IoT trong nông nghiệp Việt Nam - những khó khăn
Trong lịch sử hình thành và phát triển của Việt Nam, nông nghiệp luôn là ngành kinh tế có vị trí quan trọng với khoảng 70% dân số làm nông nghiệp, vì vậy nông nghiệp sẽ là mảnh đất đầy tiềm năng cho các doanh nghiệp công nghệ. Hiện có không ít các nhà đầu tư đã và đang nghiên cứu phát triển đưa IoT nông nghiệp vào trong sản xuất. Các ứng dụng của nông nghiệp thông minh dựa trên IoT không chỉ nhắm vào các hoạt động nông nghiệp thông thường mà còn là đòn bẩy để nâng cao các xu hướng phát triển khác trong nông nghiệp như canh tác hữu cơ, canh tác gia đình và tăng cường tính minh bạch trong nông nghiệp.
Nhắc đến áp dụng công nghệ trong nông nghiệp Việt Nam, khó khăn đầu tiên phải kể đến vấn đề về kinh phí. Thực tế nó không hề cao, mà chi phí dồn vào chủ yếu là thuộc về khâu thiết kế ứng dụng. Người nông dân có thể kết nối với trang trại của mình thông qua smartphone giao tiếp với nông trại qua thiết bị thông minh, quen với với việc thay đổi cách canh tác.
Tiếp theo là vấn đề về ý tưởng khi thực hiện IoT trong nông nghiệp tại Việt Nam là không nhiều, chủ yếu xoay quanh cảm biến, lập trình tưới tiêu, trồng thủy canh tự động trong nhà và chỉ áp dụng cho doanh nghiệp quy mô giá cao.
Nhân tố chính xác nhất trong nền nông nghiệp Việt Nam là các nông hộ, hợp tác xã nhưng kết quả cho thấy họ còn bỡ ngỡ với công nghệ trong ứng dụng vào nông nghiệp. Vì vậy cần có người đồng hành, đứng ra bao tiêu, áp dụng quy trình và áp dụng công nghệ linh hoạt để nông sản có hiệu quả và trở thành hàng hóa có giá trị và chất lượng.
Nông nghiệp Việt Nam có nhiều lợi thế, tuy nhiên chủ yếu nằm ở quy mô sản xuất nhỏ dựa vào kinh tế hộ gia đình, năng suất lao động còn thấp. Vì vậy, ứng dụng IoT trong nông nghiệp sẽ tạo cơ hội lớn cho các hộnông dân trở thành một doanh nghiệp có năng suất và giá trị vượt trội cùng với chất lượng cuộc sống ngày càng tốt hơn.
Khi ngành nông nghiệp tiếp tục chuyển đổi số, chúng ta sẽ bắt đầu thấy nhu cầu lớn hơn đối với các giải pháp IoT đơn giản hơn. Hiện tại, các yêu cầu đối với hầu hết các giải pháp công nghệ này rất phức tạp - từ khả năng và bảo mật không dây đến tiêu thụ năng lượng. Ý tưởng về "cánh đồng sáng tạo" sẽ tiếp tục ngày càng hiệu quả hơn, khi các quy trình canh tác trở nên tựđộng hơn. Điều này đến lượt nó sẽ giúp đưa ứng dụng IoT trong ngành nông nghiệp tiến lên, đưa các chuyên gia công nghệ từ các lĩnh vực khác nhau cùng nhau tạo ra các giải pháp dành riêng cho nông nghiệp có thể được điều chỉnh theo nhu cầu cá nhân.
Có thể nói, IoT đã thay đổi bộ mặt của nền nông nghiệp, giảm bớt gánh nặng chi phí và nhân lực cho người nông dân. Quan trọng hơn, các thiết bị IoT đã hạn chế những ảnh hưởng tiêu cực từ chính môi trường tác động lên cây trồng, mở ra cơ hội canh tác chính xác giúp cho sản lượng tốt nhất, đồng thời cắt giảm sử dụng các chất hóa học trong nông nghiệp, góp phần bảo vệ nguồn nước ngầm khỏi tình trạng ô nhiễm. Giới quan sát dự báo, nông nghiệp thông minh sẽ ngày càng phổ biến, khi các thiết bị IoT trong canh tác sẽ tăng khoảng 20% mỗi năm, đạt mức gần 300 triệu vào năm 2024. Các vấn đề liên quan đến thiếu cơ sở hạ tầng hay nền tảng kết nối bền vững có thể được giải quyết nhờ thiết lập hệ thống vệ tinh cũng như mở rộng mạng lưới di động, tạo động lực thúc đẩy nông nghiệp 4.0 tại các vùng hẻo lánh hoặc kém phát triển trên thế giới.
Giống như bất kỳ ngành công nghiệp nào khác, chúng ta cần nhiều sự ủng hộ hơn để thúc đẩy việc áp dụng công nghệ IoT vào nông nghiệp và đem đến hiệu quả cao hơn. Qua việc cung cấp một số hiểu biết về nông nghiệp chính xác ngày nay và vai trò quan trọng của nó trong tương lai, mong rằng các công ty công nghiệp và công nghệ tiếp tục phát triển những tiềm năng từ sự gắn kết giữa công nghệ với nhu cầu của các nhà sản xuất nông nghiệp để sản xuất đủ lương thực nuôi sống 9 tỷ người trên thế giới vào năm 2050.
4. https://farm2go.thinklabs.vn
(Bài đăng ấn phẩm in Tạp chí TT&TT Số 9+10 tháng 8/2020)
MQTT là một giao thức giao tiếp nhẹ và linh hoạt, được thiết kế cho các ứng dụng IOT (Internet of Things). Giao thức MQTT dựa trên mô hình publish-subscribe, trong đó các thiết bị IOT có thể gửi và nhận các tin nhắn qua một máy chủ trung gian gọi là broker. Trong bài viết này Điện thông minh E-smart sẽ cùng các bạn tìm hiểu về MQTT trong lập trình ESP8266.
MQTT là viết tắt của Message Queuing Telemetry Transport, là một giao thức giao tiếp nhẹ dựa trên mô hình publish-subscribe. Giao thức này cho phép các thiết bị IOT gửi và nhận các tin nhắn nhỏ và đơn giản qua mạng Internet.
MQTT có ba thành phần chính: publisher, broker và subscriber. Publisher là thiết bị gửi tin nhắn đến broker, broker là máy chủ trung gian quản lý các tin nhắn và chuyển tiếp chúng đến subscriber, subscriber là thiết bị nhận tin nhắn từ broker.
MQTT sử dụng khái niệm topic để phân loại các tin nhắn. Topic là một chuỗi ký tự có cấu trúc theo dạng /level1/level2/…/leveln. Mỗi publisher và subscriber có thể đăng ký hoặc hủy đăng ký các topic tùy ý. Broker sẽ chuyển tiếp các tin nhắn từ publisher đến subscriber dựa trên topic của tin nhắn.
MQTT có ba mức độ Quality of Service (QoS) để đảm bảo tính toàn vẹn của các tin nhắn:
ESP8266 là một chip vi điều khiển có khả năng kết nối Wi-Fi và thực hiện các ứng dụng IOT. ESP8266 có thể lập trình bằng nhiều ngôn ngữ khác nhau, nhưng phổ biến nhất là dùng Arduino IDE.
ESP8266 có nhiều phiên bản khác nhau, nhưng phổ biến nhất là NodeMCU và Wemos D1 mini. Các phiên bản này có sẵn các chân GPIO để kết nối với các cảm biến và thiết bị ngoại vi.
ESP8266 có thể sử dụng các thư viện Arduino để hỗ trợ giao tiếp MQTT, như PubSubClient hoặc ESP-MQTT. Các thư viện này cho phép ESP8266 kết nối với broker MQTT, đăng ký và hủy đăng ký các topic, gửi và nhận các tin nhắn với các mức QoS khác nhau.
Chúng ta cần trang bị các thành phần sau:
Trong ví dụ này mình sử dụng HiveMQ broker. Bạn truy cập vào website: https://www.hivemq.com/ sau đó chọn Get HiveMQ
Click vào Sign Up, điền địa chỉ email và mật khẩu sau đó chọn Sign Up để đăng ký
Truy cập và mở Email do HiveMQ gửi đến click vào Confirm my account để hoàn tất đăng ký
Tiến hành đăng nhập tài khoản HiveMQ và thiết lập thông tin cơ bản
Lấy thông tin về địa chỉ URL và port kết nối của broker MQTT
Tạo tên người dùng và mật khẩu truy cập của broker MQTT
Thay thế phần tên wifi, mật khẩu wifi, mqtt_server, mqtt_username và mqtt_password
Trong bài viết này, bạn đã học cách sử dụng giao thức MQTT trong lập trình ESP8266 và IOT. Bạn đã biết cơ bản về giao thức MQTT, cách kết nối ESP8266 với broker MQTT, cách gửi và nhận các tin nhắn MQTT với các mức QoS khác nhau, cách sử dụng cảm biến DHT để đo nhiệt độ và độ ẩm, cách tạo và phân tích các tin nhắn JSON. Bạn cũng đã thử nghiệm chương trình của mình bằng Arduino IDE và WEB CLIENT. Hy vọng bài viết này sẽ giúp bạn có thêm kiến thức và kỹ năng để thực hiện các ứng dụng IOT với ESP8266 và MQTT. Chúc bạn thành công!
MQTT = Message Queue Telemetry Transport
Đây là một giao thức truyền thông điệp (message) theo mô hình publish/subscribe (publish – theo dõi), sử dụng băng thông thấp, độ tin cậy cao và có khả năng hoạt động trong điều kiện đường truyền không ổn định.
MQTT là một giao thức nhắn tin gọn nhẹ được thiết kế để liên lạc nhẹ giữa các thiết bị và hệ thống máy tính. MQTT được thiết kế ban đầu cho các mạng SCADA, các kịch bản sản xuất và băng thông thấp, MQTT đã trở nên phổ biến gần đây do sự phát triển của Internet-of-Things (IoT).
Kiến trúc mức cao (high-level) của MQTT gồm 2 phần chính là Broker và Clients.
Trong đó, broker được coi như trung tâm, nó là điểm giao của tất cả các kết nối đến từ client. Nhiệm vụ chính của broker là nhận mesage từ publisher, xếp các message theo hàng đợi rồi chuyển chúng tới một địa chỉ cụ thể. Nhiệm vụ phụ của broker là nó có thể đảm nhận thêm một vài tính năng liên quan tới quá trình truyền thông như: bảo mật message, lưu trữ message, logs,…
Client thì được chia thành 2 nhóm là publisher và subscriber . Client là các software components hoạt động tại edge device nên chúng được thiết kế để có thể hoạt động một cách linh hoạt (lightweight). Client chỉ làm ít nhất một trong 2 việc là publish các message lên một topic cụ thể hoặc subscribe một topic nào đó để nhận message từ topic này.
MQTT Clients tương thích với hầu hết các nền tảng hệ điều hành hiện có: MAC OS, Windows, LInux, Androids, iOS…
Các bạn có thể tưởng tượng broker giống như một sạp báo. Publisher là các tòa soạn báo. Tòa soạn in báo và chuyển cho sạp báo. Người đọc báo đến sạp báo, chọn tờ báo mình cần đọc (subscriber ).
Bởi vì giao thức này sử dụng băng thông thấp trong môi trường có độ trễ cao nên nó là một giao thức lý tưởng cho các ứng dụng M2M (Machine to machine)
Giao thức MQTT cho phép hệ thống SCADA của bạn truy cập dữ liệu IIoT. MQTT mang lại nhiều lợi ích mạnh mẽ cho quy trình của bạn:
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”.
Mỗi kết nối tới broker được đánh giá chất lượng bởi thông số chất lượng dịch vụ (QoS) như sau:
Nhiều nhất một lần: Tin nhắn chỉ được gửi một lần. Client và broker không phải thực hiện thêm bước nào để xác nhận việc gửi có thành công hay không Cơ chế gởi và quên (tiếng Anh: fire and forget, tạm dịch: gởi và quên).
Trường này không ảnh hưởng đến việc xử lý các quá trình truyền dữ liệu TCP bên dưới; nó chỉ được sử dụng giữa người gửi và người nhận MQTT.
Retain là một cờ (flag) được gắn cho một message của giao thức MQTT. Retain chỉ nhận giá trị 0 hoặc 1 (tương ứng 2 giá trị logic false hoặc true). Nếu retain = 1, broker sẽ lưu lại message cuối cùng của 1 topic kèm theo mức QoS tương ứng. Khi client bắt đầu subscribe topic có message được lưu lại đó, client ngay lập tức nhận được message.
MQTT Bridge là một tính năng của MQTT Broker cho phép các MQTT Broker có thể kết nối và trao đổi dữ liệu với nhau. Để sử dụng tính năng này, ta cần tối thiểu 2 Broker, trong đó, một Broker bất kỳ sẽ được cấu hình thành Bridge. Khi cấu hình MQTT bridge, ta cần lưu ý tới các thông số sau:
MQTT được thiết kế một cách nhẹ và linh hoạt nhất có thể. Do đó nó chỉ có 1 lớp bảo mật ở tầng ứng dụng: bảo mật bằng xác thực (xác thực các client được quyền truy cập tới broker).
Tuy vậy, MQTT vãn có thể được cài đặt kết hợp với các giải pháp bảo mật đa tầng khác như kết hợp với VPN ở tầng mạng hoặc SSL/TLS ở tầng transport.
MQTT được thiết kế nhằm phục vụ truyền thông machine-to-machine nhưng thực tế chứng minh nó lại linh hoạt hơn mong đợi. Nó hoàn toàn có thể áp dụng cho các kịch bản truyền thông khác như: machine-to-cloud, cloud-to-machine, app-to-app. Chỉ cần có một broker phù hợp và MQTT client được cài đặt đúng cách, các thiết bị xây dựng trên nhiều nền tảng khác nhau có thể giao tiếp với nhau một cách dễ dàng.
Giao thức MQTT ra đời năm 1999 và tính đến thời điểm hiện tại, MQTT phiên bản 3.1.1 được công nhận chuẩn OASIS.
Có một số dự án thực hiện MQTT. Ví dụ là:
Đã có một số dự án được thực hiện với giao thức MQTT. Ví dụ như: