Giới thiệu Intel Edison - Intel IoT Analytics - P7

26/04/2021
gioi-thieu-intel-edison-intel-iot-analytics-p7

Intel cung cấp hệ thống phân tích dữ liệu phát triển trên nền điện toán đám mây thực hiện thu thập và phân tích các dữ liệu từ các cảm biến kết nối với Edison gởi đến. Thông qua dịch vụ này, người dùng sở hữu một thiết bị Intel Edison hoặc Intel Galileo có thể gởi dữ liệu trực tiếp đến hệ thống mà Intel hỗ trợ, không cần đầu tư thêm một hệ thống phân tích dữ liệu đắt đỏ nào khác.

1. Kết nối và quản lý thiết bị

Trong phần này, tôi thực hiện thử nghiệm các bước cơ bản để bắt đầu làm việc với IoT Analytics và Intel Edison. Kết quả sau khi thử nghiệm cho phép Edison gởi các dữ liệu đến hệ thống đám mây và phân tích dữ liệu dưới dạng đồ thị trực quan.

Hình: Sơ đồ kết nối hệ thống

Bước 1: Tạo tài khoản IoT Analytics

Trong phần đầu tiên, người dùng cần tạo cho mình một tài khoản tại trang web IoT Analyticsđược cung cấp bởi hãng Intel. Trang web đang được ở giai đoạn Beta, tuy nhiên vẫn cung cấp cho bạn nhiều tính năng hữu ích trong việc nhận và phân tích dữ liệu gởi đến từ các thiết bị IoT.

Sau khi đăng ký thành công, trang web sẽ yêu cầu bạn tạo một tài khoản phụ để thực hiện quản lý thiết bị, mỗi tài khoản phụ này sẽ quản lý một hoặc nhóm các thiết bị phần cứng Edison dựa trên Device-ID. Bạn có thể bắt đầu tại https://dashboard.us.enableiot.com/....

Hình: Giao diện trang đăng nhập

Hình: Giao diện trang tạo tài khoản

Hình: Giao diện trang tạo tài khoản

Hình: Lưu đồ kết nối các dịch vụ IoT Analytics

Bước 2: Đăng ký và kích hoạt thiết bị

Thực hiện lấy mã kích hoạt thiết bị tại giao diện Dashboard > Account > Activation Code.

Hình: Mã kích hoạt thiết bị tại IoT Analytics

Tại giao diện PuTTY kết nối với thiết bị Edison, bạn thực hiện lần lượt các lệnh sau để tiến hành đăng ký và kích hoạt thiết bị với IoT Analytics.

  • Thực hiện tạm ngừng dịch vụ iotkit-agent systemctl stop iotkit-agent.
  • Kết nối wifi tại Edison và kiểm tra hoạt động kết nối đến hệ thống dashboard.us.enableiot.com iotkit-admin test.
 
  1. root@VisudoBlog:~# iotkit-admin test
  2. 2016-09-18T10:28:11.752Z - info: Trying to connect to host ...
  3. 2016-09-18T10:28:28.535Z - info: Connected to dashboard.us.enableiot.com
  4. 2016-09-18T10:28:28.543Z - info: Environment: prod
  5. 2016-09-18T10:28:28.545Z - info: Build: 0.14.5
  • Sau khi thực hiện kiểm tra kết nối thành công, bạn có thể kích hoạt thiết bị sử dụng lệnhiotkit-admin activate [activation_code].
 
  1. root@VisudoBlog:~# iotkit-admin activate k4xh9g3B
  2. 2016-09-18T09:56:44.967Z - info: Activating ...
  3. 2016-09-18T09:57:02.125Z - info: Saving device token...
  4. 2016-09-18T09:57:02.155Z - info: Updating metadata...
  5. 2016-09-18T09:57:02.179Z - info: Metadata updated.

Trong trường hợp bạn không thể kích hoạt thiết bị do thông báo lỗi error: Activation Rejected: {"code":1409,"message":"Device already exists"} --> error, bạn có thể thực hiện thay đổi Device-ID của thiết bị và thực hiện lại việc kích hoạt. Để thực hiện xem Device-ID hiện tại, bạn thực hiện lệnh iotkit-admin device-id và tiến hành thay đổi Device-ID sử dụng lệnh iotkit-admin set-device-id [New Device ID].

  • Kiểm tra kết quả tại giao diện web Dashboard > Devices.

Hình: Danh sách các thiết bị đã được kích hoạt

Bước 3: Kích hoạt cảm biến (sensors/ coponents) và truyền dữ liệu thử nghiệm

Các dữ liệu từ cảm biến sẽ được thu thập và truyền đến hệ thống phân tích phục vụ việc thống kê các dữ liệu. Tuy nhiên, người dùng cần thực hiện thông báo các cảm biến hoặc dịch vụ nào sẽ được quản lý bởi hệ thống cloud thông qua sử dụng các lệnh iotkit-admin catalog, iotkit-admin register, iotkit-admin components.

Để thực hiện quản lý các thành phần từ Edison và Iot Analytics, bạn có thể sử dụng lệnh iotkit-admin catalog để liệt kê.

Hình: Ba thành phần mặc định bao gồm humiditypower, và temperature.

Hình: Ba thành phần mặc định bao gồm humiditypower, và temperature.

Để tiến hành đăng ký một thành phần từ Edison đến hệ thống IoT Analytics, bạn thực hiện lệnh iotkit-admin register temp temperature.v1.0.

 
  1. root@VisudoBlog:~# iotkit-admin register temp temperature.v1.0
  2. 2016-09-18T16:29:49.979Z - info: Starting registration ...
  3. 2016-09-18T16:29:50.038Z - info: Device has already been activated. Updating ...
  4. 2016-09-18T16:29:50.053Z - info: Updating metadata...
  5. 2016-09-18T16:29:50.130Z - info: Metadata updated.
  6. Attributes sent
  7. 2016-09-18T16:30:24.909Z - info: Component registered name=temp, type=temperature.v1.0, cid=f1aa6330-7700-4844-96b6-e4790a7fe26b, d_id=00-00-00-00-33-67

Sau khi đăng ký cảm biến được sử dụng tại Edison, bạn có thể thực hiện gởi dữ liệu thử nghiệm để phục vụ phân tích, thống kê thông qua lệnh iotkit-admin observation temp 35; lệnh này cho phép ghi nhận dữ liệu vào cảm biến nhiệt độ là 35 độ C. Bạn có thể lần lượt thay đổi giá trị nhiệt độ để xem kết quả thống kê tại giao diện web.

 
  1. root@VisudoBlog:~# iotkit-admin observation temp 35
  2. 2016-09-18T16:30:38.315Z - info: Submitting: n=temp, v=35
  3. 2016-09-18T16:30:54.986Z - info: Response received: response=none detail, status=0
  4. 2016-09-18T16:30:54.994Z - info: Observation Sent response=none detail, status=0

Hình: Cấu hình thành phần đồ thị tại IoT Analytics

Hình: Đồ thị kết quả nhiệt độ biến thiên theo giá trị temp

Bước 4: Quản lý dữ liệu hàng loạt sử dụng iotkit-agent

Sau khi quá trình thiết lập và thử nghiệm cơ bản hoàn tất, người dùng có thể chuyển quá trình thu thập và gởi dữ liệu sang tự động sử dụng iotkit-agent mặc định của Yocto Linux trên Edison. Giao thức truyền thông điệp từ cảm biến được sử dụng là UDP với cổng dịch vụ là 41234 đến địa chỉ là 127.0.0.1 (localhost) - UDP://localhost:41234. Sau đó thông điệp sẽ được chuyển tiếp đến IoT Analytics.

Trong ví dụ sau, tôi tiến hành gởi dữ liệu đến IoT Analytics sử dụng dịch vụ iotkit-agent.

  • Khởi động dịch vụ iotkit-agent sử dụng lệnh systemctl start iotkit-agent và kiểm tra trạng thái hoạt động systemctl status iotkit-agent -l

  • Sử dụng mã send_udp.js trong bộ thư viện iotkit-agent để tiến hành gởi dữ liệu /usr/lib/node_modules/iotkit-agent/send_udp.js, cd /usr/lib/node_modules/iotkit-agent/.

  • Thực hiện gởi dữ liệu nhiệt độ là 21 độ C ./send_udp.js temp 21.0

Hình: Gởi dữ liệu sử dụng dịch vụ quản lý iotkit-agent

Bước 5: Tích hợp các thư viện phát triển IoT

Sau khi nắm bắt được các kiến thức cơ bản về cơ chế gởi, phân tích dữ liệu cơ bản; người dùng có thể sử dụng các thư viện và API để hoàn thiện dự án của mình. Hiện tại, Intel hỗ trợ một số nền tảng lập trình như: Arduino IDE (C Style), Python, MQTT, NodeJS, C, .... (xem thêm tại https://github.com/enableiot/iotkit-...)

Cộng đồng với người sử dụng Arduino IDE rộng rãi, bạn có thể bổ sung thêm thư việnIoTkit.zip vào Arduino IDE trong trường hợp bạn mới bắt đầu làm việc với Edison và chưa có lựa chọn ngôn ngữ lập trình nào khác.

Hình: Thêm thư viện IoTkit vào Arduino IDE

Hình: Sử dụng thư viện IoTkit tại Arduino IDE

Bình luận
Nội dung này chưa có bình luận, hãy gửi bình luận đầu tiên của bạn.
VIẾT BÌNH LUẬN CỦA BẠN