Các phần mềm được sử dụng:

Một phần của tài liệu Thiết kế, chế tạo, điều khiển giám sát các module trong nhà thông minh đồ án tốt nghiệp ngành công nghệ kỹ thuật cơ điện tử (Trang 37)

3.2.1. Phần mềm Arduino IDE:

27 Arduino IDE là phần mềm với mã nguồn mã dùng để liên kết và điều khiển các thiết bị điện tử do người dùng xây dựng. Được sử dụng rất nhiều trong lập trình, giúp thực hiện các dự án tự động hóa một cách dể dàng, đơn giản, hiệu quả ít tốn kém.

Phần mềm lập trình arduino IDE hỗ trợ rất nhiều thư viện ESP8266Wifi để lập trình cho module Wifi Esp8266 NodeMCU.

Ứng dụng của Arduino

ứng dụng trong nhiều lĩnh vực như máy bay không người lái, làm robot, làm máy in 3D, điều khiển các cảm biến,…

Ưu điểm của Arduino

Mã nguồn mở

Khả năng kết nối cao : arduino các thể kết nối với nhau, kết nối với các thiết bị khác

3.2.2. Phần mềm Home Assistant: 3.2.2.1. Home Assistant là gì? 3.2.2.1. Home Assistant là gì?

Hình 3.20: Giao diện điều khiển Home Assistant

Home Assistant là một nên tảng tự động hóa mã nguồn mở chạy trên Python 3.

Theo dõi và kiểm soát tất cả các thiết bị trong nhà và tự động kiểm soát. HomeAssistant được thiết kế để trở thành hệ thống điều khiển trung tâm cho các thiết bị nhà thông minh tập trung vào quyền kiểm soát cục bộ và quyền riêng tư. Nó

28 có thể được truy cập thông qua giao diện người dùng dựa trên web , thông qua các ứng dụng đồng hành dành cho Android và iOS hoặc sử dụng lệnh thoại thông qua trợ lý ảo được hỗ trợ như Google Assistant hoặc Amazon Alexa.

Các công nghệ, thiết bị, phần mềm, ứng dụng và dịch vụ IoT được hỗ trợ bởi các thành phần tích hợp mô-đun, không chỉ bao gồm tích hợp gốc cho các giao thức kết nối cục bộ như Bluetooth , MQTT , Zigbee và Z-Wave mà còn hỗ trợ kiểm soát hệ sinh thái độc quyền nếu chúng cung cấp quyền truy cập qua một API công khai cho các giao diện của bên thứ ba. Sau khi ứng dụng phần mềm Home Assistant được cài đặt dưới dạng một thiết bị máy tính, nó sẽ hoạt động như một hệ thống điều khiển trung tâm để tự động hóa gia đình (thường được gọi là "trung tâm", "cầu nối", "cổng vào", "bộ điều khiển" hoặc "bộ điều phối ").

Thông tin từ tất cả các thực thể mà nó nhìn thấy có thể được sử dụng và kiểm soát từ bên trong các tập lệnh kích hoạt quá trình tự động hóa bằng cách sử dụng các chương trình con "kế hoạch chi tiết" và lập lịch , ví dụ như để kiểm soát ánh sáng, khí hậu, hệ thống giải trí và thiết bị.

Một số nền tảng tự động hóa nhà chỉ hỗ trợ Python như một phần mở rộng nhưng Home Assistant có thể chạy trên bất cứ thiết bị, dịch vụ nào có thể chạy Python 3, từ máy tính để bàn đến Raspberry Pi.

Hình 3.21: Home Assistant

3.2.2.2. Một số đặc điểm của Home Assistant:

- Giống như hầu hết các hệ thống tự động, Home Assistant cung cấp bản client trên điện thoại và máy tính để điều khiển các thiết bị nhà thông minh từ xa.

- Home Assistant cũng không có các thành phần điện toán đám mây.

- Vì Home Assistant không hoàn toàn khác biệt so với các framework IoT khác

29 - Có một điểm mạnh của Home Assistant do Python mang tới đó là: Việc mở rộng hệ thống rất dễ dàng.

Home Assistant được hỗ trợ và có thể được cài đặt trên nhiều nền tảng, bao gồm máy tính một bo mạch (như Hardkernel ODROID , Raspberry Pi , Asus Tinkerboard , Intel NUC ), các hệ điều hành như Windows , macOS , Linux cũng như máy ảo và hệ thống NAS .

Trên các máy tính một bo mạch được hỗ trợ chính thức như ODROID N2 + và Raspberry Pi 3/4, quá trình cài đặt yêu cầu phải flash một hình ảnh hệ thống tương ứng vào thẻ nhớ microSD hoặc bộ nhớ cục bộ khác mà từ đó hệ thống có thể khởi động. Có thể sử dụng Home Assistant làm cổng hoặc cầu nối cho các thiết bị sử dụng các công nghệ IoT khác nhau như Zigbee hoặc Z-Wave, phần cứng cần thiết có thể được gắn vào các chân I / O đa năng hoặc sử dụng cổng USB. Hơn nữa, nó có thể kết nối trực tiếp hoặc gián tiếp với các thiết bị IoT cục bộ, các trung tâm / cổng / cầu điều khiển hoặc các dịch vụ đám mây từ nhiều nhà cung cấp khác nhau, bao gồm cả các hệ sinh thái nhà thông minh đóng và mở khác.

3.2.2.3. Tính năng của Home assistant:

Giám sát

Home Assistant sẽ theo dõi tình trạng của tất cả các thiết bị trong nhà bạn thay cho bạn, miễn là các thiết bị đó nằm trong danh sách được Home Assistant hỗ trợ.

Hỗ trợ rất nhiều các thiết bị đến từ Nest, IFTTT, Google, Hue, MQTT,Facebook, Microsoft,…

Điều khiển

Điều khiển tất cả các thiết bị từ một giao diện duy nhất, thân thiện với điện thoại. Đặc biệt, nền tảng này không lưu trữ bất kỳ dữ liệu nào của người dùng trên máy chủ, vì thế đảm bảo tính riêng tư khá cao.

Tự động hóa

Thiết lập các quy tắc tiên tiến để kiểm soát thiết bị. Và từ đó biến ngôi nhà của bạn thành một thiên đường sống đáng mơ ước.

3.3. Giao thức giao tiếp MQTT: 3.3.1. MQTT là gì? 3.3.1. MQTT là gì?

30

a) Giới thiệu:

MQTT được viết tắt từ Message Queue Telemetry Tranport.

Đây là một giao thức truyền thông điệp (message) theo mô hình publish/subscibe ( publish – theo dõi), sử dụng băng thông thấp, độ tin cậy cao và có khả năng hoạt động trong điều kiện đường truyền không ổn định. MQTT đã ngày một phổ biến do sự phát triển của IOT.

Hình 3.22: Hình tượng trưng giao thức MQTT

MQTT là lựa chọn lý tưởng trong các môi trường như: Trong môi trường mạng kém, thiếu tin cậy

Khi chạy trên thiết bị nhúng bị giới hạn về tài nguyên tốc độ và bộ nhớ. Được ứng dụng nhiều trong lĩnh vực dầu khí, nhà thông minh.

Những nơi mà giá mạng viễn thông đắt đỏ hoặc băng thông thấp hay thiếu tin cậy. Khi chạy trên thiết bị nhúng bị giới hạn về tài nguyên tốc độ và bộ nhớ.

b) Tính năng và đặc điểm nổi bật: [8]

- Nhẹ và hiệu quả: Các máy khách MQTT rất nhỏ, yêu cầu tài nguyên tối thiểu nên có thể được sử dụng trên các bộ vi điều khiển nhỏ. Tiêu đề tin nhắn MQTT nhỏ để tối ưu hóa băng thông mạng.

- Truyền thông hai hướng: MQTT cho phép nhắn tin giữa thiết bị với đám mây và đám mây với thiết bị. Điều này giúp dễ dàng truyền thông tin đến các nhóm.

- Quy mô lớn: MQTT có thể mở rộng quy mô để kết nối với hàng triệu thiết bị IoT.

31 - Gửi tin nhắn đáng tin cậy: Độ tin cậy của việc gửi thông tin là rất quan trọng đối với nhiều trường hợp sử dụng IoT. Đây là lý do tại sao MQTT có 3 mức chất lượng dịch vụ được xác định: 0 - nhiều nhất một lần, 1- ít nhất một lần, 2 - chính xác một lần.

-Hỗ trợ cho các mạng không đáng tin cậy: Nhiều thiết bị IoT kết nối qua mạng di động không đáng tin cậy. Hỗ trợ của MQTT cho các phiên liên tục giúp giảm thời gian kết nối lại khách hàng với nhà môi giới.

-Đã bật bảo mật: MQTT giúp dễ dàng mã hóa tin nhắn bằng TLS và xác thực máy khách bằng các giao thức xác thực hiện đại, chẳng hạn như OAuth.

c) Ứng dụng của MQTT

Chính vì những ưu điểm nổi bật đó mà MQTT xuất hiện trong rất nhiều các dự án và trong rất nhiều các lĩnh vực: nhà thông minh, ô tô, dầu khí,….

Các ứng dụng thực tế [8]:

- OpenHAB, nền tảng nhà thông minh mã nguồn mở hỗ trợ MQTT.

- Thông số kỹ thuật tiêu chuẩn SensorThings API của Open Geospatial Consortium bao gồm một phần mở rộng MQTT trong giao thức tin nhắn. Nó đã được chứng minh ở một đơn vị thí điểm IoT của Bộ An ninh Nội địa Hoa Kỳ.

- XIM, Inc. đã giới thiệu một ứng dụng MQTT client cho Android và iOS, tên là MQTT Buddy.

- Node-RED hỗ trợ MQTT với TLS kể từ phiên bản 0.14.

- Home Assistant, nền tảng nhà thông minh mã nguồn mở, hỗ trợ MQTT và cung cấp bốn tùy chọn cho MQTT broker.

- Ejabberd hỗ trợ MQTT kể từ phiên bản 19.02.

- Eclipse Foundation với giao thức Sparkplug tương thích MQTT. Sparkplug được xây dựng dựa trên MQTT, cộng thêm các tính năng cần thiết trong các ứng dụng công nghiệp thời gian thực.

3.3.2. Mô hình Pub/Sub và Cơ chế hoạt động của MQTT: 1. Mô hình Pub/Sub: 1. Mô hình Pub/Sub:

- Thành phần: ● Client

32 Subscriber - Nơi nhận thông điệp

● Broker - Máy chủ môi giới

Client

Client của MQTT là bất kì một thiết bị nào chạy trên thư viện MQTT và kết nối với MQTT Broker qua internet. Client được chia là hai thành phần là Publisher và Subcriber. Client chỉ được làm ít nhất một trong hai nhiệm vụ, có thể publish các message lên một hay nhiều topic hoặc là subcriber vào một topic nào đó để nhận thông tin từ topic này.

Broker

Broker được coi như một trung tâm của các client thưc hiện Pub/Sub. Có thể nhận và xử lí thông tin từ hàng ngàn Client khác nhau.

Hình 3.23: Mô hình Pub/Sub

Ưu điểm [8]:

 Kết nối riêng rẽ, độc lập.Khả năng mở rộng.  Thời gian tách biệt (Time decoupling).

33

Nhược điểm [8]:

 Máy chủ môi giới (Broker) không cần thông báo về trạng thái gửi thông điệp. Do đó không có cách nào để phát hiện xem thông điệp đã gửi đúng hay chưa.

 Publisher không hề biết gì về trạng thái của subscribe và ngược lại. Vậy làm sao chúng ta có thể đảm bảo mọi thứ đều ổn.

 Những kẻ xấu (Malicious Publisher) có thể gửi những thông điệp xấu, và các Subscriber sẽ truy cập vào những thứ mà họ không nên nhận.

2. Cơ chế hoạt động của MQTT:

Hình 3.24: Cơ chế hoạt động

MQTT hoạt động theo cơ chế Publish / Subscribe cho phép các thiết bị biên của mạng xuất bản cho Broker. Client kết nối với broker này, sau đó làm trung gian giao tiếp giữa hai thiết bị. Mỗi thiết bị có thể sub hoặc đăng ký các kênh cụ thể. Khi một client khác đăng thông báo về một kênh đã đăng ký, Broker sẽ chuyển tiếp thông báo đó đến bất kỳ client đã đăng ký.

MQTT là giao thức định hướng bản tin. Mỗi bản tin là một đoạn rời rạc của tín hiệu và broker không thể nhìn thấy. Mỗi bản tin được publish một địa chỉ, có thể hiểu như một kênh (Topic). Client đăng kí vào một vài kênh để nhận/gửi dữ liệu, gọi là subscribe. Client có thể subscribe vào nhiều kênh. Mỗi client sẽ nhận được dữ liệu

34 khi bất kỳ trạm nào khác gửi dữ liệu vào kênh đã đăng ký. Khi một client gửi một bản tin đến một kênh nào đó gọi là publish.[8]

Lượng dữ liệu được theo dõi và kiểm soát nhiều do tính năng gọn nhẹ hiệu quả của MQTT.

3.3.3. Kiến trúc MQTT Publish/Subscribe:

Hình 3.25: Kiến trúc MQTT

Thành phần chính của MQTT là Client (Publisher/Subscriber), Server (Broker), Sessions (tạm dịch là Phiên làm việc), Subscriptions và Topics.[8]

MQTT Client (Publisher/Subscriber): Clients sẽ subscriber một hoặc nhiều topics để gửi và nhận thông điệp từ những topic tương ứng.[8]

MQTT Server (Broker): Broker nhận những thông tin subscriber (Subscriptions) từ client, nhận thông điệp, chuyển những thông điệp đến các Subscriber tương ứng dựa trên Subscriptions từ client.[8]

Topic: Có thể coi Topic là một hàng đợi các thông điệp, và có sẵn khuôn mẫu dành cho Subscriber hoặc Publisher. Một cách logic thì các topic cho phép Client trao đổi thông tin với những ngữ nghĩa đã được định nghĩa sẵn. Ví dụ: Dữ liệu cảm biến nhiệt độ của một tòa nhà.[8]

Session: Một session được định nghĩa là kết nối từ client đến server. Tất cả các giao tiếp giữa client và server đều là 1 phần của session.[8]

Subscription: Không giống như session, subscription về mặt logic là kết nối từ client đến topic. Khi đã subscribe một topic, Client có thể nhận/gửi thông điệp (message) với topic đó.[8]

35 MQTT ngày một phát triển do những tính năng nổi bật đặt trưng giúp nhiều dự án tin dùng. Dù đã tồn tại từ lâu nhưng nó trở nên phổ biến từ khi M2M (máy liên kết máy) và IOT ra đời.

3.4. Giao thức Zigbee

3.4.1. Giới thiệu sơ lược về mạng Zigbee

ZigBee là một giao thức truyền thông bậc cao được phát triển dựa trên chuẩn truyền thông không dây IEEE 802.15.4, sử dụng tín hiệu radio cho các mạng cá nhân PAN (personal area network).

Hình 3.26: Giao thức Zigbee

ZigBee thích hợp với những ứng dụng không đòi hỏi tốc độ truyền dữ liệu quá cao nhưng cần có mức độ bảo mật lớn và thời gian hoạt động dài. Các mạng ad-hoc sử dụng sóng radio tương tự ZigBee đã được thai nghén từ những năm 1998-1999 khi giới khoa học bắt đầu nhận thấy Wifi và Bluetooth không phù hợp cho nhiều ứng dụng công nghiệp. Tuy nhiên chỉ đến năm 2004, bộ tiêu chuẩn ZigBee mới chính thức được tạo dựng và thông qua bởi tổ chức ZigBee Alliance. [9]

Zigbee được đặt dựa theo điệu nhảy của loài ong mật sưt dụng để trao đổi thông tin với nhau về chổ cảu hoa và nước

3.4.2. Các tính năng

36 Thiết bị được sản xuất phù hợp cho cả người sử dụng tự lắp đặt hay các nhà tích hợp hệ thống chuyên nghiệp. Tối ưu hóa năng lượng, giảm hao phí điện năng khi sử dụng.

Thiết bị sử dụng tiêu chuẩn mở phù hợp với mọi thiết bị điện - điện tử trên thị trường.

• Dễ dàng điều khiển

Công nghệ không dây làm giảm chi phí và những rắc rối của mạng có dây truyền thống. Sử dụng tần số quốc tế 2.4 Ghz dễ dàng lắp đặt và sử dụng.

Tính năng điều khiển tự động hoặc bán tự động: Giải thoát sức lao động của con người. Kết nối Internet cho phép điều khiển từ xa. Tự lắp đặt, tự cài đặt dễ dàng.

• An toàn

Dễ dàng lắp đặt cảm biến không dây để giám sát an ninh ngôi nhà. Nhận thông báo tức thì khi có sự kiện bất thường xảy ra. AES hệ thống không dây được mã hóa đặc biệt, đảm bảo chỉ duy nhất chủ nhà có khả năng điều khiển hệ thống

• Liên kết hoạt động

Tích hợp điều khiển và giám sát các phân hệ điện của ngôi nhà cũng như các hệ an ninh, kiểm soát truy nhập…

Vì các ứng dụng đều được xây dựng ở dạng module do đó người sử dụng chỉ phải mua những thiết bị mà mình cần. Có thể kết hợp sử dụng nhiều dòng sản phẩm mà không cần quan tâm tới nhà sản xuất có thể làm việc với mạng ZigBee khác.

3.4.3. Ứng dụng

• Tần số chung toàn cầu 2.4 GHz • Pin sử dụng có tuổi thọ lớn

• Khoảng cách không dây 70m trong nhà, 400m ngoài nhà

• Việc kết nối mạng linh hoạt đảm bảo đáp ứng mọi quy mô của ngôi nhà • Khả năng mở rộng tới hàng ngàn thiết bị

• Tích hợp khả năng điều khiển và giám sát trạng thái hoạt động của các hệ chiếu sáng, an ninh, rèm cửa, bơm nước, bình nóng lạnh, điều hòa....

37 Có 3 cấu hình mạng cơ bản, tùy vào từng ứng dụng cụ thể mà người ta thiết lập mạng theo các cấu hình khác nhau: + Mạng hình sao (star network) + Mạng hình lưới (mesh network) + Mạng hình câu (cluster tree topology)

Hình 3.27: Các loại mô hình mạng.

3.4.5. Tổng kết

ZigBee là một dạng kết nối rất mạnh mẽ và linh hoạt, với khả năng kết nối nhiều thiết bị, chống nhiễu tốt và tương tác với các thiết bị trong cùng 1 mạng hoàn hảo nên đây sẽ vẫn là 1 loại kết nối được sử dụng rộng rãi trong thời gian tới cũng như các giải pháp nhà thông minh trong tương lai.

38

CHƯƠNG 4: CHẾ TẠO THIẾT BỊ ĐIỀU KHIỂN VÀ MÔ HÌNH NGÔI NHÀ

4.1. Giới thiệu:

Đề tài này yêu cầu thiết kế hệ thống điều khiển thiết bị module điều khiển nhà thông minh. Các thao tác từ ứng dụng trên di động hay web trên máy tính được đưa về vi xử lý, thực hiện các lệnh điều khiển. Cũng như từ vi xử lý đưa dữ liệu lên để

Một phần của tài liệu Thiết kế, chế tạo, điều khiển giám sát các module trong nhà thông minh đồ án tốt nghiệp ngành công nghệ kỹ thuật cơ điện tử (Trang 37)

Tải bản đầy đủ (PDF)

(150 trang)