Mục lục:

Cách gửi dữ liệu lên đám mây với Arduino Ethernet: 8 bước
Cách gửi dữ liệu lên đám mây với Arduino Ethernet: 8 bước

Video: Cách gửi dữ liệu lên đám mây với Arduino Ethernet: 8 bước

Video: Cách gửi dữ liệu lên đám mây với Arduino Ethernet: 8 bước
Video: Getting Started with MQTT 2024, Tháng mười một
Anonim
Cách gửi dữ liệu lên đám mây với Arduino Ethernet
Cách gửi dữ liệu lên đám mây với Arduino Ethernet

Tài liệu hướng dẫn này chỉ cho bạn cách xuất bản dữ liệu của bạn lên Nền tảng IoT của AskSensors bằng cách sử dụng Arduino Ethernet Shield. Ethernet Shield cho phép Arduino của bạn dễ dàng kết nối với đám mây, gửi và nhận dữ liệu bằng kết nối internet.

Những gì chúng ta sẽ học:

Chúng ta sẽ tìm hiểu những kiến thức cơ bản về cách kết nối lá chắn Arduino Ethernet với máy chủ web AskSensors và gửi dữ liệu giả qua các yêu cầu HTTP. Ở phần cuối, sẽ trực quan hóa các luồng dữ liệu trực tiếp trong đám mây AskSensors.

Tại sao lại là HTTP chứ không phải

AskSensors hỗ trợ HTTPS, tuy nhiên, MCU được gắn trên Arduinos không xử lý các kết nối HTTPS. Vì lý do này, chúng tôi sẽ sử dụng HTTP thay vì

Lưu ý: Nếu bạn thích giao thức MQTT, vui lòng truy cập trang này: Kết nối Arduino Ethernet để AskSensors qua MQTT

Bước 1: Arduino Ethernet Shield

Tính năng phần cứng:

  • Yêu cầu bảng Arduino.
  • Điện áp hoạt động 5V, được cung cấp từ Bo mạch Arduino.
  • Bộ điều khiển Ethernet: Bộ điều khiển Ethernet Wiznet W5100 với bộ đệm 16K bên trong
  • Wiznet W5100 cung cấp một ngăn xếp mạng (IP) có khả năng cho cả TCP và UDP.
  • Tốc độ kết nối: lên đến 10 / 100Mb

  • Kết nối với Arduino trên cổng SPI: Nó sử dụng các chân tiêu đề ICSP và chân 10 làm chip chọn cho kết nối SPI với chip điều khiển Ethernet.
  • Bản sửa đổi mới nhất của Ethernet Shield bao gồm một khe cắm thẻ micro-SD trên bo mạch, có thể được sử dụng để lưu trữ các tệp để phục vụ qua mạng.
  • Mô-đun Ethernet có kết nối RJ45 tiêu chuẩn, với một máy biến áp đường dây tích hợp.
  • Kết nối với mạng được thực hiện bằng cáp Ethernet RJ45.

Thư viện phần mềm:

Lá chắn Ethernet dựa trên thư viện Arduino Ethernet

Thư viện đi kèm với Arduino IDE

Chúng tôi sẽ cần thay đổi một số cài đặt mạng trong chương trình để tương ứng với mạng của chúng tôi.

Đèn LED thông tin:

Sau đó, bạn có thể cần xác minh trạng thái Ethernet bằng các đèn LED thông tin:

  • PWR: cho biết bo mạch và tấm chắn được cấp nguồn
  • LINK: cho biết sự hiện diện của một liên kết mạng và nhấp nháy khi lá chắn truyền hoặc nhận dữ liệu
  • FULLD: cho biết rằng kết nối mạng là song công
  • 100M: cho biết sự hiện diện của kết nối mạng 100 Mb / s (trái ngược với 10 Mb / giây)
  • RX: nhấp nháy khi lá chắn nhận được dữ liệu
  • TX: nhấp nháy khi lá chắn gửi dữ liệu
  • COLL: nhấp nháy khi phát hiện xung đột mạng

Bước 2: Vật liệu chúng ta cần

Phần cứng cần thiết cho hướng dẫn này là:

  1. Một máy tính chạy phần mềm Arduino IDE.
  2. Một bảng Arduino chẳng hạn như Arduino Uno.
  3. Một lá chắn Arduino Ethernet.
  4. Cáp USB để cấp nguồn và lập trình Arduino.
  5. Cáp Ethernet, để kết nối với bộ định tuyến mạng của bạn.

Bước 3: Thiết lập AskSensors

AskSensors yêu cầu những điều sau:

  • Tạo tài khoản người dùng: Bạn có thể nhận một tài khoản miễn phí (https://asksensors.com)
  • Tạo cảm biến: Cảm biến là một kênh giao tiếp với Khóa Api duy nhất, nơi AskSensors thu thập và lưu trữ dữ liệu của người dùng.

Mỗi Cảm biến cung cấp một số Mô-đun mà người dùng có thể gửi dữ liệu đến chúng một cách riêng biệt. Người dùng cũng có thể trực quan hóa dữ liệu đã thu thập của từng mô-đun dưới dạng biểu đồ. AskSensors cung cấp nhiều lựa chọn về đồ thị bao gồm Đường, Thanh, Phân tán và thước đo.

Bước 4: Mã hóa

Vì vậy, tại thời điểm này, chúng tôi đã có thể đăng ký một Cảm biến mới trong nền tảng AskSensors, Bây giờ chúng tôi sẽ viết một số mã trong Arduino cho kết nối của nó với nền tảng. Có hàng trăm hướng dẫn về cách kết nối Arduino với web thông qua Ethernet Shields, vì vậy tôi sẽ không giải thích phần này.

Tải xuống ví dụ phác thảo Arduino này từ github. Mã sử dụng DHCP và DNS cho máy chủ và được cho là hoạt động ngay lập tức với một vài thay đổi:

  1. Nếu bạn đang sử dụng nhiều hơn một lá chắn Ethernet trên một mạng, hãy đảm bảo rằng mỗi lá chắn Ethernet trên mạng phải có một địa chỉ mac duy nhất.
  2. Thay đổi địa chỉ IP trong bản phác thảo để phù hợp với dải địa chỉ IP của mạng của bạn.
  3. Đặt khóa Api vào cảm biến của bạn (do AskSensors đưa ra ở bước trước)
  4. Đặt dữ liệu giả của bạn.

// MAC

byte mac = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; // Đặt địa chỉ IP tĩnh để sử dụng nếu DHCP không thể gán ip IPAddress (192, 168, 1, 177); // Cấu hình ASKSENSORS. const char * apiKeyIn = "MTWN7AQOLWJNEIF8RGMAW5EGKQFAHN2K"; // Thay đổi nó bằng API KEY IN // dữ liệu giả int dumData = 100; // thiết lập dữ liệu của bạn

Bước 5: Lập trình

Lập trình
Lập trình
  1. Cắm tấm chắn Ethernet vào bo mạch Arduino Uno.
  2. Kết nối tấm chắn Ethernet với bộ định tuyến / mạng của bạn thông qua cáp Ethernet.
  3. Kết nối Arduino với máy tính thông qua cáp USB. Nguồn điện sẽ được cung cấp cho hai bo mạch thông qua cáp USB.
  4. Mở mã của bạn trong Arduino IDE, Chọn đúng bảng Arduino và cổng COM. Sau đó, tải mã lên bảng Arduino của bạn. đảm bảo rằng mã đã được tải lên thành công.

Bước 6: Chạy mã

  • Đặt lại: Bạn có thể sử dụng nút đặt lại trên tấm chắn để đặt lại cả Bộ điều khiển Ethernet và bảng Arduino.
  • Chạy mã: Sau khi thiết lập lại / bật nguồn, mở một thiết bị đầu cuối nối tiếp, bạn sẽ thấy Arduino in trạng thái chương trình: arduino kết nối với mạng (mất vài giây), sau đó gửi dữ liệu giả đến AskSensors qua HTTP nhận yêu cầu.
  • Phản hồi của máy chủ: Sau khi nhận được yêu cầu gửi dữ liệu tới Cảm biến cụ thể từ máy khách, trước tiên máy chủ sẽ gửi phản hồi HTTP cho biết số lượng mô-đun được cập nhật thành công (trong trường hợp của chúng tôi là '1').

Bước 7: Trực quan hóa dữ liệu

Trực quan hóa dữ liệu
Trực quan hóa dữ liệu

Bây giờ, dữ liệu của bạn đã được xuất bản tốt lên đám mây AskSensors. Bạn có thể xem dữ liệu này trong biểu đồ hoặc xuất nó sang tệp CSV.

Mỗi Cảm biến có bảng điều khiển riêng hiện cho phép theo dõi trạng thái của nó trong thời gian thực (ngày cập nhật lần cuối, trạng thái kết nối..).

Nhấp vào Cảm biến của bạn từ danh sách, đặt biểu đồ cho mô-đun của bạn (Mô-đun 1). Hình ảnh trên cho thấy một ví dụ về hiển thị bằng cách sử dụng loại biểu đồ đo.

Bước 8: Hoàn thành tốt

Cảm ơn bạn đã đọc. bạn có thể tìm thêm hướng dẫn ở đây.

Nếu bạn có bất kỳ thắc mắc nào, hãy tham gia cộng đồng AskSensors!

Đề xuất: