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

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

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

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

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

Что должен делать блок:
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 18:53:02 отредактировано Николя)

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

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

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

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

7 (2015-10-01 20: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.  Здесь подробно все, качаем ставим  http://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 управление ректификационной колонной

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

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