Tài liệu Tìm hiểu về công nghệ lora và ứng dụng mô phỏng cơ bản để truyền nhận thông tin

  • Số trang: 41 |
  • Loại file: DOCX |
  • Lượt xem: 1 |
  • Lượt tải: 0

Mô tả:

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN ---------- ĐỒ ÁN 2 NGÀNH TỰ ĐỘNG HÓA CÔNG NGHIỆP ĐỀ TÀI: TÌM HIỂU VỀ CÔNG NGHỆ LORA VÀ ỨNG DỤNG MÔ PHỎNG CƠ BẢN ĐỂ TRUYỀN NHẬN THÔNG TIN Giảng viên hướng dẫn : TS Đỗ Trọng Hiếu Họ và tên : Nguyễn Đăng Anh Mã số sinh viên : 201811602 Lớp, khóa : TDH01-K2-VB2 Hà Nội - 2019 i CHƯƠNG 1: CƠ SỞ LÝ THUYẾT Tổng quan về board mạch Arduino Arduino là bo mạch vi điều khiển mạch đơn được sử dụng để làm thiết bị điện tử cho các dự án đa lĩnh vực theo cách tiếp cận dễ dàng đối với người sử dụng. Phần cứng bao gồm một bảng mạch điện tử phần cứng dạng nguồn mở được thiết từ bộ vi xử lý 8-bit Atmel AVR , hoặc 32-bit Atmel ARM. Phần mềm cho phần cứng này bao gồm một trình biên dịch ngôn ngữ lập trình chuẩn và một bộ nạp khởi động, để có thể thực hiện các lệnh trên bộ vi điều khiển. Các bảng mạch Arduino có thể được mua trước khi lắp ráp hoặc bộ dụng cụ tự-mìnhlàm DIY. Thông tin thiết kế phần cứng có sẵn cho những người muốn tự tay lắp ráp một bảng mạch Arduino. Người ta ước tính vào giữa năm 2011 có hơn 300.000 bộ bảng mạch Arduino chính thức đã được sản xuất thương mại. 1.1.1. Lịch sử phát triển Đội phát triển cốt lõi Arduino gồm Massimo Banzi, David Cuartielles, Tom Igoe , Gianluca Martino, David Mellis và Nicholas Zambetti. Massimo Banzi đã được phỏng vấn trên tuần san FLOSS ngày 21 tháng 3 năm 2009 tập trên mạng TWiT.tv, trong đó ông đã thảo luận về lịch sử và mục tiêu của dự án Arduino. Ông cũng có buổi nói chuyện tại Hội nghị TEDGlobal 2012, nơi mà ông vạch ra sử dụng khác nhau của bảng mạch Arduino trên thế giới. Arduino là phần cứng nguồn mở: các thiết kế tham khảo phần cứng Arduino được phân phối theo giấy phép Creative Commons Attribution Share-Alike 2.5 và có sẵn trên trang web của Arduino. Bố trí và sản xuất tập tin cho một số phiên bản của phần cứng Arduino cũng có sẵn. Mã nguồn cho IDE có sẵn và phát hành theo giấy phép GNU General Public License, phiên bản 2. Mặc dù thiết kế phần cứng và phần mềm là tự do sẵn có theo giấy phép copyleft, các nhà phát triển đã yêu cầu tên "Arduino" được độc quyền sản phẩm chính thức và không được sử dụng cho sản phẩm phái sinh mà không được phép. Văn bản chính sách chính thức về việc sử dụng các tên Arduino nhấn mạnh rằng dự án là mở cửa cho kết 2 hợp công việc của người khác vào các sản phẩm chính thức. Một số sản phẩm tương thích với Arduino phát hành thương mại đã tránh được "Arduino" tên bằng cách sử dụng tên các biến thể "-Duino " 1.1.2. Phần cứng của Arduino Một bảng mạch Arduino bao gồm một bộ vi điều khiển Atmel AVR 8-bit và các thành phần bổ sung để tạo điều kiện lập trình và tích hợp cách mạch điện khác với bảng mạch Arduino. Một khía cạnh quan trọng của Arduino dựa trên tiêu chuẩn kết nối thống nhất, cho bo mạch CPU được kết nối với một loạt mô-đun chuyển đổi tiện ích bổ sung được gọi là shield (bộ chắn). Một số shield giao tiếp bo mạch Arduino trực tiếp từ các chân nối khác nhau, nhưng shield được định địa chỉ riêng biệt thông qua bus kết nối nối tiếp I² C, cho phép shield được xếp chồng lên nhau và được sử dụng song song nhau. Arduino chuẩn sử dụng megaAVR là tổ chợp chip, đặc biệt là ATmega8 , Atmega168, ATmega328, ATmega1280, và ATmega2560. Một số ít các bộ vi xử lý khác đã được sử dụng tương thích chuẩn Arduino. Hầu hết bo mạch bao gồm một bộ điều áp tuyến tính 5V và một bộ dao động tinh thể 16 MHz (hoặc cộng hưởng gốm trong một số biến thể dao động), mặc dù một số thiết kế như LilyPad chạy ở 8 MHz và chia sẻ bộ điều áp trên bo mạch do hạn chế thông số định dạng thể. Bộ vi điều khiển của Arduino cũng được lập trình trước nhờ một bộ nạp khởi động theo cách đơn giản là tải lên các chương trình vào bộ nhớ flash trên chip, so với các thiết bị khác thường cần một lập trình viên bên ngoài hỗ trợ khi sử dụng. Ở cấp độ khái niệm, khi sử dụng xếp chồng phần mềm Arduino, tất cả bo mạch được lập trình nhờ kết nối nối tiếp RS-232, nhưng cách này được thực hiện khác nhau theo từng phiên bản của phần cứng . Bảng mạch Arduino nối tiếp chứa một mạch dịch cấp để chuyển đổi giữa tín hiệu cấp-RS-232 và cấp-TTL. Bảng mạch Arduino hiện nay được lập trình thông qua cổng USB, cài đặt này sử dụng chip chuyển đổi USB-sangnối tiếp như FTDI FT232. Một số biến thể, chẳng hạn như Arduino Mini và Boarduino không chính thức, sử dụng một bảng mạch có thể tháo rời chuyển đổi USB-sang-nối tiếp hoặc cáp, Bluetooth hoặc các phương pháp khác . (Khi được sử dụng với các công cụ vi điều khiển truyền thống thay vì Arduino IDE, lập trình AVR ISP chuẩn phải được sử dụng.) 3 Bảng mạch Arduino luôn cho thấy hầu hết các chân nối I/O pins của vi điều khiển để sử dụng bởi các mạch khác. Các Diecimila, Duemilanove , và Uno hiện tại cung cấp 14 chân I/O số, sáu trong số đó có thểtạo tiến hiệu điều biến độ rộng xung, và sáu đầu vào tương tự. Các chân nằm ở mặt trên bo mạch, thông qua đầu chân cái 0.10-inch (2,5 mm). Một số shield ứng dụng nhúng plug-in cũng đã có ở dạng thương mại. Bo mạch Arduino Nano và Bare Bones tương thích Arduino có thể cung cấp các chân cắm đực ở mặt duwois của bo mạch để kết nối các bo mạch khác không cần hàn. Có rất nhiều bo mạch tương thích Arduino và bo mạch dẫn xuất từ Arduino. Một số có chức năng tương đương với Arduino và có thể được sử dụng thay thế lẫn cho nhau. Phần lớn là Arduino cơ bản với việc bổ sung các trình điều khiển đầu ra phổ biến, thường sử dụng trong giáo dục cấp trường để đơn giản hóa việclắp ráp các xe đẩy và robot nhỏ. Những biến thể khác là tương đương về điện nhưng thay đổi tham số dạng (form-factor), đôi khi cho phép tiếp tục sử dụng các Shield, đôi khi không. Một số biến thể sử dụng bộ vi xử lý hoàn toàn khác, với mức độ khác nhau về tính tương thích. 1.1.3. Shield Arduino và bảng mạch Arduino tương thích sử dụng các shiel - bo mạch mạch điện được cắm vào bo mạch Arduino chính thường thông qua các đầu chân cắm trên bo mạch Arduino chủ. Shiel có thể cung cấp chức năng điều khiển động cơ, GPS, kết nối mạng ethernet, màn hình LCD, hoặc bảng mạch khung (tạo mẫu). Một số shield cũng có thể được chế tạo để thực hiện DIY. 1.1.4. Phần mềm Môi trường phát triển tích hợp (IDE) Arduino là một ứng dụng đa nền tảng được viết bằng Java, và được dẫn xuất từ IDE cho ngôn ngữ lập trình xử lý và các dự án lắp ráp. Nó được thiết kế để làm nhập môn lập trình cho các nhà lập trình và những người mới sử dụng khác không quen thuộc với phát triển phần mềm. Nó bao gồm một trình soạn thảo mã với các tính năng như làm nổi bật cú pháp, khớp dấu ngặc khối chương trình, và thụt đầu dòng tự động, và cũng có khả năng biên dịch và tải lên các chương trình vào bo mạch với một nhấp chuột duy nhất. Một chương trình hoặc mã viết cho Arduino được gọi là "sketch" . 4 Chương trình Arduino được viết bằng C hoặc C++. Arduino IDE đi kèm với một thư viện phần mềm được gọi là "Wiring" từ dự án lắp ráp ban đầu, cho hoạt động đầu vào/đầu ra phổ biến trở nên dễ dàng hơn nhiều. Người sử dụng chỉ cần định nghĩa hai hàm để thực hiện một chương trình điều hành theo chu kỳ :  setup() : hàm chạy một lần duy nhất vào lúc bắt đầu của một chương trình dùng để khởi tạo các thiết lập.  loop() : hàm được gọi lặp lại liên tục cho đến khi bo mạch được tắt đi. Khi các bạn bật điện bảng mạch Arduino, reset hay nạp chương trình mới, hàm setup() sẽ được gọi đến đầu tiên. Sau khi xử lý xong hàm setup(), Arduino sẽ nhảy đến hàm loop() và lặp vô hạn hàm này cho đến khi bạn tắt điện bo mạch Arduino. Chu trình đó có thể mô tả trong hình dưới đây: Arduino IDE sử dụng GNU toolchain và AVR libc để biên dịch chương trình, và sử dụng avrdude để tải lên các chương trình vào bo mạch chủ. Do nền tảng Arduino sử dụng vi điều khiển Atmel, môi trường phát triển của Atmel, AVR Studio hoặc Atmel Studio mới hơn, cũng có thể được sử dụng để phát triển phần mềm cho các Arduino 5 Khái quát cấu tạo của Arduino Uno R3 1.2.1. Giới thiệu Nhắc tới lập trình hay nghiên cứu chế tạo bằng Arduino, dòng đầu tiên mà mọi người thường tìm hiểu là Arduino Uno và hiện tại đã phát triển đến thế hệ thứ 3 (R3). Nếu mà người mới tìm hiểu bạn nên nghiên cứu Arduino Uno R3 hơn là tiếp cận những dòng Arduino khác vì dòng Arduino Uno R3 rất dễ sử dụng đối với những người mới tiếp cận về lập trình. Ảnh Arduino Uno Arduino Uno là 1 bo mạch thiết kế với bộ xử lý trung tâm là vi điểu khiển AVR Atmega328. Cấu tạo chính của Arduino Uno bao gồm các phần sau: - Cổng USB: đây là loại cổng giao tiếp để ta upload code từ PC lên vi điều khiển. Đồng thời nó cũng là giao tiếp serial để truyền dữ liệu giữa vi điều khiển và máy tính. - Jack nguồn: để chạy Arduino thỉ có thể lấy nguồn từ cổng USB ở trên, nhưng không phải lúc nào cũng có thể cắm với máy tính được . Lúc đó ta cần một nguồn từ 9V đến 12V. - Có 14 chân vào/ra số đánh số thứ tự từ 0 đến 13, ngoài ra có một chân nối đất (GND) và một chân điện áp tham chiếu (AREF). 6 - Vi điều khiển AVR: đây là bộ xử lí trung tâm của toàn bo mạch. Với mỗi mẫu Arduino khác nhau thì con chip là khác nhau. Ở con Arduino Uno này thì sử dụng ATMega328. 1.2.2. Thông số kĩ thuật Vi xử lý: Atmega328 Điện áp hoạt động: 5V Điện áp đầu vào: 7-12V Điện áp đầu vào (Giới hạn): 6-20V Chân vào/ra (I/O) số: 14 (6 chân có thể cho đầu ra PWM) Chân vào tương tự: 6 Dòng điện trong mỗi chân I/O: 40mA Dòng điện chân nguồn 3.3V: 50mA Bộ nhớ trong: 32 KB (ATmega328) SRAM: 2 KB (ATmega328) EEPROM: 1 KB (ATmega328) Xung nhịp: 16MHz 1.2.3. Vi điều khiển của Arduino uno R3 Vi điều khiển của Arduino Uno R3 7 Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là ATmega8, ATmega168, ATmega328. Bộ não này có thể xử lí những tác vụ đơn giản như điều khiển đèn LED nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm một trạm đo nhiệt độ - độ ẩm và hiển thị lên màn hình LCD, … Thiết kế tiêu chuẩn của Arduino UNO sử dụng vi điều khiển ATmega328 với giá khoảng 90.000đ. Tuy nhiên nếu yêu cầu phần cứng của bạn không cao hoặc túi tiền không cho phép, bạn có thể sử dụng các loại vi điều khiển khác có chức năng tương đương nhưng rẻ hơn như ATmega8 (bộ nhớ flash 8KB) với giá khoảng 45.000đ hoặc ATmega168 (bộ nhớ flash 16KB) với giá khoảng 65.000đ. 1.2.4. Năng lượng Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồn ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V. Thường thì cấp nguồn bằng pin vuông 9V là hợp lí nhất nếu bạn không có sẵn nguồn từ cổng USB. Nếu cấp nguồn vượt quá ngưỡng giới hạn trên, bạn sẽ làm hỏng Arduino UNO. Các chân năng lượng GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO. Khi bạn dùng các thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải được nối với nhau. 5V: cấp điện áp 5V đầu ra. Dòng tối đa cho phép ở chân này là 500mA. 3.3V: cấp điện áp 3.3V đầu ra. Dòng tối đa cho phép ở chân này là 50mA. Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực dương của nguồn với chân này và cực âm của nguồn với chân GND. IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo ở chân này. Và dĩ nhiên nó luôn là 5V. Mặc dù vậy bạn không được lấy nguồn 5V từ chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn. RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc chân RESET được nối với GND qua 1 điện trở 10KΩ. Lưu ý: 8 Arduino UNO không có bảo vệ cắm ngược nguồn vào. Do đó bạn phải hết sức cẩn thận, kiểm tra các cực âm – dương của nguồn trước khi cấp cho Arduino UNO. Việc làm chập mạch nguồn vào của Arduino UNO sẽ biến nó thành một miếng nhựa chặn giấy. mình khuyên bạn nên dùng nguồn từ cổng USB nếu có thể. Các chân 3.3V và 5V trên Arduino là các chân dùng để cấp nguồn ra cho các thiết bị khác, không phải là các chân cấp nguồn vào. Việc cấp nguồn sai vị trí có thể làm hỏng board. Điều này không được nhà sản xuất khuyến khích. Cấp nguồn ngoài không qua cổng USB cho Arduino UNO với điện áp dưới 6V có thể làm hỏng board. Cấp điện áp trên 13V vào chân RESET trên board có thể làm hỏng vi điều khiển ATmega328. Cường độ dòng điện vào/ra ở tất cả các chân Digital và Analog của Arduino UNO nếu vượt quá 200mA sẽ làm hỏng vi điều khiển. Cấp điệp áp trên 5.5V vào các chân Digital hoặc Analog của Arduino UNO sẽ làm hỏng vi điều khiển. Cường độ dòng điện qua một chân Digital hoặc Analog bất kì của Arduino UNO vượt quá 40mA sẽ làm hỏng vi điều khiển. Do đó nếu không dùng để truyền nhận dữ liệu, bạn phải mắc một điện trở hạn dòng. Khi mình nói rằng bạn “có thể làm hỏng”, điều đó có nghĩa là chưa chắc sẽ hỏng ngay bởi các thông số kĩ thuật của linh kiện điện tử luôn có một sự tương đối nhất định. Do đó hãy cứ tuân thủ theo những thông số kĩ thuật của nhà sản xuất nếu bạn không muốn phải mua một board Arduino UNO thứ 2.Khi mình nói rằng bạn “có thể làm hỏng”, điều đó có nghĩa là chưa chắc sẽ hỏng ngay bởi các thông số kĩ thuật của linh kiện điện tử luôn có một sự tương đối nhất định. Do đó hãy cứ tuân thủ theo những thông số kĩ thuật của nhà sản xuất nếu bạn không muốn phải mua một board Arduino UNO thứ 2. 1.2.5. Bộ nhớ Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng: 9 32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong bộ nhớ Flash của vi điều khiển. Thường thì sẽ có khoảng vài KB trong số này sẽ được dùng cho bootloader nhưng đừng lo, bạn hiếm khi nào cần quá 20KB bộ nhớ này đâu. 2KB cho SRAM (Static Random Access Memory): giá trị các biến bạn khai báo khi lập trình sẽ lưu ở đây. Bạn khai báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM. Tuy vậy, thực sự thì cũng hiếm khi nào bộ nhớ RAM lại trở thành thứ mà bạn phải bận tâm. Khi mất điện, dữ liệu trên SRAM sẽ bị mất. 1KB cho EEPROM (Electrically Eraseble Programmable Read Only Memory): đây giống như một chiếc ổ cứng mini – nơi bạn có thể đọc và ghi dữ liệu của mình vào đây mà không phải lo bị mất khi cúp điện giống như dữ liệu trên SRAM. 1.2.6. Cổng vào ra Các chân của Arduino Uno R3 Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu. Chúng chỉ có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA. Ở mỗi chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc định thì các điện trở này không được kết nối). 10 Một số chân digital có các chức năng đặc biệt như sau: 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive – RX) dữ liệu TTL Serial. Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chân này. Kết nối bluetooth thường thấy nói nôm na chính là kết nối Serial không dây. Nếu không cần giao tiếp Serial, bạn không nên sử dụng 2 chân này nếu không cần thiết Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ phân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàm analogWrite(). Nói một cách đơn giản, bạn có thể điều chỉnh được điện áp ra ở chân này từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như những chân khác. Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ngoài các chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI với các thiết bị khác. LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L). Khi bấm nút Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu. Nó được nối với chân số 13. Khi chân này được người dùng sử dụng, LED sẽ sáng. Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit (0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V. Với chân AREF trên board, bạn có thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog. Tức là nếu bạn cấp điện áp 2.5V vào chân này thì bạn có thể dùng các chân analog để đo điện áp trong khoảng từ 0V → 2.5V với độ phân giải vẫn là 10bit. Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác. Arduino IDE Để lập trình cho Arduino, em đã sử dụng phần mềm Arduino IDE (Intergrated Development Environment) được phát triển bởi đội ngũ kĩ sư của Arduino. Arduino IDE rất dễ sử dụng, sử dụng ngôn ngữ lập trình Wiring dễ hiểu và dựa trên nền tảng C/C++ rất quen thuộc với người làm kỹ thuật. Và quan trọng là số lượng thư viện code được viết sẵn và chia sẻ bởi cộng đồng nguồn mở là cực kỳ lớn. 11 Giao diện Arduino IDE Arduino IDE có thể chạy trên ba nền tảng phổ biến nhất hiện nay là Windows, Macintosh OSX và Linux. Do có tính chất nguồn mở nên môi trường lập trình này hoàn toàn miễn phí và có thể mở rộng thêm bởi người dùng có kinh nghiệm 12 CHƯƠNG 2: GIỚI THIỆU TỔNG QUAN VỀ CÔNG NGHỆ TRUYỀN KHÔNG DÂY 2.1 Giới thiệu về một số công nghệ truyền không dây Internet of Things (IoT) đã không còn là từ khóa xa lạ với chúng ta, các ứng dụng IoT đang ngày càng tăng với tốc độ đáng kinh ngạc. Khi đề cập đến các ứng dụng IoT, không thể không nhắc đến vai trò quan trọng của các kỹ thuật truyền dữ liệu, đặc biệt là các kỹ thuật truyền thông không dây như Wi-Fi, Bluetooth, zigbee, các mạng di động (GPRS, 2G, 3G, 4G, 5G…), NB-IoT hay các kỹ thuật họ LPWAN như LoRa, SigFox,…. Trong các kỹ thuật vừa kể trên, kỹ thuật họ LPWAN đặc biệt là LoRa hiện được sử dụng rất nhiều trong các ứng dụng dụng IoT với ưu điểm là có thể truyền tải dữ liệu với khoảng cách truyền xa lên đến hàng chục km với công suất thấp và giá thành để có thể triển khai một mạng LoRa cũng rất thấp. 2.1.1 Bluetooth Một công nghệ giao tiếp truyền thông trong khoảng cách ngắn vô cùng quan trọng, đó là Bluetooth. Hiện nay, bluetooth xuất hiện hầu hết ở các thiết bị như máy tính, điện thoại/ smartphone,....và nó được dự kiến là chìa khóa cho các sản phẩm IoT đặc biệt, cho phép giao tiếp thiết bị với các smartphone - một "thế lực hùng hậu" hiện nay. Hiện nay, BLE - Bluetooth Low Energy - hoặc Bluethooth Smart là một giao thức được sử dụng đáng kể cho các ứng dụng IoT. Quan trọng hơn, cùng với một khoảng cách truyền tương tự như Bluetooth, BLE được thiết kế để tiêu thụ công suất ít hơn rất nhiều Tuy nhiên, BLE không thực sự được thiết kế cho các ứng dụng dùng để truyền file và sẽ phù hợp hơn cho khối dữ liệu nhỏ. Nó có một lợi thế vô cùng lớn trong bối cảnh hiện nay, smartphone đang là thiết bị không thể thiếu được của mỗi người. Theo Bluetooth SIG, hiện có hơn 90% điện thoại smartphone được nhúng Bluetooth, bao gồm các hệ điều hành IOS, Android và Window, và dự kiến đến năm 2018 sẽ là " Smart Ready". 13 Một số thông tin kỹ thuật về Bluetooth 4.2:  Tần số: 2.4 GHz  Phạm vi: 50-150m ( Smart / BLE)  Dữ liệu truyền được: 1Mbps 2.1.2  Zigbee Zigbee - Các khái niệm cơ bản Zigbee, giống như Bluetooth, là một loại truyền thông trong khoảng cách ngắn, hiện được sử dụng với số lượng lớn và thường được sử dụng trong công nghiệp. Điển hình, Zigbee Pro và Zigbee remote control (RF4CE) được thiết kế trên nền tảng giao thức IEEE802.15.4 - là một chuẩn giao thức truyền thông vật lý trong công nghiệp hoạt động ở 2.4Ghz thường được sử dụng trong các ứng dụng khoảng cách ngắn và dữ liệu truyền tin ít nhưng thường xuyên, được đánh giá phù hợp với các ứng dụng trong smarthome hoặc trong một khu vực đô thị/khu chung cư. Zigbee / RF4CE có một lợi thế đáng kể trong các hệ thống phức tạp cần các điều kiện: tiêu thụ công suất thấp, tính bảo mật cao, khả năng mở rộng số lượng các node cao...ví dụ như yêu cầu của các ứng dụng M2M và IoT là điển hình. Phiên bản mới nhất của Zigbee là 3.0, trong đó điểm nổi bật là sự hợp nhất của các tiêu chuẩn Zigbee khác nhau thành một tiêu chuẩn duy nhất. Ví dụ, sản phẩm và kit phát triển của Zigbee của TI là CC2538SF53RTQT Zigbee System-On-Chip T và CC2538 Zigbee Development Kit.  Standard: ZigBee 3.0 based on IEEE802.15.4 14  Frequency: 2.4GHz  Range: 10-100m  Data Rates: 250kbps 2.1.3 Z-wave Tương tự Zigbee, Z-Wave là chuẩn truyền thông không dây trong khoảng cách ngắn và tiêu thụ rất ít năng lượng. Dung lượng truyền tải với tốc độ 100kbit/s, quá đủ cho nhu cầu giao tiếp giữa các thiết bị trong các hệ thống IoT, M2M. Chuẩn kết nối ZWave và Zigbee cùng hoạt động với tần số 2.4GHz, và cùng được thiết kế với mức tiêu thụ năng lượng rất ít nên có thể sử dụng với các loại PIN di động.Zwave hoạt động ở tần số thấp hơn so với Zigbee/wifi, dao động trong các dải tần của 900Mhz, tùy theo quy định ở từng khu vực khác nhau. Ưu điểm của Z-Wave là tiêu thụ năng lượng cực ít và độ mở ( open platform) cực cao. Hiện nay, Z-Wave được ứng dụng chủ yếu trong ứng dụng smarthome. Đặc biệt, mỗi thiết bị Z-Wave trong hệ thống là một thiết bị có thể vừa thu và vừa phát sóng nên tính ổn định hệ thống được nâng cao. Đặc biệt, Z-Wave đã được nhiều nhà sản xuất thiết bị tích hợp vào, đây là một công nghệ đang được chú ý và các nhà sản xuất đang tập trung nhiều hơn vào nó. Thông số kỹ thuật cơ bản: 15  Standard: Z-Wave Alliance ZAD12837 / ITU-T G.9959  Frequency: 900MHz (ISM)  Range: 30m  Data Rates: 9.6/40/100kbit/s 6LoWPAN 2.1.4 6LoWPAN là tên viết tắt của IPv6 protocol over low-power wireless PANs ( tức là: sử dụng giao thức IPv6 trong các mạng PAN không dây công suất thấp). 6LoWPAN được phát triển bởi hiệp hội đặc trách kỹ thuật Internet IETF ( Internet Engineering Task Foce), cho phép truyền dữ liệu qua các giao thức IPv6 và IPv4 trong các mạng không dây công suất thấp với các cấu trúc mạng điểm - điểm ( P2P: point to point ) và dạng lưới ( mesh). Tiêu chuẩn được đặt ra để quy định các đặc điểm của 6LoWPAN cho phép sử dụng rộng rãi trong các ứng dụng IoT.  Điểm khác của 6LoWPAN so với Zigbee, Bluetooth là: Zigbee hay bluetooth là các giao thức ứng dụng, còn 6LoWPAN là giao thức mạng, cho phép quy định cơ chế đóng gói bản tin và nén header. Đặc biệt, IPv6 là sự kế thừa của IPv4 và cung cấp khoảng 5 x 1028 địa chỉ cho tất cả mọi đối tượng trên thế giới, cho phép mỗi đối tượng là một địa chỉ IP xác định để kết nối với Internet. Được thiết kế để gửi các bản tin IPv6 qua mạng IEEE802.15.4 và các tiêu chuẩn IP mở rộng như: TCP, UDP, HTTP, COAP, MQTT và Websocket, là các tiêu chuẩn cung cấp nodes end-to-end, cho phép các router kết nối mạng tới các IP. o Standard: RFC6282. 16 o Frequency: (adapted and used over a variety of other networking media including Bluetooth Smart (2.4GHz) or ZigBee or low-power RF (sub1GHz). o Range: N/A. o Data Rates: N/A Thread 2.1.5 Thread là một giao thức IP mới, dựa trên nền tảng mạng IPv6 được thiết kế riêng cho mảng tự động hóa trong các tòa nhà và nhà. Nó không phải là một giao thức được yêu thích để ứng dụng trong các bài toán IoT như Zigbee hay Bluetooth. Được ra mắt vào giữa năm 2014 bởi Theard Group, giao thức Thread dựa trên các tiêu chuẩn khác nhau, bao gồm IEEE802.15.4, IPv6 và 6LoWPAN, và cung cấp một giải pháp dựa trên nền tảng IP cho các ứng dụng IoT. Được thiết kế để làm việc với các sản phẩm chip của Freescale và Silicon Labs ( vốn hỗ trợ chuẩn IEÊ802.15.4), đặc biệt có khả năng xử lý lên đến 250 nút với độ xác thực và tính mã hóa cao. Với một bản phần mềm upgrade đơn giản, cho phép người dùng có thể chạy Theard trên các thiết bị hỗ trợ IEEE802.15.4 hiện nay. 2.1.6 o Tiêu chuẩn: Theard, dựa trên IEEE802.15.4 và 6LowPAN. o Tần số: 2.4GHz (ISM). o Phạm vi: N / A Wifi. 17 Wifi (là viết tắt từ Wireless Fidelity hay mạng 802.11) là hệ thống mạng không dây sử dụng sóng vô tuyến, cũng giống như điện thoại di đông, truyền hình và radio. Kết nôi Wifi thường là sự lựa chọn hàng đầu của rất nhiều kỹ sư giải pháp bởi tính thông dụng và kinh tế của hệ thống wifi và mạng LAN với mô hình kết nối trong một phạm vi địa lý có giới hạn. Các sóng vô tuyến sử dụng cho WiFi gần giống với các sóng vô tuyến sử dụng cho thiết bị cầm tay, điện thoại di động và các thiết bị khác. Nó có thể chuyển và nhận sóng vô tuyến, chuyển đổi các mã nhị phân 1 và 0 sang sóng vô tuyến và ngược lại. Tuy nhiên, sóng WiFi có một số khác biệt so với các sóng vô tuyến khác ở chỗ: Chúng truyền và phát tín hiệu ở tần số 2.4 GHz hoặc 5 GHz. Tần số này cao hơn so với các tần số sử dụng cho điện thoại di động, các thiết bị cầm tay và truyền hình. Tần số cao hơn cho phép tín hiệu mang theo nhiều dữ liệu hơn. Hiện nay, đa số các thiết bị wifi đều tuân theo chuẩn 802.11n, được phát ở tần số 2.4Ghz và đạt tốc độ xử lý tối đa 300Megabit/giây  Standard: Based on 802.11n (most common usage in homes today)  Frequencies: 2.4GHz and 5GHz bands  Range: Approximately 50m  Data Rates: 600 Mbps maximum, but 150-200Mbps is more typical, depending on channel frequency used and number of antennas (latest 802.11-ac standard should offer 500Mbps to 1Gbps) 18 Cellular 2.1.7 Với các ứng dụng IoT/M2M yêu cầu khoảng cách truyền thông dài, hoặc không bị giới hạn bởi khoảng cách địa lý thì việc lựa chọn đường truyền dữ liệu thông qua mạng điện thoại di động GPRS/3G/LTE là một lựa chọn sáng suốt. Tất nhiên, đối với các kỹ sư thiết kế giải pháp,ai cũng hiểu rằng, truyền dữ liệu đi xa thì sẽ tốn năng lượng tương ứng. Và yếu tố tiêu hao năng lượng dễ được chấp nhận trong bài toán này. Hiện nay, các thiết bị/các điểm đầu cuối trong công nghiệp đều được hỗ trợ tích hợp các cổng giao tiếp vật lý theo chuẩn như: RS232 , RS485, RS422 hay Ethernet. Các phương tiện truyền thông qua mạng di động đều hỗ trợ đầu vào là các cổng Serial hay Ethernet nên việc tích hợp giải pháp truyền thông không dây không còn khó khăn hay bị giới hạn bởi yếu tố khách quan nào khác. > > > Tổng quan về giao tiếp RS232 > > > Sự khác nhau giữa RS232 và RS485  Standard: GSM/GPRS/EDGE (2G), UMTS/HSPA (3G), LTE (4G)  Frequencies: 900/1800/1900/2100MHz  Range: 35km max for GSM; 200km max for HSPA  Data Rates (typical download): 35-170kps (GPRS), 120-384kbps (EDGE), 384Kbps-2Mbps (UMTS), 600kbps-10Mbps (HSPA), 310Mbps (LTE) 2.1.8 NFC 19 Đây là một giao thức truyền thông tương đối "lạ" đối với các kỹ sư giải pháp thiết kế. Vậy, NFC là gì? NFC (Near-Field Communications) là công nghệ kết nối không dây trong phạm vi tầm ngắn trong khoảng cách 4 cm. Công nghệ này sử dụng cảm ứng từ trường để thực hiện kết nối giữa các thiết bị (smartphone, tablet, loa, tai nghe …) khi có sự tiếp xúc trực tiếp (chạm). NFC dùng để làm gì? Khi hai thiết bị đều có kết nối NFC, bạn có thể chạm chúng vào nhau để kích hoạt tính năng này và nhanh chóng truyền tập tin gồm danh bạ, nhạc, hình ảnh, video, ứng dụng hoặc địa chỉ website... Ở các nước phát triển, NFC còn được xem là chiếc ví điện tử khi có thể thanh toán trực tuyến, tiện lợi và nhanh chóng. Ngoài việc giúp truyền tải dữ liệu như trên thì NFC còn mở rộng với những công dụng ví dụ như bạn đến quán café có một thẻ NFC để trên bàn, trong thẻ này đã cài đặt sẵn wifi, thông tin của quán…lúc này bạn lấy chiếc điện thoại chạm vào NFC này thì máy sẽ bật tất cả tính năng được cài sẵn trong thẻ đó mà không cần phải nhờ gọi nhân viên. Hoặc tiên tiến hơn thì sau này có thể khi mua đồ trong siêu thị lớn thì quẹt NFC của điện thoại để thanh toán tiền luôn.  Standard: ISO/IEC 18000-3 20
- Xem thêm -