wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

CNIOT-HP06-B09

Total questions: 60

Worksheet time: 3600secs

Name
Class
Date
1.
Giao thức CoAP được thiết kế tối ưu cho các thiết bị như thế nào?
a)
Máy chủ đám mây mạnh mẽ (Cloud Servers)
b)
Thiết bị có tài nguyên hạn chế (Constrained Devices)
c)
Máy tính cá nhân (PC)
d)
Router mạng lõi
2.
Khác với HTTP chạy trên TCP, CoAP mặc định chạy trên giao thức tầng giao vận nào để giảm độ trễ và overhead?
a)
UDP
b)
FTP
c)
SMTP
d)
SSH
3.
Mô hình giao tiếp chính của CoAP là gì?
a)
Publish/Subscribe
b)
Request/Response
c)
Peer-to-Peer (không cấu trúc)
d)
Master/Slave
4.
Chọn phương án ghép nối đúng nhất giữa phương thức CoAP và hành động tương ứng. (A. GET, B. POST, C. PUT, D. DELETE với 1. Lấy dữ liệu, 2. Xử lý/Tạo mới, 3. Cập nhật, 4. Xóa)
a)
A-1, B-2, C-3, D-4
b)
A-2, B-1, C-4, D-3
c)
A-3, B-4, C-1, D-2
d)
A-4, B-3, C-2, D-1
5.
Trong CoAP, mã phản hồi 2.05 Content tương đương với mã nào trong HTTP?
a)
404 Not Found
b)
200 OK
c)
500 Internal Error
d)
301 Moved Permanently
6.
Để sử dụng thư viện CoAP trên ESP32 với Arduino IDE, dòng lệnh đầu tiên cần có trong mã nguồn là gì?
a)
void setup()
b)
#include <WiFi.h>
c)
#include <Coap.h> (hoặc tên thư viện tương ứng)
d)
Serial.begin(115200)
7.
Chọn thứ tự các bước logic đúng nhất trong hàm setup() để khởi chạy một CoAP server trên ESP32.
a)
1. Cấu hình Serial -> 2. Kết nối WiFi -> 3. Đăng ký tài nguyên -> 4. Khởi động CoAP server
b)
1. Khởi động CoAP server -> 2. Kết nối WiFi -> 3. Đăng ký tài nguyên -> 4. Cấu hình Serial
c)
1. Đăng ký tài nguyên -> 2. Cấu hình Serial -> 3. Kết nối WiFi -> 4. Khởi động CoAP server
d)
1. Kết nối WiFi -> 2. Khởi động CoAP server -> 3. Cấu hình Serial -> 4. Đăng ký tài nguyên
8.
Trong vòng lặp loop() của ESP32, tại sao phải thường xuyên gọi hàm coap.loop() (hoặc tương đương)?
a)
Để kết nối lại WiFi nếu mất mạng.
b)
Để vi xử lý không bị treo.
c)
Để xử lý các gói tin CoAP đến và gửi phản hồi kịp thời.
d)
Để tiết kiệm pin.
9.
Trong C++, để tạo một đối tượng CoAP server từ lớp Coap (giả sử tên lớp là Coap), cú pháp khai báo nào sau đây là đúng?
a)
Coap coap;
b)
int coap;
c)
String coap;
d)
void coap;
10.
Một "tài nguyên tĩnh" (Static Resource) trên CoAP Server có đặc điểm gì?
a)
Luôn trả về một giá trị cố định (ví dụ: tên thiết bị) mỗi khi được yêu cầu.
b)
Thay đổi giá trị theo nhiệt độ môi trường.
c)
Tự động gửi dữ liệu cho client không cần hỏi.
d)
Chỉ tồn tại trong 5 giây.
11.
Cổng mặc định của giao thức CoAP (không bảo mật) là bao nhiêu?
a)
5683
b)
1883
c)
80
d)
8080
12.
Để tạo một tài nguyên động trả về nhiệt độ, bước nào sau đây là quan trọng nhất trong hàm xử lý (callback)?
a)
In ra Serial dòng chữ "Hello".
b)
Đọc giá trị cảm biến tại thời điểm nhận yêu cầu và cập nhật vào payload phản hồi.
c)
Lưu giá trị vào thẻ nhớ SD.
d)
Gửi một yêu cầu POST đến server khác.
13.
Trong C++ (Arduino), hàm nào thường được dùng để chuyển đổi một số thực (float) từ cảm biến thành chuỗi (String) để gửi qua CoAP?
a)
int()
b)
String()
c)
float()
d)
char()
14.
Phương thức nào của đối tượng response thường được sử dụng để thiết lập nội dung (payload) gửi trả về cho Client?
a)
setPayload()
b)
getPayload()
c)
readString()
d)
connect()
15.
Đúng hay Sai: CoAP header có kích thước cố định rất nhỏ (4 bytes), giúp tiết kiệm băng thông hơn so với header HTTP.
a)
Đúng
b)
Sai
16.
Khi một Client gửi yêu cầu GET đến tài nguyên /temperature, Server cần làm gì nếu cảm biến bị lỗi (không đọc được)?
a)
Treo hệ thống.
b)
Trả về mã lỗi 5.00 Internal Server Error (hoặc tương đương).
c)
Gửi về giá trị 0.
d)
Vẫn gửi mã 2.05 OK nhưng không có nội dung.
17.
Chọn các thành phần bắt buộc phải có trong một hàm callback xử lý yêu cầu CoAP chuẩn. (Chọn nhiều đáp án)
a)
Tham số chứa thông tin Yêu cầu (Request)
b)
Tham số chứa thông tin Phản hồi (Response)
c)
Lệnh delay(1000)
d)
Lệnh khởi động WiFi
18.
Sắp xếp thứ tự các bước để Client lấy được dữ liệu từ CoAP Server: 1. Client gửi GET, 2. Server nhận & tìm tài nguyên, 3. Callback xử lý & gửi Response, 4. Client nhận dữ liệu.
a)
1 -> 2 -> 3 -> 4
b)
2 -> 1 -> 3 -> 4
c)
1 -> 3 -> 2 -> 4
d)
4 -> 1 -> 2 -> 3
19.
Nếu bạn muốn tạo một Server trả về trạng thái của đèn LED (ON/OFF), bạn sẽ sử dụng phương thức nào để Client LẤY thông tin này?
a)
POST
b)
PUT
c)
GET
d)
DELETE
20.
Tại sao sử dụng UDP trong CoAP lại khiến việc lập trình ứng dụng cần chú ý hơn so với TCP?
a)
Vì UDP luôn chậm hơn TCP.
b)
Vì UDP không đảm bảo gói tin đến nơi (unreliable).
c)
Vì UDP mã hóa dữ liệu quá phức tạp.
d)
Vì Arduino không hỗ trợ UDP.
21.
Để gửi lệnh điều khiển (ví dụ: "Bật đèn") từ Client đến ESP32 thông qua CoAP, phương thức nào là phù hợp nhất về mặt ngữ nghĩa?
a)
GET
b)
POST
c)
OBSERVE
d)
DISCOVER
22.
Trong hàm callback xử lý POST void ledCallback(CoapPacket &req, CoapPacket &res), bước đầu tiên để xử lý lệnh là gì?
a)
Gửi ngay phản hồi OK.
b)
Lấy dữ liệu (payload) từ gói tin yêu cầu (req) để phân tích.
c)
Bật đèn LED ngay lập tức.
d)
Khởi động lại ESP32.
23.
Trong hàm callback xử lý request, đối tượng nào cung cấp phương thức .getPayload() để truy xuất dữ liệu Client gửi đến?
a)
req (Request)
b)
res (Response)
c)
WiFi
d)
Serial
24.
Sau khi Server thực hiện thành công lệnh điều khiển (ví dụ: đã bật LED), mã phản hồi nào nên được gửi trả lại để xác nhận trạng thái đã thay đổi?
a)
2.04 Changed
b)
4.04 Not Found
c)
5.00 Internal Server Error
d)
2.05 Content
25.
Chọn trình tự đúng các bước logic trong hàm callback để điều khiển LED qua CoAP.
a)
1. Lấy payload -> 2. Kiểm tra payload -> 3. Bật/Tắt LED -> 4. Gửi mã 2.04 Changed
b)
1. Gửi mã 2.04 Changed -> 2. Lấy payload -> 3. Kiểm tra payload -> 4. Bật/Tắt LED
c)
1. Bật/Tắt LED -> 2. Lấy payload -> 3. Kiểm tra payload -> 4. Gửi mã 2.04 Changed
d)
1. Kiểm tra payload -> 2. Bật/Tắt LED -> 3. Lấy payload -> 4. Gửi mã 2.04 Changed
26.
Sự khác biệt lớn nhất về kiến trúc giữa MQTT và CoAP là gì?
a)
MQTT dùng Client-Server trực tiếp; CoAP dùng Broker.
b)
MQTT dùng mô hình Publish/Subscribe qua Broker; CoAP dùng Request/Response trực tiếp.
c)
Cả hai đều giống hệt nhau.
d)
MQTT chạy trên UDP; CoAP chạy trên TCP.
27.
Ghép nối giao thức với giao thức tầng giao vận (Transport Layer) mặc định của nó.
a)
MQTT dùng TCP, CoAP dùng UDP
b)
MQTT dùng UDP, CoAP dùng TCP
c)
Cả hai đều dùng TCP
d)
Cả hai đều dùng UDP
28.
Trong trường hợp mạng cực kỳ chập chờn, băng thông rất thấp, giao thức nào thường có lợi thế hơn về mặt kích thước gói tin và tại sao?
a)
MQTT vì nó có QoS.
b)
CoAP vì header của nó nhỏ hơn và UDP không yêu cầu bắt tay kết nối phức tạp.
c)
MQTT vì nó dùng TCP.
d)
Cả hai như nhau.
29.
Tình huống nào sau đây bạn NÊN chọn MQTT thay vì CoAP?
a)
Cần gửi thông báo khẩn cấp đến hàng nghìn thiết bị cùng lúc (Broadcasting).
b)
Giao tiếp 1-1 giữa điện thoại và một bóng đèn thông minh trong mạng LAN.
c)
Thiết bị dùng pin cúc áo, ngủ 99% thời gian.
d)
Chỉ cần đọc dữ liệu khi người dùng yêu cầu.
30.
Vấn đề gì CoAP thường gặp phải khi Client nằm sau tường lửa NAT (Network Address Translation) mà MQTT ít gặp hơn?
a)
Server không thể chủ động gửi request đến Client vì không biết IP/Port nội bộ của Client.
b)
Client không thể gửi tin đi.
c)
CoAP bị chặn bởi mọi tường lửa.
d)
MQTT không dùng IP.
31.
Công nghệ LoRa là viết tắt của cụm từ gì?
a)
Low Radiation
b)
Long Range
c)
Local Radio
d)
Low Rate
32.
Đâu là đặc điểm kỹ thuật nổi bật nhất giúp LoRa truyền được xa với công suất thấp?
a)
Sử dụng tần số cực cao (GHz).
b)
Kỹ thuật điều chế trải phổ CSS (Chirp Spread Spectrum).
c)
Sử dụng công suất phát cực lớn.
d)
Dùng cáp quang hỗ trợ.
33.
Đúng hay Sai: LoRa có thể truyền dữ liệu video chất lượng cao (HD) đi xa hàng km.
a)
Đúng
b)
Sai
34.
Mối quan hệ đánh đổi (Trade-off) chính trong công nghệ LoRa là gì?
a)
Khoảng cách (Range) và Tốc độ dữ liệu (Data Rate).
b)
Giá tiền và Độ bền.
c)
Bảo mật và Tốc độ.
d)
Kích thước và Màu sắc.
35.
Nếu bạn cần xây dựng một hệ thống theo dõi vị trí đàn bò trên một cánh đồng rộng 10km, pin dùng 5 năm, gửi tọa độ 1 lần/giờ. Công nghệ nào phù hợp nhất?
a)
WiFi
b)
Bluetooth
c)
LoRa
d)
4G LTE
36.
MQTT có 3 cấp độ QoS (0, 1, 2). CoAP (trên UDP) sử dụng cơ chế gì để đảm bảo gói tin đến nơi?
a)
Cũng dùng QoS 0, 1, 2.
b)
Confirmable (CON) và Non-confirmable (NON) messages.
c)
Dùng TCP backup.
d)
Không có cơ chế nào.
37.
Trong mô hình OSI 7 lớp, công nghệ LoRa (định nghĩa về điều chế sóng vô tuyến) nằm ở lớp nào?
a)
Lớp Vật lý (Physical Layer)
b)
Lớp Ứng dụng (Application Layer)
c)
Lớp Mạng (Network Layer)
d)
Lớp Phiên (Session Layer)
38.
Khi so sánh về "Overhead" (dữ liệu phụ trợ gói tin), phát biểu nào sau đây đúng?
a)
CoAP overhead thấp hơn MQTT.
b)
MQTT overhead thấp hơn CoAP.
c)
Hai giao thức bằng nhau.
d)
HTTP thấp nhất.
39.
Trong đoạn code xử lý POST: if (payload == "ON") digitalWrite(LED, HIGH);, biến payload cần có kiểu dữ liệu gì để phép so sánh này hợp lệ trong C++ (Arduino)?
a)
int
b)
String
c)
float
d)
bool
40.
Tại sao LoRa được gọi là công nghệ "LPWAN"? LPWAN là viết tắt của gì?
a)
Low Power Wide Area Network.
b)
Local Power Wireless Area Network.
c)
Long Protocol Wide Area Network.
d)
Low Price Wireless Area Network.
41.
Kiến trúc mạng của LoRaWAN thường được mô tả theo mô hình topo nào?
a)
Mesh (Lưới)
b)
Star-of-Stars (Sao của các Sao)
c)
Point-to-Point (Điểm-Điểm)
d)
Ring (Vòng)
42.
Trong kiến trúc LoRaWAN, thiết bị nào đóng vai trò là "cầu nối" (bridge) trong suốt, chuyển tiếp các gói tin RF từ thiết bị đầu cuối sang giao thức IP để gửi về Server?
a)
Network Server
b)
Application Server
c)
Gateway
d)
End Device
43.
Sự khác biệt chính giữa "LoRa" và "LoRaWAN" là gì?
a)
LoRa là giao thức mạng; LoRaWAN là lớp vật lý.
b)
LoRa là lớp vật lý (điều chế sóng); LoRaWAN là lớp giao thức mạng (MAC) quản lý giao tiếp.
c)
Chúng là hai tên gọi khác nhau của cùng một thứ.
d)
LoRa dùng cho tầm gần; LoRaWAN dùng cho tầm xa.
44.
Thiết bị LoRaWAN Class A có đặc điểm hoạt động nào giúp tiết kiệm năng lượng nhất?
a)
Luôn luôn lắng nghe tín hiệu từ Gateway.
b)
Chỉ mở cửa sổ nhận dữ liệu (receive window) ngắn ngay sau khi gửi dữ liệu đi (uplink).
c)
Chỉ nhận dữ liệu, không bao giờ gửi.
d)
Sử dụng pin năng lượng mặt trời.
45.
Nếu bạn cần một thiết bị LoRaWAN có thể nhận lệnh điều khiển từ Server bất kỳ lúc nào với độ trễ thấp nhất, bạn nên chọn thiết bị Class nào?
a)
Class A
b)
Class B
c)
Class C
d)
Class D
46.
Ghép nối các dải tần số LoRa phổ biến với khu vực địa lý tương ứng: 868 MHz, 915 MHz, 433 MHz.
a)
868-Châu Âu, 915-Mỹ, 433-Châu Á
b)
868-Mỹ, 915-Châu Âu, 433-Châu Á
c)
868-Châu Á, 915-Mỹ, 433-Châu Âu
d)
868-Châu Âu, 915-Châu Á, 433-Mỹ
47.
Trong lập trình LoRa P2P dùng thư viện arduino-LoRa trên ESP32, hàm LoRa.begin(frequency) trả về 0 (hoặc false) có ý nghĩa gì?
a)
Khởi tạo thành công.
b)
Khởi tạo thất bại (không tìm thấy chip LoRa).
c)
Đang gửi dữ liệu.
d)
Chip LoRa đang ngủ.
48.
Sắp xếp các dòng code C++ sau để thực hiện gửi một gói tin "Hello" qua LoRa. 1. LoRa.begin(), 2. LoRa.beginPacket(), 3. LoRa.print("Hello"), 4. LoRa.endPacket().
a)
1 -> 2 -> 3 -> 4
b)
1 -> 3 -> 2 -> 4
c)
4 -> 3 -> 2 -> 1
d)
2 -> 3 -> 4 -> 1
49.
Thông số "Spreading Factor" (SF) trong LoRa ảnh hưởng như thế nào đến truyền thông?
a)
SF càng cao (ví dụ SF12), truyền càng xa nhưng tốc độ càng chậm và tốn pin hơn.
b)
SF càng thấp (ví dụ SF7), truyền càng xa và tốc độ càng nhanh.
c)
SF không ảnh hưởng đến khoảng cách.
d)
SF càng cao, tốc độ càng nhanh.
50.
Trong thư viện arduino-LoRa, hàm nào được sử dụng trong vòng lặp chính để kiểm tra xem có gói tin LoRa nào vừa được nhận hay không?
a)
LoRa.parsePacket()
b)
LoRa.begin()
c)
LoRa.print()
d)
LoRa.setPins()
51.
Giao tiếp giữa vi điều khiển ESP32 và module LoRa (ví dụ: SX1278) thường sử dụng chuẩn giao tiếp nào?
a)
I2C
b)
SPI
c)
UART
d)
OneWire
52.
Hai thiết bị LoRa muốn giao tiếp P2P (Peer-to-Peer) được với nhau thì ĐIỀU KIỆN TIÊN QUYẾT là gì? (Chọn nhiều đáp án)
a)
Cùng tần số hoạt động (Frequency)
b)
Cùng Spreading Factor (SF)
c)
Cùng Bandwidth (BW)
d)
Cùng địa chỉ MAC
e)
Cùng kết nối vào một WiFi
53.
Trong một ứng dụng đo nước sạch thông minh gửi chỉ số 1 lần/ngày, pin yêu cầu 10 năm. Lựa chọn Class LoRaWAN nào là tối ưu nhất?
a)
Class A
b)
Class B
c)
Class C
d)
Class D
54.
Hàm LoRa.readString() có chức năng gì?
a)
Đọc cường độ tín hiệu (RSSI).
b)
Đọc toàn bộ nội dung gói tin nhận được dưới dạng chuỗi ký tự.
c)
Gửi một chuỗi ký tự đi.
d)
Đọc tần số hiện tại.
55.
RSSI (Received Signal Strength Indicator) là thông số quan trọng khi debug LoRa. Giá trị RSSI càng lớn (gần 0) nghĩa là gì?
a)
Tín hiệu càng yếu.
b)
Tín hiệu càng mạnh.
c)
Nhiễu càng nhiều.
d)
Khoảng cách càng xa.
56.
Trước khi khởi động LoRa, hàm nào được dùng để khai báo các chân kết nối (SS, Reset, DIO0) giữa ESP32 và module LoRa?
a)
LoRa.setPins(ss, rst, dio0)
b)
LoRa.config(ss, rst, dio0)
c)
LoRa.begin(ss, rst, dio0)
d)
LoRa.init(ss, rst, dio0)
57.
Tại sao băng thông (Bandwidth) của LoRa thường rất nhỏ (ví dụ 125 kHz) so với WiFi (20-40 MHz)?
a)
Để giảm giá thành.
b)
Để tập trung năng lượng vào một dải tần hẹp, giúp tín hiệu đi xa hơn và lọc nhiễu tốt hơn.
c)
Vì chip LoRa xử lý chậm.
d)
Để tránh bị hack.
58.
Trong mô hình LoRaWAN, nhiệm vụ "lọc trùng lặp" (de-duplication) gói tin thuộc về thành phần nào?
a)
End Device
b)
Gateway
c)
Network Server
d)
Application Server
59.
Một sinh viên lập trình 2 mạch LoRa nhưng không thể giao tiếp được. Kiểm tra code thấy: Mạch A LoRa.begin(433E6), Mạch B LoRa.begin(915E6). Nguyên nhân lỗi là gì?
a)
Sai Spreading Factor.
b)
Sai Tần số (Frequency Mismatch).
c)
Sai mã hóa.
d)
Hỏng phần cứng.
60.
Khái niệm "Duty Cycle" (Chu kỳ làm việc) 1% trong quy định sử dụng tần số LoRa có nghĩa là gì?
a)
Thiết bị phải luôn bật 1% thời gian.
b)
Thiết bị chỉ được phép phát sóng tối đa 1% tổng thời gian.
c)
Thiết bị tiết kiệm 1% pin.
d)
Thiết bị gửi 1 gói tin mỗi giây.