1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu giao thức MQTT ứng dụng cho giải pháp tưới nước thông minh

110 4 0

Đ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

Định dạng
Số trang 110
Dung lượng 4,25 MB

Nội dung

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN - Nguyễn Hữu Bắc NGHIÊN CỨU GIAO THỨC MQTT ỨNG DỤNG CHO GIẢI PHÁP TƯỚI NƯỚC THÔNG MINH LUẬN VĂN THẠC SĨ KHOA HỌC Hà Nội – 2021 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN - Nguyễn Hữu Bắc NGHIÊN CỨU GIAO THỨC MQTT ỨNG DỤNG CHO GIẢI PHÁP TƯỚI NƯỚC THƠNG MINH Chun ngành: Vật lý vơ tún điện tử Mã số: 8440130.03 LUẬN VĂN THẠC SĨ KHOA HỌC NGƯỜI HƯỚNG DẪN KHOA HỌC TS LÊ QUANG THẢO Hà Nội – 2021 LỜI CAM ĐOAN Tôi xin cam đoan nội dung luận văn: “Nghiên cứu giao thức MQTT ứng dụng cho giải pháp tưới nước thông minh” Là thực hiện hướng dẫn TS Lê Quang Thảo Các số liệu, kết nêu luận văn trung thực chưa cơng bố cơng trình khác Tác giả Nguyễn Hữu Bắc LỜI CẢM ƠN Để hoàn thiện luận văn, tơi xin bày tỏ lịng biết ơn sâu sắc đến thầy hướng dẫn tôi, TS Lê Quang Thảo Trong suốt trình thực hiện luận văn, thầy tận tình hướng dẫn, giúp đỡ để tơi hồn thành luận văn Tiếp đến, tơi xin chân thành cảm ơn thầy cô giáo Bộ môn Vật lý Vô tuyến, Khoa Vật lý, Trường Đại học Khoa học Tự nhiên - Đại học Quốc gia Hà Nội truyền đạt cho kiến thức kinh nghiệm quý báu trình học tập nghiên cứu Tơi bày tỏ lịng biết ơn đến gia đình tơi Bố mẹ, anh chị em bạn bè, bạn khóa cao học 2018-2020, người ủng hộ, giúp đỡ động viên thời gian làm luận văn Hà Nội, tháng 11 năm 2020 Nguyễn Hữu Bắc MỤC LỤC MỞ ĐẦU .1 CHƯƠNG TỔNG QUAN VỀ MẠNG CẢM BIẾN KHÔNG DÂY .3 1.1 Khái niệm 1.2 Các thành phần node cảm biến 1.3 Kiến trúc giao thức mạng WSN .5 1.3.1 Lớp ứng dụng 1.3.2 Lớp liên kết liệu 1.3.3 Lớp truyền tải 1.3.4 Lớp mạng 1.3.5 Lớp vật lý 1.3.6 Phần quản lý công suất, quản lý di động, quản lý nhiệm vụ 1.4 Các đặc điểm mạng cảm biến khơng dây 1.4.1 Kích thước vật lý, lượng tiêu thụ .9 1.4.2 Khả chịu lỗi, khả thích nghi 10 1.4.3 Hoạt động đồng thời với độ tập trung cao, tin cậy 10 1.4.4 Đa dạng thiết kế, chi phí sản xuất thấp 11 1.5 IoT giao thức thường sử dụng IoT 11 1.5.1 Giao thức CoAP 12 1.5.2 Giao thức XMPP .13 1.5.3 Giao thức MQTT 13 1.6 Ứng dụng mạng cảm biến không dây 14 1.6.1 Mạng cảm biến không dây y tế giám sát sức khoẻ 15 1.6.2 Mạng cảm biến không dây quân .15 1.6.3 Mạng cảm biến không dây ứng dụng tự động hố gia đình 16 1.6.4 Mạng cảm biến không dây ứng dụng công nghiệp 17 1.6.5 Mạng cảm biến không dây ứng dụng vào môi trường 17 1.6.6 Mạng cảm biến không dây ứng dụng nông nghiệp .19 CHƯƠNG GIAO THỨC MQTT 21 2.1 Khái niệm MQTT 21 2.2 Vị trí MQTT mơ hình IoT 22 2.3 Lịch sử hình thành 22 2.4 Các thành phần lõi kiến trúc MQTT 23 2.5 Mơ hình Pub/Sub chế hoạt động MQTT theo mơ hình Pub/Sub 23 2.5.1 Mơ hình Pub/Sub 23 2.5.2 Cơ chế hoạt động MQTT theo mơ hình Pub/Sub 25 2.6 Các gói tin quan trọng giao thức MQTT 27 2.6.1 Định dạng thông điệp .27 2.6.2 Gói CONNECT .30 2.6.3 Gói CONNACK 31 2.6.4 Gói PUBLISH 31 2.6.5 Gói SUBSCRIBE 32 2.6.6 Gói PINGREQ 33 2.6.7 Gói PINGRESP .33 2.6.8 Gói DISCONNECT 33 2.7 Quy trình truyền nhận liệu MQTT 33 2.7.1 Kết nối đăng ký 33 2.7.2 Xuất thông điệp 35 2.8 Ưu điểm, tính bật giao thức MQTT 37 2.9 Một số giao thức cạnh tranh với giao thức MQTT 38 2.10 Một số ứng dụng MQTT triển khai 38 CHƯƠNG MƠ HÌNH TƯỚI NƯỚC THƠNG MINH SỬ DỤNG CẢM BIẾN KHÔNG DÂY SỬ DỤNG GIAO THỨC MQTT 41 3.1 Bản thiết kế sơ đồ mạng cảm biến 41 3.2 Kiến trúc node cảm biến 42 3.3 Phần cứng node cảm biến .43 3.3.1 Cảm biến ánh sáng CdS 43 3.3.2 Độ ẩm đất cảm biến độ ẩm MEC10 44 3.3.2.1 Độ ẩm đất .44 3.3.2.2 Giới thiệu số cảm biến độ ẩm đất 47 3.3.2.3 Cảm biến độ ẩm đất MEC10 50 3.3.3 Chuẩn giao tiếp dây cảm biến nhiệt độ - độ ẩm DHT11 51 3.3.3.1 Chuẩn giao tiếp dây 51 3.3.3.2 Cảm biến nhiệt độ - độ ẩm DHT11 52 3.3.4 Bộ truyền sóng vơ tún nRF24L01 .55 3.3.5 Bộ xử lý trung tâm sử dụng Atmega8 .56 3.3.6 Sơ đồ mạch điện khối thu thập liệu 57 3.3.7 Thuật toán hoạt động node thu thập liệu .57 3.4 Kiến trúc node trung tâm 59 3.5 Phần cứng node trung tâm 59 3.5.1 Bộ xử lý trung tâm Atmega128 .59 3.5.2 Sơ đồ mạch điện khối xử lý trung tâm 60 3.5.3 Thuật toán hoạt động trạm trung tâm .61 3.6 Một số hình ảnh triển khai thực tế mạng cảm biến 62 CHƯƠNG KẾT QUẢ THỰC NGHIỆM VÀ THẢO LUẬN 64 4.1 Khảo sát thay đổi môi trường node center theo ngày 64 4.1.1 Dữ liệu ánh sáng theo ngày .65 4.1.2 Dữ liệu nhiệt độ theo ngày 67 4.1.3 Dữ liệu độ ẩm môi trường theo ngày 69 4.1.4 Dữ liệu độ ẩm đất theo ngày 71 4.2 Khảo sát thay đổi môi trường node theo ngày tuần 73 4.2.1 Dữ liệu ánh sáng theo ngày tuần 73 4.2.2 Dữ liệu nhiệt độ theo ngày tuần 74 4.2.3 Dữ liệu độ ẩm môi trường theo ngày tuần .75 4.2.4 Dữ liệu độ ẩm đất theo ngày tuần 76 KẾT LUẬN CHUNG 78 TÀI LIỆU THAM KHẢO 80 PHỤ LỤC 82 DANH MỤC CÁC KÍ HIỆU VÀ CHỮ VIẾT TẮT Từ viết tắt Cụm từ Nghĩa tiếng Việt IPv6 over 6LowPAN Low-Power Wireless Networks Personal Area Tín hiệu sử dụng ACK truyền thơng số để đảm bảo acknowledgement liệu nhận ADC Analog Digital Convert Bộ chuyển đổi tương tự - số AD HOC Wireless ad-hoc network Mạng tùy biến không dây AI Artificial Intelligence Trí tuệ nhân tạo ALU Arithmetic Logic Unit Đơn vị logic số học ARQ Automatic Repeat-reQuest Yêu cầu tự động lặp lại AVR Automatic Regulator Điều chỉnh điện áp tự động CISC Voltage Complex Instruction Set Computer CMOS Complementary MetalOxide-Semiconductor thuật ngữ loại công nghệ dùng để chế tạo mạch tích hợp CoAP Constrained Protocol Giao thức CoAP CRC Cyclic Redundancy Check CSMA/CA Carier Sense Applications Multiple Access/ Collision Avoidance DDS Data Distribution Service EEPROM Electrically Programmable Memory FEC Forward Error Correction Giao thức DDS Erasable Read-Only Chuyển tiếp trình sửa lỗi GENSEN Generic Sensor Architecture for Network Wireless Kiến trúc mạng cảm biến chung cho Tự động hóa Khơng dây Automation Packet Radio Dịch vụ vơ tún gói tổng hợp GPRS General Service ID Identification Địa mạng IEEE Institute of Electrical and Electronics Engineers Viện kỹ sư điện, điện tử quốc tế IoT Internet of Things Internet vạn vật IP Internet Protocol Giao thức Internet ISM Industrial, Medical LCD Liquid Crystal Display Màn hình tinh thể lỏng LDR Light-dependent resistor Điện trở quang LR-WPANs low-rate wireless personal area networks M2M Machine to machine Máy để truyền thông máy MAC Media Access Control Điều khiển truy cập đường truyền MCU Microcontroller unit MEMS Micro Electro Mechanical Systems Hệ vi điện tử MQTT Message Queue Telemetry Transport Giao thức MQTT NACK Negative acknowledgement OASIS Organization for the Tổ chức phát triển tiêu Advancement of Structured chuẩn thơng tin có cấu trúc Information Standards OSI Open Interconnection QoS Quanlity of Service Scientific and Systems Mơ hình tham chiếu hệ thống mở Định tuyến theo chất lượng dịch vụ RF RISC Bộ thu phát sóng vơ tún Radio frequency Reduced Instruction Set Computer RTOS Real-time Operating System Sensor sensor SMP SPI SQDDP Cảm biến Sensor Management Protocol giao thức quản lí mạng cảm biến Serial Peripheral Interface Sensor Query and Data giao thức phân phối liệu truy vấn cảm biến Dissemination Static memory SurfNet Su TADAP Task Assignment and Data Advertisement giao thức quảng bá liệu định nhiệm vụ cho sensor Transmission giao thức điều khiển truyền TCP random-access Bộ nhớ truy cập ngẫu nhiên tĩnh SRAM Control Protocol tải internet Thường làmột mạch tích hợp UART Universal Asynchronous Receiver – Transmitter UDP User Datagram Protocol UWASA Utilization of XMPP Extensible Messaging and Presence Protocol sử dụng việc truyền dẫn liệu nối tiếp máy tính thiết bị ngoại vi giao thức gói người dùng Giao thức XMPP Wireless sensor networking technology based WirelessHART on the Highway Addressable Remote Transducer Protocol WSN Wireless Sensor Network Mạng cảm biến không dây PHỤ LỤC 1-Thư viện MQTT static inline uint16_t htons(uint16_t x) { #if BYTE_ORDER == ORDER_LITTLE_ENDIAN return ((x & 0xff) > 8); #else return x; #endif } #define umqtt_insert_messageid(conn, ptr) \ { \ ptr[0] = conn->message_id >> 8; ptr[1] = conn->message_id & 0xff; conn->message_id++; \ \ \ } while (0) #define umqtt_build_header(type, dup, qos, retain) \ (((type) 0) digit |= 0x80; data[i] = digit; i++; } while (len); return i; /* Return the amount of bytes used */ } 83 void umqtt_circ_init(struct umqtt_circ_buffer *buff) { buff->pointer = buff->start; buff->datalen = 0; } int umqtt_circ_push(struct uint8_t *data, int len) umqtt_circ_buffer *buff, { uint8_t *bend = buff->start + buff->length - 1; uint8_t *dend buff->datalen) = (buff->pointer - buff->start + % buff->length + buff->start; /* This points to new byte */ for (; len > 0; len ) { if (dend > bend) dend = buff->start; if (buff->datalen != && dend == >pointer) break; *dend = *data; dend++; data++; buff->datalen++; } return len; /* Return amount of bytes left */ } 84 buff- int umqtt_circ_peek(struct uint8_t *data, int len) umqtt_circ_buffer *buff, { uint8_t *ptr = buff->pointer; uint8_t *bend = buff->start + buff->length - 1; int i; for (i = 0; i < len && i < buff->datalen; i++) { data[i] = ptr[i]; if (ptr > bend) ptr = buff->start; } return i; /* Return the amount of bytes actually peeked */ } int umqtt_circ_pop(struct uint8_t *data, int len) umqtt_circ_buffer *buff, { uint8_t *bend = buff->start + buff->length - 1; int i; for (i = 0; i < len && buff->datalen > 0; i++) { data[i] = *buff->pointer; buff->pointer++; buff->datalen ; 85 if (buff->pointer > bend) buff->pointer = buff->start; } return i; /* Return the amount of bytes actually popped */ } void umqtt_connect(struct umqtt_connection *conn) { int cidlen = strlen(conn->clientid); uint8_t fixed; uint8_t remlen[4]; uint8_t variable[12]; uint16_t paylen; umqtt_circ_init(&conn->rxbuff); umqtt_circ_init(&conn->txbuff); conn->state = UMQTT_STATE_INIT; conn->nack_ping = 0; conn->nack_publish = 0; conn->nack_subscribe = 0; conn->message_id = 1; fixed = umqtt_build_header(UMQTT_CONNECT, 0, 0, 0); variable[0] = 0; /* UTF Protocol name */ variable[1] = 6; 86 variable[2] = 'M'; variable[3] = 'Q'; variable[4] = 'I'; variable[5] = 's'; variable[6] = 'd'; variable[7] = 'p'; variable[8] = 3; /* Protocol version */ variable[9] = 0b00000010; /* Clean session flag */ variable[10] = conn->kalive >> 8; /* Keep Alive timer */ variable[11] = conn->kalive & 0xff; paylen = htons(cidlen); umqtt_circ_push(&conn->txbuff, &fixed, 1); umqtt_circ_push(&conn->txbuff, remlen, umqtt_encode_length(sizeof(variable) sizeof(paylen) + cidlen, remlen)); umqtt_circ_push(&conn->txbuff, sizeof(variable)); + variable, umqtt_circ_push(&conn->txbuff, (uint8_t *) &paylen, sizeof(paylen)); umqtt_circ_push(&conn->txbuff, cidlen); conn->clientid, conn->state = UMQTT_STATE_CONNECTING; 87 if (conn->new_packet_callback) conn->new_packet_callback(conn); } void umqtt_subscribe(struct umqtt_connection *conn, char *chủ đề) { uint16_t chủ đềlen = strlen(chủ đề); uint8_t fixed; uint8_t remlen[4]; uint8_t messageid[2]; uint16_t paylen; uint8_t qos = 0; fixed = umqtt_build_header(UMQTT_SUBSCRIBE, 0, 1, 0); umqtt_insert_messageid(conn, messageid); paylen = htons(chủ đềlen); umqtt_circ_push(&conn->txbuff, &fixed, 1); umqtt_circ_push(&conn->txbuff, remlen, umqtt_encode_length( sizeof(messageid) + sizeof(paylen) + chủ đềlen + sizeof(qos), remlen)); umqtt_circ_push(&conn->txbuff, sizeof(messageid)); 88 messageid, umqtt_circ_push(&conn->txbuff, (uint8_t *) &paylen, sizeof(paylen)); umqtt_circ_push(&conn->txbuff, chủ đề, chủ đềlen); umqtt_circ_push(&conn->txbuff, &qos, sizeof(qos)); conn->nack_subscribe++; if (conn->new_packet_callback) conn->new_packet_callback(conn); } void umqtt_publish(struct umqtt_connection *conn, char *chủ đề, uint8_t *data, int datalen) { int toplen = strlen(chủ đề); uint8_t fixed; uint8_t remlen[4]; uint8_t len[2]; fixed = umqtt_build_header(UMQTT_PUBLISH, 0, 0, 0); umqtt_circ_push(&conn->txbuff, &fixed, 1); umqtt_circ_push(&conn->txbuff, remlen, umqtt_encode_length(2 + toplen + datalen, remlen)); len[0] = toplen >> 8; len[1] = toplen & 0xff; 89 umqtt_circ_push(&conn->txbuff, len, sizeof(len)); umqtt_circ_push(&conn->txbuff, (uint8_t *) chủ đề, toplen); umqtt_circ_push(&conn->txbuff, data, datalen); if (conn->new_packet_callback) conn->new_packet_callback(conn); } void umqtt_ping(struct umqtt_connection *conn) { uint8_t packet[] = umqtt_build_header(UMQTT_PINGREQ, 0, 0, 0), }; umqtt_circ_push(&conn->txbuff, sizeof(packet)); { packet, conn->nack_ping++; if (conn->new_packet_callback) conn->new_packet_callback(conn); } static void umqtt_handle_publish(struct umqtt_connection *conn, uint8_t *data, int len) { uint16_t toplen = (data[0] message_callback(conn, sizeof(payload)); } static void umqtt_packet_arrived(struct umqtt_connection *conn, uint8_t header, int len) { uint8_t data[len]; umqtt_circ_pop(&conn->rxbuff, data, len); switch (umqtt_header_type(header)) { case UMQTT_CONNACK: if (data[1] == 0x00) { conn->state = UMQTT_STATE_CONNECTED; if (conn->connected_callback) conn->connected_callback(conn); } else { conn->state = UMQTT_STATE_FAILED; } 91 break; case UMQTT_SUBACK: conn->nack_subscribe ; break; case UMQTT_PINGRESP: conn->nack_ping ; break; case UMQTT_PUBLISH: umqtt_handle_publish(conn, data, len); break; } } void umqtt_process(struct umqtt_connection *conn) { uint8_t buf[5]; unsigned int i = 2; while (conn->rxbuff.datalen >= 2) { /* We have the fixed header */ umqtt_circ_pop(&conn->rxbuff, buf, 2); for (i sizeof(buf); i++) = 2; buf[i - 1] & 0x80 umqtt_circ_pop(&conn->rxbuff, 1); umqtt_packet_arrived(conn, buf[0], 92 && i < &buf[i], umqtt_decode_length(&buf[1])); } } 2-Mã nguồn chương trình thu thập số liệu node cảm biến #include #include #include #include "mqtt.c" #include "dht.c" #define CE PORTC.3 #define CSN PORTD.4 #define SCK PORTD.2 #define MOSI PORTB.6 #define MISO PIND.1 #define IRQ PIND.7 unsigned char buff[20]; unsigned char dht_nhiet_do,dht_do_am; int light.sm; void main(void) { Init_system(); Common_Config(); umqtt_connect(conn); delay_ms(1000); while (1) { if(DHT_GetTemHumi(&dht_nhiet_do,&dht_do_am)) { sprintf(buff, "%u", (unsigned int)dht_do_am); sprintf(buff, "%u", (unsigned int)dht_nhiet_do); 93 } light=(int)read_adc(6)/4; sm= (int)read_adc(7)*2048/5; umqtt_publish(conn,"tram1/thongso/nhietdo",dht_nhiet_do,1); umqtt_publish(conn,"tram1/thongso/doam",dht_do_am,1); umqtt_publish(conn,"tram1/thongso/light",light,1); umqtt_publish(conn,"tram1/thongso/sm",sm,1); delay_ms(200); } } Mã nguồn chương trình Node trung tâm #include #include #include #include #include #include #include #include #define ON 0; #define OFF 1; typedef struct { int temp; int humi; int light; int sm; 94 } station_info; station_info station_receive; char buf[20],order[6] int max_sm_limit = 80, min_sm_limit=60, node; void main(void) { init_system(); Address1 = 0xA1; Address2 = 0xA2; Address3 = 0xA3; Address4 = 0xA4; mqtt_init(); umqtt_connect(conn); Common_Config(); umqtt_subscribe(conn,"/1/thongso"); umqtt_subscribe(conn,"/2/thongso"); umqtt_subscribe(conn,"/3/thongso"); while (1) { nethandler_umqtt_appcall() while( umqtt_packet_arrived() = true) { station_receive=umqtt_process(); uint16_t toplen = (data[0] message_callback(conn, sizeof(station_receive)); chủ đề, int temp = station_receive.temp; int humi = station_receive.humi; int light = station_receive.light; int sm = station_receive.sm; umqtt_circ_push(&conn->txbuff, &fixed, 1); for(i=0;inew_packet_callback; umqtt_insert_messageid(conn, station_receive); } } order=chủ đề.Split('/'); node= int(order[1]); if(smmax_sm_limit) { relay[node] = OFF; } } } 96 station_receive, ... TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN - Nguyễn Hữu Bắc NGHIÊN CỨU GIAO THỨC MQTT ỨNG DỤNG CHO GIẢI PHÁP TƯỚI NƯỚC THÔNG MINH Chuyên ngành: Vật lý vô tuyến điện tử Mã số: 8440130.03... Hà Nội – 2021 LỜI CAM ĐOAN Tôi xin cam đoan nội dung luận văn: ? ?Nghiên cứu giao thức MQTT ứng dụng cho giải pháp tưới nước thông minh? ?? Là thực hiện hướng dẫn TS Lê Quang Thảo Các số liệu, kết... thức, luận văn tác giả xây dựng, đề xuất giải pháp để ứng dụng mạng cảm biến không dây sử dụng giao thức MQTT ứng dụng vào nông nghiệp, giải pháp tác giả cho có nhiều điểm thuận lợi phù hợp với

Ngày đăng: 31/03/2021, 20:50

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
2. Các giao thức IoT phố biến nhất, https://www.daviteq.com/blog/vi/cac-giao-thuc-iot-pho-bien-nhat/ Sách, tạp chí
Tiêu đề: Các giao thức IoT phố biến nhất
7. Giới thiệu về Mạng cảm biến không dây, https://emin.vn/gioi-thieu-ve-mang-cam-bien-khong-day-330/ne.html Sách, tạp chí
Tiêu đề: Giới thiệu về Mạng cảm biến không dây
12. Lê Đình Tuấn, Thái Doãn Ngọc (2013), Xây dựng mạng cảm biến không dây trong nông nghiệp chính xác. Tạp chí khoa học trường ĐH Cần Thơ Sách, tạp chí
Tiêu đề: Xây dựng mạng cảm biến không dây trong nông nghiệp chính xác
Tác giả: Lê Đình Tuấn, Thái Doãn Ngọc
Năm: 2013
14. Ngạc Văn An, Đặng Hùng, Nguyễn Đăng Lâm, Đỗ Trung Kiên (2005), Mạng máy tính. NXB Giáo dục (tr 12-70) Sách, tạp chí
Tiêu đề: Mạng máy tính
Tác giả: Ngạc Văn An, Đặng Hùng, Nguyễn Đăng Lâm, Đỗ Trung Kiên
Nhà XB: NXB Giáo dục (tr 12-70)
Năm: 2005
15. Ngô Diên Tập (2009), Kỹ thuật vi điều khiển với AVR. Nhà xuất bản khoa học và kĩ thuật Sách, tạp chí
Tiêu đề: Kỹ thuật vi điều khiển với AVR
Tác giả: Ngô Diên Tập
Nhà XB: Nhà xuất bản khoa học và kĩ thuật
Năm: 2009
16. Nguyễn Trung Dũng (2014), Nghiên cứu phát triển định tuyến tiết kiệm năng lượng cho mạng cảm biến không dây. Luận án Tiến sỹ ĐH Bách Khoa Hà Nội (tr 10-23) Sách, tạp chí
Tiêu đề: Nghiên cứu phát triển định tuyến tiết kiệm năng lượng cho mạng cảm biến không dây
Tác giả: Nguyễn Trung Dũng
Năm: 2014
19. Tổng quan về giao thức MQTT, https://mesidas.com/mqtt/ Sách, tạp chí
Tiêu đề: Tổng quan về giao thức MQTT
20. Tổng quan về mạng cảm biến không dây, https://uniduc.com/vi/blog/tong-quan-ve-mang-cam-bien-khong-day-ma-ban-can-biet Sách, tạp chí
Tiêu đề: Tổng quan về mạng cảm biến không dây
21. Trần Quốc Hoàng (2018), Các giao thức nhắn tin IoT, https://helpex.vn/article/cac-giao-thuc-nhan-tin-iot-la-gi-5c6ba0beae03f61e2464e02d Sách, tạp chí
Tiêu đề: Các giao thức nhắn tin IoT
Tác giả: Trần Quốc Hoàng
Năm: 2018
22. Trần Trọng Nghĩa (năm 2012), Nghiên cứu mã sửa lỗi trong mạng cảm biến không dây. Luận văn Thạc sĩ CN Điện tử-Viễn thông, ĐH Công nghệ ĐH QG HN (năm 2012). (tr 11-32) Sách, tạp chí
Tiêu đề: Nghiên cứu mã sửa lỗi trong mạng cảm biến không dây
23. Trần Quang Huy (2016), Thiết kế mạng và phân tích hiệu suất của mạng cảm biến không dây cho giám sát sức khỏe. Luận văn Thạc sĩ CNTT, ĐH Công nghệĐH QG HN. (tr 44-47) Sách, tạp chí
Tiêu đề: Thiết kế mạng và phân tích hiệu suất của mạng cảm biến không dây cho giám sát sức khỏe
Tác giả: Trần Quang Huy
Năm: 2016
25. Trịnh Lương Miên. ĐH GTVT (số 157 tháng 3/2014), Tổng quan về mạng cảm biến không dây, Tạp chí tự động hóa ngày nay.Tiếng Anh Sách, tạp chí
Tiêu đề: Tổng quan về mạng cảm biến không dây, Tạp chí tự động hóa ngày nay
28. Reino Virrankoski (2012), Generic Sensor Network Architecture for Wireless Automation (GENSEN). Proceedings of the University of Vaasa. Reports, Finland page 22-48 Sách, tạp chí
Tiêu đề: Generic Sensor Network Architecture for Wireless Automation (GENSEN)
Tác giả: Reino Virrankoski
Năm: 2012
29. Peilin Zhang (March 20, 2014), Wireless Sensor System for monitoring and control. University of Vaasa Faculty of Technology Telecommunication Engineering Sách, tạp chí
Tiêu đề: Wireless Sensor System for monitoring and control
9. iMetos Việt Nam. http://thoitietnhanong.vn/about Link
11. Lê Công Vĩnh Khải, Internet of Things – From Research and Innovation to Market Deployment, https://tapit.vn/5-giao-thuc-truyen-tai-du-lieu-trong-internet-things/ Link
18. Thư viện học liệu mở Việt Nam. https://voer.edu.vn Link
26. Datasheet (Atmega, MEC-10). http://www.datasheetcatalog.com Link
1. Bùi Thanh Hương (15/04/2015). Tạp chí Kiến trúc, Hội kiến trúc sư Việt Nam Khác
8. Hướng Dương (số 128 tháng 7/2011). Tạp chí tự động ngày nay Khác

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w