Фриланс: заказать «Прикладное ПО – sqlite»
Закажите услуги фрилансеров для вашего проекта прямо сейчас!
Размещение заказа на фриланс бирже бесплатно, а предложения поступят уже через несколько минут.
Закажите: Прикладное ПО - sqlite на фрилансе в Киеве, Москве, Минске и в других городах и странах СНГ. На фриланс бирже weblancer вы можете найти широкий выбор проектов и вакансий с лучшими ценами, безопасной сделкой и своевременной оплатой.
Частые вопросы по прикладному ПО
💎 Как найти хорошего фрилансера по прикладному ПО?
Выбирайте лучших программистов на Weblancer.
⭐ Где найти работу по социальным сетям (SMM и SMO)?
Работа на фриланс для SMM-менеджеров есть на Веблансер.
⭐ Что такое фриланс-биржа?
Ознакомтесь с подробной информацией о фриланс-бирже.
Приветствую.
Я занимаюсь рассылками, мне нужно что бы несколько скриптов на питоне брали номера из одной базы данных и при ... Читать дальше
Я занимаюсь рассылками, мне нужно что бы несколько скриптов на питоне брали номера из одной базы данных и при ... Читать дальше
Приветствую.
Я занимаюсь рассылками, мне нужно что бы несколько скриптов на питоне брали номера из одной базы данных и при этом не могли взять одни и те же номера. Сейчас это реализованно на sqlite через блокировку базы данных, но данный способ мне не очень подходит, так как скриптов может быть до сотни и большинство из них ждёт пока другие скрипты возьмут или запишут информацию в базу.
Мне нужен способ, что бы все скрипты имели доступ к базе данных одновременно но при этом не могли взять одни и те же номера из базы. То как это реализованно сейчас я показал в прикрепленном файле.
Прошу предлагать конкретные варианты, предложения пипа "готов сделать" буду отклонять, да бы не тратить время на посредников которые рассылают предложения на все подряд. Свернуть
Я занимаюсь рассылками, мне нужно что бы несколько скриптов на питоне брали номера из одной базы данных и при этом не могли взять одни и те же номера. Сейчас это реализованно на sqlite через блокировку базы данных, но данный способ мне не очень подходит, так как скриптов может быть до сотни и большинство из них ждёт пока другие скрипты возьмут или запишут информацию в базу.
Мне нужен способ, что бы все скрипты имели доступ к базе данных одновременно но при этом не могли взять одни и те же номера из базы. То как это реализованно сейчас я показал в прикрепленном файле.
Прошу предлагать конкретные варианты, предложения пипа "готов сделать" буду отклонять, да бы не тратить время на посредников которые рассылают предложения на все подряд. Свернуть
4 заявки
Закрыт
Требуется внести изменения в ПО.
Требования к программисту:
Сам софт:
Написано на electron и nodejs
Соответственно нужно знать – html, ... Читать дальше
Требования к программисту:
Сам софт:
Написано на electron и nodejs
Соответственно нужно знать – html, ... Читать дальше
Требуется внести изменения в ПО.
Требования к программисту:
Сам софт:
Написано на electron и nodejs
Соответственно нужно знать – html, css, javascript
Стили – scss
Фронтенд – vuejs
База данных – sqlite
Операционная система – Raspberry Pi OS
Ядро:
Бэкенд – php, laravel
Соответственно нужно знать – html, css, javascript
Стили – scss
Фронтенд – vuejs
База данных – postgresql
Программа для генерации кодов разблокировки:
та что для командной строки на nodejs
та что с графическим интерфейсом на python
Ссылка на обзор программы:
youtu.be/zTdTMBeAHi8
Техническое задание в прикрепленном файле.
Красным цветом обозначено, что требуется сделать.
Приветствуются знания передачи данных в периферийные платы через UART. Свернуть
Требования к программисту:
Сам софт:
Написано на electron и nodejs
Соответственно нужно знать – html, css, javascript
Стили – scss
Фронтенд – vuejs
База данных – sqlite
Операционная система – Raspberry Pi OS
Ядро:
Бэкенд – php, laravel
Соответственно нужно знать – html, css, javascript
Стили – scss
Фронтенд – vuejs
База данных – postgresql
Программа для генерации кодов разблокировки:
та что для командной строки на nodejs
та что с графическим интерфейсом на python
Ссылка на обзор программы:
youtu.be/zTdTMBeAHi8
Техническое задание в прикрепленном файле.
Красным цветом обозначено, что требуется сделать.
Приветствуются знания передачи данных в периферийные платы через UART. Свернуть
1 заявка
Закрыт
Задача: "вытянуть" из сетевого устройства все конфигурационные команды которые оно "знает". Интересуют два типа устройств: Cisco и Juniper. Оба на знак ... Читать дальше
Задача: "вытянуть" из сетевого устройства все конфигурационные команды которые оно "знает". Интересуют два типа устройств: Cisco и Juniper. Оба на знак вопроса в режиме конфигурации выдают список возможных команд или окончания уже введенной команды или ее продолжение. Задача в том чтобы их все собрать, класифицировать по уровням (последовательность в которой данное слово идет на командной строке), уложить в sqlite и из полного собрания сформатить кофигурационный файл для noteped++ (подкраска текста по синтаксу). Я наччал и вроде все написал для Cisco, но после нескольких проходов по лупу - stack overflow. Мне кажется проблема не столько в моем коде сколько в низлежащей library libssh которые я использовал для связи с сетевым устройством. А ковырять С library я не тяну. А может просто нужно переписать мой selfcalling loop или уничтожать ssh object прежде чем делать новый. Кроме того нужно написать автоматическое узнавание типа устройства и соответственно переключать дальнейший парсинг Свернуть
1 заявка
Закрыт
Общая ситуация: Часть проекта уже реализована, но понимание, что возможно что-то придется переписывать есть. Stack: backend - python, фронт - ... Читать дальше
Общая ситуация: Часть проекта уже реализована, но понимание, что возможно что-то придется переписывать есть. Stack: backend - python, фронт - vue. Архитектура: клиент (Vue, Vuetify, Vuex, Axios) -> сервер (Fastapi, requests) -> база (sqlite)ОписаниеСервис предназначен для поддержки и обучения телефонных операторов. Состоит из 2-х модулей (скрины того, что есть сейчас, прикреплю внизу):1. Live. Во время разговора оператора и клиента при произнесении и распознавании ключевых слов в интерфейсе происходит одно из двух действий - вычеркивание пункта из заранее подготовленного списка или показ заранее подготовленной карточки с информацией. Эти заготовки оформлены в playbooks в формате json. Сейчас распознавание голоса реализовано с помощью api assembly.ai.2. Training. Здесь описать проще примером процесса. Оператор запускает "тренировку". Задает вопросы из телефонного скрипта, программа распознает речь оператора, находит в ней ключевые слова, сопоставляет их с заранее прописанными ключевыми словами и соответствующими "ответами", озвучивает соответствующий ответ (text-to-speech). Таким образом, получается тренировочный разговор оператора с "клиентом" во время которого прорабатываются навыки. "Сценарий" разговора в формате "ключевые слова оператора" - "ответ клиента" прописывается менеджером. Язык общения - английский. "Ключевое слово" - может быть и слово, и словосочетание.Дальнейшие шаги
На данный момент в live-модуле остается реализовать систему аутентификации, возможность добавления/редактирования playbooks, смена дизайна на шаблон для vuetify.В training модуле тоже требуется аутентификация, playbooks.В будущем для улучшения качества продукта планируется использовать инструменты Natural Language Processing (например api GPT-3), поэтому опыт работы с такими инструментами будет преимуществом. Свернуть
На данный момент в live-модуле остается реализовать систему аутентификации, возможность добавления/редактирования playbooks, смена дизайна на шаблон для vuetify.В training модуле тоже требуется аутентификация, playbooks.В будущем для улучшения качества продукта планируется использовать инструменты Natural Language Processing (например api GPT-3), поэтому опыт работы с такими инструментами будет преимуществом. Свернуть
2 заявки
Закрыт
Нужна будет "многосерверная" система (горизонтальное масштабирование с полным дублированием на каждом узле), у которой есть общая очередь задач. К каждому ... Читать дальше
Нужна будет "многосерверная" система (горизонтальное масштабирование с полным дублированием на каждом узле), у которой есть общая очередь задач. К каждому серверу подключаются клиенты, которые эти задачи и генерируют.
Вас не должны пугать
SQL/SQLIte
Rabbit MQ/Kafka
docker
Electron
если в арсенале есть и React Native, то вообще хорошо Свернуть
Вас не должны пугать
SQL/SQLIte
Rabbit MQ/Kafka
docker
Electron
если в арсенале есть и React Native, то вообще хорошо Свернуть
3 заявки
Закрыт
Имеется программа для проверки позиций поисковых запросов для сайтов в ПС Яндекс, Google и Мaил. Необходима ее доработка, поддержка и ... Читать дальше
Имеется программа для проверки позиций поисковых запросов для сайтов в ПС Яндекс, Google и Мaил. Необходима ее доработка, поддержка и развитие.
Среда разработки: Delphi 10.2.
Основные требования: знание delphi, mysql, sqlite, работа с потоками и сетевыми компонентами.
Помимо умения программировать требуется минимальное понимание работы поисковых систем, знать что такое куки, прокси серверы.
Жду ваши предложения. Свернуть
Среда разработки: Delphi 10.2.
Основные требования: знание delphi, mysql, sqlite, работа с потоками и сетевыми компонентами.
Помимо умения программировать требуется минимальное понимание работы поисковых систем, знать что такое куки, прокси серверы.
Жду ваши предложения. Свернуть
1 заявка
Закрыт
Имеется программа для проверки позиции поисковых запросов для сайтов в ПС Яндекс, Google и Мaил. Необходима ее доработка - починка ... Читать дальше
Имеется программа для проверки позиции поисковых запросов для сайтов в ПС Яндекс, Google и Мaил. Необходима ее доработка - починка сканера
живой выдачи Яндекс и Гугл (программа давно не обновлялась, поэтому
сканер перестал корректно работать) - скорее всего это из-за смены
верстки.
Среда разработки: Delphi XE.
Основные требования: знание delphi, mysql, sqlite, работа с потоками и сетевыми компонентами.
Помимо умения программировать требуется минимальное понимание работы поисковых
систем, знать что такое куки, прокси серверы + умение исследовать и
анализировать.
Жду ваши предложения. Свернуть
живой выдачи Яндекс и Гугл (программа давно не обновлялась, поэтому
сканер перестал корректно работать) - скорее всего это из-за смены
верстки.
Среда разработки: Delphi XE.
Основные требования: знание delphi, mysql, sqlite, работа с потоками и сетевыми компонентами.
Помимо умения программировать требуется минимальное понимание работы поисковых
систем, знать что такое куки, прокси серверы + умение исследовать и
анализировать.
Жду ваши предложения. Свернуть
3 заявки
Закрыт
Нужно разработать плагин для MS Project - добавить в панель инструментов несколько кнопок, по нажатию которых будут проводиться манипуляции с ... Читать дальше
Нужно разработать плагин для MS Project - добавить в панель инструментов несколько кнопок, по нажатию которых будут проводиться манипуляции с задачами - удаление, добавление, изменения. Для работы нужно взаимодействовать с базой данных sqlite. Подробнее в прикрепленном техзадании Свернуть
1 заявка
Закрыт
Нужно разработать многоуровневую реферальную систему под проект, а именно Telegram Bot
Бот написан на python с использованием ORM peewee.
В ... Читать дальше
Бот написан на python с использованием ORM peewee.
В ... Читать дальше
Нужно разработать многоуровневую реферальную систему под проект, а именно Telegram Bot
Бот написан на python с использованием ORM peewee.
В программе будет 10 уровней. Свернуть
Бот написан на python с использованием ORM peewee.
В программе будет 10 уровней. Свернуть
1 заявка
Закрыт
Реализовать ORM для SQLite на Python на подобии DJANGO ORM.
Детальнее о задании: ссылка
У меня вариант 15 SQLite.Нужно реализовать максимальное ... Читать дальше
Детальнее о задании: ссылка
У меня вариант 15 SQLite.Нужно реализовать максимальное ... Читать дальше
нет заявок
Закрыт
Добрый день!Прошу рассмотреть такое ТЗ.Есть готовая программа (исходников предыдущий программист не оставил).Эта программа автоматически заполняет произвольное кол-во текстовых (юридических) документов ... Читать дальше
Добрый день!Прошу рассмотреть такое ТЗ.Есть готовая программа (исходников предыдущий программист не оставил).Эта программа автоматически заполняет произвольное кол-во текстовых (юридических) документов такими значениями, как: ФИО, адреса, наименования банков, должности, номера телефонов и т.д.На данный момент программа заполняет определенный набор документов, которые являются шаблонами для одной юридической ситуации. Возникла необходимость добавить еще некоторые реквизиты для других ситуаций.Опишу со скринами как работает программа, чтобы было понятнее.Выглядит она так: скрин 1.Из выпадающих списков я выбираю нужные мне значения и нажимаю Ctrl+S. И все эти выбранные значения разносятся по произвольному кол-ву шаблонов (юридических документов), в кот. разнесены операторы. Как выглядит шаблон со вставленными операторами показано на скрине 2.Информация о физлицах, адресах, банках и т.д. хранится в DB Browser (SQLite). Это выглядит так: скрин 3, 4.
Все шаблоны (произвольное кол-во) хранятся в отдельной папке. После того, как я даю команду на заполнение шаблонов в другую папку (куда я указываю путь) записываются уже заполненные документы.
Надеюсь, что суть программы описал более-менее доходчиво.
Суть ТЗ заключается в том, что поскольку исходников нет, то нужно написать программу с нуля. Но на этот раз требуется, чтобы я мог добавлять в неё произвольное кол-во операторов в отличие от имеющегося варианта программы, где реализован определенный набор операторов.
Жду предложений. Свернуть
Все шаблоны (произвольное кол-во) хранятся в отдельной папке. После того, как я даю команду на заполнение шаблонов в другую папку (куда я указываю путь) записываются уже заполненные документы.
Надеюсь, что суть программы описал более-менее доходчиво.
Суть ТЗ заключается в том, что поскольку исходников нет, то нужно написать программу с нуля. Но на этот раз требуется, чтобы я мог добавлять в неё произвольное кол-во операторов в отличие от имеющегося варианта программы, где реализован определенный набор операторов.
Жду предложений. Свернуть
Завершен
Не обращайте внимания, что там написано, что оно для Третьяковской галереи. Язык программирования – желательно питон, но можно и другой ... Читать дальше
Не обращайте внимания, что там написано, что оно для Третьяковской галереи. Язык программирования – желательно питон, но можно и другой на ваше усмотрение. БД сделать лучше всего на mysql или sqlite (в тз указан аксесс, не обращать внимания). Шаблоны для отчетов можно взять тоже любые, которые найдете в интернете (отчет о проведенной выставке). Остальное в тз указано верно.
тз прикрепляю в виде файла.
сумма указана примерная, можем договориться Свернуть
тз прикрепляю в виде файла.
сумма указана примерная, можем договориться Свернуть
4 заявки
Закрыт
Ищем 2х программистов C/С++, C# Developer.
Задача: разработка прикладного программного обеспечения.
Ориентировочный срок участия в проекте 1 год.
Оплата обсуждается ... Читать дальше
Задача: разработка прикладного программного обеспечения.
Ориентировочный срок участия в проекте 1 год.
Оплата обсуждается ... Читать дальше
Ищем 2х программистов C/С++, C# Developer.
Задача: разработка прикладного программного обеспечения.
Ориентировочный срок участия в проекте 1 год.
Оплата обсуждается по результатам собеседования.
Требования к кандидату:
.NET Core 3.0, WPF, ReactiveUI, Entity Framework Core, PosgreSQL, SmartCOM, Azure DevOps, Git
.NET Framework 4.7, WPF, ASP.NET, Entity Framework 6, MS SQL, WebSocket, Azure DevOps, TFS
C/C++, SQLite, TCP/IP, SIP, Linux, Git
В приоритете программисты живущие в Пермском крае.
Коротко о проекте:
Специализированное программное обеспечение для работы в ОС Linux. ПО модульное (не менее 10 модулей с различным функционалом)
Ищем опытных людей. Умеющих работать в команде и выполнять поставленные задачи в срок. Свернуть
Задача: разработка прикладного программного обеспечения.
Ориентировочный срок участия в проекте 1 год.
Оплата обсуждается по результатам собеседования.
Требования к кандидату:
.NET Core 3.0, WPF, ReactiveUI, Entity Framework Core, PosgreSQL, SmartCOM, Azure DevOps, Git
.NET Framework 4.7, WPF, ASP.NET, Entity Framework 6, MS SQL, WebSocket, Azure DevOps, TFS
C/C++, SQLite, TCP/IP, SIP, Linux, Git
В приоритете программисты живущие в Пермском крае.
Коротко о проекте:
Специализированное программное обеспечение для работы в ОС Linux. ПО модульное (не менее 10 модулей с различным функционалом)
Ищем опытных людей. Умеющих работать в команде и выполнять поставленные задачи в срок. Свернуть
$10000
4 заявки
Закрыт
Автоматизированное место преподавателя(Задание преподавателя)
Язык программирования JAVA
Написать программу
Автоматизированное место преподавателя
Программа должна обязательно содержать:
1. Взаимодействие с базой ... Читать дальше
Язык программирования JAVA
Написать программу
Автоматизированное место преподавателя
Программа должна обязательно содержать:
1. Взаимодействие с базой ... Читать дальше
Автоматизированное место преподавателя(Задание преподавателя)
Язык программирования JAVA
Написать программу
Автоматизированное место преподавателя
Программа должна обязательно содержать:
1. Взаимодействие с базой данных SQLite. Другие СУБД не допускаются, поскольку они
разворачиваются локально и не позволяют проверять программу на других устройствах. База
данных должна содержать минимум 5 таблиц с минимум 5 столбцами, две из которых
должны быть связаны хотя бы по одному полю.
2. Лямбда-приложений.выражения.
3. Работу с параллельными потоками. Должен быть задействован хотя бы один параллельный
поток.
4. Простой и понятный интерфейс взаимодействия с пользователем из командной строки.
Пользователю должны быть доступны подсказки по операциям. Обязательно должен
присутствовать вывод комментариев и пояснений к действиям, которые выполняет
программа и которые требуются от пользователя.
Код программы должен быть написан в соответствии со всеми требованиями Java
разработки. Код обязательно подробно комментируется. Программный код должен делится
на пакеты, исходя из своего функционального назначения.
Все возможные ошибки программы должны быть обработаны. Программа не должна
аварийно завершаться. При возникновении ошибки пользователь должен получать
соответствующее сообщение.
Программа должна предоставлять возможность работы со всеми данными в БД: добавление,
обновление, удаление, просмотр, поиск.
В случае реализации графического интерфейса, он должен полностью соответствовать стилю
и функциональному назначению программы. Реализация интерфейса допускается только с
использованием библиотеки Swing. Все графические элементы должны быть
работоспособны. Элементы на экране должны располагаться согласно разметке. Графический
интерфейс должен хотя бы приблизительно соответствовать UX/UI дизайну. За правильно
реализованный интерфейс дается +1 или +2 балла к итоговой оценке, в зависимости от
соответствия требованиям. Реализация графического интерфейса дает право не
реализовывать интерфейс командной строки.
Конечная программа должна быть логически и функционально целостной: все части кода
программы должны выполнятся не как отдельные задачи, а как часть общего программного
решения и иметь логическую связь с другими частями программы. Программные модули, не
имеющие логической связи с другими модулями, засчитаны не будут. Свернуть
Язык программирования JAVA
Написать программу
Автоматизированное место преподавателя
Программа должна обязательно содержать:
1. Взаимодействие с базой данных SQLite. Другие СУБД не допускаются, поскольку они
разворачиваются локально и не позволяют проверять программу на других устройствах. База
данных должна содержать минимум 5 таблиц с минимум 5 столбцами, две из которых
должны быть связаны хотя бы по одному полю.
2. Лямбда-приложений.выражения.
3. Работу с параллельными потоками. Должен быть задействован хотя бы один параллельный
поток.
4. Простой и понятный интерфейс взаимодействия с пользователем из командной строки.
Пользователю должны быть доступны подсказки по операциям. Обязательно должен
присутствовать вывод комментариев и пояснений к действиям, которые выполняет
программа и которые требуются от пользователя.
Код программы должен быть написан в соответствии со всеми требованиями Java
разработки. Код обязательно подробно комментируется. Программный код должен делится
на пакеты, исходя из своего функционального назначения.
Все возможные ошибки программы должны быть обработаны. Программа не должна
аварийно завершаться. При возникновении ошибки пользователь должен получать
соответствующее сообщение.
Программа должна предоставлять возможность работы со всеми данными в БД: добавление,
обновление, удаление, просмотр, поиск.
В случае реализации графического интерфейса, он должен полностью соответствовать стилю
и функциональному назначению программы. Реализация интерфейса допускается только с
использованием библиотеки Swing. Все графические элементы должны быть
работоспособны. Элементы на экране должны располагаться согласно разметке. Графический
интерфейс должен хотя бы приблизительно соответствовать UX/UI дизайну. За правильно
реализованный интерфейс дается +1 или +2 балла к итоговой оценке, в зависимости от
соответствия требованиям. Реализация графического интерфейса дает право не
реализовывать интерфейс командной строки.
Конечная программа должна быть логически и функционально целостной: все части кода
программы должны выполнятся не как отдельные задачи, а как часть общего программного
решения и иметь логическую связь с другими частями программы. Программные модули, не
имеющие логической связи с другими модулями, засчитаны не будут. Свернуть
1 заявка
Закрыт
Нужно реализовать модуль, который мы подключим к нашему общему большому проекту, по рассылке писем.
В процессе рассылки писем, в результате ... Читать дальше
В процессе рассылки писем, в результате ... Читать дальше
Нужно реализовать модуль, который мы подключим к нашему общему большому проекту, по рассылке писем.
В процессе рассылки писем, в результате разработанного модуля, он должен решать задачу:
Какой процент писем идет в папку спам, какой во входящие.
Соответственно, необходимо разработать модуль, который будет наши контрольные
почтовые ящики парсить, искать в письмах определенную метку, далее смотреть в какой папке (спам/входящие) письма с нужными метками попало и делать запись в БД (или промежуточно редис).
То есть мы даем список емайл ящиков, например 100шт, в них будут сливаться письма с
определенными метками, задача просканировать каждый ящик и каждое новое
(непрочитанное) письмо, в папках (входящие/спам)на предмет нахождения
меток для определения нужных нам писем и сопоставить в какой папке они находятся.Для скорости и удобства не нужно парсить все письмо, достаточно будет парсить технический заголовок.
В заголовке нужно спарсить строку, которая начинается на X-1 и
заканчивается на 0 до двоеточий, например 'X-12F73B20:' или 'X-14CE20:' и
тд.
В это строке 'X-12F73B20:' или 'X-14CE20:' зашифрован id клиента, который размещен между 1...0 причем все литеральные символы
aBfEC и тд игнорим, они буду генерироваться случайно, то есть например
'X-12F73B20:' = id клиента 2732, 'X-14CE20:' = id42.
Далее после ':' идет строка в base64 с данными. В ней содержатся несколько данных, которые нужно декодировать и размещать в БД.
Например метку мы отправим в заголовок такую:
X-12F73B20: MTsxLjEuMS4xO2RvbWVuLnJ1O3JlZGlyZWN0LnJ1
В почте это выглядит например как: ссылка есть X-12F73B20: = id клиента 2732, далее декодируя строку
MTsxLjEuMS4xO2RvbWVuLnJ1O3JlZGlyZWN0LnJ1 получим без кавычек
"1;3;1.1.1.1;domen.ru;redirect.ru" — это строка содержит набор 5х
данных, разделенные точкой с запятой ';' которые надо собирать и писать в
БД.
Если взять строку "1;3;1.1.1.1;domen.ru;redirect.ru", то получим:
1 - id_send
3 - id_var
1.1.1.1 - ip
domen.ru - from
redirect.ru - redirect Также нужно вычислить mx, домена контрольного ящика, то есть, если
контрольный почтовый ящик сидит на домене mail.ru, mx запись через dns =
mxs.mail.ru она тоже нужна для бд (есть такой столбец).
Итоговая таблица состоит из столбцов:
id|id_client|id_send|id_var|mx|proxy|from|redirect|folder|time
Если мы отправляем строку X-12F73B20:
MTsxLjEuMS4xO2RvbWVuLnJ1O3JlZGlyZWN0LnJ1 на контрольный ящик mail.ru, и
она попадает в папаку inbox то запись в бд будет:1|2732|1|3|mxs.mail.ru|1.1.1.1|domen.ru|redirect.ru|inbox|1587744771
Далее для вычисления общего процента "спама" и "инбокса" для рассылки по клиенту, мы
запрашиваем SELECT COUNT данные WHERE есть id_client, id_send, folder
(inbox и spam)
выдрав данные с where folder = inbox например равное 50шт, и where folder = spam равное, например 10шт, получаем 83% = inbox и
17% = spam.
Что изменилось:
Ранее было предложение, что на вход скрипта подавать дату и метку, чтобы искать на все тело письма, решили изменить
схему, для большей изоляции модуля от других, сделав его автономным,
также исключили скачивание всего письма для скорости, и экономии трафа,
плюс сейчас нужны только технические заголовки.
Дату исключили - парсим просто не прочтенные письма. То есть для парсинга, исключили какие либо входные
данные в скрипт, скрипт модуля автономно парсит в бесконечном цикле все
новые письма и по правилу просто ищет строку X-1...0: base64 и заливает
найденные данные в БД, с БД уже будут строить данные селекторами по процентам в
какой папке было письмо.
Желательно работать многопоточно и быстро, практически результат был в Real-Time в процессе рассылки. У
нас используется redis, mariadb, поэтому где какие промежуточные итоги
работы, куда писать для скорости - решать вам. Также можно использовать стандартный django cache он у нас через редис также.
(Нужно меть возможность подключаться через прокси)
Работать должно на mail.ru/ya.ru/gmail.com и прочие, так как там везде протокол
один (IMAP), по идее реализовав в одном месте, везде должно
отрабатывать. ##############Рекомендации от тимлида для совместимости и простой интеграции:
Этот модуль нужно разработать как django app, как вариант фоновая задача с
использованием celery task (ссылка получения результата от работы модуля - делается некий асинхронный таск который на вход принимает уникальную
id_client и id_рассылки. Рассылка это django model с названием "campaign",
при разработке для себя можете создать маленький модель который в другом
app, со следующими полями:
id, emails_total_count, emails_spam_count, emails_inbox_countПосле завершения разработки или в какой то момент, просто поменяем путь импорта и подключим в основной проект.Таск проверяет отправленные письма и в конце результат напишет на бд
(модел). Для потерянных, т.е. для тех писем которые нету не в спам и не
во входящих, ничего делать не нужно, просто нужно написать на логи что
не найден. Для логирования нужно использовать стандартный logging django
(ссылка отметки как прочитанное. Думаю этого делать не нужно, скорее можно подумать
сделать некий чистильщик, удаления писем, которые прочитанные и которым более недели.
Важно - новые очищать нельзя, чтобы антиспам фильтра не признали письма как негативные,
только старые и прочтенные.
Возможно celery таск по проверке будет триггерить следующий таск по
чистке по завершений.Нужные аккаунты с прокси должно хранится в db и должны быть подключены к
django admin. Т.е. нужна таблица accounts где хранится логин пароль и
domain (это можно вынести на отдельную таблицу), вторая таблицы proxies
это просто список прокси возможно с логин пароль для авторизаций на
прокси, и нужна таблица где устанавливается связь между accounts и
proxies там настраивается для какого аккаунта нужно использовать какой
прокси. Итого, используемые технологий:
python - 3.8
django - 2.2
celery - 4.4.1
база данных mysql (но так как используется django orm при разработке можете использовать sqlite)
os в основном linux. Также можно использовать стандартный django cache он у нас через редис также. Свернуть
В процессе рассылки писем, в результате разработанного модуля, он должен решать задачу:
Какой процент писем идет в папку спам, какой во входящие.
Соответственно, необходимо разработать модуль, который будет наши контрольные
почтовые ящики парсить, искать в письмах определенную метку, далее смотреть в какой папке (спам/входящие) письма с нужными метками попало и делать запись в БД (или промежуточно редис).
То есть мы даем список емайл ящиков, например 100шт, в них будут сливаться письма с
определенными метками, задача просканировать каждый ящик и каждое новое
(непрочитанное) письмо, в папках (входящие/спам)на предмет нахождения
меток для определения нужных нам писем и сопоставить в какой папке они находятся.Для скорости и удобства не нужно парсить все письмо, достаточно будет парсить технический заголовок.
В заголовке нужно спарсить строку, которая начинается на X-1 и
заканчивается на 0 до двоеточий, например 'X-12F73B20:' или 'X-14CE20:' и
тд.
В это строке 'X-12F73B20:' или 'X-14CE20:' зашифрован id клиента, который размещен между 1...0 причем все литеральные символы
aBfEC и тд игнорим, они буду генерироваться случайно, то есть например
'X-12F73B20:' = id клиента 2732, 'X-14CE20:' = id42.
Далее после ':' идет строка в base64 с данными. В ней содержатся несколько данных, которые нужно декодировать и размещать в БД.
Например метку мы отправим в заголовок такую:
X-12F73B20: MTsxLjEuMS4xO2RvbWVuLnJ1O3JlZGlyZWN0LnJ1
В почте это выглядит например как: ссылка есть X-12F73B20: = id клиента 2732, далее декодируя строку
MTsxLjEuMS4xO2RvbWVuLnJ1O3JlZGlyZWN0LnJ1 получим без кавычек
"1;3;1.1.1.1;domen.ru;redirect.ru" — это строка содержит набор 5х
данных, разделенные точкой с запятой ';' которые надо собирать и писать в
БД.
Если взять строку "1;3;1.1.1.1;domen.ru;redirect.ru", то получим:
1 - id_send
3 - id_var
1.1.1.1 - ip
domen.ru - from
redirect.ru - redirect Также нужно вычислить mx, домена контрольного ящика, то есть, если
контрольный почтовый ящик сидит на домене mail.ru, mx запись через dns =
mxs.mail.ru она тоже нужна для бд (есть такой столбец).
Итоговая таблица состоит из столбцов:
id|id_client|id_send|id_var|mx|proxy|from|redirect|folder|time
Если мы отправляем строку X-12F73B20:
MTsxLjEuMS4xO2RvbWVuLnJ1O3JlZGlyZWN0LnJ1 на контрольный ящик mail.ru, и
она попадает в папаку inbox то запись в бд будет:1|2732|1|3|mxs.mail.ru|1.1.1.1|domen.ru|redirect.ru|inbox|1587744771
Далее для вычисления общего процента "спама" и "инбокса" для рассылки по клиенту, мы
запрашиваем SELECT COUNT данные WHERE есть id_client, id_send, folder
(inbox и spam)
выдрав данные с where folder = inbox например равное 50шт, и where folder = spam равное, например 10шт, получаем 83% = inbox и
17% = spam.
Что изменилось:
Ранее было предложение, что на вход скрипта подавать дату и метку, чтобы искать на все тело письма, решили изменить
схему, для большей изоляции модуля от других, сделав его автономным,
также исключили скачивание всего письма для скорости, и экономии трафа,
плюс сейчас нужны только технические заголовки.
Дату исключили - парсим просто не прочтенные письма. То есть для парсинга, исключили какие либо входные
данные в скрипт, скрипт модуля автономно парсит в бесконечном цикле все
новые письма и по правилу просто ищет строку X-1...0: base64 и заливает
найденные данные в БД, с БД уже будут строить данные селекторами по процентам в
какой папке было письмо.
Желательно работать многопоточно и быстро, практически результат был в Real-Time в процессе рассылки. У
нас используется redis, mariadb, поэтому где какие промежуточные итоги
работы, куда писать для скорости - решать вам. Также можно использовать стандартный django cache он у нас через редис также.
(Нужно меть возможность подключаться через прокси)
Работать должно на mail.ru/ya.ru/gmail.com и прочие, так как там везде протокол
один (IMAP), по идее реализовав в одном месте, везде должно
отрабатывать. ##############Рекомендации от тимлида для совместимости и простой интеграции:
Этот модуль нужно разработать как django app, как вариант фоновая задача с
использованием celery task (ссылка получения результата от работы модуля - делается некий асинхронный таск который на вход принимает уникальную
id_client и id_рассылки. Рассылка это django model с названием "campaign",
при разработке для себя можете создать маленький модель который в другом
app, со следующими полями:
id, emails_total_count, emails_spam_count, emails_inbox_countПосле завершения разработки или в какой то момент, просто поменяем путь импорта и подключим в основной проект.Таск проверяет отправленные письма и в конце результат напишет на бд
(модел). Для потерянных, т.е. для тех писем которые нету не в спам и не
во входящих, ничего делать не нужно, просто нужно написать на логи что
не найден. Для логирования нужно использовать стандартный logging django
(ссылка отметки как прочитанное. Думаю этого делать не нужно, скорее можно подумать
сделать некий чистильщик, удаления писем, которые прочитанные и которым более недели.
Важно - новые очищать нельзя, чтобы антиспам фильтра не признали письма как негативные,
только старые и прочтенные.
Возможно celery таск по проверке будет триггерить следующий таск по
чистке по завершений.Нужные аккаунты с прокси должно хранится в db и должны быть подключены к
django admin. Т.е. нужна таблица accounts где хранится логин пароль и
domain (это можно вынести на отдельную таблицу), вторая таблицы proxies
это просто список прокси возможно с логин пароль для авторизаций на
прокси, и нужна таблица где устанавливается связь между accounts и
proxies там настраивается для какого аккаунта нужно использовать какой
прокси. Итого, используемые технологий:
python - 3.8
django - 2.2
celery - 4.4.1
база данных mysql (но так как используется django orm при разработке можете использовать sqlite)
os в основном linux. Также можно использовать стандартный django cache он у нас через редис также. Свернуть
Завершен
Необходимо разработать программу по верификации email для windows и mac на c# + .net с использованием базы sqlite для хранения ... Читать дальше
Необходимо разработать программу по верификации email для windows и mac на c# + .net с использованием базы sqlite для хранения списков и настроек программы.
Программа будет включать в себя 3 модуля - сортер, верифиер и сервис регистрации и генерации ключей.
1. Сортер должен уметь импортировать, хранить и экспортировать списки контактов в/из текстового и excel файлов, совершать различные операции над списками
2.Верифер должен проверять из списков сортера синтаксиc email, существование домена email и существование почтового ящика по 25 smtp порту или через
socks proxy. Tакже должна быть функция определения DNS сервера либо ввода своего и определения DNS reverse домена. Проверка должна проводиться в потоках.
3. Сервис на удаленном сервере должен генерировать ключи для программы и отслеживать входы в программу с максимум 2 компьютеров.
В программе должен быть предусмотрен многоязычный интерфейс и логироваться все действия пользователя в журнале.
Также для программы необходимо будет установить систему защиты кода и создать инсталляторы для windows и mac.
Пример программы можете скачать по ссылке ссылка
Срок разработки - 1 месяц, после завершения первого этапа в дальнейшем нужно будет разработать отправщик email через smtp сервера и экстрактор email из сайтов, поисковых систем, файлов и почтовых аккаунтов.
При выборе программиста или компании будет учитываться опыт разработки и бюджет, я настроен на долгосрочное сотрудничество по разработке новых функций в программе. Свернуть
Программа будет включать в себя 3 модуля - сортер, верифиер и сервис регистрации и генерации ключей.
1. Сортер должен уметь импортировать, хранить и экспортировать списки контактов в/из текстового и excel файлов, совершать различные операции над списками
2.Верифер должен проверять из списков сортера синтаксиc email, существование домена email и существование почтового ящика по 25 smtp порту или через
socks proxy. Tакже должна быть функция определения DNS сервера либо ввода своего и определения DNS reverse домена. Проверка должна проводиться в потоках.
3. Сервис на удаленном сервере должен генерировать ключи для программы и отслеживать входы в программу с максимум 2 компьютеров.
В программе должен быть предусмотрен многоязычный интерфейс и логироваться все действия пользователя в журнале.
Также для программы необходимо будет установить систему защиты кода и создать инсталляторы для windows и mac.
Пример программы можете скачать по ссылке ссылка
Срок разработки - 1 месяц, после завершения первого этапа в дальнейшем нужно будет разработать отправщик email через smtp сервера и экстрактор email из сайтов, поисковых систем, файлов и почтовых аккаунтов.
При выборе программиста или компании будет учитываться опыт разработки и бюджет, я настроен на долгосрочное сотрудничество по разработке новых функций в программе. Свернуть
1 заявка
Закрыт
Разработать скрипты на Python:
- экспорт данных из предоставленных файлов Excel в базу SQLite;
- создание отчетов в файле Excel ... Читать дальше
- экспорт данных из предоставленных файлов Excel в базу SQLite;
- создание отчетов в файле Excel ... Читать дальше
Разработать скрипты на Python:
- экспорт данных из предоставленных файлов Excel в базу SQLite;
- создание отчетов в файле Excel согласно условиям на основе выборки данных из SQLite;
- построить графики с использованием matplotlib согласно условиям на основе данных из SQLite. Свернуть
- экспорт данных из предоставленных файлов Excel в базу SQLite;
- создание отчетов в файле Excel согласно условиям на основе выборки данных из SQLite;
- построить графики с использованием matplotlib согласно условиям на основе данных из SQLite. Свернуть
$40
Завершен
Нужно написать программу клиента для POS на C#, winforms. Нужен опыт работы с REST API, sqlite, threads.
Окно подключения к ... Читать дальше
Окно подключения к ... Читать дальше
Нужно написать программу клиента для POS на C#, winforms. Нужен опыт работы с REST API, sqlite, threads.
Окно подключения к заведению
Окно ввода кода сотрудника
Окно рабочий стол (кнопки все заказы, новый заказ, платеж, смена)
Окно списка заказов, разделенных по дням
Окно заказа
Окно оплаты заказа
Окно выбора клиента
Прикрепил скриншоты Андроид приложения, чтобы было понятно, о чем речь.
Детальное ТЗ могу выслать в ЛС.
Жду ваших предварительных сроков, стоимости. Свернуть
Окно подключения к заведению
Окно ввода кода сотрудника
Окно рабочий стол (кнопки все заказы, новый заказ, платеж, смена)
Окно списка заказов, разделенных по дням
Окно заказа
Окно оплаты заказа
Окно выбора клиента
Прикрепил скриншоты Андроид приложения, чтобы было понятно, о чем речь.
Детальное ТЗ могу выслать в ЛС.
Жду ваших предварительных сроков, стоимости. Свернуть
1 заявка
Закрыт
Описание: Приложение представляет собой типичный "игровой инвентарь".
I. Описание GUI и взаимодействия пользователя с ним.
1. При запуске приложения первым ... Читать дальше
I. Описание GUI и взаимодействия пользователя с ним.
1. При запуске приложения первым ... Читать дальше
Описание: Приложение представляет собой типичный "игровой инвентарь".
I. Описание GUI и взаимодействия пользователя с ним.
1. При запуске приложения первым открывается виджет "Главное меню". В
нём две кнопки: "Новая игра" и"Выход".
2. Нажатие на кнопку "Выход" приводит к закрытию программы.
3. Нажатие на кнопку "Новая игра"инициирует начало новой игры.
4. После нажатия на кнопку новая игра открывается доступ к виджету
"Игровое поле".
6. На игровом поле слева расположен виджет QTableWidget - "Инвентарь",
размерностью 3х3, все ячейки таблицы инвентаря квадратной формы.
7. На игровом поле справа расположен виджет предмета, содержащий предмет
"Яблоко", являющийся источником дляDrag'n'Drop'a в ячейки Инвентаря.
Яблоки в этом виджете бесконечные, можно брать из источника и
перетаскивать в инвентарь неограниченное количество раз.
8. При перетаскивании яблока из источника в инвентарь оно появляется в
той ячейке инвентаря, в которую осуществлено перетаскивание.
Так же возможно перетаскивание предмета внутри ячеек инвентаря. Внутри
инвентаря предметы перетаскиваются всей пачкой,
т.е. к примеру, если в ячейке было 3 яблока,перетаскиваются все три.
9. При повторном перетаскивании яблока из источника в инвентарь в ту
ячейку, где уже есть яблоко, количество яблок в этой ячейке
увеличивается на 1.
Справа снизу от яблока в ячейке инвентаря находится цифра, указывающая
на количество яблок в ячейке. К примеру, было одно яблоко, цифра 1,
после перетаскивания стало два яблока, стала цифра два.
10. При клике правой кнопкой мыши по ячейке инвентаря с яблоком
происходит уменьшение количества яблок в ячейке.Если там было одно
яблоко, то картинка яблока
исчезает. Если яблок больше одного, цифра должна уменьшится на единицу.
11. При исчезновении яблока по правому клик у мыши воспроизводится звук
откусывания яблока (подойдет любой, найти можно в интернет).
12. Над виджетами "Инвентарь" и"Яблоко" находится кнопка "Главное
меню". При нажатии на кнопку игровое поле блокируется и отображается
виджет, описанный в п. 1.
II. Описание классов программы и описание её работы.
1. Класс "Предмет". Должен описывать предмет инвентаря и содержать в
себе поля: Тип предмета, изображение предмета(путь к изображению в
ресурсах).
2. Класс "Инвентарь". Должен описыватьинвентарь и содержать поля размер
(количество ячеек), а так же поля,
описывающие, в какой ячейке сколько находитсяпредметов и каких
предметов.
3. Класс "База данных". Необходим дляуправления базой данных.
Подключается к базе данных и выполняет запросы.Использовать
QSqlDatabase.
4. База данных SQLite. Содержит в себе таблицы"Инвентарь" и "Предмет",
которые хранят данные указанных выше классов.
Здесь должны отражаться названия предметов, нажождение их в каких-либо
ячейках инвентаря. Конкретная организация таблиц на ваше усмотрение.
5. Другие классы и объекты, нужные вам, на ваше усмотрение. Свернуть
I. Описание GUI и взаимодействия пользователя с ним.
1. При запуске приложения первым открывается виджет "Главное меню". В
нём две кнопки: "Новая игра" и"Выход".
2. Нажатие на кнопку "Выход" приводит к закрытию программы.
3. Нажатие на кнопку "Новая игра"инициирует начало новой игры.
4. После нажатия на кнопку новая игра открывается доступ к виджету
"Игровое поле".
6. На игровом поле слева расположен виджет QTableWidget - "Инвентарь",
размерностью 3х3, все ячейки таблицы инвентаря квадратной формы.
7. На игровом поле справа расположен виджет предмета, содержащий предмет
"Яблоко", являющийся источником дляDrag'n'Drop'a в ячейки Инвентаря.
Яблоки в этом виджете бесконечные, можно брать из источника и
перетаскивать в инвентарь неограниченное количество раз.
8. При перетаскивании яблока из источника в инвентарь оно появляется в
той ячейке инвентаря, в которую осуществлено перетаскивание.
Так же возможно перетаскивание предмета внутри ячеек инвентаря. Внутри
инвентаря предметы перетаскиваются всей пачкой,
т.е. к примеру, если в ячейке было 3 яблока,перетаскиваются все три.
9. При повторном перетаскивании яблока из источника в инвентарь в ту
ячейку, где уже есть яблоко, количество яблок в этой ячейке
увеличивается на 1.
Справа снизу от яблока в ячейке инвентаря находится цифра, указывающая
на количество яблок в ячейке. К примеру, было одно яблоко, цифра 1,
после перетаскивания стало два яблока, стала цифра два.
10. При клике правой кнопкой мыши по ячейке инвентаря с яблоком
происходит уменьшение количества яблок в ячейке.Если там было одно
яблоко, то картинка яблока
исчезает. Если яблок больше одного, цифра должна уменьшится на единицу.
11. При исчезновении яблока по правому клик у мыши воспроизводится звук
откусывания яблока (подойдет любой, найти можно в интернет).
12. Над виджетами "Инвентарь" и"Яблоко" находится кнопка "Главное
меню". При нажатии на кнопку игровое поле блокируется и отображается
виджет, описанный в п. 1.
II. Описание классов программы и описание её работы.
1. Класс "Предмет". Должен описывать предмет инвентаря и содержать в
себе поля: Тип предмета, изображение предмета(путь к изображению в
ресурсах).
2. Класс "Инвентарь". Должен описыватьинвентарь и содержать поля размер
(количество ячеек), а так же поля,
описывающие, в какой ячейке сколько находитсяпредметов и каких
предметов.
3. Класс "База данных". Необходим дляуправления базой данных.
Подключается к базе данных и выполняет запросы.Использовать
QSqlDatabase.
4. База данных SQLite. Содержит в себе таблицы"Инвентарь" и "Предмет",
которые хранят данные указанных выше классов.
Здесь должны отражаться названия предметов, нажождение их в каких-либо
ячейках инвентаря. Конкретная организация таблиц на ваше усмотрение.
5. Другие классы и объекты, нужные вам, на ваше усмотрение. Свернуть
3 заявки
Закрыт
Нужно разработать ПО для Raspberry PI 3 (или аналогичного одноплатного компьютера)
для сбора, архивирования и передачи данных с энергетической установки. ... Читать дальше
для сбора, архивирования и передачи данных с энергетической установки. ... Читать дальше
Нужно разработать ПО для Raspberry PI 3 (или аналогичного одноплатного компьютера)
для сбора, архивирования и передачи данных с энергетической установки.
Оно должно решать следующие задачи:
1. Устройство получает данные от оборудования по протоколам Modbus RTU/TCP
2. Оно хранит данные в компактном формате (база данных). (Думаю, что подойдет SQLite или подобная)
Желательно,чтобы запись в базу велась по изменению значений, чтобы не забить быстро место
на карте.
3. Не должно возникать проблем с записью данных при сбоях питания.
Для этого нужно использовать устойчивую к сбоям ФС (думаю, что подойдет ext4 или подобная)
4. Нужно использовать алгоритм, который обеспечивает равномерную запись
данных на встроенную карту microSD, для уменьшения износа карты
5. Нужно предусмотреть способ резервного копирования базы на случай выхода из строя карты microSD
(например, использовать модель одноплатника с 2 носителями информации)
6. Устройство должно иметь возможность подключаться к внешнему серверу для
выгрузки данных на него в моменты появления связи
(думаю, что можно задействовать протокол MQTT или подобный)
7. Должна быть возможность подключиться локально по Ethernet к устройству и посмотреть,
что происходит (текущие значения, сообщения об ошибках, тренды, вывод архивных данных на тренды).
Есть 2 способа это сделать.
Первый способ.
Для этой цели на устройстве запускается веб-сервер.
К нему нужно сделать простой сайт на любом популярном фреймворке (AngularJS или подобный).
Сайт предусматривает форму авторизации и уровни доступа: оператор, администратор, изготовитель.
На нем данные выводятся в форме таблиц, графиков и сообщений об ошибках, есть поля для ввода значений уставок.
Второй способ.
К устройству подключается простая SCADA-система и решает данные задачи (Simp Light или подобная).
Я бы отдал предпочтение первому способу, т. к. его, вероятно, проще реализовать и он еще и
универсальный: не требует установки дополнительного софта (работает на любом компьютере).
8. Устройство должно синхронизироваться с внешним сервером по протоколу NTP
9. Устройство должно отправлять email при возникновении аварии
10. Устройство должно отправлять смс при возникновении аварии
Просьба оценить эту работу по каждому этапу отдельно по стоимости и времени.
Если вы готовы взяться за часть этой работы, то пишите, за какую часть с оценкой сроков и времени.
Там, где есть готовое решение, пишите кратко его название, возможности,
стоимость работ по доработке под нашу задачу, интеграции с остальным софтом.
Лучше, по-возможности, использовать готовые решения там, где это возможно, а не делать свое.
С точки зрения протоколов я вижу такой вариант (на выбор).
Установка-> Modbus TCP/RTU -> База данных -> MQTT-> внешний сервер (локальный комп)
HTTPS -> внешний сервер (локальный комп)
Modbus TCP -> SCADA-система
Если вы видите более рациональным использование других протоколов, напишите каких.
Свернуть
для сбора, архивирования и передачи данных с энергетической установки.
Оно должно решать следующие задачи:
1. Устройство получает данные от оборудования по протоколам Modbus RTU/TCP
2. Оно хранит данные в компактном формате (база данных). (Думаю, что подойдет SQLite или подобная)
Желательно,чтобы запись в базу велась по изменению значений, чтобы не забить быстро место
на карте.
3. Не должно возникать проблем с записью данных при сбоях питания.
Для этого нужно использовать устойчивую к сбоям ФС (думаю, что подойдет ext4 или подобная)
4. Нужно использовать алгоритм, который обеспечивает равномерную запись
данных на встроенную карту microSD, для уменьшения износа карты
5. Нужно предусмотреть способ резервного копирования базы на случай выхода из строя карты microSD
(например, использовать модель одноплатника с 2 носителями информации)
6. Устройство должно иметь возможность подключаться к внешнему серверу для
выгрузки данных на него в моменты появления связи
(думаю, что можно задействовать протокол MQTT или подобный)
7. Должна быть возможность подключиться локально по Ethernet к устройству и посмотреть,
что происходит (текущие значения, сообщения об ошибках, тренды, вывод архивных данных на тренды).
Есть 2 способа это сделать.
Первый способ.
Для этой цели на устройстве запускается веб-сервер.
К нему нужно сделать простой сайт на любом популярном фреймворке (AngularJS или подобный).
Сайт предусматривает форму авторизации и уровни доступа: оператор, администратор, изготовитель.
На нем данные выводятся в форме таблиц, графиков и сообщений об ошибках, есть поля для ввода значений уставок.
Второй способ.
К устройству подключается простая SCADA-система и решает данные задачи (Simp Light или подобная).
Я бы отдал предпочтение первому способу, т. к. его, вероятно, проще реализовать и он еще и
универсальный: не требует установки дополнительного софта (работает на любом компьютере).
8. Устройство должно синхронизироваться с внешним сервером по протоколу NTP
9. Устройство должно отправлять email при возникновении аварии
10. Устройство должно отправлять смс при возникновении аварии
Просьба оценить эту работу по каждому этапу отдельно по стоимости и времени.
Если вы готовы взяться за часть этой работы, то пишите, за какую часть с оценкой сроков и времени.
Там, где есть готовое решение, пишите кратко его название, возможности,
стоимость работ по доработке под нашу задачу, интеграции с остальным софтом.
Лучше, по-возможности, использовать готовые решения там, где это возможно, а не делать свое.
С точки зрения протоколов я вижу такой вариант (на выбор).
Установка-> Modbus TCP/RTU -> База данных -> MQTT-> внешний сервер (локальный комп)
HTTPS -> внешний сервер (локальный комп)
Modbus TCP -> SCADA-система
Если вы видите более рациональным использование других протоколов, напишите каких.
Свернуть
5 заявок
Закрыт