Giới thiệu 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.

 

IoTAnalytic_Flow

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/.

IoT Analytics BETA

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

Iot Analytics Add account

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

Iot Analytics Add account

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

IoT Analytics Compnent Types.

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.

Iot Analytics 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.
root@VisudoBlog:~# iotkit-admin test  
2016-09-18T10:28:11.752Z - info: Trying to connect to host ...  
2016-09-18T10:28:28.535Z - info: Connected to dashboard.us.enableiot.com  
2016-09-18T10:28:28.543Z - info: Environment: prod  
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].
root@VisudoBlog:~# iotkit-admin activate k4xh9g3B  
2016-09-18T09:56:44.967Z - info: Activating ...  
2016-09-18T09:57:02.125Z - info: Saving device token...  
2016-09-18T09:57:02.155Z - info: Updating metadata...  
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.

IoT 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ê.

iotkit-admin catalog

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

iotkit-admin catalog

Hình: Ba thành phần mặc định bao gồm humidity, power, 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.

root@VisudoBlog:~# iotkit-admin register temp temperature.v1.0  
2016-09-18T16:29:49.979Z - info: Starting registration ...  
2016-09-18T16:29:50.038Z - info: Device has already been activated. Updating ...  
2016-09-18T16:29:50.053Z - info: Updating metadata...  
2016-09-18T16:29:50.130Z - info: Metadata updated.  
Attributes sent  
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.

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

IoT Analytics Chart 1

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

IoT Analytics Chart 2

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

IoT Analytics Chart 3

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-samples)

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.

IoTkit Arduino IDE

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

IoTkit Arduino IDE

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

2. Tham khảo

lên
10 thành viên đã đánh giá bài viết này hữu ích.
Chuyên mục: 
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Giới thiệu Intel Edison - OPKG Package Manager - P4

Tiện ích opkg được tích hợp sẵn trong Yocto Linux nhằm giúp người dùng nhanh chóng cài đặt các gói tin từ kho dữ liệu của Intel. OPKG có tính năng tương tự như lệnh yum hoặc apt-get mà cộng đồng người dùng Linux đã khá quen thuộc trong việc quản lý và cài đặt gói tin trên kiến trúc Linux OS.

lên
9 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: 

Giới thiệu Espruino Pico - Phần 1

Espruino là một dự án phần cứng nguồn mở với nỗ lực của Gordon Williams để tạo ra một vi điều khiển hoạt động trên nền tảng Javascript. Dự án được Gordon kêu gọi vốn tại Kickstarter để phát triển hai phiên bản là Espruino có kích thước như một thẻ tín dụng và Espruino Pico có kích thước như một con tem. Cả hai phiên bản đều kết nối qua cổng USB. 

lên
15 thành viên đã đánh giá bài viết này hữu ích.