Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Arduino - отправка температуры в Интернет через последовательный

Компоненты и расходные материалы

Arduino UNO
× 1
PHPoC WiFi Shield 2 для Arduino
× 1
Датчик температуры Adafruit DS18B20
× 1
Перемычки
× 1

Об этом проекте

Просто используя Serial.println (температура), мы можем отправлять температуру через Интернет. Используя встроенный Web Serial Plotter, мы можем визуализировать температуру в сети БЕЗ веб-программирования.

Если вы новичок, вы можете узнать о Wi-Fi и датчике в руководствах Arduino - Wifi и Arduino - датчик температуры DS18B20

Демонстрация

.

Как это работает

  • Arduino считывает значение температуры с датчика и отправляет его через последовательный порт.
  • Доступ к веб-плоттеру через браузер на мобильном телефоне или ПК.
  • Температура автоматически передается в Интернет.
  • Web отображает температуру в Интернете
  • По умолчанию Web Serial Plotter работает так же, как Serial Plotter в Arduino IDE. Нам нужно настроить его, чтобы добавить заголовок оси X, заголовок оси Y, диапазон температур и количество отображаемых выборок данных. Это можно сделать на странице настроек.

Пошаговые инструкции

1. Электропроводка

  • Стек PHPoC Wifi Shield 2 или PHPoC Shield 2 на Arduino
  • Подключение как изображения в схемной части.

2. Скомпилировать и загрузить код Arduino

См. Код в разделе «Код Arduino - короткий период выборки»

3. Настройка последовательного веб-плоттера

  • Для доступа к последовательному веб-плоттеру введите IP-адрес PHPoC WiFi Shield.
  • Щелкните ссылку "Настройка", чтобы перейти на страницу настройки.
  • Настройте параметры, как указано выше, и нажмите "Сохранить".

4. Результат

  • Нажмите кнопку подключения, чтобы увидеть результат.

Мониторинг температуры в течение длительного периода

Если температура измеряется в небольшом интервале (например, в секундах), нам просто нужно распечатать значение температуры в Serial, потому что мы можем дождаться, чтобы увидеть график.

Что произойдет, если мы захотим контролировать температуру ежедневно или ежечасно? Мы НЕ можем дождаться, чтобы увидеть весь график.

Решение :мы храним количество последних температур выборки на Arduino и часто его печатаем.

Например, мы хотим видеть отображение температуры на графике за 100 часов. Единица - час. Нам нужно каждый час считывать данные с сенсора, хранить их в очереди по кругу (длина очереди 100). Каждую секунду мы распечатываем все 100 образцов данных. Таким образом, мы можем видеть график температуры за последние 100 часов, не дожидаясь 100 часов.

Вы можете увидеть код в разделе «Код Arduino - длинный период выборки»

Лучший стартовый комплект Arduino для начинающих

См. «Лучший комплект Arduino для начинающих»

Код

  • Код Arduino - короткий период выборки
  • Код Arduino - длительный период выборки (ежедневно, ежечасно ...)
Код Arduino - короткий период выборки Arduino
 #include  #include  #include  #define SAMPLE_INTERVAL 1000 // в мс // Провод данных подключен к порту 8 на ArduinoOneWire oneWire (8); DallasTemperature датчики (&oneWire); unsigned long lastSampleTime; void setup () {Serial.begin (9600); в то время как (! серийный); sensor.begin (); Phpoc.begin (); lastSampleTime =millis ();} void loop () {if ((millis () - lastSampleTime)> SAMPLE_INTERVAL) {сенсоры.requestTemperatures (); float temp =sizes.getTempCByIndex (0); Serial.println (темп); lastSampleTime =миллис (); }} 
Код Arduino - длительный период выборки (ежедневно, ежечасно ...) Arduino
 #include  #include  #include  #define UPDATE_INTERVAL 1000 // в мс # define SAMPLE_INTERVAL 60 * 60 * 1000 // 1 час // Кабель данных подключен в порт 8 на ArduinoOneWire oneWire (8); датчики температуры Далласа (&oneWire); unsigned long lastSampleTime; unsigned long lastUpdateTime; float temps [100]; int index; void setup () {Serial.begin (9600); в то время как (! серийный); sensor.begin (); Phpoc.begin (); lastSampleTime =миллис (); lastUpdateTime =миллис (); index =0;} void loop () {if ((millis () - lastSampleTime)> SAMPLE_INTERVAL) {sensor.requestTemperatures (); float temp =sizes.getTempCByIndex (0); temps [индекс] =темп; index =(index + 1)% 100; lastSampleTime =миллис (); } if ((millis () - lastUpdateTime)> UPDATE_INTERVAL) {для (int i =0; i <100; i ++) {Serial.println (temps [(index - i + 100)% 100]); } lastUpdateTime =millis (); }} 

Схема

1. Установите PHPoC Wifi Shield 2 или PHPoC Shield 2 на Arduino.
2. Подключение, как на изображении ниже.

Производственный процесс

  1. Получить влажность / температуру из Интернета
  2. Простая температура и влажность на Raspberry Pi
  3. Веб-контроллер DMX
  4. Программирование серии Atmel AT89 через Arduino
  5. Регистратор данных температуры и влажности
  6. Ворота бесконтактного мониторинга температуры
  7. Arduino - разблокировка веб-шаблона
  8. Мониторинг температуры SMART для школ
  9. Курильщик древесного угля с контролем температуры
  10. Arduino - Рисование через Интернет с помощью контроллера шагового двигателя