Các thiết bị có thể sử dụng nhiều cơng nghệ truyền thông tin khác nhau để trao đổi thông tin trong kết nối IOT như: WIFI, LIFI, PLC, Blutooth, Z-wave, Zigbee, Lora, Thread, Neul v.v…
Mỗi công nghệ truyền tin khơng dây như vậy lại có những ưu nhược điểm khác nhau và được ứng dụng tuỳ từng hoàn cảnh cụ thể.
Trong đồ án này với đối tượng là nơng nghiệp có độ phủ tương đối rộng cũng như giá thành rẻ nên sử dụng giải pháp kết nối sử dụng công nghệ WIFI.
- Giao thức khơng dây Wi-Fi
+ WiFi sử dụng sóng vơ tuyến (RF) để cho phép hai thiết bị giao tiếp với nhau. Công nghệ này thường được sử dụng để kết nối các thiết bị như máy tính, máy tính bảng và điện thoại di động với bộ định tuyến để truy cập Internet.
+ Nó có thể được sử dụng để kết nối hầu như bất kỳ hai thiết bị phần cứng nào. WiFi là mạng không dây cục bộ do IEEE phát triển chạy trên các tiêu chuẩn 802.11.
Bắt đầu
Khởi tạo module Node MCU, kết nối wifi với người dùng
Gửi dữ liệu lên Firebase
Gửi dữ liệu lên Thingspeak
Lưu đồ gửi dữ liệu
Hình 3.15. Lưu đồ thuật tốn gửi dữ liệu Giải thích ngun lý hoạt động của chương trình:
- Sau khi nhận được các thơng tin dữ liệu từ các cảm biến nhiệt độ độ ẩm DHT11 và cảm biến độ ẩm đất.
- Khởi tạo module Esp8266 Node MCU và kết nối wifi với người dùng tiến hành gửi dữ liệu lên firebase và Thingspeak sau đó tiếp tục quay lại gửi liệu.
3.2.3.Lấy thời gian thực cho ESP8266 Node MCU
Chúng ta có thể tận dụng khả năng kết nối wifi có sẵn của ESP8266 Node MCU để lấy đồng hồ thời gian thực từ NTP server.
3.2.3.1.Khái niệm NTP server.
NTP là viết tắt của Network Time Protocol, một giao thức dùng để kết nối và đồng bộ giữa các máy chủ với nhau. Nhiệm vụ của NTP là đơn giản là đồng bộ tất cả các thành phần trong mạng với giờ UTC trong thời gian lên tới mili giây.
Vì mỗi thành phần có những sai số khác nhau nên để làm được điều này cần thơng qua thuật tốn gọi là “intersection algorithm” của Keith Marlzullo.
Với việc đồng bộ thời gian nhanh chóng như vậy thì đồng hồ thời gian thực của chúng ta gần như tuyệt đối.
3.2.3.2.Cách sử dụng NTP Server.
NTP Server sẽ mở một kết nối UDP trên port local, sau đó gửi và nhận các gói tin UDP trong cùng một mạng với các máy chủ. Thơng tin của gói UDP sẽ là thời gian UNIX, độ chính xác, độ trễ, múi giờ và nhiều phương thức khác để trích xuất ra và sử dụng. Từ windows sẽ có các service kết nối tới NTP Server để đồng bộ dữ liệu về.
3.2.3.3.Độ chính xác của NTP Server .
Với hệ thống kiến trúc phân cấp các cấp độ của đồng hồ NTP Server có dạng như hình bên dưới.
Ta có thể thấy có rất nhiều yếu tố có thể ảnh hưởng tới độ chính xác của NTP như:
- Tốc độ kết nối của các client.
- Server được lựa chọn để đồng bộ (strata).
- Khoảng cách tín hiệu từ các server.
- Chất lượng và độ phức tạp của các thuật tốn được sử dụng.
Để có được thời gian chính xác cao thì người ta khuyên chúng ta nên chọn những server gần với nơi ở của mình.