Esp8266 ds18b20 несколько датчиков

Esp8266 ds18b20 несколько датчиков

Черновик

Содержание

Эта статья рассказывает о том, как создать автономный веб-сервер на базе чипа ESP8266( ), который получает данные от температурного датчика DS18B20( ), а затем выводит их на экран.

Необходимые компоненты

  • Один плата ESP8266( )(NodeMcu v3 ESP8266( ));
  • Один температурный датчикDS18B20( );
  • Один резистор на 4,7 кОм;
  • Одна макетная плата( );
  • Провода перемычки( );

Справочная информация

Температурный датчик DS18B20

Температурный датчик DS18B20( ) – это цифровой датчик, коммуницирующий через шину 1-Wire. Это значит, что для чтения данных с этого датчика понадобится очень простая цепь. Кроме того, он коммуницирует через общую шину, и это значит, что вы можете подключить друг к другу несколько устройств и считывать их данные с помощью лишь одного цифрового контакта ESP8266( ).

Как можно видеть на фото ниже, у датчика DS18B20( ) всего три контакта:

Кроме того, DS18B20( ) продается и в влагозащищенной версии.

Функции

Главные функции температурного датчика DS18B20( ):

  • Коммуницирует через шину 1-Wire;
  • Диапазон измеряемой температуры: между -55˚C и 125˚C;
  • Точность: +/-0.5˚C (в диапазоне между -10˚C и 85˚C);

Установка библиотек

Для этого проекта нам понадобятся библиотеки «OneWire» и «DallasTemperature».

Чтобы установить библиотеку «OneWire», проделайте следующее:

  1. Кликните тут, чтобы скачать архив с библиотекой. В результате в папке «Загрузки» на вашем компьютере должен появиться соответствующий ZIP-файл.
  2. Распакуйте этот архив. В результате у вас должна появиться папка «OneWire-master».
  3. Переименуйте ее на «OneWire».
  4. Переместите переименованную папку в папку «libraries» IDE Arduino.
  5. Перезапустите IDE Arduino.

Чтобы установить библиотеку «DallasTemperature», проделайте следующее:

  1. Кликните тут, чтобы скачать архив с библиотекой. В результате в папке «Загрузки» на вашем компьютере должен появиться соответствующий ZIP-файл.
  2. Распакуйте этот архив. В результате у вас должна появиться папка «Arduino-Temperature-Control-Library-master».
  3. Переименуйте ее на «DallasTemperature».
  4. Переместите переименованную папку в папку «libraries» >Загрузка кода на ESP8266

Для начала убедитесь, что в IDE Arduino установлен аддон для чипа ESP8266. О том, как установить его, можно почитать тут.

Далее кликаем в IDE Arduino на Плата > Инструменты > Generic ESP8266 Module (Board > Tools > Generic ESP8266 Module). Вместо «Generic ESP8266 Module» также может быть вариант «ESP-12E».

Скопируйте код, показанный ниже, в IDE Arduino. Замените SSID и пароль на те, что соответствуют вашей сети. Отредактировав скетч, загрузите его на ESP8266 (если загрузить не получается, поищите решение проблемы в этой статье).

Черновик

Содержание

Эта статья рассказывает о том, как создать автономный веб-сервер на базе чипа ESP8266( ), который получает данные от температурного датчика DS18B20( ), а затем выводит их на экран.

Необходимые компоненты

  • Один плата ESP8266( )(NodeMcu v3 ESP8266( ));
  • Один температурный датчикDS18B20( );
  • Один резистор на 4,7 кОм;
  • Одна макетная плата( );
  • Провода перемычки( );

Справочная информация

Температурный датчик DS18B20

Температурный датчик DS18B20( ) – это цифровой датчик, коммуницирующий через шину 1-Wire. Это значит, что для чтения данных с этого датчика понадобится очень простая цепь. Кроме того, он коммуницирует через общую шину, и это значит, что вы можете подключить друг к другу несколько устройств и считывать их данные с помощью лишь одного цифрового контакта ESP8266( ).

Читайте также:  Browser bookmarks как удалить

Как можно видеть на фото ниже, у датчика DS18B20( ) всего три контакта:

Кроме того, DS18B20( ) продается и в влагозащищенной версии.

Функции

Главные функции температурного датчика DS18B20( ):

  • Коммуницирует через шину 1-Wire;
  • Диапазон измеряемой температуры: между -55˚C и 125˚C;
  • Точность: +/-0.5˚C (в диапазоне между -10˚C и 85˚C);

Установка библиотек

Для этого проекта нам понадобятся библиотеки «OneWire» и «DallasTemperature».

Чтобы установить библиотеку «OneWire», проделайте следующее:

  1. Кликните тут, чтобы скачать архив с библиотекой. В результате в папке «Загрузки» на вашем компьютере должен появиться соответствующий ZIP-файл.
  2. Распакуйте этот архив. В результате у вас должна появиться папка «OneWire-master».
  3. Переименуйте ее на «OneWire».
  4. Переместите переименованную папку в папку «libraries» IDE Arduino.
  5. Перезапустите IDE Arduino.

Чтобы установить библиотеку «DallasTemperature», проделайте следующее:

  1. Кликните тут, чтобы скачать архив с библиотекой. В результате в папке «Загрузки» на вашем компьютере должен появиться соответствующий ZIP-файл.
  2. Распакуйте этот архив. В результате у вас должна появиться папка «Arduino-Temperature-Control-Library-master».
  3. Переименуйте ее на «DallasTemperature».
  4. Переместите переименованную папку в папку «libraries» >Загрузка кода на ESP8266

Для начала убедитесь, что в IDE Arduino установлен аддон для чипа ESP8266. О том, как установить его, можно почитать тут.

Далее кликаем в IDE Arduino на Плата > Инструменты > Generic ESP8266 Module (Board > Tools > Generic ESP8266 Module). Вместо «Generic ESP8266 Module» также может быть вариант «ESP-12E».

Скопируйте код, показанный ниже, в IDE Arduino. Замените SSID и пароль на те, что соответствуют вашей сети. Отредактировав скетч, загрузите его на ESP8266 (если загрузить не получается, поищите решение проблемы в этой статье).

Предисловие: Содержание данного поста на первый взгляд может не подходить для форума «ARDUINO для автомобиля», но если внимательно посмотреть, я думаю найдется, что то полезное…
1. Введение.
По случаю попали ко мне в руки WIFI модуль ESP8266 (ESP-01) и датчик температуры DS18B20. Задача – построить автономный датчик температуры, данные с которого можно посмотреть на компьютере/планшете. В будущем эти данные должны использоваться для контроля в «умном доме»…
Чип ESP8266 очень подходит для этого, так как обладает небольшими размерами, ценой, а самое главное, что его контроллер может заменить Arduino – он может сам выполнять все необходимые действия.
Вариантов модулей на чипе ESP8266 множество — все о ESP8266 можно прочесть тут — esp8266.ru/ больше чем здесь, я думаю вы на русском языке не найдете.

Читайте также:  Bitrix агенты на крон

У меня ESP-01 – у которого только два управляемых выхода – GPIO 0 и GPIO 2:

Что касается датчика температуры DS18B20 – тоже достаточно популярное устройство, а главное он цифровой – значит, выдает готовые значения и работает по протоколу 1-Wire – можно будет использовать библиотеку OneWire. Кроме того специально для температурных датчиков Dallas DS18B20 есть Arduino-библиотека DallasTemperature. milesburton.com/Main_Page…mperature_Control_Library

Что касается построения такого WIFI датчика температуры – устройство ни уникальное – в интернете есть описания подобных схем на тех же компонентах, но программируются на языке Lua – вариант geektimes.ru/post/255594/. Но судя по описанию – там тоже все не просто так. Да и не хотелось «учить» еще один язык…
Я к Arduino уже как то привык.
Поэтому решено искать варианты Arduino скетчей. Тем более что и тут есть наработки:
— датчик температуры для проекта «Народный мониторинг» —
arduinolab.pw/index.php/2…o-monitoringa-na-esp8266/ — его я тоже попробовал.
А вот тут от того же автора скетч который позволяет выводить параметры температуры через браузер – именно его я использовал. vk.com/doc148062645_43703…630&dl=4f5f570366aac0e93a
Но оказалось, что бы его загрузить предстоит кое-что сделать.

2. Нужно:
1. Модуль ESP8266 (ESP-01);
2. Датчик температуры DS18B20;
3. USB-UART-TTL адаптер – например CР2102 (+драйвер);
4. Резистор 4,7 кОм;
5. Провода мама – мама/папа;
6. Изолента/термоусадка;

3. Настройка ADRUINO IDE для работы с WIFI ESP8266.
Для того, что бы загружать скетчи через ADRUINO IDE непосредственно на модуль ESP8266 необходимо провести апгрейд ADRUINO IDE – загрузить в него программу «ESP8266» для поддержки модуля (см. ссылку github.com/esp8266/arduino).
Как сказано на одном из сайтов:
«Программа ESP8266 поставляется с библиотеками, которые позволяют через интерфейс WiFi с помощью протоколов IP, TCP, UDP обмениваться данными с WEB, SSDP, mDNS и DNS серверами, использовать flash память для создания файловой системы, обеспечить работу с SD картами, сервоприводами, работать с периферийными устройствами по шинам SPI и I2C.»

Для этого нужно:
1. Зайти в меню «Файл» — выбрать «Настройки».

2. В ячейку "Дополнительные ссылки для Менеджера плат" внести ссылку arduino.esp8266.com/stabl…age_esp8266com_index.json

3. Зайти в меню «Инструменты» в «Плата:…» — выбрать «Менеджер плат…».

4. В закладке «Менеджер плат» нужно найти нужную прошивку — в поле указать например esp8266 – в окне высветится нужная прошивка.

5. Установить выбранную прошивку «esp8266» – щелкнуть на поле с прошивкой – появится кнопка «Установить» — нажать. Установка займет некоторое время – будет скачивать около 153 Мб.
6. После завершения установки в меню «Инструменты» в закладке «Плата:…» ниже перечня плат Arduino появится новые платы – «ESP8266 Modules».

7. Выбрать нужный модуль – в общем случае это «Generic ESP8266 Module».

4. Подключение ESP8266 к компьютеру для перепрошивки.
Как правильно подключить модуль много и хорошо написано – например тут:
esp8266.ru/esp8266-podklu…bnovlenie-proshivki/#full
Я для подключения ESP8266 к компьютеру для перепрошивки использовал USB-UART-TTL адаптер CР2102.

Читайте также:  Goldlit ru синтаксический разбор

Схема подключения обычная да UART, за исключением двух особенностей:
1. Для включения модуля нужно подать +3,3В на вывод модуля CH_PD. Я припаял перемычку с VCC.
2. На время загрузки скетча необходимо подать «минус» на вывод модуля GPIO 0.

Если речь идет о настройке/отладки нескольких модулей имеет смысл сделать специальный комплект проводов для подключения.

Так же есть особенность с питанием модуля.
Во первых, он должен питаться от 3,3 В.
Во вторых, он очень прожорливый – мощности питания от USB-UART-TTL адаптера ему не хватало – компьютер постоянно сообщал, что к нему «подключено неизвестное устройство, при установке которого возникли проблемы».

Поэтому для питания модуля нужно организовать отдельное питание.
Если предполагается использовать более высокое напряжение — нужно использовать понижающий стабилизатор.
В моем случае я использовал две батареи АА 1,5В соединенные последовательно – но испытания показали хватает не на долго (возможно батареи были севшие).
ВНИМАНИЕ! При подключении внешнего источника питания при прошивке нужно соединить его с минусом USB-UART-TTL адаптера.

5. Загрузка скетча.
Если все сделали – можно начинать загрузку скетча:
vk.com/doc148062645_43703…630&dl=4f5f570366aac0e93a
Но для начала нужно в строчках с именем сети и пароля указать имя и пароль вашей сети:
const char *ss ;
const char *password = "…";
Процесс загрузки визуально отличается от привычной загрузки – он будет сопровождаться рядом точек в окне статуса загрузки (см. фото).

Если этого не происходит и появилось сообщение об ошибке – включите и выключите питание модуля WIFI.
Если загрузка прошла успешно, уберите перемычку с GPIO 0 и «массы».
Откройте Serial порт в Arduino IDE и убедитесь, что модуль начал работать и самое важно – запишите IP адрес вашего модуля:
Connected to «Название вашей сети»
IP address: 192.168.ХХ.ХХ
MDNS responder started
HTTP server started Теперь можно отключать USB-UART-TTL адаптер и подключать датчик температуры.

6. Подключение датчика температуры.
Схема подключения датчика температуры типовая (см. рисунок).

Потребуется правда поработать паяльником – припаять сопротивление 4,7 кОм и датчик температуры, а так же перемычку включения питания (см. ранее).

Есть еще один вывод который может пригодится — вывод RST – «Сброс» — для этого нужно подать на него «минус». Пару раз пригодилась эта «кнопка» — возможно потому, что схема собрана на весу…

7. Работа датчика.
Если все прошло правильно датчик начнет помаргивать синим светодиодом и излучать в WIFI эфир температуру. А вот что бы эта температура стала «видима» нужно в браузере указать IP адрес вашего модуля (мы его знаем из пункта 5) и на экране появится вот такая картинка:

Ссылка на основную публикацию
Error reading smart victoria что это
Добрый день. В сегодняшней статье хочу коснуться сердца компьютера — жесткого диска (кстати, многие называют сердцем процессор, но лично я,...
Dji mavic pro platinum отличия
Приветствуем вас, уважаемые любители БПЛА. При всех неоспоримых достоинствах дронов с качественными камерами, у них есть и одна особенность –...
Dji phantom 3 standard инструкция
Сегодня невозможно встретить пользователя, не мечтающего стать обладателем 4-х пропеллерного вертолета квадрокоптера. Особенно, если это модель dji phantom 3 standard....
Error opening the file как исправить
Обычно сообщение об ошибке достаточно информативно, чтобы исправить эту ошибку. Если сообщение указывает на строку, в которой нет ошибки, то...
Adblock detector