1. Trang chủ
  2. » Giáo Dục - Đào Tạo

báo cáo học phần công nghệ iot và an toàn nghiên cứu về google cloud iot

61 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên cứu về Google Cloud IoT
Tác giả Ngô Huy Lục
Người hướng dẫn ThS. Phạm Duy Trung
Trường học Học viện Kỹ thuật Mật mã
Chuyên ngành Công nghệ IoT và an toàn
Thể loại Báo cáo học phần
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 61
Dung lượng 2,16 MB

Cấu trúc

  • CHƯƠNG 1 TỔNG QUAN VỀ IOT (7)
    • 1.1. Giới thiệu về mạng máy tính (7)
    • 1.2. Khái niệm IoT (0)
    • 1.3. Cơ sở kĩ thuật của IoT (0)
      • 1.3.1. Giao thức chính (11)
      • 1.3.2. Năng lực truyền thông (Communication Capabilities) (13)
      • 1.3.3. Công suất thiết bị (Device Power) (14)
      • 1.3.4. Công nghệ cảm biến (Sensor Technology) (15)
      • 1.3.5. Thời gian đáp ứng (16)
    • 1.4. Các ứng dụng của IOT (0)
      • 1.4.1. Ứng dụng trong lĩnh vực vận tải (17)
      • 1.4.2. Ứng dụng trong lĩnh vực sản xuất nông nghiệp (18)
      • 1.4.3. Ứng dụng trong nhà thông minh (20)
    • 1.5. Các thách thức trong việc nghiên cứu, triển khai IoT (21)
  • CHƯƠNG 2: GOOGLE CLOUD PLATFORM (24)
    • 2.1. Khái niệm (24)
    • 2.2. Công cụ (24)
      • 2.2.1. IaaS (Infrastructure as a Service) (24)
      • 2.2.2. PaaS (Platform as a Service) (27)
      • 2.2.3. SaaS (Software as a Service) (29)
    • 2.3. Tiện ích (31)
      • 2.3.1. Services (32)
      • 2.3.2. Big Data (33)
      • 2.3.3. Storage (33)
      • 2.3.4. Compute (33)
    • 2.4. Kiến trúc của IoT platform trên Google Cloud (34)
  • CHƯƠNG 3.ỨNG DỤNG ORACLE BLOCKCHAIN (41)
    • 3.1. CÁC GIAO THỨC ĐƯỢC SỬ DỤNG (41)
      • 3.1.1. HTTP(đẩy và nhận dữ liệu trên web serve) (41)
      • 3.1.2. I2C(oled-esp32) (41)
    • 3.2. PHẦN CỨNG (42)
      • 3.2.1. ESP32 (42)
      • 3.2.2. DHT22 (45)
      • 3.2.3. Màn hình oled (49)
    • 3.3. Cách truyền dữ liệu qua http (54)
    • 3.4. Giả lập trên wokwi (55)
  • KẾT LUẬN (61)

Nội dung

Ông là một nhà khoa học đã sáng lập ra Trung tâm Auto-ID ở đại học MIT[7]."Thing" - sự vật - trong Internet of Things, có thể là một trang trại động vật với bộ tiếpsóng chip sinh học, mộ

TỔNG QUAN VỀ IOT

Giới thiệu về mạng máy tính

Mạng máy tính được coi là rất phức tạp, khó thực hiện và vận dụng Hơn nữa, với công nghệ IoT, nơi chúng ta kết nối mọi loại các thiết bị trên Internet như máy lạnh, quạt, vvv Sự phức tạp này trở nên thậm chí cao hơn Nhiều tài liệu cho thấy thực sự có 13 tỷ thiết bị IoT được kết nối với Internet và có khả năng con số này sẽ tăng lên đến 30 tỷ trong ba năm tới.

Sự phức tạp của mạng IoT sẽ mang lại cho sinh viên thời gian để học và hiểu cách thức hoạt động của công nghệ này Do đó, điều rất quan trọng là phải cung cấp mạng học tập và các công cụ thực hành, nơi sinh viên có thể mô phỏng hoặc xây dựng và quản lý hệ thống để hiểu rõ hơn về triết lý đằng sau các mạng.

Các công cụ mô phỏng mạng được sử dụng để kiểm tra xem mạng sẽ hoạt động như thế nào trước khi được cài đặt vật lý Có nhiều công cụ để mô phỏng mạng: NS-2, TOSSIM, OMNeT ++, J-Sim, Avrora và một số công cụ phổ biến của Cisco Packet Tracer.

Trình theo dõi gói của Cisco là một phần mềm mạnh mẽ do Công ty Cisco tạo ra để mô phỏng ảo mạng, đặc biệt là mạng không dây Trình theo dõi gói của Cisco cung cấp một môi trường nơi thiết bị trông giống như thực tế và điều này rất quan trọng đối với người dùng, đặc biệt là sinh viên Họ có thể giám sát và tương tác với các thiết bị không dây và IoT khác nhau trong môi trường ảo trước khi làm việc trong thời gian thực.

Làm việc với các công cụ mô phỏng để tìm hiểu cách mạng hoạt động mang lại cho chúng ta cả thời gian và vật liệu lợi thế và giúp giảm chi phí trong giáo dục Báo cáo này được tổ chức như sau: phần đầu là phần mở đầu,phần thứ hai một phần tập trung vào các công cụ mô phỏng theo dõi gói tin cisco, phần thứ ba của luận án là về triển khai nhà thông minh với trình theo dõi gói Cisco, và phần cuối cùng là kết luận và nghiên cứu trong tương lai.

Internet of Things (IoT) là thuật ngữ dùng để chỉ các đối tượng có thể được nhận biết cũng như sự tồn tại của chúng trong một kiến trúc mang tính kết nối. Đây là một viễn cảnh trong đó mọi vật, mọi con vật hoặc con người được cung cấp các định danh và khả năng tự động truyền tải dữ liệu qua một mạng lưới mà không cần sự tương tác giữa con người-với-con người hoặc con người-với-máy tính IoT tiến hoá từ sự hội tụ của các công nghệ không dây, hệ thống vi cơ điện tử (MEMS) và Internet Cụm từ này được đưa ra bởi Kevin Ashton vào năm 1999 Ông là một nhà khoa học đã sáng lập ra Trung tâm Auto-ID ở đại học MIT [7].

"Thing" - sự vật - trong Internet of Things, có thể là một trang trại động vật với bộ tiếp sóng chip sinh học, một chiếc xe ô tô tích hợp các cảm biến để cảnh báo lái xe khi lốp quá non, hoặc bất kỳ đồ vật nào do tự nhiên sinh ra hoặc do con người sản xuất ra mà có thể được gán với một địa chỉ IP và được cung cấp khả năng truyền tải dữ liệu qua mạng lưới.

IoT phải có 2 thuộc tính: một là đó phải là một ứng dụng internet Hai là, nó phải lấy được thông tin của vật chủ.

Hình 2 Sự gia tăng nhanh chóng của giao tiếp máy – máy.

Một ví dụ điển hình cho IoT là tủ lạnh thông minh, nó có thể là một chiếc tủ lạnh bình thường nhưng có gắn thêm các cảm biến bên trong giúp kiểm tra được số lượng các loại thực phẩm có trong tủ lạnh, cảm biến nhiệt độ, cảm biến phát hiện mở cửa,… và các thông tin này được đưa lên internet Với một danh mục thực phẩm được thiết lập trước bởi người dùng, khi mà một trong các loại thực phẩm đó sắp hết thì nó sẽ thông báo ngay cho chủ nhân nó biết rằng cần phải bổ sung gấp, thậm chí nếu các loại sản phẩm được gắn mã ID thì nó sẽ tự động trực tiếp gửi thông báo cần nhập hàng đến siêu thị và nhân viên siêu thị sẽ gửi loại thực phẩm đó đến tận nhà.

Hình 3 Ứng dụng tủ lạnh trong IoT

1.4 Cơ sở kĩ thuật của IoT 1.3.1 Giao thức chính

Trong IoT, các thiết bị phải giao tiếp được với nhau (D2D) Dữ liệu sau đó phải được thu thập và gửi tới máy chủ (D2S) Máy chủ cũng có để chia sẻ dữ liệu với nhau(S2S), có thể cung cấp lại cho các thiết bị, để phân tích các chương trình, hoặc cho người dùng Các giao thức có thể dùng trong IoT là:

- MQTT: một giao thức cho việc thu thập dữ liệu và giao tiếp cho các máy chủ (D2S)

- XMPP: giao thức tốt nhất để kết nối các thiết bị với mọi người, một trường hợp đặc biệt của mô hình D2S, kể từ khi người được kết nối với các máy chủ

- DDS: giao thức tốc độ cao cho việc tích hợp máy thông minh (D2D) - AMQP: hệ thống hàng đợi được thiết kế để kết nối các máy chủ với nhau (S2S)

* MQTT MQTT(Message Queue Telemetry Transport), mục tiêu thu thập dữ liệu và giao tiếp D2S Mục đích là đo đạc từ xa, hoặc giám sát từ xa, thu thập dữ liệu từ nhiều thiết bị và vận chuyển dữ liệu đó đến máy trạm với ít xung đột nhất MQTT nhắm đến các mạng lớn của các thiết bị nhỏ mà cần phải được theo dõi hoặc kiểm soát từ các đám mây.

MQTT hoạt động đơn giản, cung cấp nhiều lựa chọn điều khiển và QoS.

MQTT không có yêu cầu quá khắt khe về thời gian, tuy nhiên hiều quả của nó là rất lớn, đáp ứng tính thời gian thực với đơn vị tính bằng giây.

Các giao thức hoạt động trên nền tàng TCP, cung cấp các đáp ứng đơn giản, đáng tin cậy.

* XMPP XMPP ban đầu được gọi là "Jabber." Nó được phát triển cho các tin nhắn tức thời (IM) để kết nối mọi người với những người khác thông qua tin nhắn văn bản XMPP là viết tắt của Extensible Messaging và Presence Protocol.

Hình 4 Ví dụ về MQTT

XMPP sử dụng định dạng văn bản XML, và cũng tương tự như MQTT chạy, XMPP chạy trên nền tảng TCP, hoặc có thể qua HTTP trên TCP Sức mạnh chính của nó là một chương trình name@domain.comaddressing trong mạng Internet khổng lồ.

1.3.2 Năng lực truyền thông (Communication Capabilities) Địa chỉ IP được coi là yếu tố quan trọng trong IoT, khi mà mỗi thiết bị được gán một địa chỉ IP riêng biệt Do đó khả năng cấp phát địa chỉ IP sẽ quyết định đến tương lai của IoT Hệ thống địa chỉ IPv4 được tạo ra mới mục đích đánh cho mỗi máy tính kết nối vào mạng internet một con số riêng biệt, giúp cho thông tin có thể tìm tới đúng nơi cần đến ngay khi nó được chuyển đi từ bất cứ địa điểm nào trên thế giới Theo thiết kế, Ipv4 có thể cung cấp 2^32 (tương ứng với khoảng 4,2 tỉ) địa chỉ IP, một con số lớn không tưởng cách đây 30 năm.

Cơ sở kĩ thuật của IoT

Trong IoT, các thiết bị phải giao tiếp được với nhau (D2D) Dữ liệu sau đó phải được thu thập và gửi tới máy chủ (D2S) Máy chủ cũng có để chia sẻ dữ liệu với nhau(S2S), có thể cung cấp lại cho các thiết bị, để phân tích các chương trình, hoặc cho người dùng Các giao thức có thể dùng trong IoT là:

- MQTT: một giao thức cho việc thu thập dữ liệu và giao tiếp cho các máy chủ (D2S)

- XMPP: giao thức tốt nhất để kết nối các thiết bị với mọi người, một trường hợp đặc biệt của mô hình D2S, kể từ khi người được kết nối với các máy chủ

- DDS: giao thức tốc độ cao cho việc tích hợp máy thông minh (D2D) - AMQP: hệ thống hàng đợi được thiết kế để kết nối các máy chủ với nhau (S2S)

* MQTT MQTT(Message Queue Telemetry Transport), mục tiêu thu thập dữ liệu và giao tiếp D2S Mục đích là đo đạc từ xa, hoặc giám sát từ xa, thu thập dữ liệu từ nhiều thiết bị và vận chuyển dữ liệu đó đến máy trạm với ít xung đột nhất MQTT nhắm đến các mạng lớn của các thiết bị nhỏ mà cần phải được theo dõi hoặc kiểm soát từ các đám mây.

MQTT hoạt động đơn giản, cung cấp nhiều lựa chọn điều khiển và QoS.

MQTT không có yêu cầu quá khắt khe về thời gian, tuy nhiên hiều quả của nó là rất lớn, đáp ứng tính thời gian thực với đơn vị tính bằng giây.

Các giao thức hoạt động trên nền tàng TCP, cung cấp các đáp ứng đơn giản, đáng tin cậy.

* XMPP XMPP ban đầu được gọi là "Jabber." Nó được phát triển cho các tin nhắn tức thời (IM) để kết nối mọi người với những người khác thông qua tin nhắn văn bản XMPP là viết tắt của Extensible Messaging và Presence Protocol.

Hình 4 Ví dụ về MQTT

XMPP sử dụng định dạng văn bản XML, và cũng tương tự như MQTT chạy, XMPP chạy trên nền tảng TCP, hoặc có thể qua HTTP trên TCP Sức mạnh chính của nó là một chương trình name@domain.comaddressing trong mạng Internet khổng lồ.

1.3.2 Năng lực truyền thông (Communication Capabilities) Địa chỉ IP được coi là yếu tố quan trọng trong IoT, khi mà mỗi thiết bị được gán một địa chỉ IP riêng biệt Do đó khả năng cấp phát địa chỉ IP sẽ quyết định đến tương lai của IoT Hệ thống địa chỉ IPv4 được tạo ra mới mục đích đánh cho mỗi máy tính kết nối vào mạng internet một con số riêng biệt, giúp cho thông tin có thể tìm tới đúng nơi cần đến ngay khi nó được chuyển đi từ bất cứ địa điểm nào trên thế giới Theo thiết kế, Ipv4 có thể cung cấp 2^32 (tương ứng với khoảng 4,2 tỉ) địa chỉ IP, một con số lớn không tưởng cách đây 30 năm.

Tuy nhiên, sự bùng nổ mạnh mẽ của Internet đã khiến cho số lượng địa chỉ IP tự do càng ngày càng khan hiếm Mới đây, RIPE NCC - Hiệp hội các tổ chức quản lý mạng Internet khu vực châu Âu phải đưa ra tuyên bố rằng họ đã sử dụng đến gói địa chỉ IP chưa cấp phát cuối cùng (khoảng 1,8 triệu địa chỉ).

Và sự ra đời của IPv6 như là một giải pháp cứu sống kịp thời cho sự cạn kiệt của IPv4 Độ dài bit của là 128 Sự gia tăng mạnh mẽ của IPv6 trong không gian địa chỉ là một yếu tố quan trọng trong phát triển Internet of Things.

Hình 6 Năng lực truyền thông

1.3.3 Công suất thiết bị (Device Power)

Các tiêu chí hình thức chính của thiết bị khi triển khai một ứng dụng IoT là phải giá thành thấp, mỏng, nhẹ…và như vậy phần năng lượng nuôi thiết bị cũng sẽ trở nên nhỏ gọn lại, năng lượng tích trữ cũng sẽ trở nên ít đi Do đó đòi hỏi thiết bị phải tiêu tốn một công suất cực nhỏ (Ultra Low Power) để sử dụng nguồn năng lượng có hạn đó Bên cạnh đó yêu cầu có những giao thức truyền thông không dây gọn nhẹ hơn, đơn giản hơn, đòi hỏi ít công suất hơn (Low Energy Wireless Technologies) như Zigbee, BLE (Bluetooth low energy), ANT/ANT+, NIKE+,

Hình 7 Bảng so sánh các chuẩn truyền thông không dây

1.3.4 Công nghệ cảm biến (Sensor Technology)

Trong Internet of Things, cảm biến đóng vai trò then chốt, nó đo đạt cảm nhận giá trị từ môi trường xung quanh rồi gửi đến bộ vi xử lý sau đó được gửi lên mạng Chúng ta có thể bắt gặp một số loại cảm biến về cảnh báo cháy rừng,cảnh báo động đất, cảm biến nhiệt độ, cảm biến độ ẩm, Để giúp cho thiết bị kéo dài được thời gian sống hơn thì đòi hỏi cảm biến cũng phải tiêu hao một lượng năng lượng cực kỳ thấp Bên cạnh đó độ chính xác và thời gian đáp ứng của cảm biến cũng phải nhanh Để giá thành của thiết bị thấp thì đòi hỏi giá cảm biến cũng phải thấp.

Hình 8 Một số loại cảm biến hay gặp

Thời gian đáp ứng phải đảm bảo tính thời gian thực, sao cho hàng ngàn các node mạng có thể truy cập vào hệ thống mà không xảy ra hiện tượng nghẽn mạng Với các ứng dụng D2D, thời gian đáp ứng trong khoảng 10us đến 10ms, trong khi ứng dụng D2S, thời gian này là 10ms đến 1s Với các ứng dụng S2S, không có yêu cầu khắt khe về thời gian đáp ứng, tuy nhiên thông thường yêu cầu từ 3 đến 5s.

Hình 9 Đáp ứng thời gian cho ứng dụng IoT

Các ứng dụng của IOT

Với những hiệu quả thông minh rất thiết thực mà IoT đem đến cho con người, IoT đã và đang được tích hợp trên khắp mọi thứ, mọi nơi xung quanh thế giới mà con người đang sống Từ chiếc vòng đeo tay, những đồ gia dụng trong nhà, những mãnh vườn đang ươm hạt giống, cho đến những sinh vật sống như động vật hay con người…đều có sử dụng giải pháp IoT.

Hình 10 Tổng quan về ứng dụng của IoT

1.4.1 Ứng dụng trong lĩnh vực vận tải Ứng dụng điển hình nhất trong lĩnh vực này là gắn chíp lấy tọa độ GPS lên xe chở hàng, nhằm kiểm soát lộ trình, tốc độ, thời gian đi đến của các xe chở hàng Ứng dụng này giúp quản lý tốt khâu vận chuyển, có những xử lý kịp thời khi xe đi không đúng lộ trình hoạt bị hỏng hóc trên những lộ trình mà ở đó mạng di động không phủ sóng tới được, kiểm soát được lượng nhiên liệu tiêu hao ứng với lộ trình đã được vạch trước…

1.4.2 Ứng dụng trong lĩnh vực sản xuất nông nghiệp

Quá trình sinh trưởng và phát triển của cây trồng trải qua nhiều giai đoạn từ hạt nảy mầm đến ra hoa kết trái Ở mỗi giai đoạn cần có sự chăm sóc khác nhau về chất dinh dưỡng cũng như chế độ tưới tiêu phù hợp Những yêu cầu này đòi hỏi sự bền bỉ và siêng năng của người nông dân từ ngày này sang ngày khác làm cho họ phải vất vả Nhưng nhờ vào ứng dụng khoa học kỹ thuật, sử dụng cảm biến để lấy thông số nhiệt độ, độ ẩm, độ pH của đất trồng, cùng với bảng dữ liệu về quy trình sinh trưởng của loại cây đó, hệ thống sẽ tự động tưới tiêu bón lót cho cây trồng phù hợp với từng giai đoạn phát triển của cây trồng.

Người nông dân bây giờ chỉ kiểm tra, quan sát sự vận hành của hệ thống chăm sóc cây trồng trên một màn hình máy tính có nối mạng.

Sản phẩm của mỗi loại nông sản sẽ được gắn mã ID, nếu tủ lạnh nhà chúng ta sắp hết một loại nông sản nào đó thì ngay lập tức nó sẽ tự động gửi thông báo cần mua đến cơ sở dữ liệu của trang trại có trồng loại nông sản đó, và chỉ sau một thời gian nông sản mà bạn cần sẽ được nhân viên đem đến tận nhà.

Hình 11 Theo dõi tình trạng sinh trưởng của cây trồng

1.4.3 Ứng dụng trong nhà thông minh

Vài năm trở lại đây, khi thế giới đang dần tiến vào kỷ nguyên Internet of Things, kết nối mọi vật qua Internet, nhà thông minh trở thành một xu hướng công nghệ tất yếu, là tiêu chuẩn của nhà ở hiện đại Trong căn hộ thông minh, tất cả các thiết bị từ rèm cửa, điều hoà, dàn âm thanh, hệ thống ánh sáng, hệ thống an ninh, thiết bị nhà tắm… được kết nối với nhau và hoạt động hoàn toàn tự động theo kịch bản lập trình sẵn, đáp ứng đúng nhu cầu sử dụng của khách hàng.

Hình 12 Ví dụ về nhà thông minh

Ví dụ, vào buổi sáng, đèn tắt, rèm cửa tự động chuyển tới vị trí thích hợp để giảm bớt những tác động náo nhiệt từ đường phố và nhường không gian cho ánh sáng tự nhiên Tối đến, hệ thống đèn bật sáng, các rèm cửa kéo lên người dùng có thể thưởng ngoạn từ trên cao bức tranh thành phố rực rỡ ánh đèn, đồng thời âm nhạc cũng nhẹ nhàng cất lên các giai điệu yêu thích của gia đình.

Nếu có việc cả nhà phải đi vắng, chế độ "Ra khỏi nhà" sẽ được kích hoạt,toàn bộ thiết bị điện tử gia dụng sẽ tự động tắt hoặc đóng lại và khi chủ nhân về, chúng cũng sẽ khôi phục lại trạng thái trước đó Thậm chí, nước nóng cũng đã sẵn sàng từ vài phút trước khi gia chủ về đến cửa Riêng hệ thống an ninh luôn hoạt động 24/24 và sẽ thông báo đến chủ nhà mọi thay đổi "đáng ngờ" trong ngôi nhà, dù đang ở bất cứ đâu.

Các thách thức trong việc nghiên cứu, triển khai IoT

 Chưa có một ngôn ngữ chung: Ở mức cơ bản nhất, Internet là một mạng dùng để nối thiết bị này với thiết bị khác Nếu chỉ riêng có kết nối không thôi thì không có gì đảm bảo rằng các thiết bị biết cách nói chuyện nói nhau Ví dụ, chúng ta có thể đi từ Việt Nam đến Mỹ, nhưng không đảm bảo rằng chúng ta có thể nói chuyện tới với người Mỹ Để các thiết bị có thể giao tiếp với nhau, chúng sẽ cần một hoặc nhiều giao thức (protocols), có thể xem là một thứ ngôn ngữ chuyên biệt để giải quyết một tác vụ nào đó Chắc chắn chúng ta đã ít nhiều sử dụng một trong những giao thức phổ biến nhất thế giới, đó là HyperText Transfer Protocol (HTTP) để tải web Ngoài ra chúng ta còn có SMTP, POP, IMAP dành cho email, FTP dùng để trao đổi file,

Những giao thức như thế này hoạt động ổn bởi các máy chủ web, mail và FTP thường không phải nói với nhau nhiều, khi cần, một phần mềm phiên dịch đơn giản sẽ đứng ra làm trung gian để hai bên hiểu nhau Còn với các thiết bị IoT, chúng phải đảm đương rất nhiều thứ, phải nói chuyện với nhiều loại máy móc thiết bị khác nhau Đáng tiếc rằng hiện người ta chưa có nhiều sự đồng thuận về các giao thức để IoT trao đổi dữ liệu Nói cách khác, tình huống này gọi là "giao tiếp thất bại", một bên nói nhưng bên kia không thèm (và không thể) nghe.

Như đã nói ở trên, thay vì giao tiếp trực tiếp với nhau, các thiết bị IoT hiện nay chủ yếu kết nối đến một máy chủ trung tâm do hãng sản xuất một nhà phát triển nào đó quản lí Cách này cũng vẫn ổn thôi, những thiết bị vẫn hoàn toàn nói được với nhau thông qua chức năng phiên dịch của máy chủ rồi Thế nhưng mọi chuyện không đơn giản như thế, cứ mỗi một mạng lưới như thế tạo thành một subnetwork riêng, và buồn thay các máy móc nằm trong subnetwork này không thể giao tiếp tốt với subnetwork khác.

Lấy ví dụ như xe ô tô chẳng hạn Một chiếc Ford Focus có thể giao tiếp cực kì tốt đến các dịch vụ và trung tâm dữ liệu của Ford khi gửi dữ liệu lên mạng.

Nếu một bộ phận nào đó cần thay thế, hệ thống trên xe sẽ thông báo về Ford, từ đó hãng tiếp tục thông báo đến người dùng Nhưng trong trường hợp chúng ta muốn tạo ra một hệ thống cảnh báo kẹt xe thì mọi chuyện rắc rối hơn nhiều bởi xe Ford được thiết lập chỉ để nói chuyện với server của Ford, không phải với server của Honda, Audi, Mercedes hay BMW Lý do cho việc giao tiếp thất bại? Chúng ta thiếu đi một ngôn ngữ chung Và để thiết lập cho các hệ thống này nói chuyện được với nhau thì rất tốn kém, đắt tiền.

Một số trong những vấn đề nói trên chỉ đơn giản là vấn đề về kiến trúc mạng, về kết nối mà các thiết bị sẽ liên lạc với nhau (Wifi, Bluetooth, NFC, ).

Những thứ này thì tương đối dễ khắc phục với công nghệ không dây ngày nay.

Còn với các vấn đề về giao thức thì phức tạp hơn rất nhiều, nó chính là vật vản lớn và trực tiếp trên còn đường phát triển của Internet of Things.

 Có quá nhiều "ngôn ngữ địa phương":

Bây giờ giả sử như các nhà sản xuất xe ô tô nhận thấy rằng họ cần một giao thức chung để xe của nhiều hãng có thể trao đổi dữ liệu cho nhau và họ đã phát triển thành công giao thức đó Thế nhưng vấn đề vẫn chưa được giải quyết Nếu các trạm thu phí đường bộ, các trạm bơm xăng muốn giao tiếp với xe thì sao?

Mỗi một loại thiết bị lại sử dụng một "ngôn ngữ địa phương" riêng thì mục đích của IoT vẫn chưa đạt được đến mức tối đa Đồng ý rằng chúng ta vẫn có thể có một trạm kiểm soát trung tâm, thế nhưng các thiết bị vẫn chưa thật sự nói được với nhau.

Cách duy nhất để các thiết bị IoT có thể thật sự giao tiếp đó là khi có một động lực kinh tế đủ mạnh khiến các nhà sản xuất đồng ý chia sẻ quyền điều khiển cũng như dữ liệu mà các thiết bị của họ thu thập được Hiện tại, các động lực này không nhiều Có thể xét đến ví dụ sau: một công ty thu gom rác muốn kiểm tra xem các thùng rác có đầy hay chưa Khi đó, họ phải gặp nhà sản xuất thùng rác,đảm bảo rằng họ có thể truy cập vào hệ thống quản lí của từng thùng một Điều đó khiến chi phí bị đội lên, và công ty thu gom rác có thể đơn giản chọn giải pháp cho một người chạy xe kiểm tra từng thùng một.

GOOGLE CLOUD PLATFORM

Khái niệm

Google Cloud Platform(GCP) là nền tảng được cung cấp bởi Google, xây dựng trên cơ sở hạ tầng của điện toán đám mây Cho phép doanh nghiệp sử dụng và phát triển các ứng dụng trên hệ sinh thái Google : Google Maps, G Suite, Youtube,

Hiện nay, Google Cloud Platform trở thành một người đồng hành thân thiện trong công tác quản lý hệ thống hạ tầng của các doanh nghiệp Bởi nó cung cấp đủ các phần mềm phục vụ từ quá trình lên kế hoạch, phát triển đến tối ưu hóa hệ thống

Công cụ

Google Cloud Platform (GCP) bao gồm 3 công cụ : IaaS, PaaS, SaaS

IaaS, hay Cơ sở hạ tầng như một dịch vụ, là một trong ba mô hình dịch vụ điện toán đám mây chính, bên cạnh PaaS (Platform as a Service) và SaaS (Software as a Service) IaaS cung cấp cơ sở hạ tầng IT trên đám mây, bao gồm máy chủ, lưu trữ, mạng và các tài nguyên tính toán khác Thay vì phải đầu tư vào phần cứng vật lý, doanh nghiệp có thể thuê các tài nguyên này từ nhà cung cấp dịch vụ đám mây và trả phí dựa trên mức sử dụng.

Một dịch vụ IaaS điển hình bao gồm các thành phần sau:

Máy chủ ảo (Virtual Machines - VMs): Các máy chủ ảo cho phép người dùng chạy các ứng dụng và dịch vụ như trên máy chủ vật lý Người dùng có thể cấu hình CPU, RAM, và dung lượng lưu trữ theo nhu cầu.

Lưu trữ (Storage): Dịch vụ lưu trữ đám mây cung cấp không gian lưu trữ linh hoạt và có thể mở rộng cho dữ liệu và ứng dụng Có nhiều loại lưu trữ như lưu trữ đối tượng (object storage), lưu trữ khối (block storage), và lưu trữ tệp (file storage).

Mạng (Networking): IaaS cung cấp các dịch vụ mạng như IP addresses, load balancers, và VPN để kết nối và bảo mật hệ thống của người dùng.

Bảo mật (Security): Các công cụ và dịch vụ bảo mật bao gồm tường lửa (firewalls), bảo mật mạng, và quản lý danh tính và truy cập (IAM).

Các dịch vụ bổ sung: Một số nhà cung cấp IaaS cung cấp thêm các dịch vụ như quản lý cơ sở dữ liệu, phân tích dữ liệu, và các công cụ phát triển ứng dụng.

IaaS mang lại nhiều lợi ích đáng kể cho các doanh nghiệp:

Tiết kiệm chi phí: Doanh nghiệp không cần đầu tư vào phần cứng và cơ sở hạ tầng vật lý, giảm chi phí đầu tư ban đầu và chi phí bảo trì.

Khả năng mở rộng: IaaS cho phép doanh nghiệp mở rộng hoặc thu hẹp tài nguyên theo nhu cầu, đảm bảo sử dụng tài nguyên hiệu quả và tiết kiệm chi phí.

Tính linh hoạt và kiểm soát: Doanh nghiệp có toàn quyền kiểm soát cấu hình và quản lý các tài nguyên IT, từ đó tùy chỉnh hệ thống theo yêu cầu cụ thể.

Tính sẵn sàng và độ tin cậy cao: Các nhà cung cấp IaaS thường cung cấp các giải pháp đảm bảo tính sẵn sàng và độ tin cậy cao, với các biện pháp phòng chống sự cố và khắc phục thảm họa.

Bảo mật: Các nhà cung cấp dịch vụ IaaS đầu tư mạnh vào bảo mật và tuân thủ các tiêu chuẩn bảo mật quốc tế, đảm bảo dữ liệu và ứng dụng của doanh nghiệp được bảo vệ.

IaaS được sử dụng rộng rãi trong nhiều lĩnh vực và trường hợp sử dụng khác nhau, bao gồm:

Phát triển và kiểm thử phần mềm: Các nhóm phát triển có thể dễ dàng tạo ra các môi trường phát triển và kiểm thử linh hoạt, nhanh chóng và hiệu quả.

Lưu trữ và sao lưu dữ liệu: IaaS cung cấp các giải pháp lưu trữ an toàn và có thể mở rộng cho các nhu cầu lưu trữ và sao lưu dữ liệu. Ứng dụng web và di động: Doanh nghiệp có thể triển khai các ứng dụng web và di động trên cơ sở hạ tầng đám mây, đảm bảo hiệu suất và khả năng mở rộng.

Phân tích dữ liệu lớn: IaaS cung cấp tài nguyên tính toán mạnh mẽ và linh hoạt cho các dự án phân tích dữ liệu lớn, từ đó giúp doanh nghiệp khai thác dữ liệu để đưa ra quyết định kinh doanh thông minh.

 Các nhà cung cấp IaaS hàng đầu

Một số nhà cung cấp dịch vụ IaaS hàng đầu trên thế giới bao gồm:

Amazon Web Services (AWS): Là nhà cung cấp IaaS lớn nhất với một loạt các dịch vụ và giải pháp đám mây.

Microsoft Azure: Cung cấp các dịch vụ IaaS phong phú và tích hợp tốt với các sản phẩm và dịch vụ của Microsoft.

Google Cloud Platform (GCP): Cung cấp các dịch vụ IaaS mạnh mẽ và tích hợp với các dịch vụ dữ liệu và học máy của Google.

IBM Cloud: Cung cấp các dịch vụ IaaS với sự tập trung vào các giải pháp doanh nghiệp và bảo mật.

PaaS, hay Nền tảng như một dịch vụ, là một trong ba mô hình dịch vụ điện toán đám mây chính, bên cạnh IaaS (Infrastructure as a Service) và SaaS (Software as a Service) PaaS cung cấp một nền tảng đám mây cho phép các nhà phát triển xây dựng, triển khai và quản lý các ứng dụng mà không cần phải quản lý cơ sở hạ tầng phần cứng hoặc phần mềm cơ bản.

Một dịch vụ PaaS điển hình bao gồm các thành phần sau:

Môi trường phát triển: Cung cấp các công cụ và môi trường phát triển tích hợp (IDE) cho phép lập trình viên viết mã, kiểm thử và triển khai ứng dụng một cách dễ dàng.

Dịch vụ cơ sở dữ liệu: PaaS cung cấp các dịch vụ cơ sở dữ liệu quản lý, bao gồm các loại cơ sở dữ liệu quan hệ và phi quan hệ, giúp đơn giản hóa việc lưu trữ và truy xuất dữ liệu.

Quản lý ứng dụng: Bao gồm các công cụ và dịch vụ để triển khai, quản lý và giám sát các ứng dụng trong môi trường đám mây.

Tiện ích

Các sản phẩm GCP cung cấp cho người dùng được chia ra thành 4 loại:

Services, Big Data, Storage, Computer

Hình 13 Tiện ích Google Cloud Platfform

Các dịch vụ trong GCP bao gồm các công cụ và nền tảng giúp quản lý, bảo mật và phát triển ứng dụng:

Google Cloud Functions: Dịch vụ serverless cho phép chạy các đoạn mã mà không cần quản lý cơ sở hạ tầng, thường được sử dụng cho các tác vụ tự động và backend.

Google Cloud Run: Dịch vụ serverless cho phép triển khai và chạy các container trên cơ sở hạ tầng được quản lý.

Google Kubernetes Engine (GKE): Dịch vụ quản lý Kubernetes, giúp triển khai, quản lý và mở rộng các ứng dụng container một cách dễ dàng.

Google App Engine: Nền tảng PaaS cho phép phát triển và triển khai các ứng dụng mà không cần quản lý cơ sở hạ tầng.

Các dịch vụ Big Data trong GCP cung cấp các công cụ mạnh mẽ để xử lý, phân tích và trực quan hóa dữ liệu lớn:

BigQuery: Dịch vụ phân tích dữ liệu lớn, cung cấp khả năng xử lý truy vấn SQL nhanh chóng và khả năng mở rộng linh hoạt.

Dataflow: Dịch vụ xử lý dữ liệu theo luồng và theo lô, dựa trên Apache Beam.

Dataproc: Dịch vụ quản lý Hadoop và Spark, giúp triển khai và quản lý các cụm xử lý dữ liệu lớn.

Pub/Sub: Dịch vụ nhắn tin thời gian thực, cho phép xây dựng các hệ thống dữ liệu phân tán và xử lý dữ liệu sự kiện.

Các dịch vụ lưu trữ trong GCP cung cấp các giải pháp lưu trữ linh hoạt và có khả năng mở rộng cho dữ liệu và ứng dụng:

Google Cloud Storage: Dịch vụ lưu trữ đối tượng, cung cấp khả năng lưu trữ dữ liệu không cấu trúc với tính sẵn sàng cao và độ bền.

Cloud SQL: Dịch vụ cơ sở dữ liệu quan hệ được quản lý, hỗ trợ MySQL, PostgreSQL và SQL Server.

Cloud Spanner: Dịch vụ cơ sở dữ liệu quan hệ phân tán, cung cấp tính nhất quán cao và khả năng mở rộng toàn cầu.

FireStore: Dịch vụ cơ sở dữ liệu NoSQL, cung cấp lưu trữ dữ liệu theo tài liệu và khả năng đồng bộ hóa thời gian thực.

Các dịch vụ tính toán trong GCP cung cấp các tài nguyên tính toán mạnh mẽ và linh hoạt để chạy các ứng dụng và xử lý dữ liệu:

Compute Engine: Dịch vụ máy ảo cho phép chạy các ứng dụng trên hạ tầng đám mây của Google, với khả năng tùy chỉnh cấu hình tài nguyên.

Google Kubernetes Engine (GKE): Như đã đề cập, dịch vụ quản lý Kubernetes giúp triển khai và quản lý các ứng dụng container.

App Engine: Nền tảng PaaS cho phép phát triển và triển khai các ứng dụng mà không cần quản lý cơ sở hạ tầng.

Cloud Functions: Dịch vụ serverless cho phép chạy các đoạn mã mà không cần quản lý cơ sở hạ tầng.

Kiến trúc của IoT platform trên Google Cloud

Các sản phẩm nền tảng IoT thường cung cấp kết nối dữ liệu cơ bản bằngMQTT và HTTPS Chúng cũng cho phép bạn cấu hình các thiết bị và cung cấp các tính năng xác thực và quản lý, lưu trữ và trực quan hóa dữ liệu viễn thông,xử lý dữ liệu và cảnh báo Các tổ chức thường sử dụng các nền tảng IoT khi một máy chủ MQTT độc lập không đủ cho một trường hợp sử dụng và cần một sản phẩm nền tảng IoT hoàn chỉnh hơn Một nền tảng IoT cung cấp một giao diện thống nhất để quản lý một tập hợp thiết bị đa dạng Giao diện này rất quan trọng đối với nhiều ứng dụng thiết bị kết nối, và đó là sự khác biệt chính giữa một nền tảng IoT và một máy chủ MQTT độc lập.

Hình 14 Kiến trúc IOT trên Google Cloud Platform

Như minh họa trong sơ đồ trước đó, nền tảng IoT triển khai một MQTT broker hoặc điểm cuối cho kết nối thiết bị Nền tảng IoT được kết nối với một Bộ cân bằng tải mạng Proxy bên ngoài để phân phối lưu lượng từ các thiết bị ở biên Các ứng dụng IoT bổ sung có thể kết nối với nền tảng IoT thông qua Pub/

Sub hoặc bằng cách sử dụng đầu nối MQTT của Dataflow.

Nền tảng IoT cung cấp một tập hợp các dịch vụ quản lý thiết bị Như đã được trình bày trong sơ đồ, các dịch vụ này bao gồm:

1 Kho lưu trữ thông tin xác thực thiết bị 2 Công cụ quy tắc

3 Xác thực và ủy quyền thiết bị

4 Quản lý cấu hình thiết bị 5 Đăng ký thiết bị

6 Quản lý cập nhật thiết bị

Các sản phẩm nền tảng IoT thường bao gồm các dịch vụ như tính năng song sinh kỹ thuật số, giao diện phát triển ít mã, khả năng cảnh báo và thông báo, và các chức năng phân tích khác.

Các cân nhắc và lựa chọn kiến trúc

Các phần sau đây mô tả các lựa chọn kiến trúc mà bạn có thể thực hiện cho kiến trúc sản phẩm nền tảng IoT và tác động của những lựa chọn này.

Các điểm cuối thu thập dữ liệu

Hầu hết các ứng dụng nền tảng IoT thương mại đều bao gồm một điểm cuối MQTT và thường cũng có một điểm cuối HTTPS để thu thập dữ liệu từ các thiết bị kết nối.

Một nền tảng IoT triển khai một điểm cuối MQTT theo một trong các cách sau:

 Một đầu nối giữa MQTT và một dịch vụ thông điệp khác

 Một MQTT broker thực hiện đầy đủ các quy cách của MQTT

Trong một số trường hợp, điểm cuối MQTT chỉ kết nối các khách hàngMQTT với một dịch vụ nhắn tin backend, như Kafka hoặc Pub/Sub Loại điểm cuối này thường không thực hiện đầy đủ các quy cách giao thức MQTT và thường không bao gồm các tính năng như mức QoS 1 và 2 hoặc các đăng ký chia sẻ Ưu điểm của cách tiếp cận này là giảm sự phức tạp trong nền tảng IoT, vì không có ứng dụng MQTT broker riêng biệt Chi phí vận hành thấp hơn và bảo trì đơn giản hơn so với việc nền tảng sử dụng một MQTT broker riêng biệt.

Tuy nhiên, do hỗ trợ hạn chế cho các tính năng giao thức MQTT nâng cao hơn, cách tiếp cận này có nghĩa là ít linh hoạt và chức năng hơn cho việc truyền tin MQTT so với một MQTT broker độc lập thực hiện đầy đủ các quy cách của MQTT.

Các nền tảng IoT khác cung cấp một MQTT broker đầy đủ như một phần của nền tảng, như minh họa trong kiến trúc mẫu trong tài liệu này Broker này có thể là một trong những broker mã nguồn mở hiện có hoặc một triển khai broker độc quyền Một broker MQTT đầy đủ cung cấp khả năng MQTT hai chiều đầy đủ như đã mô tả trước đó, nhưng một broker đầy đủ có thể tăng sự phức tạp và chi phí vận hành cho việc quản lý nền tảng IoT.

HTTPS và các giao thức bổ sung khác

Ngoài MQTT, nhiều nền tảng IoT cung cấp thêm các điểm cuối thu thập dữ liệu hơn những gì được mô tả trong kiến trúc chính của tài liệu này.

HTTPS là một giao thức thay thế phổ biến cho MQTT cho các trường hợp sử dụng thiết bị kết nối Nó có chi phí cao hơn MQTT, nhưng được hỗ trợ rộng rãi hơn bởi các thiết bị di động như điện thoại, và bởi các trình duyệt web và các ứng dụng khác Nó thường được sử dụng trong một số ứng dụng thiết bị kết nối và được hỗ trợ bởi các nền tảng mã nguồn mở như Eclipse Hono và nhiều sản phẩm thương mại.

Nhiều ứng dụng thiết bị giới hạn sử dụng Giao thức Ứng dụng Giới hạn (CoAP), được định nghĩa trong RFC 7252, như một sự thay thế cho MQTT.

CoAP nhắm mục tiêu tới các khách hàng có chi phí thấp và dung lượng nhỏ cho các thiết bị nhúng và cảm biến Nhiều ứng dụng nền tảng IoT thương mại cũng cung cấp một điểm cuối CoAP.

Cân bằng tải Để biết thêm thông tin về việc chọn bộ cân bằng tải tốt nhất cho kiến trúc của bạn, hãy xem phần cân bằng tải của kiến trúc MQTT broker độc lập trên Google Cloud vì các cân nhắc đó cũng áp dụng cho trường hợp này.

Xác thực thiết bị và quản lý thông tin xác thực

Quản lý thông tin xác thực và xác thực thiết bị là một phần quan trọng trong việc vận hành một nền tảng IoT Các phương pháp xác thực được hỗ trợ bởi các thiết bị kết nối thay đổi rộng rãi giữa các ứng dụng và hình thức thiết bị Điều quan trọng là chọn phương pháp xác thực phù hợp cho trường hợp sử dụng mục tiêu và triển khai chính xác hệ thống xác thực đã chọn.

Không giống như một MQTT Broker độc lập, một nền tảng IoT cung cấp các dịch vụ tích hợp để quản lý danh tính và thông tin xác thực của thiết bị.

Hầu hết các nền tảng IoT sử dụng xác thực chứng chỉ khách hàng X.509 cho xác thực, xác thực dựa trên mã thông báo JWT (thường kết hợp với OAuth2.0), và xác thực bằng tên người dùng và mật khẩu Một số nền tảng cũng hỗ trợ tích hợp với nhà cung cấp xác thực LDAP bên ngoài. Đối với một số thiết bị giới hạn, xác thực JWT hoặc tên người dùng và mật khẩu có thể phù hợp hơn, vì các hệ thống này yêu cầu ít tài nguyên hơn trên thiết bị kết nối Khi sử dụng xác thực JWT hoặc tên người dùng và mật khẩu, điều quan trọng là mã hóa kết nối mạng riêng biệt với xác thực mTLS, vì kết nối mã hóa không được yêu cầu bởi bất kỳ phương pháp xác thực nào trong số này Ngược lại, xác thực chứng chỉ X.509 tiêu thụ nhiều tài nguyên hơn trên thiết bị kết nối, nhưng thường được sử dụng trong kết nối mTLS mã hóa và do đó cung cấp mức độ bảo mật cao.

DỤNG ORACLE BLOCKCHAIN

CÁC GIAO THỨC ĐƯỢC SỬ DỤNG

HTTP là viết tắt của "Hypertext Transfer Protocol", là một giao thức truyền tải dữ liệu trên Internet giữa máy chủ và máy khách Nó được sử dụng để truyền tải các tài liệu HTML, hình ảnh, video, âm thanh, tệp tin và các tài nguyên khác từ máy chủ đến máy khách HTTP hoạt động trên cơ sở giao tiếp yêu cầu/đáp ứng, nơi mà máy khách gửi một yêu cầu đến máy chủ và máy chủ sẽ trả lời yêu cầu đó bằng một phản hồi HTTP hiện tại được sử dụng phổ biến cho các ứng dụng web và là cơ sở của hầu hết các trang web và ứng dụng web hiện nay.

Giao thức I2C (Inter-Integrated Circuit) là một giao thức truyền thông đồng bộ hai chiều dùng để kết nối các vi điều khiển, cảm biến và các linh kiện điện tử khác trong hệ thống nhúng Giao thức I2C được phát triển bởi Philips (nay là NXP Semiconductors) vào năm 1982 Giao thức này sử dụng hai dây truyền thông là SDA (Serial Data Line) và SCL (Serial Clock Line) để truyền dữ liệu giữa các thiết bị.

Giao thức I2C cho phép nhiều thiết bị kết nối trên cùng một đường truyền, mỗi thiết bị có một địa chỉ riêng biệt để xác định Giao thức này cũng cho phép truyền dữ liệu trong cả hai hướng, điều này cho phép thiết bị Master truyền dữ liệu cho thiết bị Slave và ngược lại.

Giao thức I2C có tốc độ truyền dữ liệu khá chậm so với các giao thức truyền thông khác, tuy nhiên nó vẫn được sử dụng rộng rãi trong các ứng dụng nhúng do tính đơn giản, hiệu quả và khả năng kết nối nhiều thiết bị trên cùng một đường truyền.

OneWire là hệ thống bus giao tiếp được thiết kế bởi Dallas Semiconductor Corp Giống như tên gọi, hệ thống bus này chỉ sử dụng 1 dây để truyền nhận dữ liệu.

Chính vì chỉ sử dụng 1 dây nên giao tiếp này có tốc độ truyền thấp nhưng dữ liệu lại truyền được khoảng cách xa hơn.

OneWire chủ yếu sử dụng để giao tiếp với các thiết bị nhỏ, thu thập và truyền nhận dữ liệu thời tiết, nhiệt độ,… các công việc không yêu cầu tốc độ cao.

Giống như các chuẩn giao tiếp khác, 1-Wire cho phép truyền nhận dữ liệu với nhiều Slave trên đường truyền Tuy nhiên chỉ có thể có 1 Master

PHẦN CỨNG

ESP32 là một series các vi điều khiển trên một vi mạch giá rẻ, năng lượng thấp có tích hợp WiFi và dual-mode Bluetooth (tạm dịch: Bluetooth chế độ kép) Dòng ESP32 sử dụng bộ vi xử lý Tensilica Xtensa LX6 có hai biến thể lõi kép và lõi đơn, và bao gồm các công tắc antenna tích hợp, RF balun, bộ khuếch đại công suất, bộ khuếch đại thu nhiễu thấp, bộ lọc và module quản lý năng lượng.

 Các giao diện bao gồm: USB, JTAG, và GPIO

 Kích thước: 18mm x 25.5mm x 3.2mm Ngoại vi

 bộ chuyển đổi số sang tương tự (DAC) 8 bit

 18 kênh bộ chuyển đổi tương tự sang số (ADC) 12 bit.

 cổng giao tiếp SPI (1 cổng cho chip FLASH )

 10 kênh ngõ ra điều chế độ rộng xung (PWM)

 SD card/SDIO/MMC host

 Ethernet MAC hỗ trợ chuẩn: DMA và IEEE 1588

 Các giao diện bao gồm: USB, JTAG, và GPIO

 Bộ giải mã video: H.264, VP8, JPEG, MJPEG

 Các chế độ tiết kiệm năng lượng: Ngủ sâu, ngủ rời rạc, ngủ điều tiết

 CPU: Xtensa Dual-Core LX6 microprocessor.

 Tốc độ xử lý từ 160 MHz đến 240 MHz

 Tốc độ xung nhịp từ 40 Mhz ÷ 80 Mhz (có thể tùy chỉnh khi lập trình)

 RAM: 341,25 KB (349248 bytes) SRAM liền chip Trong đó 8 Kb RAM RTC tốc độ cao – 8 Kb RAM RTC tốc độ thấp (dùng ở chế độ DeepSleep).

 Kit esp32 sử dụng vi điều khiển Espressif ESP32 gồm 2 nhân chính là:

Xtensa Dual-Core 32-bit LX6: Đây là bộ xử lý trung tâm của ESP32, bao gồm hai nhân Xtensa LX6 32-bit với tốc độ xung nhịp cao Nó được thiết kế để xử lý các tác vụ đa nhiệm, đảm bảo hiệu suất và tiết kiệm năng lượng.

Co-processor: ESP32 cũng tích hợp một co-processor (vi xử lý phụ) để xử lý các tác vụ phụ trợ như mã hóa và giải mã, xử lý âm thanh và video, và xử lý các tác vụ liên quan đến Wi-Fi và Bluetooth Co-processor này có thể chạy độc lập với nhân chính hoặc được kết nối với nhân chính để đáp ứng các yêu cầu tính toán khác nhau.

 Station mode (STA) ESP32 sẽ kết nối tới các điểm truy cập

 Access point mode (AP), ESP32 hoạt động như một điểm truy cập

 AP-STA mode, ESP32 sẽ đồng thời là điểm truy cập và truy cập đến các điểm khác

 Bluetooth: v4.2 BR/EDR và BLE

 Việc hỗ trợ Bluetooth khiến ESP32 có thể tương tác với các thiết bị như bàn phím, chuột, điện thoại khi không có WIFI

Giới thiệu chung về DHT22:

DHT22 là một cảm biến đo nhiệt độ và độ ẩm được sử dụng rộng rãi trong các ứng dụng điện tử như đo nhiệt độ và độ ẩm trong phòng, thiết bị điều khiển điều hòa, trồng trọt, thủy sản, và hệ thống tự động hóa trong nhà thông minh.

DHT22 hoạt động dựa trên nguyên lý đo sự thay đổi điện trở của chất bảo vệ đo nhiệt độ và độ ẩm khi nhiệt độ và độ ẩm thay đổi Cảm biến này có độ chính xác cao và độ phân giải tốt, cho phép đo được nhiệt độ và độ ẩm trong khoảng từ -40 đến 80 độ C và từ 0 đến 100% độ ẩm Ngoài ra, DHT22 có tính năng tự động hiệu chỉnh để đảm bảo độ chính xác trong quá trình sử dụng.

DHT22 là một cảm biến đo độ ẩm và nhiệt độ, còn được gọi là AM2302. Đây là một số thông số kỹ thuật của DHT22:

 Điện áp hoạt động: 3V - 6V DC

 Dòng điện tiêu thụ: Dưới 1mA trong thời gian đo, trung bình 50uA Độ chính xác đo nhiệt độ: ±0.5°C

 Độ chính xác đo độ ẩm: ±2%RH Khoảng đo nhiệt độ: -40°C - 125°C Khoảng đo độ ẩm: 0-100%RH

 Tần số lấy mẫu: 2 giây

 Đầu ra: Digital (Dòng tín hiệu số)

 Đầu vào: Single-bus digital input/output (Giao tiếp bus duy nhất)

Vcc Điện áp cấp cho cảm biến nên từ3.3-6V DC Khi cấp nguồn cho cảm biến, không gửi bất kỳ chỉ thị nào đến cảm biến trong vòng một giây để tránh tình trạng không ổn định

Truyền tải dữ liệu đo được từ cảm biến đến vi điều khiển hoặc các thiết bị khác Nó sẽ phát ra tín hiệu kỹ thuật số đại diện cho nhiệt độ và độ ẩm mà cảm biến đo được.

Chân data này sẽ truyền tín hiệu dạng chuỗi bit, trong đó mỗi bit được biểu diễn bằng thời gian cao hoặc thời gian thấp của tín hiệu Vi điều khiển hoặc thiết bị nhận sẽ phân tích và chuyển đổi tín hiệu này để đọc được giá trị nhiệt độ và độ ẩm từ cảm biến. n.c

Không có tác dụng gì và nên để không kết nối với bất kỳ mạch nào.

Chân này thường được sử dụng để giữ cho việc gắn chân trên mạch của DHT22 đơn giản hơn, không cần phải lo lắng về các kết nối không cần thiết.

Có tác dụng là chân đất, cung cấp địa chỉ tham chiếu cho việc đo lường và truyền tín hiệu Chân này cần được kết nối đến một nguồn điện âm để hoạt động đúng cách.

Nguyên lý hoạt động của DHT22:

Cảm biến DHT22 có hai đầu dây bên trong, một đầu dây được đặt trên một điện cực bề mặt bọc polyme, một đầu dây khác được đặt trên một bộ cảm biến nhiệt độ.

Khi không khí có độ ẩm thấp tiếp xúc với điện cực, điện trở của điện cực tăng lên Ngược lại, khi không khí có độ ẩm cao tiếp xúc với điện cực, điện trở của điện cực giảm xuống.

Một nguồn điện DC được kết nối với điện cực và sử dụng một bộ khuếch đại để đo lường điện trở của điện cực Kết quả đọc được sẽ được chuyển thành độ ẩm tương ứng. Để đo nhiệt độ, cảm biến DHT22 sử dụng một bộ cảm biến nhiệt độ Bộ cảm biến này được đặt gần điện cực để đo nhiệt độ của không khí tiếp xúc với điện cực.

Dữ liệu độ ẩm và nhiệt độ được chuyển đổi thành tín hiệu kỹ thuật số và truyền qua một giao tiếp bên ngoài (ví dụ: I2C, SPI hoặc 1-wire) đến vi điều khiển để xử lý và hiển thị hoặc gửi đến một thiết bị khác để xử lý.

Cách gửi dữ liệu của DHT22(Giao thức 1-wire):

Khi DHT22 nhận được tín hiệu khởi đầu từ MCU, nó sẽ gửi một tín hiệu mức thấp và tín hiệu này sẽ kéo dài trong 80us làm tín hiệu phản hồi Sau đó, chương trình của DHT22 sẽ chuyển đổi mức điện áp của data-bus từ mức thấp lên mức cao và kéo dài trong 80us để chuẩn bị gửi dữ liệu.

Cách truyền dữ liệu qua http

Esp32 kết nối với dht22 tạm gọi là: SERVE Esp32 kết nối với oled tạm gọi là :ClIENT

HTTP client thiết lập một kết nối TCP đến server Nếu thiết lập thành công, client và server sẽ truyền nhận dữ liệu với nhau thông qua kết nối này, kết nối được thiết lập còn gọi là socket interface bao gồm các thông tin: địa chỉ IP, loại giao thức giao vận (chính là TCP), và port (mặc định là 80).

Sau khi kết nối thành công, client gửi một HTTP request đến server thông qua socket interface vừa được thiết lập Trong gói tin request sẽ chứa đường dẫn yêu cầu (path name) là /category/internet-of-thing.

Server sẽ nhận và xử lý request từ client thông qua socket, sau đó đóng gói dữ liệu tương ứng và gửi một HTTP response về cho client Dữ liệu trả về sẽ là một file HTML chứa các loại dữ liệu khác nhau như văn bản, hình ảnh,…

Server đóng kết nối TCP.

Client nhận được dữ liệu phản hồi từ server và đóng kết nối TCP.

Giả lập trên wokwi

// -// const int DHTPIN = 15; //chân ca -m biế0 n DHT22 const int Buzzer = 23; //chân buzzer

// -// const char* ssid = "Wokwi-GUEST"; const char* password = "";

// REPLACE with your Domain name and URL path or IP address with path const char* serverName = "http://esp-weather- station.000webhostapp.com/esp-post-data.php";

//define RTC RTC_DS3231 rtc; char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday",

#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 DHT dht(DHTPIN, DHTTYPE); float Temperature, Humidity;

#define SCREEN_WIDTH 128 // OLED display width, in pixels

#define SCREEN_HEIGHT 64 // OLED display height, in pixels

#define OLED_RESET -1 // Reset pin # (or -1 if sharing Arduino reset pin)

#define SCREEN_ADDRESS 0x3C ///< See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

//khai báo DHT22 Serial.println(F("DHTxx test!")); dht.begin();

//khai báo buzzer pinMode(Buzzer, OUTPUT);

// Khai bao RTC #ifndef ESP8266 while (!Serial); // wait for serial port to connect Needed for native USB

#endif if (! rtc.begin()) { Serial.println("Couldn't find RTC");

} if (rtc.lostPower()) { Serial.println("RTC lost power, let's set the time!"); rtc.adjust(DateTime(F( DATE ), F( TIME )));

// January 21, 2014 at 3am you would call:

} // rtc.adjust(DateTime(F( DATE ), F( TIME )));

// January 21, 2014 at 3am you would call:

//Khở -i động màn hình oled if (!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) { Serial.println(F("SSD1306 allocation failed")); for (;;); // Don't proceed, loop forever } display.clearDisplay(); display.setTextSize(1); display.setTextColor(SSD1306_WHITE); display.setCursor(0,0); display.println("Connecting to WiFi "); display.display(); delay(1000);

// Khở -i động kế0 t nố0 i wifi WiFi.begin(ssid, password);

Serial.println("Connecting"); while(WiFi.status() != WL_CONNECTED) { delay(500);

Serial.print("Connected to WiFi network with IP Address: ");

} void dht_sensor(); void RTC_function(); void displayOled(); void getHttp();

// -// void loop() { // Lâ0 y thời gian RTC_function();

//Đọc giá trị từ ca -m biế0 n dht22 dht_sensor();

// Control LED based on temperature and humidity getHttp(); displayOled();

//hàm đọc dữ liệu từ dht22 void dht_sensor()

// Read temperature as Celsius (the default) Temperature = dht.readTemperature();

// Read temperature as Fahrenheit (isFahrenheit = true) float f = dht.readTemperature(true);

// Check if any reads failed and exit early (to try again). if (isnan(Humidity) || isnan(Temperature) || isnan(f)) { Serial.println(F("Failed to read from DHT sensor!")); return;

// Compute heat index in Fahrenheit (the default) float hif = dht.computeHeatIndex(f, Humidity);

// Compute heat index in Celsius (isFahreheit = false) float hic = dht.computeHeatIndex(Temperature, Humidity, false);

Serial.print(now.year(), DEC);

Serial.print(now.month(), DEC);

Serial.print(now.day(), DEC);

Serial.print(daysOfTheWeek[now.dayOfTheWeek()]);

Serial.print(now.hour(), DEC);

Serial.print(now.minute(), DEC);

Serial.print(now.second(), DEC);

} void displayOled() { display.clearDisplay(); display.setCursor(0,0); display.println("H: " + String(Humidity) +" %"); display.setCursor(65,0); display.println("T: " + String(Temperature)+" C"); display.setCursor(0,20); display.display();

} void getHttp() { //Check WiFi connection status if(WiFi.status()== WL_CONNECTED){

String url = "http://esp-weather-station.000webhostapp.com/esp- post-data.php?api_key=" + apiKeyValue + "&sensor=" + sensorName

"&value1=" + String(Humidity) + "&value2=" + String(Temperature) ; HTTPClient http; http.begin(url); int httpCode = http.GET(); if (httpCode == HTTP_CODE_OK) { Serial.println("Data pushed successfully");

} else { Serial.println("Push error: " + String(httpCode));

Ngày đăng: 11/07/2024, 15:52

HÌNH ẢNH LIÊN QUAN

Hình 1 Internet Of Things - báo cáo học phần công nghệ iot và an toàn nghiên cứu về google cloud iot
Hình 1 Internet Of Things (Trang 8)
Hình 2 Sự gia tăng nhanh chóng của giao tiếp máy – máy. - báo cáo học phần công nghệ iot và an toàn nghiên cứu về google cloud iot
Hình 2 Sự gia tăng nhanh chóng của giao tiếp máy – máy (Trang 9)
Hình 3 Ứng dụng tủ lạnh trong IoT - báo cáo học phần công nghệ iot và an toàn nghiên cứu về google cloud iot
Hình 3 Ứng dụng tủ lạnh trong IoT (Trang 10)
Hình 4 Ví dụ về MQTT - báo cáo học phần công nghệ iot và an toàn nghiên cứu về google cloud iot
Hình 4 Ví dụ về MQTT (Trang 12)
Hình 5 Ví dụ XMPP - báo cáo học phần công nghệ iot và an toàn nghiên cứu về google cloud iot
Hình 5 Ví dụ XMPP (Trang 13)
Hình 6 Năng lực truyền thông - báo cáo học phần công nghệ iot và an toàn nghiên cứu về google cloud iot
Hình 6 Năng lực truyền thông (Trang 14)
Hình 7 Bảng so sánh các chuẩn truyền thông không dây. - báo cáo học phần công nghệ iot và an toàn nghiên cứu về google cloud iot
Hình 7 Bảng so sánh các chuẩn truyền thông không dây (Trang 15)
Hình 8 Một số loại cảm biến hay gặp - báo cáo học phần công nghệ iot và an toàn nghiên cứu về google cloud iot
Hình 8 Một số loại cảm biến hay gặp (Trang 16)
Hình 9 Đáp ứng thời gian cho ứng dụng IoT - báo cáo học phần công nghệ iot và an toàn nghiên cứu về google cloud iot
Hình 9 Đáp ứng thời gian cho ứng dụng IoT (Trang 16)
Hình 10 Tổng quan về ứng dụng của IoT. - báo cáo học phần công nghệ iot và an toàn nghiên cứu về google cloud iot
Hình 10 Tổng quan về ứng dụng của IoT (Trang 17)
Hỡnh 11 Theo dừi tỡnh trạng sinh trưởng của cõy trồng. - báo cáo học phần công nghệ iot và an toàn nghiên cứu về google cloud iot
nh 11 Theo dừi tỡnh trạng sinh trưởng của cõy trồng (Trang 19)
Hình 12 Ví dụ về nhà thông minh - báo cáo học phần công nghệ iot và an toàn nghiên cứu về google cloud iot
Hình 12 Ví dụ về nhà thông minh (Trang 20)
Hình 13 Tiện ích Google Cloud Platfform - báo cáo học phần công nghệ iot và an toàn nghiên cứu về google cloud iot
Hình 13 Tiện ích Google Cloud Platfform (Trang 32)
Hình 14 Kiến trúc IOT trên Google Cloud Platform - báo cáo học phần công nghệ iot và an toàn nghiên cứu về google cloud iot
Hình 14 Kiến trúc IOT trên Google Cloud Platform (Trang 35)
w