Андрей Смирнов
Время чтения: ~7 мин.
Просмотров: 7

Wi-Fi термометр на ESP8266 + DS18B20 всего за 4$

Ну что же , перейдем к списку нужных элементов для сборки проект : 

Плата ЕСП8266 

http://ali.pub/3481fq

Датчики температуры ds18b20 (в нужном количестве) 

http://ali.pub/3481j1

Резистор 4.7 кОм для подтяжки по питанию 

http://ali.pub/3481nw

Ну и провода для сборки (опционально, я бы лучше запаял для готового устройства)

Использовать буду именно цифровой датчик температуры 18б20 в герметичном капсуле, именно этот датчик максимально защищен от воздействия внешней агрессивной среды. Поддерживает диапазон измеряемых температур от -55 градусов до +125 и имеет хорошую точность .

ds18b20-pinout.png

Визуальная схема подключения датчиков к ЕСП8266 :

snimok1.jpg

На рабочем столе это выглядит так : 

И небольшой нюанс, для большей стабильности работы датчика (на проводах около метра) ds18b20 на плате esp8266 я рекомендую подключать питание к линии +5 вольт вместо 3.3 . Для этого на плате ЕСП есть пин VV на нем выведено питание поступающее с Vin и USB т.е наши 5 вольт.

Когда уже все собрано,можно переходить к программной части.

Файлы и прошивки 

Прошивка и библиотеки

Скачиваем архив с файлом прошивки и библиотеками (если они у вас установлены, значит добавлять не нужное , если же код не компилируется то делаем как тут 

Добавление библиотек в среду ардуино ИДЕ )

Если же у вас нет платы ESP8266 в среде ардуино ИДЕ и вы раньше с ними не работали , то сначала добавляем плату по этой инструкции 

http://www.electronica52.in.ua/proekty-arduino/nastrojka-arduino-ide-dlya-programmirovaniya-wifi-modulya-esp8266

Дальше на смартфоне устанавливаем приложение Blynk с плеймаркета 

Установить Blynk

Дальше следуем шагам на скриншотах :

1.Создать новый проект — выбрать плату ESP8266 

snimok.jpg

Так же получаем на почтовый ящик токен созданного вами проекта и прописываем его в коде прошивки !!!!!

2.Добавить виджеты и настройки согласно скриншотам .

3.Загрузить скетч в плату ЕСП  (с уже прописанным токеном приложения именем сети и паролем от вашего вай-фай ) и подключить питание .

4.Проект завершен ))

Geek каналы

➤ VK — https://vk.com/3dprintsumy

➤ Youtube  — http://www.youtube.com/c/Denisgeek 

★ Моя партнёрка с Aliexpress ★

http://ali.pub/1j9ks1 

★ Получай 10.5% скидку с любой покупки на Aliexpress! ★

http://ali.pub/1lx67o

★ Полезное браузерное приложение для кэшбэка  ★

Похожие статьи

Arduino UNO как осциллограф

Контроллеры Arduino можно использовать как простейший осциллограф, для наблюдения за быстро изменяющимися электрическими сигналами.

Скачиваем программу Processing , после чего её устанавливать не нужно — она запускается с EXE-файла.

ESP8266 карманный вай-фай джаммер

Многие знают что же такое джаммер. Но давайте рассмотрим возможности вай-фай джаммера .В основном это устройство, которое выполняет какую либо спам-атаку на объект.Вы выбираете клиентов, которые хотите отключить от своей сети, и начните атаку. Пока атака выполняется, выбранные устройства не могут подключиться к своей сети.Также были реализованы другие виды атаки .

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

Протокол 802.11 Wi-Fi содержит так называемый фрейм деаутентификации. Он используется для безопасного отключения клиентов от беспроводной сети.Поскольку эти управляющие пакеты незашифрованы, вам просто нужен MAC-адрес маршрутизатора Wi-Fi и клиентского устройства, которое вы хотите отключить от сети. Вам не обязательно быть в сети или знать пароль, этого достаточно, чтобы быть в его диапазоне.

Подключение OLED I2C дисплея с размером экрана 0,96″ и разрешением 128*64 точек к плате Arduino UNO.

Сегодня мы рассмотрим подключение OLED I2C дисплея с размером экрана 0,96″ и разрешением 128*64 точек к плате Arduino UNO.

Установка и настройка RetroPie на Orange pi Raspberry Pi

Хотите поиграть в видеоигры из детства? Танчики, Контра, Чип и Дэйл, Черепашки Ниндзя… Все эти игры ждут вас! Из данного руководства вы узнаете как просто и быстро собрать и настроить ретро-консоль на базе микрокомпьютера Raspberry Pi и сборки эмуляторов RetroPie.

</span></p>

GSM cигнализация на базе ардуино и SIM800L Arduino

Данный проект является охранной системой домашней сигнализации собранной на базе платы ардуино нано и GSM модуля SIM800L

  .

Теги: ESP8266 Wi-Fi термометр, 2 датчика 18b20, через blynk, esp8266 blynk ds18b20, termometr blynk, diy, iot, blynk, denis_geek, термометр с телефона, , blynk esp8266 dallas18b20, denis geek, сделай сам, вай-фай термометр блунк, вай-фай, термотер блунк

В последнее время всё большую популярность набирают Wi-Fi модули на основе ESP8266. Я тоже решил приобщиться к прекрасному, задумав реализовать термометр, отдающий данные по HTTP. Итак, поехали.

Hardware

ESP8266 Для проекта пойдет любой из модулей от ESP-01 до ESP-11, у меня были ESP-03 (стоимость ~ $3): Особенно приглянулись: ESP-01 — удобен для прототипирования (есть разъем под макетку), но выведен всего 1 GPIO; ESP-03 — много выводов, плюс керамическая антенна; ESP-07 — то же самое что и ESP-03 + экран и разъем под внешнюю антенну.DS18B20 Как вариант, можно купить уже с проводом и в герметичном корпусе.Питание 3.3В Необходим источник питания как минимум на 200мА.USB-UART Для прошивки и отладки. Я использовал преобразователь на основе CP2102

Подключение

Подключаем питание на ESP8266. На ногу CH_PD так же подаем плюс. Внимание! У кого модули не ESP-01, необходимо подать GPIO15 — GND; GPIO2 -3.3V. У ESP-01 это уже сделано. RX и TX подключаем к USB-UART преобразователю для прошивки и отладки кода: Подключаем DS18B20 к ESP8266. Если смотреть на маркировку: левая — земля, средняя — сигнал (GPIO12 на ESP-03), если у вас ESP-01, подключайте к GPIO0, правая — питание(3.3V). Между питанием и сигнальной линией желательно подключить резистор 4.7 кОм (у меня работает и с 10 кОм):

thingspeak.com

Регистрируемся на thingspeak.com, создаем канал, копируем оттуда 16-символьный ключ. Он нам пригодится для отправки данных о температуре в облако.

Прошивка NodeMCU

NodeMCU — это прошивка, позволяющая запускать Lua скрипты на ESP8266. Качаем последний NodeMCU Flasher и запускаем его. Подключаем GPIO0 на землю. Выбираем нужный COM порт и скорость 74880 или 115200 (как я понимаю, у некоторых версий ESP8266 бутлоадер работает на 74880). Нажимаем Flash и передергиваем питание на ESP8266. Если прошивка не запускается, проверяем корректность подключения RX,TX, запустив PuTTY на скорости 74880. В момент подачи питания в консоль должна валится строка вроде «ets Jan 8 2013,rst cause:1, boot mode:(1,0)«. После корректной прошивки отключаем GPIO0 от земли:

Заливка Lua скриптов и запуск

Скачиваем и запускаем LuaLoader. Выбираем COM-порт и скорость 9600, если нет соединения — пробуем передернуть питание у модуля ESP8266. Проверяем соединение, нажав на кнопку ChipID. В консоль должен вывестись идентификатор чипа.

= node.chipid() 10371968 

Заливаем нужные файлы (кнопка UploadFile): 1. ds18b20.lua — библиотека для взаимодействия с DS18B20; 2. httpsender.lua — наш скрипт, читающий данные температуры и отправляющий их на thingspeak.com. Не забываем заменить YOURAPIKEY на свой ключ. gpio=6 — в случае подключения датчика к GPIO12, в случае GPIO0 — gpio=3 (таблица):

gpio = 6 require('ds18b20') ds18b20.setup(gpio)  function sendData() t=ds18b20.read() print("Temp:"..t.." Cn") -- conection to thingspeak.com print("Sending data to thingspeak.com") conn=net.createConnection(net.TCP, 0)  conn:on("receive", function(conn, payload) print(payload) end) -- api.thingspeak.com 184.106.153.149 conn:connect(80,'184.106.153.149')  conn:send("GET /update?key=YOURAPIKEY&field1="..t.." HTTP/1.1rn")  conn:send("Host: api.thingspeak.comrn")  conn:send("Accept: */*rn")  conn:send("User-Agent: Mozilla/4.0 (compatible; esp8266 Lua; Windows NT 5.1)rn") conn:send("rn") conn:on("sent",function(conn)                       print("Closing connection")                       conn:close()                   end) conn:on("disconnection", function(conn)                                 print("Got disconnection...")   end) end  -- send data every 60000 ms to thing speak tmr.alarm(0, 60000, 1, function() sendData() end ) 

3. init.lua — скрипт инициализирующий WiFi и запускающий httpsender.lua. Не забываем прописать свои SSID и пароль для WiFi:

print("Setting up WIFI...") wifi.setmode(wifi.STATION) --modify according your wireless router settings wifi.sta.config("SSID","SSIDPASSWD") wifi.sta.connect() tmr.alarm(1, 1000, 1, function()  if wifi.sta.getip()== nil then  print("IP unavaiable, Waiting...")  else  tmr.stop(1) print("Config done, IP is "..wifi.sta.getip()) dofile("httpsender.lua") end  

Итог:

Планы

Это первый опыт работы с ESP8266. В планах попробовать следующее: 1. Найти альтернативу thingspeak. Графики хочется двигать и масштабировать. Может, кто-то знает аналоги? 2. Датчик влажности (возможно, DHT22). Вроде уже есть в стандартных библиотеках. 3. Датчик CO2 на основе датчика K-30. 4. Управляемый рассвет без дополнительного контроллера, управление с ESP8266. Вдохновила публикация «Искусственный рассвет».

Используемые материалы

За основу взят текст «Low cost WIFI temperature (DS18B20) data logger based on ESP8266 with connectivity to thingspeak.com». Код для DS18B20 почему-то отказался работать, пришлось перейти на стандартную библиотеку ds18b20.lua.Используемые источники:

  • http://www.electronica52.in.ua/proekty-arduino/esp8266-wifi-termometr-18b20
  • https://habr.com/post/252481/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации