You are on page 1of 21

BỘ MÔN KỸ THUẬT MÁY TÍNH – VIỄN THÔNG

CƠ SỞ VÀ ỨNG DỤNG IOTS


MMH: ITFA436064
Thời gian thực hiện: 2 buổi
Đoàn Gia Hân – 20119225
Tạ Ngọc Minh – 20119251
Hoàng Thành Đạt – 20119214
1. So sánh server Thingspeak và Google Firebase 1

THINGSPEAK FIREBASE

Định - ThingSpeak về cơ bản là một dịch vụ nền - Firebase là một trong những nền
nghĩa tảng phân tích IoT cho phép các nhà phát tảng Backend as a Service (BaaS)
triển IoT lưu trữ, trực quan hóa và phân tích phổ biến nhất cho phép các nhà phát
các luồng dữ liệu trực tiếp trên đám mây. triển ứng dụng di động thiết kế và
Nó là phần mềm mã nguồn mở được viết thực thi các ứng dụng của họ.
bằng Ruby, và nó tạo điều kiện cho việc - Không giống như ThingSpeak,
truy cập, truy xuất và ghi nhật ký dữ liệu, Firebase không được thiết kế độc
với một API cho phần cứng và các trang quyền để đáp ứng nhu cầu của các
web truyền thông xã hội. nhà phát triển IoT. Tuy nhiên, một
- ThingSpeak đã tích hợp hỗ trợ cho phần sản phẩm IoT tiên phong khác thuộc
mềm máy tính MATLAB, cho phép người sở hữu của Google - Google Nest -
dùng triển khai phần mềm để phân tích, được xây dựng trên Firebase và một
hiển thị và xử lý dữ liệu trực tuyến mà số sản phẩm khác cũng làm theo.
không cần mua giấy phép. Nó thường được - Firebase có thể hoạt động với bất
sử dụng để tạo mẫu và chứng minh các hệ kỳ phần cứng sản phẩm nào có thể
thống IoT khái niệm yêu cầu phân tích. giao tiếp với API REST của nó, bao
gồm cả Bộ khởi động Arduino nổi
bật nhất.
- Là một nền tảng đám mây phổ
biến, Firebase có một số hạn chế,
như thiếu hỗ trợ cập nhật chương
trình cơ sở OTA, xử lý dữ liệu trực
1
Jessica Clark, “ThingSpeak vs Firebase”, https://blog.back4app.com/thingspeak-vs-firebase/#What_is_ThingSpeak-2

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064


tuyến, v.v. Tuy nhiên, thường không
phải là vấn đề lớn nếu các nhà sản
xuất lắp ráp thiết bị từ các bộ phận
đã chọn của họ.
- Thu thập dữ liệu một cách riêng tư theo - Tích hợp dịch vụ phụ trợ
yêu cầu từ các nguồn - Google Analytics
- Hành động trên dữ liệu của bạn - Cơ sở dữ liệu thời gian thực
- Dễ dàng thiết lập thiết bị để gửi dữ liệu - Hỗ trợ các hoạt động ngoại tuyến
đến ThingSpeak dựa trên các giao thức IoT - Authentication
phổ biến.
- Xem dữ liệu cảm biến trong thời gian
Tính thực.
năng - Thực hiện quét IoT của bạn tự động dựa
trên lịch hoặc sự kiện.
- Phát triển hệ thống IoT mà không cần
thiết lập máy chủ hoặc phát triển phần mềm
web.
- Truyền đạt dữ liệu bằng các dịch vụ của
bên thứ ba và các nền tảng truyền thông xã
hội
Sự khác biệt giữa Firebase và ThingSpeak là gì?
- Firebase là công nghệ độc quyền của Google
- ThingSpeak là mã nguồn mở
- Firebase là nền tảng phát triển toàn diện
- ThingSpeak được thiết kế cho IoT
- Cả hai phần mềm đều miễn phí để bắt đầu sử dụng

ThingSpeak Firebase

Software which allows users to Comprehensive app development


Description
communicate with IoT devices platform

Open-Source Yes No

Date Launched 2010 2011

Free to Start Yes Yes

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064


Standard
Academic
Home
Pricing Pay as you
Student
More information at the pricing
page.

2. So sánh Amazon AWS IoT và Microsoft Azure IoT hub 2

Nhà cung Điểm mạnh Điểm yếu


cấp

Amazon - Vị thế thị trường chiếm ưu thế - Khó sử dụng


AWS IoT - Cung cấp rộng rãi, hoàn thiện - Quản lý chi phí
- Hỗ trợ cho các tổ chức lớn - Có các lựa chọn nổi
- Đào tạo mở rộng trội
- Phạm vi toàn cầu

Microsoft - Nhà cung cấp lớn thứ hai - Các vấn đề với tài
Azure IoT - Tích hợp với các công cụ và phần mềm liệu
hub của Microsoft - Công cụ quản lý
- Bộ tính năng rộng không đầy đủ
- Đám mây lai
- Hỗ trợ cho nguồn mở

- Giống nhau:
+ Kết nối các thiết bị với nhau và với các dịch vụ web.
+ Device shadow có thể được thực hiện trên cả hai nền tảng.
+ Hỗ trợ hàng tỷ thiết bị và tin nhắn.
+ Cả hai nền tảng đều hỗ trợ giao tiếp hai chiều giữa các thiết bị và Hub.
+ Cho phép áp dụng định tuyến cho các tin nhắn.
+ Cung cấp giao tiếp an toàn thông qua TLS cho phép xác thực lẫn nhau.
2
PHAMDUONG, “So sánh dịch vụ Web Service của AWS và AZURE và GOOGLE”, https://suitecloud.vn/so-sanh-dich-vu-web-service-
cua-aws-va-azure-va-google/

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064


+ Cả hai đều hỗ trợ xác thực dựa trên chứng chỉ X.509. Có thể sử dụng chứng chỉ của chính
khách hàng.
+ Hỗ trợ các giao thức: MQTT và HTTPS.
+ Tích hợp với các dịch vụ khác.
- Khác nhau:

Microsoft Azure
Amazon AWS IoT
IoT hub

Regions Global Infrastructure Regions

Cloud Services
Pricing Pricing
Pricing

Basic Compute EC2 Virtual Machines

ECS AKS
Containers
EKS Container Instances

Serverless Lambda Functions

App Service
App Hosting Elastic Beanstalk Service Fabric
Cloud Services

Batch
Batch Batch
Processing

Object Storage S3 Blob Storage

Block Storage EBS N/A

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064


File Storage EFS File Storage

Hybrid Storage Storage Gateway StorSimple

Snowball
Offline Data
Snowball Edge N/A
Transfer
Snowmobile

SQL Database
Database for
Relational/SQL RDS
MySQL
Database Aurora
Database for
PostgreSQL

NoSQL Cosmos DB
DynamoDB
Database Table Storage

In-Memory
Elasticache Redis Cache
Database

Archive/Backup Glacier Backup

Disaster
N/A Site Recovery
Recovery

SageMaker
AML
Machine
Apache MXNet on Machine Learning
Learning
AWS
TensorFlow on AWS

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064


Comprehend
Lex
Cognitive Polly
Cognitive Services
Services Rekognition
Translate
Transcribe

IoT Hub
IoT IoT Core
IoT Edge

Networking Direct Connect Virtual Network

Content
CloudFront CDN
Delivery

HDInsight
Athena Stream Analytics
Big Data
EMR Data Lake
Analytics
Kinesis Analytics
Analysis Services

IAM
Authentication Active Directory
Directory Service
and Access Multi-Factor
Organizations
Management Authentication
Single Sign-On

GuardDuty
Macie
Security Security Center
Shield
WAF

Application CodeStar Visual Studio Team

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064


Services
Lifecycle
CodePipeline Visual Studio App
Management
Center

Cloud CloudWatch Monitor


Monitoring CloudTrail Log Analytics

Portal
Cloud Systems Manager Policy
Management Management Console Cost Management

AR & VR Sumerian N/A

Virtual Private
Cloud VPC N/A

Training and
Training Certification Training

Support Support Support

3rd Party
Software and
Services Marketplace Marketplace

3. Nguyên lý chuyển đổi và thông số của cảm biến MQ2 (MQ3).


MQ2:
- NGUYÊN LÝ HOẠT ĐỘNG:
Khi nồng độ chất khí càng cao điện áp đầu ra tại chân A0 của cảm biến càng tăng lên. Tín hiệu
tương tự này được trức tiếp xuất ra đầu ra và được đưa tới bộ so sánh LM393 để số hoá tín hiệu. Bộ so

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064


sánh cùng với một biến trở để điều chỉnh độ nhạy của cảm biến. Khi nồng độ khí vượt qua giới hạnh điều
chỉnh nó sẽ đưa ra tín hiệu dạng số chân D0.
- THÔNG SỐ KỸ THUẬT:
 Điện áp hoạt động: 3.3-5V
 Kích thước PCB: 3*1.6cm
 Led đỏ báo nguồn vào, Led xanh báo gas
 IC so sánh : LM393
 VCC: 3.3-5V
 GND: 0V
 DO: Đầu ra tín hiệu số (0 và 1)
 AO: Đầu ra Analog (Tín hiệu tương tự)
 Cấu tạo từ chất bản dẫn SnO 2
 Có 2 dạng tín hiệu: Analog (AO) và Digital (DO)
 Phạm vi phát hiện: 300 10000ppmm
 Đặc điểm của khí: 1000ppmm isobutan
 Độ nhạy sáng: R in air/Rin typical gas≥5
 Cảm kháng: 1KΩ to 20KΩ / 50ppm
 Thời gian đáp ứng: ≤10s 
  Thời gian phục hồi: ≤ 30s
  Trở kháng khi nóng: 31Ω ± 3Ω
  Dòng tiêu thụ khi nóng: ≤ 180mA
  Điện áp khi nóng: 5.0V ± 0.2V
  Năng lượng khi nóng : ≤ 900mW
  Điện áp đo: ≤ 24V
  Nhiệt độ: -20 ℃ ~ 55 ℃
  Độ ẩm: ≤ 95% RH
  Hàm lượng oxy môi trường: 21%
  Nhiệt độ: -20 ℃ ~ 70 ℃
  Độ ẩm: ≤ 70% RH    
4. Các bước giao tiếp cảm biến MQ2 (MQ3) và ESP32 (kèm theo hình ảnh các bước thực hiện và sơ đồ
kết nối).
Bước 1: Kết nối chân VCC của cảm biến với chân 3.3V của ESP32
Bước 2: Kết nối chân GND của cảm biến với chân GND của ESP32
Bước 3: Kết nối chân A0 của cảm biến với 1 trong số các chân có ADC của ESP32

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064


Sơ đồ kết nối:

5. Các bước thực hiện, giải thích code quá trình cập nhật dữ liệu lên server Thingspeak và kết quả thực
hiện (video clip demo nếu có).
Bước 1: Truy cập vào: https://thingspeak.com/
Bước 2: Tiến hành đăng nhập vào Thingspeak với tài khoản Mathworks

Bước 3: Tạo channel trên thingspeak chọn “Channels”

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064


Bước 4: chọn New Channel

Bước 5: Tạo channel mới bằng cách nhập Name, Field


Điền Name: ESP32_MQ2
Chọn Field1 điền MQ2 Percentage

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064


Bước 6: Tạo chương trình Code bằng VS code với platform IO
+ Chọn new Project:

+ Tạo project mới với:


Name: ESP32_Thingspeak_MQ2
Board: NodeMCU-32S
Framework: Arduino

+ Vào mục Platform.ini -> add thêm thư viện sử dụng là ThingSpeak và chỉnh monitor speed =
115200:

Bước 7: Vào thư mục src -> main.cpp -> include thư viện mới add vào

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064


Bước 8: Tạo biến CHANNEL_ID với giá trị lấy tại:

Copy mã Channel ID lấy từ web dán vào code:

Bước 9: Tạo biến CHANNEL_API_KEY với giá trị lấy tại:


Vào mục API Keys -> copy key từ Write API Key

- CODE:

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064


- Giải thích Code:
+ Từ dòng 1 đến 4: Include thư viện cần sử dụng vào
+ Dòng 6 đến 14: Khai báo các biến
+ Dòng 17: Gán tốc độ Baud để giao tiếp Serial với máy tính là 115200
+ Dòng 18: Bắt đầu Wifi với ssid và pass
+ Dòng 19: Gán chân MQ2_PIN là INPUT
+ Dòng 20 đến 23: Kiểm tra WiFi đã được kết nối chưa
+ Dòng 25: Hiện thị Local IP
+ Dòng 26: Bắt đầu Thinkspeak
+ Dòng 30: Đọc giá trị cảm biến và chuyển sang phần trăm
+ Dòng 31 đến 35: Cập nhật giá trị cảm biến 500ms 1 lần
+ Dòng 32: Chọn Field để xuất giá trị MQ2_Percent
+ Dòng 33: Ghi giá trị vào Field của CHANNEL ID và CHANNEL_API_KEY lấy ở bước 8 +
9
- Hình ảnh thực hiện:

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064


Link Video Demo: https://youtu.be/EwRAEsVBTIE
6. Các bước thực hiện, giải thích code quá trình cập nhật dữ liệu lên Google Firebase và hình ảnh kết quả
thực hiện (video clip demo nếu có).
Bước 1: Truy cập vào: https://firebase.google.com/
Bước 2: Tiến hành đăng nhập vào Firebase bằng tài khoản google

Bước 3: Vào Get Started

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064


Bước 4: Chọn Add project để tạo project mới

Bước 5: Điền tên project tại mục “Enter your project name”

Bước 6: Bấm bỏ chọn vào mục “Enable Google Analytics for this project” -> chọn “Create Project”
để tạo project

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064


Bước 7: Vào Build chọn Realtime Database

Bước 8: vào mục Rules chỉnh 2 thông số read và write có mặc định là false thành true

Bước 9: Bấm chọn “+” ngay vị trí link để tạo “key” và “value”

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064


Bước 10: Tương tự tạo biến mang tên percentage trong biến MQ2:

Bước 11: Tạo chương trình Code bằng VS code với platform IO
+ Chọn new Project:

+ Tạo project mới với:


Name: ESP32_FireBare_MQ2
Board: NodeMCU-32S
Framework: Arduino

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064


+ Vào mục Platform.ini -> add thêm 2 thư viện sử dụng là Arduino JSON, Firebase ESP32 Client và
chỉnh monitor speed = 115200:

Bước 12: Vào thư mục src -> main.cpp -> include thư viện mới add vào

Bước 13: Tạo biến fireBaseHost với giá trị lấy tại:

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064


Copy đường link trên và bỏ https://

Bước 14: Tạo biến fireBaseAuth với giá trị lấy tại:
1. Ngay Project overview bấm vào chọn users and permission:

2. Chọn tiếp “Service accounts” -> Chọn “Database secrets”

3. Lấy mã Auth:

4. Copy hết mã trên và nhập vào code:

- CODE:

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064


- Giải thích code:
+ Từ dòng 1 đến 5: Khai báo các thư viện cần sử dụng
+ Từ dòng 7 đến 18: Khai báo các biến
+ Dòng 21: Set tốc độ baud để giao tiếp Serial với máy tính là 115200
+ Dòng 22: Bắt đầu sử dụng WiFi với ssid và pass
+ Dòng 23: Gán chân MQ2_PIN là INPUT
+ Dòng 24 đến 27: Kiểm tra WiFi đã được kết nối chưa
+ Dòng 28: Bắt đầu Firebase với fireBaseHost và fireBaseAuth lấy tại bước 13 + 14
+ Dòng 30: Kiểm tra xem Firebase đã cập nhật được Data chưa
+ Dòng 35: Hiện thị Local IP
+ Dòng 39: Đọc giá trị cảm biến và chuyển sang phần trăm
+ Dòng 40 đến 44: Cứ 500ms sẽ gửi giá trị lên Firebase 1 lần
- Hình ảnh thực hiện:

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064


Link Video Demo: https://youtu.be/4kz4_S_o2vg

Tài liệu tham khảo (liệt kê theo đúng chuẩn IEEE)


1. Jessica Clark, “ThingSpeak vs Firebase”,
https://blog.back4app.com/thingspeak-vs-firebase/#What_is_ThingSpeak-2
2. PHAMDUONG, “So sánh dịch vụ Web Service của AWS và AZURE và GOOGLE”,
https://suitecloud.vn/so-sanh-dich-vu-web-service-cua-aws-va-azure-va-google/

Hình ảnh làm việc nhóm

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064

You might also like