Thông số kỹ thuật cảm biến siêu âm

Một phần của tài liệu Nhà thông minh kết hợp điện năng lượng mặt trời điều khiển đa chức năng thông qua công nghệ iot (Trang 52)

2.5.7.2 Nguyên lý hoạt động

Để đo khoảng cách, ta sẽ phát 1 xung rất ngắn (5 microSeconds - ú) từ chân Trig. Sau đó, cảm biến sẽ tạo ra 1 xung HIGH ở chân Echo cho đến khi nhận lại được sóng phản xạ ở pin này. Chiều rộng của xung sẽ bằng với thời gian sóng siêu âm được phát từ cảm biển và quay trở lại.

Tốc độ của âm thanh trong khơng khí là 340 m/s (hằng số vật lý), tương đương với 29,412 microSeconds/cm (106 / (340*100)). Khi đã tính được thời gian, ta sẽ chia cho 29,412 để nhận được khoảng cách.

42

Hình 2.27: Biểu đồ thời gian của SRF05

2.5.8 Cảm biến hồng ngoại 2.5.8.1 Giới thiệu 2.5.8.1 Giới thiệu

Cảm biến hồng ngoại hay có tên Tiếng Anh là IR Sensor (Infrared Sensor) được sử dụng trong cuộc sống hàng ngày và cả trong các ngành cơng nghiệp với các mục đích khác nhau.

43

2.5.8.2 Nguyên lý hoạt động

Nguyên lý hoạt động của cảm biến hồng ngoại tương tự như cảm biến phát hiện vật thể. Cảm biến này bao gồm một đèn LED hồng ngoại (IR LED) và một điốt quang hồng ngoại.

Hình 2.29: Nguyên lý hoạt động của cảm biến

Cảm biến hồng ngoại gồm một cặp truyền và nhận tia hồng ngoại. Tia hồng ngoại phát ra một tần số nhất định, khi phát hiện hướng truyền có vật cản, phản xạ vào đèn thu hồng ngoại, sau khi so sánh, đèn màu xanh sẽ sáng lên, đồng thời đầu ra sẽ cho tín hiệu để xử lý.

44

Chƣơng 3: PHƢƠNG PHÁP GIẢI QUYẾT

3.1 Các ứng dụng điều khiển hệ thống 3.1.1 Giới thiệu về IBM Bluemix 3.1.1 Giới thiệu về IBM Bluemix

Các ứng dụng ngày nay đang làm thay đổi cách chúng ta tương tác với công nghệ thông qua công việc hàng ngày. Các ứng dụng có ở khắp mọi nơi đã dẫn đến một cuộc cách mạng ứng dụng làm thay đổi cách tương tác người dùng. Chính vì vậy điện tốn đám mây IBM Bluemix làm cho “cuộc cách mạng ứng dụng” diễn ra nhanh hơn do các ứng dụng có thể được kết nối với nhau một cách nhanh chóng. IBM Bluemix là dịch vụ “nền tảng như một dịch vụ” của IBM, một phần mục đích động viên người lập trình phát triển ứng dụng (web, di động) một cách nhanh chóng và minh bạch hơn.[6]

45 Lợi ích của việc sử dụng Bluemix :

- Thiết lập môi trường thực thi và triển khai ứng dụng nhanh chóng.

- Cơ sở hạ tầng và nền tảng chạy ứng dụng được quản lý bởi nhà cung cấp dịch vụ.

- Ch mất thời gian ngắn để cấu hình và triển khai một ứng dụng cùng với dữ liệu của nó, giúp nó tập trung vào việc xây dựng ứng dụng và dữ liệu.

- Trong phạm vi đề tài ch tìm hiểu về những giải pháp về Internet of Things hiện có trên IBM Bluemix.

3.1.2 Phƣơng thức giao tiếp đƣợc sử dụng trên Waston IOT Platform Giải pháp IoT dựa trên Waston IoT Platform

46

3.2 Tìm hiểu về MQTT

Từ thiết bị đã được kết nối đến mạng Internet, dữ liệu sẽ được gửi một cách an toàn thơng qua mã hố trong giao thức truyền gửi đến điện toán đám mây. Dạng giao thức gửi có thể là MQTT như đã nêu ở trên, hay một giao thức gửi tin khác như HTTP. Dữ liệu gửi đến IBM Watson IoT Platform một cách an toàn và đầy đủ. Tại IBM Watson IoT Platform, chúng ta cần thiết lập và quản lý rõ ràng các thiết bị đã được đăng ký để xác định đúng dữ liệu cho từng loại. Từ đó xây dựng các ứng dụng để nhận dữ liệu và xây dựng, phân tích dữ liệu đã nhận từ Watson IoT Platform.

MQTT (Message Queuing Telemetry Transport) là một giao thức gửi dạng “publish” và “subscribe” sử dụng cho các thiết bị Internet of Things với băng thông thấp, độ tin cậy cao và khả năng được sử dụng trong mạng lưới khơng ổn định. Bởi vì giao thức này sử dụng băng thơng thấp trong mơi trường có độ trễ cao nên nó là một giao thức lý tưởng cho các ứng dụng M2M.

Trong một hệ thống sử dụng giao thức MQTT, nhiều node trạm (gọi là client) kết nối tới một MQTT server (gọi là broker). Mỗi client sẽ đăng ký một vài kênh (topic), ví dụ như “/client1/channel1”, “/client1/channel2”. Quá trình đăng ký này gọi là “subscribe”. Mỗi client sẽ nhận được dữ liệu khi bất kỳ trạm nào khác gởi dữ liệu và kênh đã đăng ký. Khi một client gửi dữ liệu tới kênh đó, gọi là “publish”.

3.2.1 Lƣu Trữ Dữ Liệu Bằng Node-Red Trên Cloudant

3.2.1.1 Node-RED – Một Dịch Vụ Phổ Biến Của IBM Bluemix

Node-RED là công cụ mạnh mẽ để xây dựng ứng dụng Internet of Things. Nó dùng để kết nối các thiết bị phần cứng, API và các dịch vụ mạng online với nhau.Việc sử dụng Node-RED giúp các dự án thời gian thực (real-time) về Internet of Things trở nên dễ dàng thực hiện hơn, lưu trữ dữ liệu một cách nhanh chóng.

47

Hình 3.3: Trang chủ Node-RED

Trong phạm vi đề tài, Node-RED được sử dụng để lưu trữ dữ liệu nhă m cho việc truy vấn dữ liệu tại các thời điểm trước đó. Cuối cùng các dữ liệu được lưu trữ bằng cách tạo một thực thể cơ sở dữ liệu Cloudant NoSQL. (Piddler, 2017)

3.2.1.2 Điều khiển thiết bị thơng qua Node-red

48

Hình 3.5: Các nút điều khiển trên node-red

49

Hình 3.7: Giá trị “current_draw” ở Client B và Client C nhận được khi A publish

MQTT được phát triển bởi Tiến sĩ Andy Stanford-Clark của công ty IBM và Arlen Nipper của cơng ty Arcom từ năm 1999. Từ đó MQTT được triển khai rộng rãi trong các ngành công nghiệp trên thế giới. Hiện tại MQTT v3.1.1 là phiên bản đang được sử dụng phổ biến.

3.2.1.3 Cách thức kết nối đƣợc sử dụng trên IBM IOT Platform Kết nối giữa Client và Application

Cơ chế chính được sử dụng cho sự kết nối giữa ứng dụng (application) và các thiết bị (device) trên IBM Watson IoT platform là MQTT, đây là giao thức làm tăng tính hiệu quả trong việc trao đổi dữ liệu thời gian thực với các cảm biến hay thiết bị ngoại vi khác. IBM Watson IoT platform cung cấp cho người dùng service với tên miền xác định (organization) nhă m mục đích cho các thiết bị ( MQTT client for Device) đăng kí truyền nhận dữ liệu từ nó.

Tên miền có dạng : org_id.messaging.internetofthings.ibmcloud.com Kết nối qua cổng 1883. Trong đó org_id là một chuỗi 6 ký tự được cung cấp riêng khi đăng kí dịch vụ.

Khi được cấp một tên miền xác định, việc tiếp theo là đăng kí thiết bị ( register device) để thực hiện gửi và nhận dữ liệu trên IoT platform.

50 Cách đăng kí thiết bị .

Nhận diện và xác thực kết nối MQTT từ Client

Mỗi thiết bị đều được nhận diện dựa trên một client ID có dạng : d : org_id : device_type : device_id

Trong đó:

- d : xác định MQTT client vừa được gửi đến từ thiết bị org_id : là tên miền do IoT Platform cung cấp, để xác định đúng service mà MQTT client được gửi đến.

- device_type : Tên thiết bị khi đăng ký (register device) trên service.

- device_id : là id của thiết bị nhằm xác định thiết bị đó với thiết bị khác. Xác thực

MQTT (MQTT authentication):

MQTT service hiện nay có yêu cầu xác thực từ client kết nối. Để đảm bảo tính bảo mật, IoT Platform cần xác thực dữ liệu được gửi đến trước khi ghi nhận dữ liệu đó.

Hình 3.8: Nhận mã xác thực API key từ service Watson IoT Platform

Xác thực MQTT có dạng :

auth-key = <Your Organization Key> auth-token = <Your Organization Token>

51

Thiết bị ch publish một sự kiện đến iot-2/evt/event_id/fmt/format_string. Mọi địa ch khác đều không được thực thi.

Trong đó :

- event_id :là ID của sự kiện, ví dụ như “status”, “output” …dùng để các thiết bị

có thể theo dõi các q trình có liên quan.

- JSON là một kiểu dữ liệu NoSQL mà con người có thể đọc được, dùng để trao đổi dữ liệu giữa các trình khách và trình chủ. Nó cung cấp cho các nhà phát triển một khuôn dạng trao đổi, ánh xạ trực tiếp đến các cấu trúc dữ liệu mà họ sử dụng. Để có hiệu quả đó, JSON định nghĩa các cấu trúc dữ liệu chính sau đây: số, chuỗi ký tự, logic (đúng và sai), mảng (một dãy có trình tự các giá trị), đối tượng (tập hợp các cặp giá trị khoá), và rỗng (null).

Kiểu dữ liệu JSON theo dạng cây (tree data) Ví dụ cấu trúc dữ liệu JSON :

3.2.2 Web Application

3.2.2.1 Mơ Hình Client-Server

Mơ hình client-server là một mơ hình nổi tiếng trong mạng máy tính, được áp dụng rất rộng rãi và là mơ hình của mọi trang web hiện có. Ý tưởng của mơ hình này là máy con (đóng vai trị là máy khách) gửi một yêu cầu (request) để máy chủ (đóng vai trị người cung ứng dịch vụ), máy chủ sẽ xử lý và trả kết quả về cho máy khách. Sự thuận

52

lợi của phương pháp này là nó có thể làm việc trên bất cứ một mạng máy tính nào có hỗ trợ giao thức truyền thông chuẩn cụ thể ở đây là giao thức TCP/IP. (viralsciencecreativity.com)

Với các giao thức chuẩn này cũng giúp cho các nhà sản xuất có thể tích hợp nhiều sản phẩm khác nhau của họ lên mạng mà khơng gặp phải khó khăn gì. Với các chuẩn này thì các chương trình server cho một dịch vụ nào đấy có thể thi hành trên một hệ thống chia sẻ thời gian (timesharing system) với nhiều chương trình và dịch vụ khác hoặc nó có thể chạy trên chính một máy tính các nhân bình thường. Có thể có nhiều chương server cùng làm một dịch vụ, chúng có thể nă m trên nhiều máy tính hoặc một máy tính. Với mơ hình trên chúng ta nhận thấy rằng mơ hình client/server ch mang đặc điểm của phần mềm khơng liên quan gì đến phần cứng mặc dù trên thực tế yêu cầu cho một máy server là cao hơn nhiều so với máy client.

Thiết kế ứng dụng trên Web server gồm có hai thành phần chính được gọi là Font- end và Back-end. Front-end được định nghĩa là một phần của hệ thống dùng để tương tác trực tiếp với người sử dụng. Mọi văn bản, hình ảnh, cách thức sử dụng…. mà người dùng tương tác thông qua Web Browser. Còn Back-end là thành phần để xử lí các thơng tin từ Front-end và phản hồi các thơng tin đó đến Server để u cầu hoặc nhận các thơng tin đó.

Hình 3.10: Mơ hình client-server

Hình 3.10:

53

3.2.2.2 Thiết Kế Giao Diện Web - Front-End

Ngôn ngữ thiết kế giao diện Web: HTML, CCS, JAVASCRIPT

HTML (HyperText Markup Language) hay cịn gọi “Ngơn ngữ Đánh dấu Siêu văn bản” là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web với các mẩu thơng tin được trình bày trên World Wide Web. HTML đã trở thành một chuẩn Internet do tổ chức World Wide Web Consortium (W3C) duy trì.

HTML khơng phải là ngơn ngữ lập trình, nó là ngơn ngữ trình bày những thành phần của một giao diện web mà Web Browser truy cập đến. Hiện nay, HTML đang được phát triển tiếp với phiên bản HTML5 hứa hẹn mang lại diện mạo mới cho Web. Bằng cách dùng HTML động hoặc Ajax, lập trình viên có thể được tạo ra và xử lý bởi số lượng lớn các cơng cụ, từ một chương trình soạn thảo văn bản đơn giản.

CSS (Cascading Style Sheets) là một ngơn ngữ được sử dụng để tìm và định dạng

lại các phần tử được tạo ra bởi các ngơn ngữ đánh dấu (ví dụ như HTML). Bạn có thể hiểu đơn giản rằng, nếu HTML đóng vai trị định dạng các phần tử trên website như việc tạo ra các đoạn văn bản, các tiêu đề, bảng,… thì CSS sẽ giúp chúng ta có thể thêm một chút “phong cách” vào các phần tử HTML đó như đổi màu sắc trang, đổi màu chữ, thay đổi cấu trúc,… rất nhiều. (Thư, 2021)

Hình 3.11:

54

Hình 3.13: Trước và sau khi có CSS

JAVASCRIPT là một ngôn ngữ thơng dịch, chương trình nguồn của nó được nhúng hoặc tích hợp vào tập tin HTML. Khi trang web được tải trong trình duyệt hỗ trợ javascript, Trình duyệt sẽ thơng dịch và thực hiện các lệnh Javascipt.

Javascript là một ngôn ngữ lập trình có đặc tính: - Đơn giản.

- Động (Dynamic).

- Hướng đối tượng (Object Oriented).

3.2.2.3 Xây Dựng Back-end:

Back-end hay còn gọi là phần quản trị admin, là nơi đặc tả cho một trang web có thể hoạt động được. Trong đề tài, toàn bộ nội dung Back-end tập trung xây dựng để

55

dữ liệu từ hệ thống có thể đến được ứng dụng web cũng như những thông tin từ người dùng tương tác trở lại Server thông qua Font-end.

Với ngơn ngữ lập trình đa chức năng, Python hồn tồn có thể là chọn lựa để lập trình Web cho đề tài này. Và để lập trình web trở nên nhẹ nhàng hơn không thể thiếu sự hỗ trợ đắc lực từ Framework có sẵn. Hiện nay có rất nhiều framework hỗ trợ lập trình Web như Django, Flask,,Pyramid, TurboGears, web2py, CubicWeb… Trong số đó Django, Flask, Pyramid tỏ ra mạnh mẽ và được nhiều nhà phát triển sử dụng nhất hiện nay. Rất nhiều Web phổ biến được xây dựng bằng ngơn ngữ lập trình Python và các framework này.[7]

Để phát triển đề tài, nhóm lựa chọn Flask là Framework được sử dụng để xây dựng ứng dụng Web.

FLASK – Web Framework

Trong nhiều Web Framework hiện này cho ngôn ngữ lập trình Python, Flask được biết đến như là một micro-framework. Bản thân Flask không chứa nhiều các thành phần phức tạp khác nhau nhưng lại là một web framework được xem là mạnh cho lập trình Python, nó ch gồm các thành phần cơ bản nhất, các thành phần khác sẽ được thêm qua các extension do Flask cung cấp.[8]

Điểm mạnh của Flask đó chính là sự nhỏ gọn, sự minh bạch và cách truyền dữ liệu nhanh chóng từ Server đến Client. Flask sẽ giúp việc lập trình nhẹ nhàng hơn bằng việc tái sử dụng code, giúp cho sự thực thi HTTP tốt và cấu trúc giải thuật trở nên hiệu quả. Flask cung cấp những tính năng trong những dịng code của nó hay thơng qua

56

những extensions để cung cấp cho thực thi ứng dụng Web. Những tính năng cơ bản bao gồm :

- URL routing

- HTML, XML, JSON và một số kiểu template khác - Truy xuất Database

- Bảo mật hệ thống

- Lưu trữ phiên làm việc và phục hồi

Hai phương pháp được sử dụng chính của HTTP là GET và POST, thường được dùng trong load template một trang web khi Client yêu cầu truy cập.

3.2.3 Hệ thống điện mặt trời có lƣu trữ bao gồm những thiết bị gì?

Hình 3.16: Những bộ phận chính của hệ thống

3.2.3.1 Tấm pin quang điện Có 2 loại Pin NLMT chính:

57

- Pin mono (đơn tinh thể): Được cấu thành từ tế bào quang điện đơn tinh thể Silic. Đặc điểm cho hiệu suất cao hơn. Nhưng đổi lại thì giá thành tương đối cao.

Hình 3.17: Tấm pin năng lượng mặt trời

- Pin Poly (đa tinh thể): Được sử dụng rộng rãi trên thị trường, tuy hiệu xuất có giảm hơn so với Pin mono, nhưng giá thành rẻ, hiện tại thì dịng pin poly này sẽ ngừng sản xuất ở nhiều quốc gia, vì hiệu suất thấp khơng thể nâng cao được công suất của hệ thống, cũng như về độ bền.

58

3.2.3.2 Inverter Hybrid

Hình 3.19: Hệ thống Inverter Hybrid [12]

Inverter hybrid đảm nhận nhiệm vụ chuyển đổi điện DC từ hệ thống Pin NLMT thành điện AC hay điện lưới và tiến hành sạc cho Ắc-quy.

Trường hợp lưới điện bị mất, Inverter Hybrid sẽ lấy nguồn điện lưu trữ trong Ắc-quy chuyển thành điện AC cho các thiết bị ưu tiên sử dụng.

Với các Inverter hiện đại thời gian chuyển mạch là dưới 10ms. Nên việc mất điện hầu như không cảm nhận được.

3.2.3.3 Ắc-quy lƣu trữ

Khả năng lưu trữ lâu, thường loại Ắc-quy Lion sẽ được dùng nhiều nhất, các loại khác sẽ đắc hơn nhưng tốt hơn ví dụ như lithium, nhiều loại có số chu kỳ nạp xả lên

Một phần của tài liệu Nhà thông minh kết hợp điện năng lượng mặt trời điều khiển đa chức năng thông qua công nghệ iot (Trang 52)

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

(120 trang)