Publish your project for free and start receiving offers from freelance contractors in serveral minutes after publication!
10 000 ₽

Web-морда с функционалом и изменением настроек для arduino/esp



Client's feedback on cooperation with Anton Kravtsov

Quality
Professionalism
Price
Availability
Terms

Всем доволен, рекомендую!

Freelancer's feedback on cooperation with Константином Булыниным

Payment
Task formulation
Requirements
Availability

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

Anton Kravtsov | Safe Safe


  1.  Winning proposal 14 days 10 000 ₽
    768    13  0

    Могу реализовать для вас необходимую программу для ESP8266 (NodeMCU V3).
    По функциональности:
    - Авторизация при подключении к устройству
    - Настройки WiFi-подключения и точки доступа + возможно, что-то ещё (через Web-интерфейс)
    - До 10 запросов (с поддержкой GET и POST по HTTPS, с шифрованием параметров с помощью SHA512)
    - Состояние устройства (отображение в Web-интерфейсе)
    Поддержка внешних кнопок:
    - отправка запроса
    - сброс
    Цена указана за поставку в исходных кодах на C++ (для Arduino IDE) + инструкция по настройке.
    Время указано с запасом на тестирование.

  • Николай Зыгмонт
    25 September 2020 |

    Только сам интерфейс сделать или ещё и соответствующий функционал ?

  • Константин Булынин — project author
    26 September 2020 |

    И функционал

  • Oleksandr Mymrikov
    26 September 2020 |

    какого типа авторизация нужна, basic authentication подходит? логины и пароли придется писать в программе уже в шифрованом виде

    sha512 аппаратно не поддерживается. придется костылями выкручиваться 

  • Константин Булынин — project author
    26 September 2020 |

    Basic подойдёт, нет никаких библиотек под это дело? И если костыли то насколько это сложно будет?

  • Oleksandr Mymrikov
    26 September 2020 |

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

    по поводу сложности реализации sha512 тоже не подскажу - сам лично не писал.

  • Константин Булынин — project author
    26 September 2020 |

    Шифрование надо только при создании и отправки post запроса на сторонний сервер с ардуино или esp, грубо говоря есть поля логин пароль от лк стороннего сервиса, с устройство при нажатии кнопки отправляется хеш логина пароля в sha512 запрос типа login=xxxx&pwd=xxxx

  • Anton Kravtsov
    27 September 2020 |

    ... с устройство при нажатии кнопки отправляется хеш логина пароля в sha512 запрос типа login=xxxx&pwd=xxxx 

    Здесь имеется в виду кнопка в Web-интерфейсе устройства или какая-то иная (напр., дополнительная аппаратная) кнопка?

    Т.е. заполняем данные в Web-форме , нажимаем кнопку "Отправить" и данные передаются на устройство, которое и осуществляет запрос к серверу?

  • Anton Kravtsov
    27 September 2020 |

    Web-интерфейс устройства будет использоваться только в локальной сети? Т.е. достаточно ли, чтоб на устройстве Web-сервер поддерживал только HTTP?

    Поле для отправки запроса POST/GET с SSL. 

    Полагаю, имеется в виду отправка запроса на какой-то сервер (в Интернет) по защищённому каналу (HTTPS), так ведь?

  • Константин Булынин — project author
    27 September 2020 |

    Да использование только в локальной сети, http будет достаточно.

    Все верно, отправка запроса на сервер в интернет.

  • Anton Kravtsov
    27 September 2020 |

    Возможность добавление дополнительных полей с POST/GET запросами.  

    Должна быть поддержка нескольких разных запросов?

    Они все будут выполняться одновременно?

  • Anton Kravtsov
    27 September 2020 |

    Сброс на заводские настройки. 

    Какие заводские настройки имеются в виду?

  • Константин Булынин — project author
    27 September 2020 |

    Кнопка будут физическая при нажатии которой отправляется post или get запрос или запросы в зависимости сколько настроено с данными прописанные в вебморде.


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


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

  • Anton Kravtsov
    28 September 2020 |

    1. Для упрощения Веб-интерфейса запросы можно было бы указываться перечнем в многострочном поле ввода, например, так:

    https://server1.com/request?login=username1&pass=PASSWD1
    https://server2.com/req?user=username2&pwd=PASSWD2
    ...

    Такой вариант подходит?

    Если не все поля запроса шифруются, то можно дополнительно указать перечень тех полей, которые надо зашифровать перед отправкой на Интернет-сервер.

    2. Одновременно отправлять запросы , думаю, не получится - мощностей микроконтроллера не хватит (ориентируюсь на esp8266). Если отправлять их последовательно (без задержки), то такая реализация подойдёт?

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

  • Константин Булынин — project author
    28 September 2020 |

    1. GET запросы можно сделать такими полями, а как быть с POST ? 

    2. Запросов я думаю будет мало, есть понимаем сколько максимум может отправить? даже если до 5 будет вполне достаточно, 10 это будет максимум, последовательно тоже подойдет, главное чтобы задержка между запросами была минимальная.

  • Anton Kravtsov
    28 September 2020 |

    Всё, что идёт в ссылке после ? (знак вопроса), программа будет считать параметрами: для POST-запроса параметры будут отрезаться и вставляться в тело запроса.

    Будет два списка запросов - GET и POST, которые будут вводиться в разных полях: сначала отсылаем GET-запросы, потом POST-запросы (или наоборот).

    Если же надо их чередовать, то придётся добавить пометки, например:

    server1.com/request?login=username1&pass=PASSWD1 
    POST server2.com/post?user=username2&pwd=PASSWD2
    GET server3.org/get?id=username2&password=PASSWD3 

    Всё это указывается в одном поле ввода.

    Если тип запроса не указан явно, то будет отправляться GET-запрос (ну, или POST).

    Количество запросов ограничено лишь памятью устройства. Если предполагается, что их будет очень много (больше 100), то, возможно, понадобится оптимизация по их хранению.

    По быстродействию стоит ориентироваться на 5+ сек. на один запрос.