So sánh raspberry pi b b+ năm 2024

DHT11 / DHT22 là một cảm biến đo độ ẩm và cảm biến nhiệt độ tương đối. Nó cung cấp đầu ra kỹ thuật số được hiệu chỉnh với giao thức 1 dây. Cả hai cảm biến đều không tốn kém. Chúng khá giống nhau với một số khác biệt về thông số kỹ thuật.

DHT22 gần giống với DHT11 nhưng trước đây đo nhiệt độ và độ ẩm với độ chính xác cao hơn và hỗ trợ phạm vi rộng hơn.

DHT11 so với DHT22

Bảng sau liệt kê sự so sánh của cả hai cảm biến DHT.

DHT22 ·

DHT11 ·

Nhiệt độ

-40 đến 80 ºC +/- 0,5ºC

0 đến 50 ºC +/-2 ºC

Độ ẩm

0 đến 100% +/-2%

20 đến 90% +/-5%

Nghị quyết

Độ ẩm: 0.1%Nhiệt độ: 0.1ºC

Độ ẩm: 1% Nhiệt độ: 1ºC

Điện áp hoạt động

3- 6 V DC (nguồn điện trực tiếp có thể từ Raspberry Pi Pico)

3-5.5 V DC (nguồn điện trực tiếp có thể từ Raspberry Pi Pico)

Thời gian lấy mẫu

2 giây

1 giây

Đánh giá hiện tại

$4 đến $10

$1 đến $5

Kiểu dữ liệu đầu ra

nổi

Int

Sơ đồ chân

4 chân (giống như DHT11)

4 chân (giống như DHT22)

Giá

5

2

Như bạn có thể thấy từ bảng so sánh ở trên rằng DHT22 cung cấp phạm vi nhiệt độ và độ phân giải rộng hơn cho nhiệt độ và độ ẩm. Nhưng nó đắt hơn DHT11. Tuy nhiên, DHT11 có thời gian lấy mẫu tốt hơn. Hơn nữa, dải điện áp hoạt động cho cả hai cảm biến gần như và chúng ta có thể cấp nguồn trực tiếp cho các cảm biến này từ các chân nguồn của Raspberry Pi Pico.

Bất kể sự khác biệt ở trên, cả hai cảm biến DHT đều có cùng nguyên lý làm việc và sơ đồ chân giống nhau. Chúng ta có thể sử dụng cùng một tập lệnh MicroPython để đọc các bài đọc về nhiệt độ và độ ẩm bằng cách chọn loại DHT bên trong mã.

Cảm biến DHT được hiệu chuẩn trước. Chúng ta có thể kết nối trực tiếp chúng với Raspberry Pi Pico để có được chỉ số đầu ra của cảm biến. Chúng bao gồm bên trong một cảm biến cảm biến độ ẩm và nhiệt điện trở. Hai thành phần này đo độ ẩm và nhiệt độ.

Sơ đồ chân DHT11 / DHT22

Hình dưới đây cho thấy sơ đồ sơ đồ chân của cảm biến DHT. Cảm biến DHT bao gồm bốn chân. Nhưng trên các mô-đun DHT chỉ có ba chân tiếp xúc với sơ đồ chân của mô-đun và điện trở kéo lên 10k ohm được kết nối bên trong với chân 2.

So sánh raspberry pi b b+ năm 2024

Mô tả pin

Sau đây liệt kê sơ đồ chân của cảm biến DHT và mô tả ngắn gọn của chúng. Số pin bắt đầu từ trái sang phải khi bạn giữ cảm biến từ đầu cuối.

Chân DHT11 / DHT22

Kết nối với Raspberry Pi Pico

1 ( VCC)

3.3V

2 (Dữ liệu ra)

Bất kỳ chân GPIO nào của Raspberry Pi Pico cùng với điện trở kéo lên 10k ohm

3 (NC)

Không sử dụng

4 (GND)

Mặt đất

  • Vcc là chân cung cấp điện. Áp dụng điện áp trong phạm vi từ 3,3 V đến 5,0 V cho chân này
  • Data Out là chân đầu ra kỹ thuật số. Nó gửi giá trị của nhiệt độ và độ ẩm đo được dưới dạng dữ liệu nối tiếp
  • N/C không được kết nối
  • GND: Kết nối chân GND

Giao diện Raspberry Pi Pico với DHT22 và ESP-01

So sánh raspberry pi b b+ năm 2024

Phần này hướng dẫn cách kết nối Raspberry Pi Pico với cảm biến DHT22 và ESP-01.

Các bộ phận cần thiết

Chúng tôi sẽ yêu cầu các thành phần sau:

  • Raspberry Pi Pico
  • Cảm biến DHT22
  • Điện trở 10K ohm (không bắt buộc nếu sử dụng phiên bản mô-đun của cảm biến)
  • Mô-đun ESP-01
  • Dây kết nối
  • Breadboard

Raspberry Pi Pico với DHT22

Kết nối DHT22 với Raspberry Pi Pico cùng với điện trở kéo lên 10K ohm.

  • Chân đầu tiên cho cả hai cảm biến là chân nguồn điện (Vcc). Kết nối nó với chân 3.3 volt của Raspberry Pi Pico.
  • Dữ liệu ra là chân mà qua đó chúng tôi lấy mẫu nhiệt độ và độ ẩm từ cảm biến DHT. Kết nối chân này với GP16 của Raspberry Pi Pico và cũng kết nối chân dữ liệu với điện trở kéo lên 10k. Nhưng bạn cũng có thể sử dụng bất kỳ chân kỹ thuật số nào của Raspberry Pi Pico.

Một điện trở kéo lên được sử dụng để giữ cho chân dữ liệu cao để giao tiếp thích hợp giữa vi điều khiển và cảm biến. Bạn có thể kiểm tra bảng dữ liệu của DHT11 và DHT22 để biết thêm thông tin về nó. DHT22 còn được biết đến với cái tên AM2302.

  • Chân thứ ba không được sử dụng
  • Kết nối chân thứ tư (GND) với chân nối đất của bảng

Các kết nối giữa hai thiết bị mà chúng tôi đang sử dụng có thể được nhìn thấy bên dưới.

DHT22 ·

Raspberry Pi Pico

VCC

3.3V

Dữ liệu ra

GP16 cùng với điện trở 10k ohm

NC

GND ·

GND ·

Chúng tôi đã sử dụng các kết nối tương tự như được chỉ định trong bảng trên.

Raspberry Pi Pico với ESP-01

Mô-đun ESP-01 bao gồm 8 chân. Tuy nhiên, chúng tôi sẽ sử dụng 5 chân để kết nối với bảng Pi Pico. Chúng bao gồm các chân VCC, EN, GND, RX và TX. Các chân RX và TX của mô-đun sẽ được kết nối với các chân UART của bảng Pi Pico. Trước tiên chúng ta hãy xem xét các Chân Raspberry Pi Pi UART.

Chân Raspberry Pi Pico UART

Raspberry Pi Pico chứa hai thiết bị ngoại vi giống hệt nhau với các FIFOs 32×8 Tx và 32×12 Rx riêng biệt.

So sánh raspberry pi b b+ năm 2024

Bảng sau liệt kê các chân GPIO cho cả hai thiết bị ngoại vi UART được tiếp xúc trên sơ đồ chân của bảng phát triển Raspberry Pi Pico.

Chân UART

Chân GPIO

UART0-TX

GP0 / GP12 / GP16

UART0-RX

GP1 / GP13 / GP17

UART1-TX

GP4/GP8

UART1-RX

GP5/GP9

Đối với hướng dẫn này, chúng tôi sẽ sử dụng chân UART0-TX và RX.

Làm theo sơ đồ kết nối bên dưới để kết nối hai thiết bị.

Raspberry Pi Pico

ESP-01 ·

3.3V

VCC

3.3V

EN

GND ·

GND ·

GP1 (UART0 RX)

TX

GP0 (UART0 TX)

RX

Sơ đồ kết nối Raspberry Pi Pico với DHT22 và ESP-01

Chúng tôi đã sử dụng các kết nối tương tự như được đưa ra trong hai bảng trên. Cả ba thiết bị sẽ được nối đất chung và sẽ được cấp nguồn bằng cùng một chân 3.3V của Raspberry Pi Pico.

Sơ đồ dưới đây cho thấy sơ đồ kết nối của Raspberry Pi Pico với DHT22 và ESP-01.

So sánh raspberry pi b b+ năm 2024

MicroPython Script Raspberry Pi Pico DHT22 Web Server với ESP-01 (Hiển thị nhiệt độ và độ ẩm)

import uos

import utime

from machine import Pin, I2C

import dht

recv_buf="" # receive buffer global variable

print()

print("Machine: \t" + uos.uname()[4])

print("MicroPython: \t" + uos.uname()[3])

sensor = dht.DHT22(Pin(16))

uart0 = machine.UART(0, baudrate=115200)

`import utime`0

`import utime`1

`import utime`2

`import utime`3

`import utime`4

`import utime`5

`import utime`6

`import utime`7

`import utime`8

`import utime`9

`from machine import Pin, I2C`0

`from machine import Pin, I2C`1

`from machine import Pin, I2C`2

`from machine import Pin, I2C`3

`import utime`8

`import utime`9

`from machine import Pin, I2C`1

`from machine import Pin, I2C`2

`from machine import Pin, I2C`8

`from machine import Pin, I2C`9

`import dht`0

`import dht`1

`import dht`2

`import dht`3

`import dht`4

`import dht`5

`import dht`6

`import dht`7

`import dht`8

`import dht`9

`recv_buf="" # receive buffer global variable`0

`recv_buf="" # receive buffer global variable`1

`recv_buf="" # receive buffer global variable`2

`recv_buf="" # receive buffer global variable`3

`recv_buf="" # receive buffer global variable`4

`recv_buf="" # receive buffer global variable`5

`recv_buf="" # receive buffer global variable`6

`recv_buf="" # receive buffer global variable`7

`recv_buf="" # receive buffer global variable`8

`recv_buf="" # receive buffer global variable`9

`print()`0

`print()`1

`print()`0

`print()`3

`print()`4

`print()`5

`print()`6

`print()`7

`print()`8

`print()`9

`print("Machine: \t" + uos.uname()[4])`0

`print("Machine: \t" + uos.uname()[4])`1

`print("Machine: \t" + uos.uname()[4])`2

`print("Machine: \t" + uos.uname()[4])`3

`print("Machine: \t" + uos.uname()[4])`4

`print("Machine: \t" + uos.uname()[4])`5

`print("Machine: \t" + uos.uname()[4])`6

`print("Machine: \t" + uos.uname()[4])`7

`print("Machine: \t" + uos.uname()[4])`8

`print("Machine: \t" + uos.uname()[4])`9

`print("MicroPython: \t" + uos.uname()[3])`0

`print("MicroPython: \t" + uos.uname()[3])`1

`print("MicroPython: \t" + uos.uname()[3])`2

`print("MicroPython: \t" + uos.uname()[3])`3

`print("MicroPython: \t" + uos.uname()[3])`4

`print("MicroPython: \t" + uos.uname()[3])`5

`print("MicroPython: \t" + uos.uname()[3])`6

`print("MicroPython: \t" + uos.uname()[3])`7

`print("MicroPython: \t" + uos.uname()[3])`8

`print("MicroPython: \t" + uos.uname()[3])`9

`sensor = dht.DHT22(Pin(16))`0

`sensor = dht.DHT22(Pin(16))`1

`sensor = dht.DHT22(Pin(16))`2

`sensor = dht.DHT22(Pin(16))`1

`sensor = dht.DHT22(Pin(16))`4

`sensor = dht.DHT22(Pin(16))`5

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

Chúng tôi sẽ bắt đầu bằng cách nhập mô-đun uos. Chúng tôi cũng nhập mô-đun utime để chúng tôi có thể thêm độ trễ 10 giây giữa các lần đọc của chúng tôi. Hơn nữa, chúng tôi nhập mô-đun Pin, dht và I2C để chúng tôi có thể truy cập các phương thức của nó thông qua các lớp đã xác định của nó.

import uos

import utime

from machine import Pin, I2C

import dht

Sau đó, chúng tôi sẽ in thông tin về hệ điều hành hiện tại của chúng tôi trong thiết bị đầu cuối Thonny shell. Chúng tôi sẽ uos.uname() và in phiên bản hệ điều hành và phát hành.

print()

print("Machine: \t" + uos.uname()[4])

print("MicroPython: \t" + uos.uname()[3])

Tiếp theo, chúng ta sẽ định nghĩa một đối tượng dht có tên là 'sensor' và gán chân dữ liệu cho nó. Ở đây chúng tôi đang sử dụng cảm biến DHT22 với chân dữ liệu được kết nối tại GP16. Nếu sử dụng DHT11, hãy thay thế 'DHT22' bằng 'DHT11' và thay đổi số pin một cách thích hợp.

sensor = dht.DHT22(Pin(16))

Khởi tạo giao tiếp UART

Sau đó, chúng ta sẽ tạo một đối tượng uart bằng cách sử dụng UART() và chỉ định kênh UART làm tham số đầu tiên và tốc độ truyền làm tham số thứ hai. Chúng tôi đang sử dụng UART0 trong trường hợp này với tốc độ truyền là 115200 cho giao tiếp uart. ESP8266 có tốc độ truyền mặc định là 115200, do đó chúng tôi sẽ sử dụng cùng một tốc độ truyền ở đây cho giao tiếp Raspberry Pi Pico UART để tạo đồng bộ hóa. Hơn nữa, chúng tôi cũng sẽ in các chi tiết UART trong thiết bị đầu cuối shell.

uart0 = machine.UART(0, baudrate=115200)

`import utime`0

`uart0 = machine.UART(0, baudrate=115200)`6

`import utime`7

`import utime`8

`import utime`9

`from machine import Pin, I2C`0

`from machine import Pin, I2C`1

`from machine import Pin, I2C`2

Tiếp theo, chúng ta sẽ định nghĩa ba hàm. Cái đầu tiên là Rx_ESP_Data(). Điều này đọc dữ liệu nối tiếp đang được nhận. Dữ liệu này được giải mã từ định dạng UTF-8 và được trả về.

`import utime`1

`import utime`2

`import utime`3

`import utime`4

`import utime`5

`import utime`6

Hàm thứ hai là Send_AT_Cmd(cmd, uart=uart0, timeout=3000). Nó có ba tham số, lệnh AT, kênh UART và thời gian phản hồi. Chức năng này sẽ được sử dụng để nó gửi lệnh AT đến ESP8266 thông qua uart0. Thời gian phản hồi được đặt thành 3 giây.

`from machine import Pin, I2C`3

`import utime`8

`import utime`9

`from machine import Pin, I2C`1

`from machine import Pin, I2C`2

Hàm Wait_ESP_Rsp(uart=uart0, timeout=3000) đợi 3 giây để nhận được phản hồi từ ESP8266. Sau khi nhận được dữ liệu từ ESP8266, nó nối các byte nhận được và in chúng trên thiết bị đầu cuối shell.

`from machine import Pin, I2C`8

`from machine import Pin, I2C`9

`import dht`0

`import dht`1

`import dht`2

`import dht`3

`import dht`4

`import dht`5

`import dht`6

`import dht`7

`import dht`8

Lệnh AT

Bây giờ chúng ta hãy xem xét loạt lệnh AT mà chúng ta sẽ gửi qua UART0 đến ESP8266.

`import dht`9

`recv_buf="" # receive buffer global variable`0

`recv_buf="" # receive buffer global variable`1

`recv_buf="" # receive buffer global variable`2

`recv_buf="" # receive buffer global variable`3

`recv_buf="" # receive buffer global variable`4

`recv_buf="" # receive buffer global variable`5

`recv_buf="" # receive buffer global variable`6

`import utime`33

`recv_buf="" # receive buffer global variable`8

`recv_buf="" # receive buffer global variable`9

`print()`0

`print()`1

`print()`0

AT: Loại lệnh này được sử dụng để kiểm tra chức năng khởi động của mô-đun WiFi. Phản hồi sẽ ổn, chống lại lệnh này nếu mọi thứ đều ổn.

`import dht`9

AT + GMR : Loại lệnh AT này được sử dụng để kiểm tra phiên bản lệnh AT và chúng tôi đã sử dụng phiên bản SDK của lệnh AT trong loại mô-đun WIFI này.

`recv_buf="" # receive buffer global variable`0

AT + CIPSERVER = 0: Điều này cấu hình ESP8266 làm máy chủ và đặt chế độ là 0, có nghĩa là xóa máy chủ (cần phải làm theo bằng cách khởi động lại)

`import utime`41

AT + RST: Loại lệnh này được sử dụng để đặt lại mô-đun WiFi khi nó ở trong tình trạng hoạt động. Phản hồi sẽ ổn, khi đặt lại mô-đun.

`import utime`42

AT + RESTORE: Loại lệnh này được sử dụng để khôi phục cài đặt gốc có nghĩa là, khi lệnh này được nhập thì tất cả các tham số sẽ tự động được đặt lại về mặc định của một người.

`recv_buf="" # receive buffer global variable`3

AT + CWMODE? : Loại lệnh này được sử dụng để truy vấn chế độ WiFi của ESP8266.

`import utime`44

AT + CWMODE = 1 : Điều này đặt chế độ WiFi của ESP8266 trong trường hợp này ở chế độ trạm.

`import utime`45

AT + CWJAP = "SSID", "PASSWORD"\r\n', timeout=TIME_ms : Điều này kết nối ESP8266 với một AP có SSID và mật khẩu được cung cấp, Thời gian chờ ở đây là thời gian kết nối lại.

`import utime`33

AT + CIFSR: Lệnh này lấy địa chỉ IP cục bộ.

`import utime`47

AT + CIPMUX = 1: Lệnh này được sử dụng để kích hoạt nhiều kết nối (tối đa 4)

`import utime`48

AT + CIPSERVER = 1: Lệnh này cấu hình ESP8266 làm máy chủ.

`import utime`49

Trong khi vòng lặp

Bên trong vòng lặp while, trước tiên chúng ta sẽ gọi Rx_ESP_Data() trả về dữ liệu mà ESP8266 nhận được. Điều này được lưu trong biến 'res.'

Thêm độ trễ 2 giây trước khi tiếp tục.

`import utime`50

`import utime`51

`import utime`52

Tiếp theo, chúng tôi sẽ kiểm tra xem bộ đệm có chứa kết nối IPD hay không. Nếu có, hãy trả lời bằng một cái bắt tay HTML.

Chúng tôi sẽ có được chỉ số nhiệt độ và độ ẩm và lưu nó ở 'nhiệt độ' và 'hum' tương ứng. Chúng sẽ được in trong bảng điều khiển shell sau thời gian trễ 3 giây. Chúng tôi sử dụng đối tượng cảm biến trên phương pháp thích hợp, ví dụ: nhiệt độ () để có được chỉ số nhiệt độ tính bằng độ C và độ ẩm để có được giá trị độ ẩm theo tỷ lệ phần trăm. Ngoài ra, chúng tôi cũng chuyển đổi chúng thành các giá trị chuỗi vì chúng tôi sẽ hiển thị chúng trên thẻ trong máy chủ web

Phản hồi cũng sẽ được in trong thiết bị đầu cuối shell. Ngoài ra, chúng tôi lấy ID kết nối và in nó.

i`import utime`53

`print()`9

`print("Machine: \t" + uos.uname()[4])`0

`print("Machine: \t" + uos.uname()[4])`1

`print("Machine: \t" + uos.uname()[4])`2

`print("Machine: \t" + uos.uname()[4])`3

`print("Machine: \t" + uos.uname()[4])`4

`print("Machine: \t" + uos.uname()[4])`5

`print("Machine: \t" + uos.uname()[4])`6

`print("Machine: \t" + uos.uname()[4])`7

`print("Machine: \t" + uos.uname()[4])`8

`print("Machine: \t" + uos.uname()[4])`9

`print("MicroPython: \t" + uos.uname()[3])`0

Sau đó, bằng cách sử dụng đối tượng uart trên phương thức write(), chúng ta sẽ gửi các byte đến UART. Đầu tiên, chúng tôi đang viết lệnh AT: AT + CIPSEND = 'ID', 'LENGTH' Điều này sẽ đặt độ dài của dữ liệu sẽ được gửi. Tiếp theo sau độ trễ 1 giây, chúng tôi sẽ viết tập lệnh HTML sẽ xây dựng trang web vào cổng nối tiếp. Sau đó, chúng tôi sẽ đóng nhiều kết nối khi chúng tôi đang gửi lệnh AT: AT + CIPCLOSE = 'ID'. Sau đó, chúng tôi sẽ đặt lại bộ đệm và chờ kết nối.

`import utime`66

`print("MicroPython: \t" + uos.uname()[3])`2

`print("MicroPython: \t" + uos.uname()[3])`3

`print("MicroPython: \t" + uos.uname()[3])`4

`print("MicroPython: \t" + uos.uname()[3])`5

`print("MicroPython: \t" + uos.uname()[3])`6

`print("MicroPython: \t" + uos.uname()[3])`7

`print("MicroPython: \t" + uos.uname()[3])`8

`print("MicroPython: \t" + uos.uname()[3])`9

`sensor = dht.DHT22(Pin(16))`0

`sensor = dht.DHT22(Pin(16))`1

`sensor = dht.DHT22(Pin(16))`2

`sensor = dht.DHT22(Pin(16))`1

`sensor = dht.DHT22(Pin(16))`4

`sensor = dht.DHT22(Pin(16))`5

Tạo trang Web (HTML+CSS)

Để xây dựng trang web, chúng tôi sẽ thêm mã HTML và để tạo kiểu, chúng tôi sẽ thêm tập lệnh CSS.

Bây giờ chúng ta hãy đi qua từng dòng mã HTML để hiểu cách nó xây dựng trang web.

Trong tài liệu HTML này, chúng tôi sử dụng thẻ, đoạn văn, tiêu đề, biểu tượng và thẻ tiêu đề để tạo một trang web. Trang web này hiển thị số đọc nhiệt độ và độ ẩm của cảm biến DHT22.

HTML là một ngôn ngữ đánh dấu siêu văn bản được sử dụng để xây dựng các trang web. Tất cả các trình duyệt web đều hiểu ngôn ngữ này và có thể đọc các trang web dựa trên ngôn ngữ HTML.

Trong HTML, chúng tôi đặt tất cả nội dung của một trang web giữa các thẻ và . Thẻ hiển thị phần đầu của một trang web và cho biết sự kết thúc của một trang web.

Mã HTML chủ yếu bao gồm hai phần như đầu và thân. Phần đầu chứa CSS, tập lệnh, thẻ meta, liên kết của các tài nguyên bên ngoài và mã tạo kiểu. Nó được đặt giữa các thẻ và .

`import utime`81

Tiêu đề, Biểu tượng và tiêu đề HTTP

Chúng tôi sẽ bắt đầu với tiêu đề của trang web. Thẻ sẽ cho biết phần đầu của tiêu đề và thẻ sẽ cho biết kết thúc. Ở giữa các thẻ này, chúng tôi sẽ chỉ định "Raspberry Pi Pico Web Server" sẽ được hiển thị trên thanh tiêu đề của trình duyệt.

`import utime`82

Thẻ meta http-equiv này cung cấp các thuộc tính cho tiêu đề HTTP. Thuộc tính http-equiv lấy nhiều giá trị hoặc thông tin để mô phỏng phản hồi tiêu đề. Trong ví dụ này, chúng tôi sử dụng thuộc tính http-equiv để làm mới nội dung của trang web sau mỗi khoảng thời gian được chỉ định. Người dùng không bắt buộc phải làm mới trang web để nhận các giá trị cảm biến được cập nhật. Dòng này buộc trang HTML tự làm mới sau mỗi 10 giây. Hơn nữa, thẻ meta này sẽ đảm bảo máy chủ web của chúng tôi có sẵn cho tất cả các trình duyệt, ví dụ: điện thoại thông minh, máy tính xách tay, máy tính, v.v.

`import utime`83

`import utime`84

Trên trang web của chúng tôi, chúng tôi cũng sẽ hiển thị các biểu tượng. Thẻ liên kết này tải các biểu tượng được sử dụng trong trang web.

`import utime`85

Tạo kiểu trang web với CSS

CSS được sử dụng để cung cấp các kiểu cho một trang web. Để thêm các tệp CSS vào thẻ head, chúng tôi sử dụng các thẻ . Mã CSS này tạo kiểu cho các thẻ và trang web bằng cách chỉ định màu sắc, phông chữ, kích thước phông chữ, v.v.

Mã CSS này đặt căn chỉnh văn bản, đệm, lề và chiều rộng của các thẻ nội dung của tài liệu HTML cùng với kích thước phông chữ, màu sắc của thẻ, v.v. Chúng tôi sử dụng thẻ để hiển thị các chỉ số Nhiệt độ và Độ ẩm từ DHT22. Trong HTML, thẻ là một hộp có viền có các tính năng như đệm. Nội dung. Đầu trang, chân trang, màu sắc, v.v.

`import utime`86

Nội dung trang web HTML

Phần quan trọng thứ hai của tài liệu HTML là phần nội dung đi vào bên trong các thẻ và < / body >. Phần nội dung bao gồm nội dung chính của trang web như tiêu đề, hình ảnh, nút, biểu tượng, bảng, biểu đồ, v.v. Ví dụ: trong máy chủ web dựa trên Raspberry Pi Pico DHT22 MicroPython này, phần thân máy bao gồm một tiêu đề và hai thẻ để hiển thị số đọc cảm biến.

`import utime`87

Chúng tôi sẽ bao gồm tiêu đề của trang web của chúng tôi bên trong các thẻ

< / h1> và nó sẽ là "Raspberry Pi Pico DHT22 Web Server".

Raspberry Pi Pico DHT22 Web Server

Tiếp theo, chúng tôi sẽ bao gồm các dòng mã sau để hiển thị văn bản và thẻ để đọc nhiệt độ và độ ẩm cùng với các đơn vị và biểu tượng.

`import utime`88

Cuộc biểu tình

Sau khi bạn đã sao chép mã sau vào một tệp mới, hãy nhấp vào biểu tượng 'Lưu' để lưu mã chương trình trên PC của bạn.

Sau khi bạn đã lưu mã, hãy nhấn nút Run để tải mã lên bảng của bạn. Trước khi tải mã lên, hãy đảm bảo rằng bảng chính xác được chọn.

Trong thiết bị đầu cuối shell của IDE, bạn sẽ có thể xem địa chỉ IP sau khi kết nối thành công được thiết lập:

So sánh raspberry pi b b+ năm 2024

Bây giờ, hãy mở trình duyệt web của bạn trên máy tính xách tay hoặc điện thoại di động của bạn và nhập địa chỉ IP mà chúng tôi đã tìm thấy trong bước cuối cùng. Ngay sau khi bạn nhập địa chỉ IP trên trình duyệt web của mình và nhấn enter, máy chủ web Raspberry Pi Pico sẽ nhận được yêu cầu HTTP.