СоХабр закрыт.

С 13.05.2019 изменения постов больше не отслеживаются, и новые посты не сохраняются.

| сохранено

H WiFi-чайник в домашних условиях, или как сделать обычный чайник по-настоящему умным в черновиках

image

Предисловие



Если вы читали мою предыдущую статью (Бегущая строка на Arduino), то наверняка уже знаете, что у нас в университете есть возможность делать аппаратные курсовые проекты. И я, вдохновлённый предыдущей своей работой, решил ещё раз попробовать сделать что-нибудь своими руками. Только теперь тема должна была быть посерьёзнее. Кстати, думать о том, что сделать, я начал ещё на зимних каникулах, то есть до начала семестра. Хотелось сделать что-нибудь интересное и полезное одновременно.


Поиск идеи



Однажды на паре по Основам защиты информации у нас была тема, связанная с интеллектуальной собственностью и патентами. Преподаватель дал нам задание оформить по всем требованиям патент на какое-нибудь устройство и в качестве примера привёл wifi чайник.
Сказал — и забыл. И все забыли, а у меня в голове эта тема осталась. И когда пришло время думать над тем, что делать в качестве курсового в следующем семестре, я вспомнил про этот чайник.

Первым делом решил посмотреть, что же уже сделано. И каково было моё удивление, когда я увидел, что в продаже есть только три модели чайников с поддержкой управления по WiFi, и то два их них принадлежать одной компании. Это были Smarter iKettle 1.0 и 2.0 и российский Polaris PWK 1792CGL.

image

Интересно, что обычные электрические чайники есть почти в каждом доме, а умных так мало. Сравнив функции, предлагаемые производителями iKettle и Polaris, я составил список самых необходимых. Вот, что получилось:

  1. включение/выключение со смартфона;
  2. установка любой температуры нагрева воды;
  3. возможность узнать текущую температуру;
  4. отслеживание текущего объёма воды в чайнике;
  5. предупреждение и защита от включения при малом объёме воды;
  6. установка времени автовключения;
  7. уведомление о готовности;


Вроде выглядит реально, пора приступать к делу.

Поиск необходимых компонентов



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

«Так, основа уже есть» — подумал я.

Теперь нужно было заняться поиском компонентов для аппаратной части. Так как уже был небольшой опыт работы с Ардуино, решил всё реализовывать на ней. Тем более что сама Ардуина и модули для неё стоят недорого.

Так как мне всю часть управления чайником надо было вставить внутрь чайника, то выбор пал на Arduino Nano. Она маленькая и у неё есть интерфейс для подключения кабеля, в отличии от Pro Mini, которую нужно прошивать через UART.

image

Главной составляющей wifi чайника является, конечно же, wifi модуль. Поискав в Интернете что-нибудь доступное и по чему много туториалов, напоролся на ESP8266. А именно на версию 01. Посмотрел, что стоит недорого (в районе 2$) и вроде много инструкций по подключению. Остановился на нём. Что касается самого модуля, то тут хорошо подходит фраза: дёшево и сердито. Но об этом чуть позже.

image

Для контроля температуры нужен был какой-нибудь водонепроницаемый термодатчик. Нашёл на алиэкспресс водонепроницаемый NTC термистор, который выдерживает температуру больше 100 градусов. Нашёл и пример работы с ним, так что и тут быстро определился.

image

Надо было решить, как же сделать включение чайника в заданный момент времени, можно, конечно, было сделать программные часы на Ардуино и при совпадении времени включать чайник, но это работало бы нестабильно, и произойди случайно сброс программы, всё собьётся. Поэтому здесь на помощь пришли часы реального времени. А именно DS1307. Они имеют независимое питание (от батарейки на 3 В), да и ещё на модуле, на котором я остановился, была микросхема памяти EEPROM на 32K bit, которую я использовал для сохранения времени включения.

image

Ах да, так как чайник теперь должен включаться программно, то ещё понадобилось 1-канальное реле.

image

Что касается датчика уровня жидкости, то его пришлось делать вручную. Подробности ниже.

Из остального ещё понадобилось несколько резисторов разных номиналов, макетная плата для тестов, монтажная плата для собственно монтажа, проводки, паяльник с флюсом и припоем и львиная доля терпения.

Начало разработки



Так как проект представляет собой wifi чайник, то первым делом хотелось и надо было разобраться с модулем wifi. Как только пришла послыка, тут же распаковал и начал подключать.

Нашёл кучу примеров в Интернете. Всё как надо, стабилизатор напряжения на 3.3 В, делители напряжения для RX и TX. Собрал всё по примеру, подключаю – не полетело! В мониторе COM порта выводилась куча текста, как оказалось, происходил постоянный сброс модуля. На отправляемые АТ команды не реагирует. У автора статьи работает, у меня нет.

В чём же дело? Пробовал и другие схемы подключения искать, и так, и сяк, а модуль всё равно либо сбрасывается, либо ничего не выводит. А везде же написано красным шрифтом: «Не подавать на модуль 5 В, а то выйдет из строя». Так поиски решений иногда длились вечерами, уже думал покупать другой модуль, но решил проверить напряжение мультиметром.

Оказалось, что при подключении модуля к 3.3 В происходит падение напряжения ниже 3.2 В. Вроде бы, ну и ладно, падает и падает. Решил запитать от другого источника питания и оказалось, что модуль работает нормально при напряжении на нём выше 3.2 В, а ниже ему недостаточно и он постоянно сбрасывается.

В итоге, на свой страх и риск, подключил к 5 В и всё работало и работает до сих пор нормально.



С остальными компонентами таких проблем не было.

После того, как разобрался с wifi, надо было решить, что делать с датчиком уровня жидкости. Погуглив, нашёл статью, в которой автор делал датчик влажности почвы. При высыхании почвы сопротивление датчика увеличивается и напряжение на аналоговом порту Ардуино растёт. Отлавливая изменение напряжения, можно фиксировать появление жидкости. Для определения уровня жидкости в моём проекте вместо двух контактов использовалось 6. Один из них подключён к 5 В выходу, а остальные к аналоговым входам и через 10 кОм резисторы к GND.

Вот фото тестов.




Вот какой датчик уровня получился в результате.



Следующее, что тестировал, — это часы реального времени. Но с ними работа в принципе проста. Для установки времени и получения информации о нём я использовал исключительно примеры, которые идут в комплекте с библиотекой для работы с DS1307.

В результате, когда всё собрал на макетной плате, получился вот такая помесь проводов и модулей. Кстати, на этих фото пока стоит другой датчик температуры.



Приступаем к монтажу



Теперь всё это нужно было распаять на монтажной плате. Здесь комментировать особо нечего, поэтому только фото. Как видно, ещё добавилась кнопка, чтобы можно было включать чайник не только со смартфона, а ещё и обычным способом.





Далее необходимо всё расположить внутри чайника.






Для защиты всех внутренностей от перегрева была добавлена асбестовая вставка.



Правда, корпус пришлось немного приподнять с помощью дополнительной пластиковой вставки.




Теперь переходим к мобильной части.



Что касается приложения, то, так как оно разрабатывалось под ОС Android, то изначально планировалось использовать Android Studio. Но в целях изучения новых технологий было решено использовать готовую платформу для разработки программ в области Интернета вещей. В результате выбор пал на продукт компании Evothings – Evothings Studio.

image

Вот её основные достоинства:

— большое количество стандартных примеров по работе с различными модулями (Wifi, Bluetooth);
— разработка приложений с использованием JS, HTML, CSS, что позволяет писать один код, который будет одинаково работать на ОС Android и iOS, т.е. пропадает привязка только к одной платформе;
— простота тестирования приложения: на смартфон устанавливается приложение для предпросмотра своей разработки, а все тестовые сообщения и сообщения об ошибках выводятся в программе на компьютере;
— большое количество информации в Интернете о разработке с использованием JS, HTML, CSS;

В этой Evothings Studio был пример включения светодиода, передавая запрос на включение через ESP8266. Я решил взять этот пример за основу, как раз там было самое ценное для меня – связь с модулем WiFi через tcp socket. И аналогично тому, как передавался запрос на включение светодиода, сделал передачу запроса на обновление датчиков чайника, на установку времени включения, установку температуры и т.д.

Потом прикрутил уведомления о готовности и малом количестве воды, благо, что всё в наше время легко гуглится. В результате получилось такое вот приложение (приятная штука делать интерфейс приложения с помощью CSS):







Краткое описание взаимодействия смартфона и чайника



Общение между серверной и клиентской частью осуществляется с помощью модуля WiFi. При включении модуля управления чайником, модуль WiFi начинает раздавать сеть под названием artKettle. Это делается с помощью AT команд на серверной части. Так, например, чтобы перевести модуль в режим точки доступа, ему необходимо отправить команду AT+CWMODE=2. Далее с помощью подобных команд необходимо назначить параметры сети, разрешить подключение нескольких устройств и получить ip адрес самого wifi.

Со стороны клиента подключение происходит через определённый порт и по ip адресу модуля wifi с использованием chrome.tcp.socket.

После подключения клиента к серверу можно управлять чайником со смартфона. Рассмотрим пример включения чайника.

При нажатии на кнопку включения в приложении artKettle происходит вызов соответствующей функции включения app.kettleOn(). Внутри этой функции происходит передача двух строк на серверную часть:

app.sendString('H');
app.sendString('U');


Далее идёт работа уже на стороне Ардуино. После прихода первой строки с символом ‘H’ выполняется следующая часть кода:
if(message.indexOf("H") >= 0 && waterDetected())  {
      digitalWrite(POWER_PIN, LOW); 
      IS_ON = true;
      Serial.println("ON");
      sendCIPData(0, "ON"); 
}


Сначала идёт проверка, есть ли в чайнике вода с помощью вызова метода waterDetected(). Рассмотрим вариант, когда вода в чайнике присутствует.

На пин управления реле подаётся низкий уровень напряжения, что соответствует его включению, т.е. цепь питания замыкается:
digitalWrite(POWER_PIN, LOW); 


Затем идёт установка флага того, что чайник включён, и вывод в монитор последовательного порта сообщения о включении.

После этого вызывается функция, передающая ответное сообщение клиентской стороне о том, что всё включение прошло успешно:

sendCIPData(0, "ON");


На клиентской стороне после проверки пришедшего сообщения производится установка кнопки включения в состояние On:
if (buf.substr(0, 2) == "ON") {
	app.setButtonOn();
}


После этого идёт обработка текстового сообщения с символом ‘U’, отправленного со стороны клиента на сервер. Здесь аналогичным включению образом происходит обновление информации о текущей температуре и объёме жидкости в чайнике.

Таким образом организована двухсторонняя связь клиента и сервера, так что любой из них знает о состоянии другого в любой момент времени.

Заключение



В результате курсового проекта была разработана модификация для обычного электрического чайника, позволяющая управлять им со смартфона по wifi. Теперь этот чайник вполне можно отнести к представителям Интернета вещей. Все функции удалось реализовать полностью, так что теперь этот чайник имеет следующие возможности:

— включение/выключение со смартфона;
— установка любой температуры нагрева воды;
— возможность узнать текущую температуру;
— отслеживание текущего объёма воды в чайнике;
— предупреждение и защита от включения при малом объёме воды;
— установка времени автовключения;
— уведомление о готовности;

Достоинствами реализованного проекта является доступность элементной базы, потому как всё необходимое можно найти в магазинах радиоэлектронных компонентов, расширяемость проекта. Так как в чайнике установлены все необходимые датчики, то его можно дорабатывать программно и сделать не хуже, чем аналоги. Учитывая многофункциональность используемого модуля wifi, можно подключить его к сети Интернет и организовать управление чайником, находясь в любой точке мира, а с использование онлайн сервиса обработки SMS сообщений можно организовать включение по SMS. Т.е. проект ещё очень расширяем, возможности для этого есть, но они не были реализованы, так как не входили в цели разрабатываемого проекта.

Конечно же есть и недостатки проекта. Первый из них – это нестабильная работа модуля Wifi. Модуль иногда просто так теряет сеть, начинает сбрасывать настройки или просто не обрабатывает пришедшие сигналы. Причём это популярные проблемы у пользователей данного модуля. Второй недостаток – это отсутствие механического выключения чайника. Выключение реализовано программно, при достижении температуры кипения происходит разрыв цепи с помощью реле. Если вдруг в программе произойдёт сбой, то чайник может не отключиться. Третий недостаток – проблема отслеживания температуры нагрева. Так, например, если чайник отключить при температуре 60 градусов, то нагревательный тен продолжит отдавать тепло, и через некоторое время температура воды уже будет около 70 градусов. Но это исправляется путём внесения корректировок в программу.
+14
~32000

комментарии (73)

+2
dmitryrf ,  
Можно исключить ардуину и сделать непосредственно на ESP8266. Например, на прошивке NodeMCU и платке ESP12. Тем не менее, статья интересная, узнал кое-что новое для себя.
–1
Jeditobe ,  
Есть вот такие интересные экземпляры с поддержкой языка LUA. А Луа язык будущего!
image.

Кстати в телеграмме есть крутой чатик про LUA — @prolua
0
dkv ,  
Они же на Aliexpress. В пару раз дешевле.
0
Jeditobe ,  
Не хочу говорить за всех, но у моих знакомых с Али переодически проблемы. То пришлют дохлое, то не то, что заказывали, а потом иногда и соскакивают с возмещения денег. Возможно, кому-то работа с Али неприемлема, или неприемлемы их сроки доставки.
+2
dkv ,  
Это и хорошо, когда есть выбор. Каждый выберет ссылку исходя из своих предпочтений.
0
sav13 ,  
Очень спорное решение использовать интерпретатор в микроконтроллере. И памяти он кушает очень много.
0
art_linux ,  
его можно и самодельной прошивкой с expressif SDK прошивать
0
Maikesteps ,  
1. Ардуино лишняя, все можно сделать на eps8266 чуть старшей версии (на данный момент разница в цене незначительная).
2. Било бы интересней сделать управление не через приложение, а через веб интерфейс, правда сам пока не очень понимаю как это сделать.
3. Я уже убил одну ESP8266 пятью вольтами логики, не стоит повторять мои ошибки.
+1
serafims ,  
Эх, воду он сам в себя не зальет…
0
cicatrix ,  
Стиральные машинки давно это умеют…
+3
Kop3t3 ,  
Давно мечтал запилить картофеле/макароно варку из стеральной машины. Наливать воду, варить и помешивать умеет. Реквестирую статью от кого-нибудь, кому не влом будет разобрать и почистить.
+2
ssneg ,  
А центрифуга на 1000 об/мин приготовит вам пюре.
0
MartinX ,  
Есть чайники-термосы, которые умеют подключаться к водопроводу. Но обычно это конструкции литров на 20.
0
mokele ,  

С бойлером на четыре литра стоит больше 80к рублей. Очень кусачая цена.

0
MartinX ,  
Больше на кофе-машину смахивает цена и объем… Вообще даже есть класс проточных нагревателей, чтобы кружку чая моментально делать.
0
mokele ,  

То, что имел ввиду называется GROHE Red. Честно говоря, сам не видел в работе и, быть может, есть какие-то более дешевые аналоги. Или же варианты собрать самому, например.

0
Dmitry_4 ,  
Обычный боллер для горячей воды чуть докрутить… У меня сломался и закипел — ошибка термостата.
0
Dmitry_4 ,  
Кстати, он и тепло воды сохраняет дольше термоса — несколько дней
0
bormotov ,  
В качестве источника вдохновения смотрим на готовые приводы на обычные водопроводные вентили, иногда встречаются возле систем защиты от протечек в квартире.

Дальше довольно просто — берем трубочки и всю водопроводную часть от стационарных фильтров воды, там и вентили есть, и скорее всего не нужно большое усилие на вентиль, шаговик к нему цепляется на ту же ардуину, и оп-па — «сам себе наливает воду».
0
link0ln ,   * (был изменён)
«Второй недостаток – это отсутствие механического выключения чайника.» — это первый и самый основной недостаток.
Купите в где-нибудь термореле от утюга или чего-то подобного, пусть по достижении 100 градусов размыкает. Я не знаю куда там цепляется реле кнопки и как оно работает. Не уверен, что самопальное термореле сработает, если не будет воды или она выкипит.
0
MartinX ,  
В чайниках штатная кнопка обычно биметаллической пластиной отжимается при кипении воды. Можно попробовать переиспользовать ее в конструкции.
0
dkv ,  
В нормальных чайниках всегда стоит ещё одна предохранительная биметаллическая пластина на спирали. Так что можно не колхозить дальше.
+1
ABy ,  
А можно функции внешнего RTC переложить на ESP8266? Пускай синхронизирует время через интернет. Либо сделать резервное питание от батарейки с переходом в режим пониженного потребления, так чтобы микроконтроллер продолжал считать такты?
0
sswa ,  
Так ESP8266 и сам умеет полноценный RTC!
+3
spc ,  
Кстати, сколько помню, здесь (GT/Habr) при упоминании датчиков влажности тандемом идет и совершенно дикая их коррозия.
+1
+2 –1
boomwest ,  
Асбест в чайнике. А ртутный фонтан на ардуино будет?
0
rozboris ,  

Асбест — страшный канцероген:


All types of asbestos fibers are known to cause serious health hazards in humans.
https://en.wikipedia.org/wiki/Asbestos#Toxicity_of_different_types_of_asbestos
0
jurok04 ,  
Только пыль асбеста опасна при вдыхании, в остальном он безвреден, как и графен.
+1
ur5mhy ,  
Волнуюсь за ваше реле… Вам не кажется, что оно слабое для чайника?
0
MikeNer ,  
Однозначно реле работает на грани, особенно в момент включения. Нужно более мощное.
0
ABy ,  
Можно попробовать твердотельное реле.
0
dkv ,  
Твердотельное реле само как-то ещё охлаждать нужно. Боюсь, внутри чайника ему придётся туго.
0
zubnoy ,  
10A * 220V = 2.2KW — врят-ли чайник мощнее
0
lexxair ,  
очень много чайников такого объема 2200-2400 Вт
0
migelle74 ,  
Во-первых амперы китайские, а во-вторых надо минимум двукратный запас по мощности.
Сначала это реле пощелкает, а в какой-то момент контакты сварятся и больше не выключатся.
+2
+3 –1
holomen ,  
Сильно надеюсь что это прототип которым автор не пользуется постоянно в жизни. Как только подумаю что в питьевой воде постоянно кипятятся неизвестная медь из витой пары и её изоляция, оцинковка с болтов, непонятная пластмасска, сразу становится нехорошо.
И еще по датчику уровня — постоянно подавать напряжение не лучшее решение, а учитывая что там еще и разнородные металлы — совсем плохо. Лучше этот датчик включить в диагональ моста и менять полярность — так датчик проживет намного дольше.
+3
Meklon ,  
Все равно — хлам. Пробовал в лаборатории. Провод реально стекает на глазах в раствор за считанные циклы. В каждой статье пишу об этом.
Используйте графитовые стержни от цанговых карандашей, иначе будет дикий элеткролиз. Проверки сопротивления только короткими импульсами. Вот вам моя схема, которую я сам собирал и успешно оттестровал в лаборатории:
image
0
holomen ,  
Смотря раствор чего, наверное. Самогонщики тоже с этим бодаются. Но применительно к чайнику думаю все не настолько печально. Хотя ваше решение конечно лучше и решает практически все проблемы.
0
cyberly ,  
Интересно, а автомобильный датчик уровня топлива может подойти? Они вроде бы бывают ультразвуковые (тогда должна быть точность порядка 1 см уровня). Ну или датчик от парктроника использовать или для роботов наверняка что-то есть. Нет контакта с жидкостью, промышленный диапазон, герметичные разъемы…
0
dkv ,   * (был изменён)
И температурная устойчивость. Не забываем про температуру внутри чайника. Как по мне, лучше исключить в принципе этот контроль уровня жидкости в принципе. А наличие воды в чайнике контролировать по скорости набора температуры датчиком. Если скорость недостаточна (или наоборот слишком высока, я не понял по фото как в чайнике установлен датчик) — воды нет, оповещение на смартфон что «просто добавь воды».
0
Dmitry_4 ,  
Эхолот использовать
+1
D77D ,  
Помню, была статья на этом же ресурсе про умный чайник. И там ещё описывали проблему с датчиком уровня жидкости. Он покрывается накипью, мокрая накипь даёт ложные данные.
Как бы сделал я. Вот есть у готовых термопотов, ну например NC-EG3000, прозрачная трубка, а в ней красный поплавок. Я бы внутрь поплавка поместил малый магнит, или хотя бы шарик от подшипника, а позади трубки — линейку датчиков металла. Датчики при этом работают насухую! А поплавок ещё и наглядность даёт, для того, кто стоит около чайника без смартфона в руках.
0
ruikarikun ,   * (был изменён)
У меня в одном из глупых чайников этот самый поплавок тоже накипью покрылся и начал застревать в трубке в случайных местах. Так что с накипью нужно бороться в любом случае.
+1
D77D ,  
Странно, у нас в отделе такой термопот много лет служит, ничего. Но даже если застревает, всё равно это лучше, чем кипятить металл под током, с коррозией.
Я не знаю, существуют ли датчики, способные бесконтактно, через стенку трубки, отличить воздух от воды. По электрическим свойствам. Если да, это идеально.
0
MartinX ,  
Теоретически можно емкость мерить. Можно на основе поплавка придумать какую-нить конструкцию.
0
ABy ,   * (был изменён)
Почему бы не мерить вес чайника? Упс, ниже уже написали.
0
jhonyxakep ,  
Можно придумать оптический метод измерения, как в инфракрасных тачскринах например
0
MartinX ,  
Можно мерить расстояние до воды или шарика. Но это оверхед имхо: проще взять пищевой пластик и позолотить контакты (или выбрать металл вроде из чего тены делают), проверять короткими импульсами переменного тока. Тогда воздействия на воды мизер будет. Хотя пьют же воду из армейского кипятильника, даже серийные есть изделия. Но тут надо просто химию и электролиз поднимать. А лучше поискать что в промышленности используют (в обычных чайника защита от отсутствия воды — просто биметаллическая пластинка сразу же перегревается и отщелкивает кнопку включения).
0
jar_ohty ,   * (был изменён)

Много чего люди пьют… А медные провода и оцинкованные (а при должной степени невезения — и кадмированные) винтики — гарантируют постепенное отравление данными металлами. Поэтому да, надо контакты золотить или, как я делал недавно (для других целей) применять в качестве контактов серебряную проволоку, запаянную в стекло. И уж конечно, на переменном токе, во избежание поляризации.

0
Meklon ,  
Вот еще хороший вариант. Но не дешевый. Banana-plug с золотым покрытием. Лучше графита.
image
0
Hoksmur ,  
Видел следующую конструкцию: прозрачная трубка без поплавка, но на заднюю стенку нанесён контрастный узор. За счёт того, что в воздухе показатель преломления один, а в воде — отличный от первого уровень воды хорошо виден за счёт изменения видимого рисунка.
Если конструкция измерительной трубки позволит — можно использовать несколько пар фотодиод+светодиод с отражением от задней стенки (измерительной трубки).
+1
dkv ,  
Ну хоть одна адекватная идея. Ну а можно просто в приложение подгружать кадр с камеры, смотрящей на чайник.
0
holomen ,  
Линейку датчиков холла с аналоговым выходом — можно будет отлавливать и промежуточные состояния поплавка.
0
D77D ,  
Ну вот да — что-то вроде Холла. Главная идея — чтобы с водой контактировал только поплавок в трубке, т.е. сплошной пластик, нигде не металл.
Да и нагляден поплавок, да. Однако я его видел только в термопотах, а в обычных чайниках предлагается просто глазом смотреть уровень воды в трубке.
Вообще, автоматизируйте термопоты, с ними проще. Датчик температуры уже есть и работает, поплавок тоже уже есть.
0
holomen ,  
Можно в чайник трубу, в трубу поплавок с магнитом, линейку холлов снаружи чайника прицепить и при желании показывать уровень линейкой светодиодов — с питанием ведь проблем нет.
+1
3cky ,  
Размышлял над подобным проектом, пришел к выводу, что наполнение чайника лучше всего контролировать по его весу. Можно, например, вместо одной ножки поставить толкатель, упирающийся в резистивный датчик давления внутри основания чайника.
0
D77D ,  
Только не применять такой способ (датчик веса вместо одной ножки) при использовании, например, на судне с качкой.
0
ssneg ,  
На судне с качкой и поплавок не поможет — будет ходить вверх-вниз.
0
sweetbrick ,  
Это даже не смешно(
2,4 забит, штоп пользоваться wifi'ем нужно держать 2 адаптера: один для коннекта, другой под mdk3/athrophy, штоп расчищать канал.
так теперь еще и чайники?
омг(
0
dkv ,  
Чайник стоит стационарно. Можно доколхозить и до витой пары.
0
MartinX ,  
У нас газ, были мысли сделать обычный чайник умным. Правда по сути развитие свитка будет: меряет температуру и по радиоканалу сигналит мне в дальнюю комнату, что пора пойти и чай сделать :). Газ отрубить посложнее электричества: нужна плита с контролем горения конфорки и вмешательство в это. Ну или тупо серву вешать, что теоретически поопаснее, чем инициировать штатную процедуру перекрытия газа плиткой.
0
r3l0c ,  
Думаю на 100 градусов стоит добавить детект остановки роста температуры-живу в Забайкалье, тут выше 97 градусов воду не вскипятить- высота над уровнем моря=падение давления кипения. Чайник будет кипеть, а до 100 градусов так и не нагреет воду.
0
Pakos ,  
Без подключения к воде или постоянно наливать или бесполезно греть кухню большим количеством уже залитой (термоизоляции, как понимаю, у него нет). Может, и к лучшему что нет — асбест не лучший выбор. Скорее нужно переделывать всю конструкцию — с подключением к воде, контролем уровня (хоть поплавком на штанге, как в унитазе), эмалированный/нержавеющий бак (пластик на фото выглядит ужасно и не навевает мысли о пригодности к контакту с пищевыми продуктами) с теплоизоляцией для экономии энергии, на нём можно вынести управление подальше от греющихся элементов.
0
Sibik ,  
В промышленном оборудовании применяется герметичная трубка с герконами, вдоль оси которой, перемещается поплавок с магнитом. На концах трубки ограничители с сглаженными шипами, от прилипания поплавка.
+1
Gudin ,   * (был изменён)
Есть мысль упихать все это не в дно чайника, а в подставку. Тензодатчик для определения количества воды (текущий вес — известный вес пустого чайника). Для управления достаточно ESP8266 без всяких ардуин. Она же будет по NTP время получать. Реле управляет подачей питания на круглый разъем, куда ставится чайник.
С температурой сложнее, но тоже можно придумать. Если принять температуру окружающей среды за константу, то температуру воды можно определить как функцию от количества воды в чайнике (уже известно), времени работы нагревателя и времени простоя чайника (остывания). Т.е. налили воды из фильтра (или откуда там ее наливает пользователь) — по весу определили количество залитой воды. Температуру воды приняли тоже какую-то заранее забитую. Пользователь нажал кнопку в телефону «хочу чаю аж кон...» и температурой 82 градуса. ESP поскрипело регистрами и включило реле на 73 секунды. Пользователь получил уведомление, что вода готова и налил себе стакан. Через 17 минут еще кто-то захотел воды с другой температурой, к этому времени контроллер будет знать и количество оставшейся воды, и ее температуру. Короче, мне кажется должно работать.
Плюс в том, что чайник вообще не надо будет модернизировать и точно так же он будет отключаться при закипании. Штатная кнопка включения чайника должна быть нажата для работы всей этой автоматики. Родная защита полностью на месте, вредных веществ в воду не попадает, кнопок и дисплеев на чайнике не добавляется.
Нафантазировал аж самому захотелось…
0
cyberly ,  
Ну так температура заливаемой воды может сильно отличаться… А еще напряжение может отличаться на 10% (соотв, мощность и время — на 20%). В порядке бреда — можно детектировать температуру с помощью микрофона, но в нешироких пределах. Еще можно попробовать определять температуру по сопротивлению выключенной спирали и по температуре контактного кольца. Или по температуре дна чайника при известной массе воды и температуре в помещении.
0
Gudin ,  
Да, тоже верно (только мощность и время изменяться на 21%). Но напряжение можно померить напрямую и учитывать.
С температурой, опять же, сложнее. С измерением сопротивления холодного нагревателя — отличная идея! А про микрофон не понял. Это как?
0
cyberly ,  
20% у меня получилось так: 1.05*1.05 — 0.95*0.95 = 0.2. А с микрофоном — чайник характерно шумит перед закипанием.
0
Gudin ,  
А у меня 0.21 как 1.1^2 — 1^2. Перельман какой-то )
Про микрофон — я подумал про какое-то нестандартное применение. А шум совсем не показатель. Когда я чищу чайник уксусной кислотой, то первые несколько раз он работает практически безшумно и начинает шипеть только перед закипанием.
0
cyberly ,  
Ну, так это же умный чайник) На слух определять температуру — вот где была бы настоящая победа искусственного разума. На самом деле, я думаю это возможно (потому что я сам примерно могу почувствовать этот момент, если условия повторяемые), но вряд ли это оптимальный метод. Зато он масштабируется на кастрюли.
0
tormozedison ,  
Уже делаете? Не спешите. Чайники с WiFi со временем будут дешеветь, а с «механикой» — дорожать. Не верите? Ну-ну. На заре транзисторизации подобным предостережениям тоже не верили, но теперь-то мы знаем…
0
vganin ,  
А не подойдёт ли для измерения уровня воды ультразвуковой датчик измерения расстояния типа HC-SR04?
0
ABy ,  
Читал про такой измеритель уровня воды в баке в каком-то diy проекте. В принципе, должно рабоать. Только как быть с повышенной влажностью в чайнике? Датчик должен монтироваться в крышку, а там будет пар под 100 градусов.