• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Нужна помощь Двухсторонняя связь Arduino Nano + ESP8266 и сервера.

Dmitrii Miller

New member
Всем привет!

Кто сможет помочь на платной основе сделать прошивку для совместной работы Arduino Nano и ESP8266?

Задачи заключаются в том, что-бы:

1) Осуществить отправку данных с Arduino на приемник со статичным IP адресом находящимся на удалённом сервере, привязывая время событий с модуля реального времени.

2) Создать двухстороннюю связь ардуино и сервера для дистанционного управления реле установленном в связке с ардуино и esp8266

Жду Ваших оценок по стоимости и сроку исполнения в личку, спасибо.
 

Dmitrii Miller

New member
Есть некоторые подробности по Т.З.

Задача по доработке прошивки Ардуино.

На данный момент Ардуино взаимодействует с ультразвуковым датчиком расстояния и при его изменении его показаний, а так же каждые 30 секунд отправляет информацию о текущей высоте на заданный порт сервера по протоколу tcp.

Требуется доработать прошивку чтобы:
1) В случае отсутствия соединения с интернетом, в памяти сохранялась информация по высоте(с привязкой по времени) и потом, при успешном подключении она вся передавалась на сервер.
2) Можно было с сервера на Ардуино отправлять команды на переключение реле.
Примечание: С данной задачей могут возникунть сложности, по причине того, что датчики с Ардуино подключаются к интернету через обычный wifi роутер. На первое время можно передавать команды на Ардуино в том же соединении, которое используется для передачи данных на север.

Open connection.
Arduino --> Server: 'sensor id: 12 height: 1500 mm' # сейчас данные передаются так
Arduino <-- Server: 'command rele 1 statment 1' # можно было бы похожим образом посылать информацию и на Ардуино
Close connection.

Примечание: разработка серверной части не требуется, нужно только описать взаимодействие. (Ардуино будет передавать данные вида Х. Чтобы переключить реле сервер должен отправить данные вида Y)
 

Ivizil

New member
Самый простой вариант для вас - это отправка GET запроса на ваш сервер (в моем случае это php) можете сразу передавать несколько переменных.

Это пример для интернет шилда - отправляю данные на свой сервер удавалось отправлять по 3-4 запроса в секунду . Сейчас пытаюсь переделать на esp

Код:
if (client.connect(server, 80)) {
   
    client.print( "GET /add_data.php?");
    client.print("data=");
    client.print( val ); // ваши данные
    client.println( " HTTP/1.1");
    client.print( "Host: " );
    client.println(server);//  ip вашего сервера
    client.println( "Connection: close" );
    client.println();
    client.println();
    //client.stop();
    delay(100);
add_data.php этом же соединении сервер вернет вам через POST текущее значении выключателя реле не сервере, все что вам останется это принять и разобрать данные на Ардуинке

В общем вы просто отсылаете данные на сервер и синхронизируете состояние реле с данными сервера
 

metaforos

New member
Самый простой вариант для вас - это отправка GET запроса на ваш сервер (в моем случае это php) можете сразу передавать несколько переменных.

Это пример для интернет шилда - отправляю данные на свой сервер удавалось отправлять по 3-4 запроса в секунду . Сейчас пытаюсь переделать на esp

Код:
if (client.connect(server, 80)) {
  
    client.print( "GET /add_data.php?");
    client.print("data=");
    client.print( val ); // ваши данные
    client.println( " HTTP/1.1");
    client.print( "Host: " );
    client.println(server);//  ip вашего сервера
    client.println( "Connection: close" );
    client.println();
    client.println();
    //client.stop();
    delay(100);
add_data.php этом же соединении сервер вернет вам через POST текущее значении выключателя реле не сервере, все что вам останется это принять и разобрать данные на Ардуинке

В общем вы просто отсылаете данные на сервер и синхронизируете состояние реле с данными сервера
Добрый день. Вот меня тоже интересует этот момент. С Езернет шилдом все работает. А под ЕСП как сделать? Т.е. алгоритм действий я понимаю. С PHP проблем нет. А вот скетч для ардуинки бы...
 

Ivizil

New member
Добрый день. Вот меня тоже интересует этот момент. С Езернет шилдом все работает. А под ЕСП как сделать? Т.е. алгоритм действий я понимаю. С PHP проблем нет. А вот скетч для ардуинки бы...
Всё ответы с примером для esp найдете здесь http://esp8266.ru/forum/threads/otpravka-get-zaprosa-na-sajt.406/
Зайдите ещё на habrahabr по указанной там ссылочке там есть пример рабочего сервера на php.
 

metaforos

New member
Сверху Снизу