Как да изпращате данни в облака с Arduino Ethernet: 8 стъпки
Как да изпращате данни в облака с Arduino Ethernet: 8 стъпки
Anonim
Как да изпращате данни в облака с Arduino Ethernet
Как да изпращате данни в облака с Arduino Ethernet

Тази инструкция ви показва как да публикувате вашите данни в платформата на IoT на AskSensors, използвайки Arduino Ethernet Shield. Ethernet Shield позволява на вашия Arduino лесно да се свързва с облака, да изпраща и получава данни с интернет връзка.

Какво ще научим:

Ще научим основите на свързването на Arduino Ethernet щит към уеб сървъра AskSensors и изпращането на фиктивни данни по HTTP заявки. В края ще визуализира потоци от данни на живо в облака AskSensors.

Защо HTTP, а не

AskSensors поддържа HTTPS, но MCU, монтирани на Arduinos, не обработват HTTPS връзки. Поради тази причина ще използваме HTTP вместо

Забележка: Ако предпочитате протокол MQTT, моля, посетете тази страница: Свържете Arduino Ethernet към AskSensors през MQTT

Стъпка 1: Arduino Ethernet Shield

Характеристики на хардуера:

  • Изисква дъска Arduino.
  • Работно напрежение 5V, захранвано от Arduino Board.
  • Ethernet контролер: Wiznet Ethernet контролер W5100 с вътрешен 16K буфер
  • Wiznet W5100 предоставя мрежов (IP) стек, способен както за TCP, така и за UDP.
  • Скорост на връзката: до 10/100Mb
  • Връзка с Arduino на SPI порт: Той използва ICSP заглавните щифтове и пин 10 като избор на чип за SPI връзката към чипа на Ethernet контролера.

  • Последната версия на Ethernet Shield включва слот за micro-SD карта на борда, който може да се използва за съхраняване на файлове за обслужване през мрежата.
  • Ethernet модулът има стандартна RJ45 връзка, с интегриран линеен трансформатор.
  • Връзката с мрежа се осъществява с Ethernet кабел RJ45.

Софтуерна библиотека:

Ethernet щитът разчита на библиотеката Arduino Ethernet

Библиотеката се предлага в комплект с Arduino IDE

Ще трябва да променим някои мрежови настройки в програмата, за да съответстват на нашата мрежа.

Информационни светодиоди:

По -късно може да се наложи да проверите състоянието на Ethernet с помощта на информационните светодиоди:

  • PWR: показва, че платката и щитът са захранвани
  • LINK: показва наличието на мрежова връзка и мига, когато щитът предава или получава данни
  • FULLD: показва, че мрежовата връзка е пълна дуплекс
  • 100M: показва наличието на 100 Mb/s мрежова връзка (за разлика от 10 Mb/s)
  • RX: мига, когато щитът получава данни
  • TX: мига, когато щитът изпраща данни
  • COLL: мига при откриване на сблъсъци в мрежата

Стъпка 2: Необходими материали

Хардуерът, необходим за тези уроци, е:

  1. Компютър, работещ с Arduino IDE софтуер.
  2. Дъска Arduino като Arduino Uno.
  3. Arduino Ethernet щит.
  4. USB кабел за захранване и програмиране на Arduino.
  5. Ethernet кабел, за свързване към вашия мрежов рутер.

Стъпка 3: Настройка на AskSensors

AskSensors изисква следното:

  • Създайте потребителски акаунт: Можете да го получите безплатно (https://asksensors.com)
  • Създайте сензор: Сензорът е комуникационен канал с уникален Api ключ, където AskSensors събира и съхранява потребителски данни.

Всеки сензор предоставя няколко модула, които потребителят може да им изпраща данни отделно. Потребителят може също да визуализира събраните данни от всеки модул в графика. AskSensors предоставя множество възможности за избор на графики, включително Line, Bar, Scatter и gauge.

Стъпка 4: Кодиране

Така че в този момент успяхме да регистрираме нов сензор в платформата AskSensors. Сега ще напишем някакъв код в Arduino за връзката му с платформата. Има стотици уроци за свързване на Arduino към мрежата чрез Ethernet щитове, така че няма да обяснявам тази част.

Изтеглете този пример за скица на Arduino от github. Кодът използва DHCP и DNS за сървъра и трябва да работи веднага с няколко промени:

  1. Ако използвате повече от един Ethernet щит в мрежа, уверете се, че всеки Ethernet щит в мрежата трябва да има уникален mac адрес.
  2. Променете IP адреса в скицата, така че да съответства на диапазона от IP адреси на вашата мрежа.
  3. Задайте Api Key In на вашия сензор (дадено от AskSensors в предишната стъпка)
  4. Задайте фиктивни данни.

// MAC

байт mac = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; // Задайте статичния IP адрес, който да се използва, ако DHCP не успее да присвои IPAddress ip (192, 168, 1, 177); // Конфигурация на ASKSENSORS. const char* apiKeyIn = "MTWN7AQOLWJNEIF8RGMAW5EGKQFAHN2K"; // Променете го с вашия API KEY IN // фиктивни данни int dumData = 100; // задайте вашите данни

Стъпка 5: Програмиране

Програмиране
Програмиране
  1. Включете Ethernet щита в платката Arduino Uno.
  2. Свържете Ethernet щита към вашия рутер/мрежа чрез Ethernet кабел.
  3. Свържете Arduino към компютъра чрез USB кабел. Захранването ще се подава към двете платки чрез USB кабел.
  4. Отворете кода си в Arduino IDE, изберете правилната платка на Arduino и COM порта. След това качете кода на дъската си Arduino. уверете се, че кодът е качен успешно.

Стъпка 6: Стартирайте кода

  • Нулиране: Можете да използвате бутона за нулиране на щита, за да нулирате както Ethernet контролера, така и платката Arduino.
  • Изпълнете кода: След нулиране/включване, отворете сериен терминал, трябва да видите Arduino да отпечатва състоянието на програмата: arduino се свързва с мрежата (отнема няколко секунди), след което изпраща фиктивни данни до AskSensors по HTTP заявки за получаване.
  • Отговор на сървъра: След като получи заявката за записване на данни към конкретния сензор от клиента, сървърът първо изпраща HTTP отговор, казвайки броя на модулите, успешно актуализирани („1“в нашия случай).

Стъпка 7: Визуализирайте данните

Визуализирайте данни
Визуализирайте данни

Сега, когато вашите данни са публикувани добре в облака AskSensors. Можете да видите тези данни в графика или да ги експортирате в CSV файл.

Всеки сензор има свое собствено табло, което понастоящем позволява наблюдение на състоянието му в реално време (дата на последна актуализация, състояние на връзката..).

Щракнете върху вашия сензор от списъка, задайте графика на вашия модул (модул 1). Изображението по -горе показва пример за показване с помощта на типа диаграма на габарита.

Стъпка 8: Браво

Благодаря ви за четенето. можете да намерите още уроци тук.

Ако имате въпроси, присъединете се към общността AskSensors!

Препоръчано: