Mục lục:

Kiến thức cơ bản về IoT: Kết nối IoT của bạn với đám mây bằng Mongoose OS: 5 bước
Kiến thức cơ bản về IoT: Kết nối IoT của bạn với đám mây bằng Mongoose OS: 5 bước

Video: Kiến thức cơ bản về IoT: Kết nối IoT của bạn với đám mây bằng Mongoose OS: 5 bước

Video: Kiến thức cơ bản về IoT: Kết nối IoT của bạn với đám mây bằng Mongoose OS: 5 bước
Video: Giới thiệu về IoT siêu dễ hiểu. Học và làm việc trong ngành IoT ra sao? 2024, Tháng mười một
Anonim
Kiến thức cơ bản về IoT: Kết nối IoT của bạn với đám mây bằng hệ điều hành Mongoose
Kiến thức cơ bản về IoT: Kết nối IoT của bạn với đám mây bằng hệ điều hành Mongoose
Kiến thức cơ bản về IoT: Kết nối IoT của bạn với đám mây bằng hệ điều hành Mongoose
Kiến thức cơ bản về IoT: Kết nối IoT của bạn với đám mây bằng hệ điều hành Mongoose

Nếu bạn là người thích mày mò và thiết bị điện tử, thường xuyên hơn không, bạn sẽ bắt gặp thuật ngữ Internet of Things, thường được viết tắt là IoT và nó đề cập đến một bộ thiết bị có thể kết nối với internet! Bản thân là một người như vậy, tôi bị cuốn hút khi biết rằng những thiết bị tuyệt vời như vậy có thể dễ dàng tiếp cận với tôi. Ý nghĩ đơn thuần về việc có thể kết nối các dự án của tôi với internet bằng một phần cứng nhỏ và chỉ nghĩ về vô số cánh cổng mà nó sẽ mở ra cho các ý tưởng dự án của tôi đã thôi thúc tôi.

Nhưng yêu cầu IoT kết nối với internet không đơn giản như việc bạn chỉ cần mua nó ra khỏi kệ và cấp nguồn cho nó. Và ngoài việc thiết bị kết nối với internet, chúng ta cũng cần đưa một số dữ liệu hữu ích lên internet. Có thể hướng dẫn này đề cập đến quy trình liên quan để đạt được mục tiêu đã nêu ở trên và dành cho người đọc ở bất kỳ cấp độ kinh nghiệm nào, từ người mới bắt đầu đến những người kỳ cựu mới làm quen với IoT.

Trong ví dụ có thể hướng dẫn này, tôi sẽ trình bày cách vẽ biểu đồ của các kết quả đọc cảm biến nhiệt độ bên trong của bảng phát triển ESP32, điều này sẽ cung cấp cho người đọc một ý tưởng tốt về quy trình.

Mặc dù có thể giảng dạy này sử dụng hệ điều hành ESP32 và Mongoose, nhưng quy trình này có thể được mở rộng cho tất cả các IoT và chương trình cơ sở ở đó!

Quân nhu

Để có thể tự mình thực hiện Bản hướng dẫn này, bạn sẽ chỉ cần một lượng phần cứng tối thiểu và chúng là:

  • Internet of Thing (IoT): Tôi đã sử dụng một bản sao bảng phát triển ESP32 giá rẻ. Nếu bạn định mua một bảng phát triển ESP32 mới, thì bạn phải kiểm tra bảng ESP32 của DFRobot.
  • Cáp dữ liệu: Sử dụng cáp mà IoT của bạn yêu cầu để nhấp nháy, v.v.
  • Pin (Tùy chọn): Chỉ mua cái này nếu bạn có ý định tăng sức mạnh cho IoT của mình trong thời gian dài.
  • A Mini Breadboard (Tùy chọn)

Tôi đề nghị người đọc sử dụng IoT khác với ESP32 để họ có thể thực sự hiểu những gì đang được thực hiện ở đây, thay vì chỉ bắt chước tôi. Tin tôi đi, bạn sẽ thích thực hiện quy trình này bằng cách sử dụng trí óc của mình trong một số IoT khác, chẳng hạn như ESP8266 sẽ là một lựa chọn tốt.

Bước 1: Giới thiệu về MQTT

Giới thiệu về MQTT
Giới thiệu về MQTT

MQTT là gì?

"MQTT là một giao thức nhắn tin đơn giản, được thiết kế cho các thiết bị hạn chế có băng thông thấp. Vì vậy, đây là giải pháp hoàn hảo cho các ứng dụng Internet of Things. MQTT cho phép bạn gửi lệnh để kiểm soát đầu ra, đọc và xuất bản dữ liệu từ các nút cảm biến và hơn thế nữa. " (Từ RandomNerdTutorials)

MQTT hoạt động như thế nào?

Trước khi đi vào kỹ thuật, chúng ta hãy nghĩ về thế giới thực của chúng ta trước. Giả sử rằng bạn quan tâm đến một bộ sưu tập thẻ thuộc sở hữu của bạn bè của bạn, chẳng hạn như Laurel, người mà cá nhân bạn không biết. Vì bạn rất đặc biệt về bộ sưu tập thẻ đó, bạn sẽ hỏi bạn của mình, giả sử là Tom, hỏi xem Laurel có sẵn sàng bán nó hay không. Trong khi làm như vậy, bạn sẽ yêu cầu Tom tự mua bộ sưu tập thẻ nếu Laurel sẵn sàng bán, vì bạn không muốn người khác có được bộ sưu tập mà bạn đang khao khát! Thời gian trôi qua, Tom và Laurel tương tác, và theo thỏa thuận chung, Laurel đưa bộ sưu tập thẻ của mình cho Tom để đổi lấy tiền. Sau cuộc trao đổi này, Tom giữ các thẻ bên mình cho đến khi anh ấy gặp lại bạn, đó là lúc anh ấy cuối cùng đưa cho bạn bộ sưu tập thẻ. Đây là cách một cuộc trao đổi bình thường diễn ra trong cuộc sống hàng ngày của chúng ta.

Trong MQTT, các yếu tố cơ bản liên quan đến trao đổi là nhà xuất bản (Laurel), người đăng ký (Bạn) và người môi giới (Tom). Quy trình làm việc của nó cũng tương tự như ví dụ trong thế giới thực đã nêu ở trên, ngoại trừ một sự khác biệt rất lớn! Trong MQTT, sàn giao dịch do nhà môi giới khởi xướng, tức là Laurel sẽ là người đầu tiên liên hệ với Tom để nói rằng cô ấy muốn bán bộ sưu tập thẻ của mình. Nếu chúng ta so sánh hoạt động của MQTT với ví dụ trong thế giới thực của chúng ta, thì nó sẽ như sau:

  1. Laurel nói với Tom rằng cô ấy muốn bán bộ sưu tập thẻ của mình (dữ liệu hoặc tải trọng) và đưa thẻ cho anh ta.
  2. Tom sở hữu những thẻ đó và sẵn sàng nhận các đề nghị cho bộ sưu tập thẻ. Khi bạn và Tom gặp nhau và anh ấy phát hiện ra rằng bạn quan tâm đến các thẻ (đăng ký một chủ đề). Sau đó Tom đưa cho bạn các thẻ.

Vì toàn bộ quy trình dựa vào nhà môi giới và không có tương tác trực tiếp giữa người đăng ký và nhà xuất bản, MQTT loại bỏ sự phức tạp khi đồng bộ hóa cả nhà xuất bản và người đăng ký. Sự hiện diện của nhà môi giới trung gian là một lợi ích cho các thiết bị hạn chế tài nguyên như IoT và bộ vi xử lý vì sức mạnh xử lý của chúng không đủ để thực hiện truyền dữ liệu theo cách thông thường, điều này sẽ liên quan đến các chi phí bổ sung như xác thực, mã hóa, v.v. Ngoài điều này, MQTT có rất nhiều tính năng khác như nhẹ, phân phối một-nhiều, v.v., điều này làm cho nó trở nên lý tưởng cho các mạng và máy khách bị hạn chế

Bước 2: Giới thiệu về Nền tảng IoT

Nền tảng IoT là gì?

"Ở cấp độ cao, nền tảng Internet of Things (IoT) là phần mềm hỗ trợ kết nối phần cứng biên, điểm truy cập và mạng dữ liệu với các phần khác của chuỗi giá trị (thường là các ứng dụng của người dùng cuối). Các nền tảng IoT thường xử lý các tác vụ quản lý đang diễn ra và trực quan hóa dữ liệu, cho phép người dùng tự động hóa môi trường của họ. " (Từ Link-Labs)

Tóm lại, một nền tảng IoT hoạt động như một phương tiện giữa người dùng và các tác nhân thu thập dữ liệu chịu trách nhiệm đại diện cho dữ liệu được thu thập.

Trong phần Có thể hướng dẫn này, chúng tôi dự định đưa các kết quả đo nhiệt độ của ESP32 lên trực tuyến. ESP32 của chúng tôi sẽ đóng vai trò là nhà xuất bản MQTT và nhà môi giới MQTT sẽ là một nền tảng IoT mà chúng tôi lựa chọn. Lưu ý rằng trong dự án của chúng tôi, không có vai trò của người đăng ký MQTT vì dữ liệu được chính nền tảng đại diện trực tiếp. Nền tảng IoT sẽ chịu trách nhiệm lưu trữ dữ liệu đã xuất bản của chúng tôi và thể hiện nó một cách độc đáo, ở đây, dưới dạng biểu đồ đường. Tôi sẽ sử dụng Losant làm nền tảng IoT của mình ở đây vì nó được sử dụng miễn phí và cung cấp một số cách tốt để biểu diễn dữ liệu. Một số ví dụ khác về nền tảng IoT là Google Cloud, Amazon AWS và Adafruit, Microsoft Azure, v.v. Tôi muốn khuyên người đọc tham khảo tài liệu về nền tảng IoT đã chọn của họ.

Thiết lập Losant:

  1. Đăng nhập vào Losant
  2. Tạo thiết bị (Loại độc lập)
  3. Thêm một vài kiểu dữ liệu vào thiết bị1. Tên: nhiệt độ, Kiểu dữ liệu: Number2. Tên: offset, Kiểu dữ liệu: Number3. Tên: đơn vị, Kiểu dữ liệu: Chuỗi
  4. Tạo khóa truy cập và ghi lại ID thiết bị và khóa truy cập
  5. Tạo đồ thị 1. Tạo một bảng điều khiển.2. Thêm khối "Biểu đồ chuỗi thời gian" vào nó bằng cách sử dụng biến nhiệt độ và thiết bị đã tạo của bạn.

"ID thiết bị" phục vụ mục đích hoạt động như một dấu vân tay duy nhất cho một thiết bị. "Các khóa truy cập", như tên cho thấy, cho phép IoT xuất bản lên Losant dưới danh tính thiết bị.

Bước 3: Chuẩn bị MQTT Publisher

Image
Image

Bây giờ chúng tôi đã chuẩn bị nền tảng IoT để nhận và đại diện cho dữ liệu, chúng tôi cần chuẩn bị một nhà xuất bản MQTT chịu trách nhiệm thu thập và gửi dữ liệu đến nền tảng.

Đề cương chuẩn bị của nhà xuất bản MQTT như sau:

  • Viết mã: Để hướng dẫn nhà xuất bản (IoT) cách thu thập dữ liệu, xử lý và gửi dữ liệu đến nền tảng IoT. Các hướng dẫn được viết bằng ngôn ngữ lập trình cấp cao mà con người có thể đọc được thường được gọi là mã.
  • Flash chương trình cơ sở: IoT sẽ không dễ dàng hiểu các hướng dẫn này vì ban đầu nó không biết bất kỳ ngôn ngữ nào. Để kết nối rào cản ngôn ngữ này giữa con người và máy móc, mã được biên dịch thành một bộ hướng dẫn thô, về cơ bản là tập hợp các giá trị thập lục phân hoặc nhị phân cụ thể cho các vị trí bộ nhớ bên trong IoT, được gọi là phần sụn sau đó được đưa vào IoT.

Trong Có thể hướng dẫn này, vì tôi đang sử dụng ESP32 tiện dụng của mình, tôi sẽ cài đặt chương trình cơ sở Mongoose OS cho nó, phần mềm này chấp nhận cả hai chương trình được viết C và JavaScript. Ngoài khả năng tương thích JS, Mongoose OS vẫn có rất nhiều thứ để cung cấp, chẳng hạn như cập nhật qua mạng, để điều chỉnh chương trình của bạn trực tuyến và bảng điều khiển dành riêng cho thiết bị (mDash), v.v.

Tôi đã phát triển một ứng dụng mã nguồn mở cho Mongoose OS để có thể hướng dẫn này. Đó là một ứng dụng đơn giản có tên cảm biến nhiệt độ losant, sử dụng MQTT để gửi các kết quả đo nhiệt độ môi trường gần đúng, dựa trên các kết quả đo nhiệt độ bên trong của ESP32, tới Losant (một nền tảng IoT miễn phí sử dụng). Bạn nên xem qua mã của ứng dụng để hiểu rõ hơn. Chúng tôi sẽ cài đặt ứng dụng này cho Ứng dụng có thể hướng dẫn này.

Nếu bạn thuộc tuýp người thích mạo hiểm, thì bạn có thể thử đạt được mục tiêu tương tự với phần mềm Arduino-ESP32 cho phép sử dụng ESP32 làm Arduino (có khả năng WiFi).

Bản tóm tắt nhanh cho ứng dụng flash với Mongoose OS:

  1. Cài đặt công cụ mos cho hệ điều hành của bạn.
  2. Mở công cụ và thực hiện các lệnh sau:

    1. bản sao mos
    2. cd losant-temp-sensor
    3. xây dựng Mos --platform esp32
    4. đèn flash mos
  3. Sau khi nhấp nháy thành công, hãy cho phép thiết bị khởi động lại và sau đó thực hiện các lệnh sau:

    1. mos wifi "ssid wifi của bạn" "mật khẩu wifi của bạn" vd. mos wifi "Trang chủ" "home @ 123"
    2. mos đặt cấu hình nhiệt độ.basis =

      nhiệt độ.unit ="

      "ví dụ: mos config-set heat.basis = 33 / heat.unit =" c độ"

    3. mos config-set device.id = mqtt.client_id = mqtt.user = mqtt.pass =

Sau khi hoàn thành tất cả các bước này một cách chính xác, bạn sẽ kết thúc với một ESP32 gửi kết quả đo nhiệt độ đến Losant theo định kỳ, sau mỗi 10 phút. Việc xuất bản thành công được biểu thị bằng đèn LED màu xanh lam, như trong video trên.

Bước 4: Chú thích cuối trang

Image
Image
Chú thích
Chú thích

Nếu bạn có thể lặp lại các bước trước đó một cách chính xác, thì bây giờ bạn sẽ có một dự án đang hoạt động với sự trợ giúp của nó mà bạn có thể quan sát xu hướng nhiệt độ bên trong phòng của mình hoặc bất cứ nơi nào bạn định đặt dự án. Vì tôi đã giữ cho phần Có thể hướng dẫn này ở mức tổng quát nhất có thể, do đó bạn có thể sử dụng IoT của mình để thu thập dữ liệu thuộc mọi loại và cố gắng kết luận điều gì đó hữu ích từ nó hoặc bạn có thể làm điều đó chỉ vì mục đích mày mò nếu bạn ' đã hiểu đúng đắn này Có thể hướng dẫn.

Đối với tôi, phần tốt nhất về IoT là thực tế là nó cho phép chúng tôi thu thập những khối dữ liệu khổng lồ, không thể kết luận nếu chỉ lấy một mình và chuyển đổi nó thành một thứ gì đó có thể kết luận được. Điều này thực sự đánh vào tinh thần khoa học. Đối với tôi, thật hài lòng và sáng suốt khi nhận thấy nhiệt độ giảm trong phòng của tôi trong những giờ mưa qua biểu đồ của tôi.

Ứng dụng cảm biến nhiệt độ (losant-temp-sensor-app) đã được tối ưu hóa để tiêu thụ điện năng, vì nó sử dụng tính năng ngủ sâu của ESP32, do đó bạn có thể sử dụng nó trong thời gian dài mà không cần lo lắng về pin. Bạn có thể mở rộng hơn nữa hiệu quả sử dụng điện bằng cách loại bỏ đèn LED trên bo mạch phát triển. Bản vẽ hiện tại của toàn bộ thiết lập đã được hiển thị ở trên.

Mục đích của Có thể hướng dẫn này, ngay từ đầu chỉ là giới thiệu cho bạn về thế giới IoT. Khi hoàn thành phần Có thể hướng dẫn này, bạn sẽ nắm chắc những kiến thức cơ bản mà bạn có thể củng cố hơn nữa thông qua các tài nguyên trực tuyến khác.

Mặc dù bạn sẽ không thể thực hiện các dự án phức tạp ở giai đoạn này, nhưng cần luôn nhớ rằng nếu bạn có một viên gạch đủ mạnh và cách kết hợp chúng với nhau, thì bạn có thể tạo ra bất kỳ cấu trúc nào có thể tưởng tượng được, từ đơn giản đến phức tạp. Tương tự như vậy, nắm bắt tốt những điều cơ bản và biết cách áp dụng chúng một cách chính xác sẽ cho phép bạn đưa ra vô số phương án. Do đó, hãy tự vỗ về mình vì đã thực hiện bước đầu tiên.

Bước 5: Tín dụng và hỗ trợ

Có thể hướng dẫn này bao gồm các hình ảnh minh họa, ví dụ: một giải thích về trao đổi MQTT, mà tôi đã tự mình thực hiện. Những minh họa đó chỉ có thể thực hiện được nhờ các gói SVG miễn phí sử dụng sau:

  • Vectơ đồ họa thông tin được tạo bởi freepik - www.freepik.com
  • Vector đồ họa thông tin được tạo bởi starline - www.freepik.com
  • Vector người được tạo bởi pikisuperstar - www.freepik.com
  • Vector trừu tượng được tạo bởi macrovector - www.freepik.com
  • Vector trừu tượng được tạo bởi macrovector - www.freepik.com
  • Vectơ đồ họa thông tin được tạo bởi pikisuperstar - www.freepik.com

Có thể hướng dẫn này đã được tài trợ bởi DFRobot. DFRobot có một bộ sưu tập đồ điện tử tuyệt vời, vì vậy hãy nhớ xem thử.

Nếu bạn cảm thấy rằng bạn thích Sách hướng dẫn này và muốn có nhiều Sách hướng dẫn tương tự như vậy, thì bạn có thể ủng hộ tôi trên Patreon. Nếu bạn không thể đi xa như vậy, thì bạn có thể theo dõi tôi tại đây trên Bảng hướng dẫn.

Đề xuất: