Home Ứng dụng IoT - Internet of Things Hướng dẫn Amazon AWS IoT cho các dự án IoT

Hướng dẫn Amazon AWS IoT cho các dự án IoT

0
Hướng dẫn Amazon AWS IoT cho các dự án IoT

Người ta ước tính rằng sẽ có khoảng 20,4 tỷ thiết bị kết nối Internet vào năm 2020, số lượng này lớn đến mức nào? Với tổng dân số thế giới hiện nay khoảng 7,6 tỷ người, có nghĩa là sẽ có khoảng 3 thiết bị kết nối với internet cho mỗi người trên trái đất. Điều này làm cho internet of things (IoT) có một vai trò quan trọng và tác động mạnh mẽ trong tương lai. Thêm vào đó, nhà bán lẻ Internet lớn nhất thế giới Amazon Inc cũng cung cấp dịch vụ IoT dưới tên gọi AWS IOT.

Dịch vụ AWS IOT là viết tắt của Amazon Web Service Internet of Things. Nó cho phép bạn kết nối những thứ của bạn (thiết bị) với internet để trao đổi dữ liệu một cách an toàn, xử lý nó và hành động theo nó. Nó là đám mây rất phổ biến cho các dự án IoT. Cùng với AWS IoT, các dịch vụ web của Amazon cũng cung cấp rất nhiều tính năng khác như triển khai máy ảo, lưu trữ web và những thứ khác nằm ngoài phạm vi của hướng dẫn này. Trong hướng dẫn này, chúng ta sẽ bắt đầu với AWS IoT bằng cách tạo ra một thing (thiết bị) và sau đó chúng ta sẽ kiểm tra xem thing đó có hoạt động đúng cách hay không bằng cách sử dụng ứng dụng MQPTT.fx.

Tạo tài khoản Amazon AWS 

Trước tiên, để bắt đầu với bất kỳ thứ gì sử dụng AWS IoT, chúng ta cần một tài khoản Amazon AWS. Chỉ cần vào trang web Amazon AWS và nhấp vào “Tạo tài khoản miễn phí”.

Bạn sẽ phải thực hiện một số thủ tục để đăng ký. Trong quá trình đăng ký, Amazon sẽ yêu cầu khai báo thông tin thẻ tín dụng của bạn. Vì vậy, bạn cần có một trong hai thẻ Debit/Credit để tạo một tài khoản với AWS. Nhưng, vì bạn có thể sử dụng dịch vụ miễn phí trong thời gian 12 tháng. Chỉ cần nhập chi tiết thẻ của bạn vì bạn sẽ không bị tính phí trong 12 tháng, nhưng hãy đảm bảo hủy kích hoạt tài khoản trước 12 tháng nếu bạn không sử dụng tài khoản nữa.

Bạn cũng sẽ được yêu cầu cung cấp số PAN không bắt buộc, sau khi quá trình đăng ký hoàn tất đăng nhập vào tài khoản của bạn.

Xem bài viết hướng dẫn tạo tài khoản AWS miễn phí tại đây.

Tạo một AWS Thing với Certificate và Policy

Bước 1:  Trong trang chính, tìm kiếm “iot core” trong AWS services. Bạn sẽ thấy tùy chọn IoT Core được liệt kê như trong hình bên dưới, nhấp vào nó để mở bảng điều khiển AWS IoT

Bước 2: Bạn sẽ được chào đón bằng thông điệp giới thiệu từ AWS IoT, chỉ cần nhấp vào “Get started”

Bước 3: Bạn sẽ được đưa đến trang chính, tại đây bạn sẽ tìm thấy một số tài liệu hướng dẫn. Bạn có thể đọc qua chúng nếu thích. Nhưng để tiếp tục với hướng dẫn, hãy nhấp vào tùy chọn “Manage” trên menu ở bên trái màn hình của bạn như trong hình bên dưới.

Bước 4: Bây giờ là lúc bạn đăng ký thing. Thing là một thiết bị như một mô-đun cảm biến hoặc ESP8266 hoặc ESP32 hoặc bất kỳ thiết bị nào có thể kết nối với internet. Vì vậy, chúng ta nên tạo một thing trên bảng điều khiển AWS thông qua đó các thiết bị thực tế của chúng ta có thể giao tiếp. Để tạo thing chỉ cần nhấp vào “Register a thing

Bước 5: Có 2 tùy chọn để tạo thing: đơn lẻ hoặc nhiều thing, nếu chúng ta tạo nhiều thing chúng ta sẽ chia sẻ các tính năng bảo mật giống nhau. Để cho mọi thứ đơn giản để bắt đầu, chúng tôi sẽ chỉ tạo một thing duy nhất bằng cách nhấp vào “Create a single thing

Bước 6: Chúng ta phải cung cấp một cái tên cho thing mà chúng ta đang tạo ra, nó có thể là bất kỳ cái tên nào, ở đây tôi đã đặt tên cho thing của tôi là IoTDevice. Sau khi đặt tên cho thing chỉ cần di chuyển xuống và bấm vào Next. Nếu bạn quan tâm, bạn có thể đọc qua các tùy chọn khác cung cấp thêm định nghĩa cho các chức năng của thing, nhưng lúc này bạn có thể bỏ qua chúng.

Bước 7: Một tính năng đặc biệt của AWS IoT là nó là tiêu chuẩn công nghiệp vì giao tiếp được bảo mật cao. Vì vậy, đối với mọi thing chúng ta tạo ra, chúng ta phải liên kết nó với một chứng chỉ (certificate) và một chính sách (policy). Vì vậy, ngay sau khi bạn nhấn Next ở bước trước, bạn sẽ được nhắc chọn chứng chỉ bảo mật của mình. Chúng ta phải tạo một chứng chỉ mới bằng cách nhấp vào “Create Certificate

Bước 8: Ở đây AWS sẽ cung cấp key cho thing mà chúng ta vừa tạo ra. Thing này có thể được truy cập chỉ thông qua xác thực thông qua các key này. Bạn hãy nhấp vào nút Activate trước và sau đó bạn download tất cả các file và lưu các file này vào máy tính của bạn ở nơi nào đó an toàn. Không bao giờ chia sẻ các key này với bất cứ ai vì họ có thể sử dụng tài khoản AWS của bạn bằng cách khởi chạy thing này và bạn sẽ bị tính phí cho key đó.

Bước 9:  Bốn file key mà tôi đã tải xuống được di chuyển đến một thư mục trong tính của tôi (key public không tải xuống cũng được). Đối với một số người dùng, file CA khi được tải xuống có thể mở trên chrome dưới dạng một chuỗi code. Trong trường hợp đó chỉ cần nhấp chuột phải vào code và nhấp vào save as dưới và lưu nó trên desktop của bạn. Hãy chắc chắn rằng nếu phần mở rộng của tập tin kết thúc bằng .text thì thay đổi thành .pem.

Bước 10: Khi bạn đã có các chứng chỉ, bước tiếp theo chúng tôi phải tạo chính sách (Policy) cho thing. Bạn quay trở lại trang chính, trên menu bên trái bạn chọn Secure và sau đó nhấp vào Policies. Trên trang You don’t have any policies yet bạn nhấp chọn Creat a policy.

Bước 11: Trong bước này, chúng ta sẽ tạo ra một chính sách, tên của chính sách là tùy ý theo người dùng, ở đây tôi đặt tên là IoTDevicePolicy. Đối với ô action nhập iot:* và còn ô Resources ARN, hãy nhập *. Bạn đánh dấu chọn vào ô Allow để cho phép hiệu ứng.

iot:* Cho biết rằng chúng ta vừa có thể đăng ký và xuất bản cho những thing với chính sách này.

* Chỉ ra rằng thing có thể truy cập được tới tất cả các client có quyền truy cập vào chứng chỉ này.

Sau khi nhập các thông tin cần thiết cho Policy như hình trên. Cuối cùng nhấn nút “Create” ở cuối trang để tạo chính sách.

Bước 15: Bạn sẽ được đưa trở lại trang chính, bây giờ chọn Secure sau đó tiếp tục chọn Certificates. Trong trang chứng chỉ bạn đã tạo, hãy chọn để mở trình đơn thả xuống, sau đó chọn Attach policy như hình bên dưới.

Bước 16: Bạn sẽ thấy một cửa sổ mở ra, trong đó bạn có thể chọn tên của chính sách mà chúng ta vừa tạo và sau đó nhấp vào nút Attach

Như vậy là chúng ta đã tạo ra một thing, một chứng chỉ và một chính sách và đã liên kết chính sách và chứng chỉ với thing mà chúng ta đã tạo ra. Tiếp theo, chúng ta có thể kiểm tra xem thing có hoạt động hay không bằng cách sử dụng tùy chọn “test” trong giao diện điều khiển AWS IoT. Trước khi thực hiện điều này chúng ta cần có được địa chỉ Broker của thing chúng ta vừa tạo ra.

Lấy thông tin của thing:

Bước 1: Sau khi tạo một Thing, chúng ta cần lấy thông tin chi tiết về thing như liên kết cập nhật địa chỉ broker, v.v.. để truy cập thing từ bất cứ đâu bằng internet. Các thông tin của thing có thể được tìm thấy trong tùy chọn Manage và nhấp vào tên của thing.

Bước 2:  Trong trang mới, nhấp vào tùy chọn Interact ở phía bên trái của màn hình và bạn sẽ được cung cấp tất cả các liên kết để truy cập vào thing của bạn. Như đã nói giữ bí mật các liên kết này. Hiện tại, chúng ta cần liên kết HTTPS (được khoanh đỏ) để kiểm tra xem thing có hoạt động đúng không vì vậy chỉ cần sao chép link này.

Kiểm tra Thing sử dụng AWS:

Bước 1: Vào màn hình chính và chọn tùy chọn Test. Thao tác này sẽ tải MQTT client có thể được sử dụng để kiểm tra thing của chúng ta.

Bước 2: Ở bên trái, bạn có thể thấy hai tùy chọn Subscribe to a topicPublish to a topic. Trước tiên, bạn phải đăng ký (subscribe) với thing chúng ta vừa tạo bằng cách nhập tên vào ô subscription topic sau đó nhấp vào Subscribe to a topic.

Nhấp vào Publish to topic và bạn sẽ thấy thông báo được phản ánh trong thing của bạn như được hiển thị bên dưới.

Sử dụng MQTT.fx với AWS IOT:

MQTT.fx là một ứng dụng có thể được sử dụng như một client để kiểm tra và gỡ lỗi các thiết bị IoT. Trong các bước sau, chúng ta sẽ tìm hiểu làm thế nào để chúng ta có thể kết nối MQTT.fx với thing mà chúng ta vừa tạo ra.

Bước 1: Download file MQTT.fx từ đường link này sau đó bạn tiến hành cài đặt ứng dụng bình thường.

Bước 2: Mở ứng dụng và nhấp vào biểu tượng cài đặt (hình bánh răng cưa) để cấu hình MQTT làm client như hình bên dưới:

Bước 3: Một cửa sổ mới có tên là Edit Connection Profiles sẽ xuất hiện. Ở đây chúng ta phải tạo profile cho thing mà chúng ta vừa tạo bằng cách sử dụng Amazon AWS. Trong Profile name, hãy đặt một tên mà bạn chọn, ở đây tôi đặt tên “MQTT_Test”. Sau đó, dán địa chỉ broker vào địa chỉ mà chúng ta đã nhận trong phần “Lấy thông tin của thing”. Cổng Broker cho AWS IoT là 8883 cho tất cả người dùng để nhập giống nhau. Sau đó chọn SSL / TLS

Bước 4: Tiếp theo bạn phải chọn Self-signed certificates và liên kết các chứng chỉ mà chúng ta đã tải xuống ở bước 8. Ngoài ra hãy chắc chắn rằng Self-signed certificates đã được chọn. 

Bước 5: Cuối cùng bấm vào OK và sau đó bạn sẽ được đưa trở lại cửa sổ chính. Bây giờ hãy nhấp vào nút Connect. Nếu mọi thứ hoạt động bình thường thì MQTT sẽ có thể kết nối với thing của chúng ta và màn hình sau đây sẽ được hiển thị. Kiểm tra vòng tròn màu xanh lá cây ở góc trên cùng bên phải (được khoanh tròn)

Click on green circle

Bước 6: Bây giờ chúng ta được kết nối với thing chúng ta có thể thử kiểm tra nó bằng cách đăng ký với một tên. Nhấp vào tab Subscribe và đặt tên ngẫu nhiên và sau đó nhấp vào subscribe. Ở đây tôi đã chọn bingo là tên của tôi. Sau khi đăng ký, bạn sẽ nhận được tên sau.

Now you are connected try testing it

Bước 7: Bây giờ, hãy quay lại màn hình tab Publish và xuất bản một tin nhắn và kiểm tra xem chúng ta có nhận được tin nhắn đó trên kênh đã đăng ký của chúng ta hay không. Để xuất bản một tin nhắn có cùng tên. Ở đây tôi đã sử dụng cùng một “bingo” như tên của tôi và thông điệp của tôi là “Hola! Amingo ”. Nhấp vào nút xuất bản

Publish a message and check if we are getting it on our subscribed channel

Bước 8: Bây giờ quay lại tab Đăng ký và bạn sẽ có thể thấy thông báo mà chúng ta vừa xuất bản như được hiển thị bên dưới

Now you are able to see the message that we just published

Tất cả chúng ta đều đã hoàn thành việc tạo và thử nghiệm thing được tạo ra bằng AWS IoT. Vì chúng ta cũng đã liên kết nó với MQTT với tư cách là client nên chúng ta dễ dàng theo dõi và gỡ lỗi thing này trong tương lai.

LEAVE A REPLY

Please enter your comment!
Please enter your name here