1 (2015-10-02 10:35:15 отредактировано Николя)

Тема: Модуль ESP8266 wi-fi управление ректификационной колонной

Беспроводная автоматика. WI-FI управление ректификационной колонной

Пришел мой модуль 07 версии. Очень хочется приспособить его для автоматизации нашего хобби.
Esp 8266 модуль автоматики для ректификационной колонны

  Я снова решил пойти "Другим путем". Не хочу брать за основу какую то разработку, буду ковырять сам, конечно с помощью софорумников, надеюсь на это.
  Думаю стоит начать с тех задания и алгоритма работы будущего устройства.

Что должен делать блок:
1. Отображать информацию о текущих процессах и параметрах на встроенном дисплее и на удаленных устройствах (комп, ноут, смарт и прочее).
2. Контроль температуры по  позициям- куб, 2/3 колонны, верхняя точка колонны, температура воды на выходе дефлегматора.
3. Контроль атмосферного давления.
4. Контроль работы клапана отбора.
5. Контроль работы клапана подачи воды.
6. Контроль температуры флегмы в накопительном стакане.
.
.
.
Что то еще пока не решил.

Ленивые всё делают быстро, что бы скорее отделаться от работы и делают хорошо, чтобы не переделывать.
С уважением, Николай.
Моё оборудование : → Винокурня Николя

2

Re: Модуль ESP8266 wi-fi управление ректификационной колонной

Николя пишет:

на встроенном дисплее

Смысла нет, в него вебсервер ставится...   А так да, в нем достаточно gpio, главное по питанию все исполнительные подобрать, иначе придется на него отдельно питание вешать.

У вас в жизни всегда будет все, что вы хотите, если вы будете помогать другим людям получать то, чего хотят они.
Внимание! Через приват НЕ КОНСУЛЬТИРУЮ! Пишите в паблик.

3

Re: Модуль ESP8266 wi-fi управление ректификационной колонной

Вебсервер это да, но визуально посмотреть не помешает.
Питание придется мудрить. 3.3в, 5в и скорее всего 12в тоже понадобиться. На современной базе больших проблем нет, рассчитать потребление только.

Ленивые всё делают быстро, что бы скорее отделаться от работы и делают хорошо, чтобы не переделывать.
С уважением, Николай.
Моё оборудование : → Винокурня Николя

4

Re: Модуль ESP8266 wi-fi управление ректификационной колонной

Николя пишет:

Вебсервер это да, но визуально посмотреть не помешает.

Не спорю, но тогда задумка удаленного управления как бы ...  смысл собирать если уже есть готовое решение?
Хотя... как опция- согласен.

У вас в жизни всегда будет все, что вы хотите, если вы будете помогать другим людям получать то, чего хотят они.
Внимание! Через приват НЕ КОНСУЛЬТИРУЮ! Пишите в паблик.

5

Re: Модуль ESP8266 wi-fi управление ректификационной колонной

Ну в общем то опция и имелась ввиду. Если свободные лапы для айтуси будут.

Ленивые всё делают быстро, что бы скорее отделаться от работы и делают хорошо, чтобы не переделывать.
С уважением, Николай.
Моё оборудование : → Винокурня Николя

6 (2015-10-01 20:53:02 отредактировано Николя)

Re: Модуль ESP8266 wi-fi управление ректификационной колонной

Запустил модуль, не сразу конечно, но запустил.
Посмотрел АТ команды, загрузил прошивку хоме смарт. Ну в общем осваиваю.

Обвес по такой схеме.

Ленивые всё делают быстро, что бы скорее отделаться от работы и делают хорошо, чтобы не переделывать.
С уважением, Николай.
Моё оборудование : → Винокурня Николя

7 (2015-10-01 22:55:23 отредактировано Дмитрий Васильев)

Re: Модуль ESP8266 wi-fi управление ректификационной колонной

Я б кстате добавил  6 пунктом -измерение t флегмы в накопительной ёмкости.Обычно,об пнреохлаждении флегмы мы судим по t на выходе, но можно внедрить датчик в накопительную емкость. Мне кажется,что так будет удобнее оценивать работу дефлегматора.
И ещё это будет полезно в том случае если деф чрезмерно велик для Рк, (т.е. чтоб с этим справиться, необходимо подать воду скажем не 10 градусов,а 25,)то датчик флегмы нам скажет как настроить подачу воды
Добавлено: 2015-10-01 21:53:41

Ну и как мне кажется необходимые тех. требования
1)Выбор точности измерения t (ds18b20)
- 0.5
- 0.25
- 0.125
- 0.625
2)Интервал опроса датчиков
2 сек,
5 сек
итд
3) Канал 1 -нагрев (пример - тэн,или комнатный обогревптель)
t1выкл – температура выключения канала 1
t1вкл – температура включения канала 1
при этом t1выкл>= t1вкл
Канал 2 -охлаждение (пример :кондиционер; электромагнитный клапан)
t2вкл – температура включения канала 2
t2выкл – температура выключения канала 2
при этом t1вкл>= t1выкл
4) задержка выключения канала
от 1 сек до 1 мин

Чтобы получить правильный ответ, надо задать правильный вопрос

8

Re: Модуль ESP8266 wi-fi управление ректификационной колонной

Датчик флегмы решение интересное, я за. Для меня проблемы нет  его в колонну  интегрировать. У других могут быть затруднения.

Дмитрий Васильев пишет:

Выбор точности измерения t (ds18b20)

Здесь не знаю насколько реализуемо. В ардуинке в проге можно сразу забивать точность.
Интервал опроса тоже можно вписать в программу сразу.
Пока у меня  с такими вещами все упирается  в меню, не научился я его еще нормально делать.
С каналами понятно, думаю правильно.

Ленивые всё делают быстро, что бы скорее отделаться от работы и делают хорошо, чтобы не переделывать.
С уважением, Николай.
Моё оборудование : → Винокурня Николя

9

Re: Модуль ESP8266 wi-fi управление ректификационной колонной

Начнем по порядку.
Схема обвеса выше.
Так как ардуина мне понятна более менее, то пойдем путем установки Arduino IDE для ESP8266.  Здесь подробно все, качаем ставим  esp8266.ru/arduino-ide-esp8266/#i2c

На макетку я установил Светодиоды и подключил их к GPIO 12,13,14,16 через резисторы 470 Ом, для наглядности процессов мучения платы и кода.
Что бы понять как это работает помигаем диодами.
Напишем простенький скетч

int ledPin = 12; //Диод подключен к GPIO 12
void setup() {
  pinMode(ledPin, OUTPUT); // назначаем пин выходом
}
 
void loop() {
  digitalWrite(ledPin, HIGH);   // высокий уровень на пин светодиода
  delay(1000);                  // задержка 1 секунда
  digitalWrite(ledPin, LOW);    // назкий уровень на пин светодиода
  delay(1000);                  // Задержка 1 секунда
}

Зальем на плату и запустим программу.

Все работает, как с обычной ардуинкой.
Добавлено: 2015-10-04 15:43:11

Коротенькое видео.

[video]https://youtu.be/Kha_kD5Pbew?list=PL4oc … XLemtMlkt-[/video]

Ленивые всё делают быстро, что бы скорее отделаться от работы и делают хорошо, чтобы не переделывать.
С уважением, Николай.
Моё оборудование : → Винокурня Николя

10

Re: Модуль ESP8266 wi-fi управление ректификационной колонной

Теперь попробуем усложнить задачу. Запустим сервер и помигаем диодом его помощью.

Загружаем скетч. Ssid и  password ставим вашей точки доступа.
Заливаем скетч.

#include <ESP8266WiFi.h>
 

const char* ssid = "......";
const char* password = "......";
 
int ledPin = 12; // GPIO12
WiFiServer server(80);
 
void setup() {
  Serial.begin(115200);
  delay(10);
 
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);
 
  // Connect to WiFi network
  Serial.println();
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);
 
  WiFi.begin(ssid, password);
 
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");
 
  // Start the server
  server.begin();
  Serial.println("Server started");
 
  // Print the IP address
  Serial.print("Use this URL to connect: ");
  Serial.print("http://");
  Serial.print(WiFi.localIP());
  Serial.println("/");
 
}
 
void loop() {
  // Check if a client has connected
  WiFiClient client = server.available();
  if (!client) {
    return;
  }
 
  // Wait until the client sends some data
  Serial.println("new client");
  while(!client.available()){
    delay(1);
  }
 
  // Read the first line of the request
  String request = client.readStringUntil('\r');
  Serial.println(request);
  client.flush();
 
  // Match the request
 
  int value = LOW;
  if (request.indexOf("/LED=ON") != -1)  {
    digitalWrite(ledPin, HIGH);
    value = HIGH;
  }
  if (request.indexOf("/LED=OFF") != -1)  {
    digitalWrite(ledPin, LOW);
    value = LOW;
  }
 
// Set ledPin according to the request
//digitalWrite(ledPin, value);
 
  // Return the response
  client.println("HTTP/1.1 200 OK");
  client.println("Content-Type: text/html");
  client.println(""); //  do not forget this one
  client.println("<!DOCTYPE HTML>");
  client.println("<html>");
 
  client.print("Led pin is now: ");
 
  if(value == HIGH) {
    client.print("On");
  } else {
    client.print("Off");
  }
  client.println("<br><br>");
  client.println("Click <a href=\"/LED=ON\">here</a> turn the LED on pin 2 ON<br>");
  client.println("Click <a href=\"/LED=OFF\">here</a> turn the LED on pin 2 OFF<br>");
  client.println("</html>");
 
  delay(1);
  Serial.println("Client disonnected");
  Serial.println("");
 
}

Запускаем монитор порта.
Видим адрес который получил модуль


Отлично, вводим адрес в адресную строку браузера и получаем удаленный доступ к нашему модулю.

Нажимаем ON- включаем светодиод, OFF -выключаем.
Добавлено: 2015-10-04 16:27:10

Ну и конечно же видео, куда ж без него.

[video]https://youtu.be/vs1aZeH2KFk?list=PL4oc … XLemtMlkt-[/video]

Добавлено: 2015-10-04 20:47:56

Засада. Не получается скомпелировать код под ds1820. Толи библы битые, толи я туплю.

Ленивые всё делают быстро, что бы скорее отделаться от работы и делают хорошо, чтобы не переделывать.
С уважением, Николай.
Моё оборудование : → Винокурня Николя

11

Re: Модуль ESP8266 wi-fi управление ректификационной колонной

Николя пишет:

Все работает, как с обычной ардуинкой.

А почему тебе сразу не пойти по пути наименьшего сопротивления и не залить в нее nodemcu сразу с lua?
Connect to the wireless network

print(wifi.sta.getip())
--nil
wifi.setmode(wifi.STATION)
wifi.sta.config("SSID","password")
print(wifi.sta.getip())
--192.168.18.110

HTTP Client

-- A simple http client
conn=net.createConnection(net.TCP, false) 
conn:on("receive", function(conn, pl) print(pl) end)
conn:connect(80,"121.41.33.127")
conn:send("GET / HTTP/1.1\r\nHost: www.nodemcu.com\r\n"
    .."Connection: keep-alive\r\nAccept: */*\r\n\r\n")

like IO access

pin = 1
gpio.mode(pin,gpio.OUTPUT)
gpio.write(pin,gpio.HIGH)
gpio.mode(pin,gpio.INPUT)
print(gpio.read(pin))

HTTP Server

-- a simple http server
srv=net.createServer(net.TCP) 
srv:listen(80,function(conn) 
    conn:on("receive",function(conn,payload) 
    print(payload) 
    conn:send("<h1> Hello, NodeMCU.</h1>")
    end) 
end)

PWM

function led(r,g,b) 
    pwm.setduty(1,r) 
    pwm.setduty(2,g) 
    pwm.setduty(3,b) 
end
pwm.setup(1,500,512) 
pwm.setup(2,500,512) 
pwm.setup(3,500,512)
pwm.start(1) 
pwm.start(2) 
pwm.start(3)
led(512,0,0) -- red
led(0,0,512) -- blue
              

Blinking Led

lighton=0
tmr.alarm(0,1000,1,function()
if lighton==0 then 
    lighton=1 
    led(512,512,512) 
    -- 512/1024, 50% duty cycle
else 
    lighton=0 
    led(0,0,0) 
end 
end)

Interfacing with sensor

-- read temperature with DS18B20
t=require("ds18b20")
t.setup(9)
addrs=t.addrs()
-- Total DS18B20 numbers, assume it is 2
print(table.getn(addrs))
-- The first DS18B20
print(t.read(addrs[1],t.C))
print(t.read(addrs[1],t.F))
print(t.read(addrs[1],t.K))
-- The second DS18B20
print(t.read(addrs[2],t.C))
print(t.read(addrs[2],t.F))
print(t.read(addrs[2],t.K))
-- Just read
print(t.read())
-- Just read as centigrade
print(t.read(nil,t.C))
-- Don't forget to release it after use
t = nil
ds18b20 = nil
package.loaded["ds18b20"]=nil

И так далее... тем более никто не мешает ковырнуть известные прошивки ;)

У вас в жизни всегда будет все, что вы хотите, если вы будете помогать другим людям получать то, чего хотят они.
Внимание! Через приват НЕ КОНСУЛЬТИРУЮ! Пишите в паблик.

12

Re: Модуль ESP8266 wi-fi управление ректификационной колонной

Перепрошил nodemcu. Управление со страницы работает через сеть работает. А вот с ds1820 опять не фига.
Примеры из прошивки не запускаются. Ни знаю что и делать. Думал датчик тупит, другой такая же фигня.
Добавлено: 2015-10-07 18:04:49

https://youtu.be/1NetlvLHZZM

Ленивые всё делают быстро, что бы скорее отделаться от работы и делают хорошо, чтобы не переделывать.
С уважением, Николай.
Моё оборудование : → Винокурня Николя

13

Re: Модуль ESP8266 wi-fi управление ректификационной колонной

Николя пишет:

Думал датчик тупит, другой такая же фигня.

Может ему просто питания мало? датчику...

У вас в жизни всегда будет все, что вы хотите, если вы будете помогать другим людям получать то, чего хотят они.
Внимание! Через приват НЕ КОНСУЛЬТИРУЮ! Пишите в паблик.

14

Re: Модуль ESP8266 wi-fi управление ректификационной колонной

Он от 5 вольт запитан отдельно.

Ленивые всё делают быстро, что бы скорее отделаться от работы и делают хорошо, чтобы не переделывать.
С уважением, Николай.
Моё оборудование : → Винокурня Николя

15

Re: Модуль ESP8266 wi-fi управление ректификационной колонной

Ленивые всё делают быстро, что бы скорее отделаться от работы и делают хорошо, чтобы не переделывать.
С уважением, Николай.
Моё оборудование : → Винокурня Николя

16

Re: Модуль ESP8266 wi-fi управление ректификационной колонной

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

collectgarbage() 
— dofile(‘nk_start.lc’) — вызов модуля исходной инициализации датчиков
— function cb() — колбек функция повторяющегося измерения показаний датчиков

Попроси у Дмитрия его версию, оттуда инициализацию датчиков и ковырнешь.

У вас в жизни всегда будет все, что вы хотите, если вы будете помогать другим людям получать то, чего хотят они.
Внимание! Через приват НЕ КОНСУЛЬТИРУЮ! Пишите в паблик.

17

Re: Модуль ESP8266 wi-fi управление ректификационной колонной

Получилось вывести на страницу, осталось корректные данные получить.

Плоховато на ходу осваивать блин.
У Дмитрия прошивка по моему закрытая, или я ошибаюсь.

Ленивые всё делают быстро, что бы скорее отделаться от работы и делают хорошо, чтобы не переделывать.
С уважением, Николай.
Моё оборудование : → Винокурня Николя

18

Re: Модуль ESP8266 wi-fi управление ректификационной колонной

Николя пишет:

У Дмитрия прошивка по моему закрытая, или я ошибаюсь.

Я как-то ее с первого раза открыл, просто по топорному в hex   :)   Чего-то наковырял, незнаю пробовал он или нет...

У вас в жизни всегда будет все, что вы хотите, если вы будете помогать другим людям получать то, чего хотят они.
Внимание! Через приват НЕ КОНСУЛЬТИРУЮ! Пишите в паблик.

19

Re: Модуль ESP8266 wi-fi управление ректификационной колонной

Я ещё не пробовал свою микрушить шить,времени нема(((((,в скором времени тоже плвнирую за эту хреновину взятьсЯ

Чтобы получить правильный ответ, надо задать правильный вопрос

20

Re: Модуль ESP8266 wi-fi управление ректификационной колонной

А на меня лень напал  :)  Пару дней ни чего не хочется делать. Вот просто то форум читаю, то ютюб смотрю.

Ленивые всё делают быстро, что бы скорее отделаться от работы и делают хорошо, чтобы не переделывать.
С уважением, Николай.
Моё оборудование : → Винокурня Николя

21

Re: Модуль ESP8266 wi-fi управление ректификационной колонной

Продолжим.
Большой дружбы с Lua у меня пока не сложилось. Перековырял все, что можно. Библиотеки глючные, программировать толком на нем не умею!
Установил Arduino ESP IDE. Поставил его как портативную версию, что б с основной не конфликтовал.
Помучился и вот, что получилось.
Запустились ds1820, причем мульти режим. Пока два подключены. Организовано управление GPIO13 (просто для наглядности). Индикация состояния GPIO.
Еще бы приличную вебморду написать, да пока не придумал. таблицу стилей ведь не загрузить, а может и можно, только я не знаю как.


Добавлено: 2015-10-16 15:00:13

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

Ленивые всё делают быстро, что бы скорее отделаться от работы и делают хорошо, чтобы не переделывать.
С уважением, Николай.
Моё оборудование : → Винокурня Николя

22

Re: Модуль ESP8266 wi-fi управление ректификационной колонной

Николя пишет:

через заданный период

На стороне клиента вероятно надо обновлять..

У вас в жизни всегда будет все, что вы хотите, если вы будете помогать другим людям получать то, чего хотят они.
Внимание! Через приват НЕ КОНСУЛЬТИРУЮ! Пишите в паблик.

23

Re: Модуль ESP8266 wi-fi управление ректификационной колонной

На Опере просто, ставиться интервал обновления.  Поставил 10 секунд, работает.

Ленивые всё делают быстро, что бы скорее отделаться от работы и делают хорошо, чтобы не переделывать.
С уважением, Николай.
Моё оборудование : → Винокурня Николя

24 (2015-10-18 20:43:16 отредактировано Николя)

Re: Модуль ESP8266 wi-fi управление ректификационной колонной

Бета версия АвтоСэм на модуле ESP 8266.
Получилось нормально запустить датчики, организовать вывод информации на страницу. Можно запустить режим ректификации со страницы.
Работаю дальше.
Видео как всегда.

https://youtu.be/rmTdl9lfo_s

Ленивые всё делают быстро, что бы скорее отделаться от работы и делают хорошо, чтобы не переделывать.
С уважением, Николай.
Моё оборудование : → Винокурня Николя

25

Re: Модуль ESP8266 wi-fi управление ректификационной колонной

Ленивые всё делают быстро, что бы скорее отделаться от работы и делают хорошо, чтобы не переделывать.
С уважением, Николай.
Моё оборудование : → Винокурня Николя