Заказчик
Заказчик Warlib | FL.RU

Заказчик

На сайте 10 лет и 9 месяцев (заходил 2 месяца 12 дней назад)
7
5341.33
Рейтинг
5341.33
Все (6)       Заказы (6)        Вакансии (0)       Конкурсы (0)
Разместить заказ
14 Июля 2023
По договоренности
Необходимо реализовать прототип кода на ESP32 для управления через бот Telegram. Оплата через «безопасная сделка».
1. Код Telegram бота на Python.
2. При использовании библиотек предпочтение github.com/aiogram/aiogra... (обсуждаемо).
3. При выборе библиотек согласовать с Заказчиком.
4. При первом старте бота пользователь должен ввести:
a. “MAC адрес”, однозначно идентифицируя ESP32 микроконтроллер.
b. “Имя” пользователя.
c. “Имя ESP32” – текстовое название ESP32, понятное Пользователю, чтобы выбирать не по MAC адресу. “Имя ESP32” однозначно связано с MAC адресом.
5. Информация о введенных параметрах сохраняется в СУБД, например, MySQL (выбор согласовать с Заказчиком). В дальнейшем Клиент не должен повторно вводить ранее введенную информацию о MAC адресах и пр.
6. К одному пользователю Telegram может быть привязано несколько ESP32 контроллеров (устройств).
7. Бот должен поддерживать взаимодействие с произвольным количеством Пользователей – тысячи, но одновременно команды будут отправлять несколько десятков человек.
8. ESP32 микроконтроллер находится за NAT, без проброса портов.
9. Если у пользователя добавлено только одно устройство ESP32, то выбора устройства не требуется. Введенная команда отправляется непосредственно на ESP32 микроконтроллер.
10. Если у пользователя подключено несколько устройств, то перед отправкой команды он должен выбрать из списка нужное устройство. В дальнейшем выбор действует до тех пор пока Пользователь не перезапустит бот, либо сменит устройство.
11. Пользователь должен иметь возможность сменить устройство для отправки команды в любой момент.
12. После выбора нужного ESP32 Пользователь может отправить следующие команды:
a. Включение и выключение светодиода (можно повесить на любой pin ESP32, либо использовать светодиод на DevKit).
b. Отправить произвольное число.
c. Показать какое ESP32 устройство выбрано в данный момент.
13. Пользователь может запросить командой данные с ESP32:
a. Текущее состояние светодиода.
b. Равнее отправленное на ESP32 произвольное число.
c. Лог включений и выключений светодиода и изменения произвольного числа в виде текстового сообщения разбитого построчно.
d. При возникновении события на стороне ESP32 оно должно передаваться в бот и привлекать внимание Пользователя push-ем.
14. После разработки проекта нужна инструкция по установке:
a. Исходники проекта с комментариями по коду.
b. Ссылки на библиотеки.
c. Команды установки компонентов, если что-то специфическое.
d. Видео как работает бот с двумя DevKit-ами ESP32.
e. Все файлы с документацией упакованы в один архив .zip.
15. Серверная часть чат-бота должна взаимодействовать с устройствами ESP32 по протоколу MQTT.
16. ESP32 устройство при обращении к серверу при авторизации передает в MQTT свой MAC адрес и ему возвращаются команды относящиеся к нему. Как производится обмен в плане безопасности согласовать с Заказчиком.
17. В качестве MQTT брокера желательно использовать (обсуждаемо):
a. www.hivemq.com/developers... (Java).
b. github.com/Yakifo/amqtt (Python).
c. github.com/beerfactory/hb... (Python).
d. Либо публичные сервера – MQTT брокеры kotyara12.ru/iot/cloud_se... у которых нет проблем с доступом с территории России:
i. cloud.yandex.ru/services/...,
ii. www.wqtt.ru/ (Mosquitto).
iii. И т.п.
18. Можно разбить задачи на меньшие блоки для удобства получения платежа На усмотрение Исполнителя.
19. На рис. показана предполагаемая схема работы бота:
a. Chat-bot Server – разрабатываемый сервер чат-бота.
b. ESP32-1 .. ESP32-n – клиентские устройства на базе ESP32.
c. Telegram-1 ... Telegram-n – телеграмм клиенты.
d. Telegram server – сервер Telegram с которым взаимодействуют клиенты Telegram.

Прошло времени с момента публикации: 9 месяцев 17 дней 4 часа 26 минут
Раздел: Программирование / Разработка Чат-ботов

Рейтинг: 12449.4 Исполнитель определен:
14 Июля 2023
По договоренности
Необходимо разработать модуль для системы управления умным домом MajorDoMo (www.mjdm.ru/) для управления электрокотлом Эван NEXT PLUS (www.evan.ru/products/byto...
Управление котлом по Modbus RTU. Команды описаны в прилагаемом файле.
По результатам выполнения работы должен быть записан screencast с описанием как устанавливается модуль и как настроить взаимодействие с электрокотлом, чтобы управлять параметрами котла из MajorDoMo.

Прошло времени с момента публикации: 9 месяцев 17 дней 11 часов 25 минут
Раздел: Программирование / Плагины/Сценарии/Утилиты

Рейтинг: 12449.4 Исполнитель определен:
21 Апреля 2023
Необходимо разработать прототип под любой DevKit с ESP32-WROOM, используя Tuya Link SDK (developer.tuya.com/en/lin..., демонстрирующий интеграцию отопительного оборудования с облаком и приложением Tuya. Примеры интеграции: cnx-software.ru/2021/12/1... Язык для реализации С/С++.
1. Будет предоставлена учетная запись на сервере Tuya под которой нужно проводить разработку.
2. В качестве DevKit можно использовать любой c ESP32-WROOM микроконтроллером.
3. Процесс настройки личного кабинета (ЛК) под использование ESP32 должен быть зафиксирован screencast-ом (создание лицензий, создание нового устройства и пр.).
4. После добавления созданного в ЛК устройства в приложение Tuya оно должно иметь следующие элементы управления:
a. Управление температурой 1. Подпись рядом с контролом «Темп. 1 (цель)». Любой подходящий элемент управления. Диапазон: от 8 до 85.
b. Управление температурой 1. Подпись рядом с контролом «Темп. 1 (факт)». Любой подходящий элемент управления. Диапазон: от 8 до 85.
c. Выбор режима. Любой подходящий контрол, например, ComboBox, с названиями режимов: «Режим 1», «Режим 2», «Режим 3».
d. Переключатель (вкл/выкл) с названием «ГВС».
e. «Label 1» получающий данные с сервера Tuya и отображающий температуру выставленную на контроле «Темп. 1 (факт)».
5. При изменении параметров любым элементом управления информация об изменениях должна сохраняться в текстовый лог операций в приложении Tuya, чтобы можно было посмотреть дату и время изменения параметра и с какого на какое значение произошло изменение.
6. При изменении «Темп. 1 (факт)» если значение становится выше заданного «Темп. 1 (цель)» в приложении Tuya должно возникать push уведомление с информацией о превышении температуры.
7. Прототип должен быть оттестировать таким образом, чтобы два пользователя с своими учетными записями Tuya (отличными от той, под которой производилась разработка) могли управлять:
a. Одним и тем-же устройством (семейный режим). На один DevKit залита прошивка с Tuya Link SDK. Два пользователя со своими учетными записями подключаются с мобильного приложения Tuya (или с Android/iOS эмулятора) к устройству и управляют им. Второй пользователь видит изменения сделанные первым и наоборот.
b. Разными (индивидуальными) устройствами. На два DevKIt заливается одна и та-же прошивка, подключенная к учетной записью под которой велась разработка. Первый пользователь подключается к первому DevKit-у и управляет им. Второй пользователь подключается к второму DevKit-у и управляет им. Изменения на каждом из устройств не должны транслироваться в приложение на другом мобильном устройстве, т.е. они должны работать полностью независимо.
8. Если с таким тестированием параллельным тестированием будут сложности (нет второго мобильного телефона/проблема с эмулятором мобильного и пр.) – с нашей стороны поможем одновременно провести тест.
9. Результаты тестирования фиксируются screencast-ом. Имена файлов должны отображать какой вариант тестируется и под каким пользователем.
10. Все исходные коды, ссылки на видео и описание использованных библиотек (ссылки откуда брать) передаются при сдаче проекта.

Прошло времени с момента публикации: 1 год 9 дней 11 часов 26 минут
Раздел: Программирование / Встраиваемые системы
26 Января 2023
По договоренности
Необходимо разработать прототип кода на С/С++ для ESP32 с использованием фреймворка arduino платформы espressif32 до версии 3.5.0 включительно (platformio), реализующий передачу параметров Wi-Fi сети (SSID и пароль) на микроконтроллер ESP32 по Wi-Fi (в режиме AP) с мобильного приложения.
Для пользователя процесс должен выглядеть следующим образом:
1. Запускает мобильное приложение.
2. Нажимает кнопку "Найти".
3. В мобильном приложении выбирает Wi-Fi точку доступа (SSID) к которой оборудование должно подсоединится. Вводит пароль для неё.
4. Если в сети несколько устройств подходящих по шаблону SSID – выводит пользователю список для выбора.
5. Приложение получает IP адрес уже в локальной WiFi сети, либо открывает браузер с IP уже из локальной сети (не AP, а в STA) и выводит его на экране приложения.
Реализация алгоритма видится следующим образом (для обсуждения):
1. Пользователь активирует на ESP32 Wi-Fi в режиме AP (точка доступа). Реализовать как удобно, например, на кнопку повесить. Обсудить.
2. Имя точки доступа ESP32 уникальное: префикс (например, EXPERT_) + 4 последних символа MAC адреса в HEX без разделителей в верхнем регистре.
3. Пользователь запускает тестовое мобильное приложение, которое нужно написать на Android (Kotlin).
4. Пользователь нажимает кнопку "Найти".
5. Приложение получает список доступых Wi-Fi сетей, фильтрует имена точек доступа по префиксу EXPERT_, получает MAC адрес устройства и сравнивает полученное имя с именем Wi-Fi точки.
6. В сети могут быть несколько устройств с нужным префиксом. В этом случае приложение должно отобразить пользователю все устройства подходящие по шаблону.
7. В приложении пользователь выбирает из списка доступных Wi-Fi сетей точку доступа к которой ESP32 должен быть подключен уже в режиме STA. Вводит пароль к ней. Эти параметры сохраняются в приложении для передачи на микроконтроллер ESP32.
8. Запускается связывание при котором приложение обращается к ESP32 и по http передает запрос на спаривание. На ESP32 использовать стандартный web server (не асинхронный) из framework-arduinoespressif32@3.10006.210326 (espressif32@3.5.0) и библиотеку http из того-же фреймворка.
9. На экране устройства появляется 4-х значный пин-код, который пользователь должен ввести в соответствующее поле в мобильном приложении.
10. Приложение пересылает на ESP32 зашифрованный JSON файл (при шифровании используется MAC + salt + ПИН) с информацией о SSID точки доступа и пароль. Salt для прототипа произвольный.
11. Для передачи параметров нужно использовать HTTP POST запросы.
12. Приложение получает от ESP32 MAC адрес STA для однозначного поиска ESP32 в локальной сети.
13. После получения и расшифровки ESP32 параметров WiFi сети к которой нужно подключится, она перегружается и подключается к WiFi сети, используя переданные параметры SSID и пароль.
14. Приложение, потеряв AP ESP32, либо иным способом определив, что ESP32 перешло в режим подключения к WiFi сети, переподключается к локальной Wi-Fi сети (той-же, к которой подключали ESP32 в приложении).
15. Приложение сканирует локальную сеть (простой перебор по пулу IP адресов определяемому маской) и находит сетевое устройство с тем MAC адресом, который был у ESP32.
16. Мобильное приложение отображает IP адрес, назначенный ESP32 в Wi-Fi сети.

Прошло времени с момента публикации: 1 год 3 месяца 4 дня 14 часов 44 минуты
Раздел: Программирование / Встраиваемые системы

Рейтинг: 12449.4 Исполнитель определен:
05 Апреля 2016
По договоренности
Устройство на Arduino должно реализовывать следующий функционал:
1. Считывать данные (на прерываниях, не в loop) с импульсного входа Arduino (например, с импульсного выхода счетчика воды).
2. Сохранять данные в энергонезависимой памяти: номер входа Arduino, текущее состояние счетчика импульсов.
3. Записывать в лог отсчеты с заданным интервалом (например, 5 минут) с укзанием номера входа, даты и времени.
4. Возможность присвоить входу human readable имя.
5. Отображать на >1-х строчном дисплее информацию о имени входа (при отсутствии – номере входа) и счетчике. Кнопка для скроллирования по входам.
6. Иметь возможность считать/записать сохраненную информацию (лог, показания счетчков по входам) по Bluetooth LE 4.x (shield SH-HC-08 или SH-H4 или аналоги) с помощью программы на C#/.NET.
7. Иметь возможность выставить исходные значения счетчиков по каждому из входов.
Результат работы: схемотехника Ardunio, исходники скетча и C# проект.

Прошло времени с момента публикации: 8 лет 24 дня 16 часов 21 минута
Раздел: Программирование / Встраиваемые системы

05 Апреля 2016
По договоренности
Разработать на базе Arduino + Bluetooth 4.x shield (SH-HC-08 или SH-H4) схемотехнику и скетч для выполнения следующего действия:
1. Детектировать появление в зоне видимости антенны SH-HC-08/SH-H4 shield Bluetooth 4.0 (BLE) устройства. Время детектировани <0,5 сек.
2 Считывать и сохранять в энергонезависимой памяти следующую информацию о детектированном BLE устройстве:
2.1. Уникальный Bluetooth ID (имя устройства).
2.2. Уровень сигнала (в идеале как в случае с iBeacon примерно определять расстояние при прямой видимости).
2.3. Дату и время появления устройства.
3. BLE устройство может быть любым: гарнитура, фитнес-браслет, радиометка iBeacon и т.п.
4. Взаимодействия shield через прерывания, т.е. Arduino должен гарантированно считать информацию о пронесенном мимо BLE устройстве, а не считывать в loop.
5. Возможность считать с Arduino информацию из энергонезависимой памяти через Bluetooth и/или USB (например, .NET приложение на ПК).
6. Должна быть индикация срабатывания в виде 4-х значного цифрового индикатора, показывающего количество срабатываний BLE устройства с определенным ID.
7. Кнопка сброса обнуляет счетчики срабатываний BLE устройств.

Прошло времени с момента публикации: 8 лет 24 дня 16 часов 23 минуты
Раздел: Программирование / Встраиваемые системы

Сведения об ООО «Ваан» внесены в реестр аккредитованных организаций, осуществляющих деятельность в области информационных технологий. ООО «Ваан» осуществляет деятельность, связанную с использованием информационных технологий, по разработке компьютерного программного обеспечения, предоставлению доступа к программе для ЭВМ и является правообладателем программы для ЭВМ «Платформа FL.ru (версия 2.0)».