Разработка серверного по для сохранения и просмотра данных, полученных с микроконтроллеров
Объект исследования: серверное ПО для простейшего «умного дома».
Результаты, полученные лично автором: разработано серверное ПО для сохранения и просмотра данных, полученных с микроконтроллеров (программная реализация).
На данный момент существует множество платформ для размещения данных, полученных с IoT-устройств. Но размещаясь на них, пользователь теряет контроль над собственными данными. Платформа может использовать данные для своих коммерческих целей. А если она закроется, пользователь потеряет все данные.
Единственный вариант избавления от зависимости от других платформ – сделать свой собственный локальный сервер. Для данного сервера используется Node.js в качестве сервера, MongoDB – базы данных, а также фреймворк Express.js.
Сервер использует 2 набора данных – пользователи и данные.
В таблице users хранятся время создания, имя пользователя и пароль. Чтобы избежать утечек паролей, они хранятся в виде хеш-сумм.
В таблице данных хранятся индекс, имя набора, имя владельца, ключи API для чтения и записи, является ли набор данных публичным, данные, количество записей, дата создания и дата последнего обновления.
Чтобы создать новую запись в таблице данных, нужно сделать запрос вида «/datasets/update?key=WRITE_APIKEY&var1=value&var2=value».
Для создания html-страниц используется встроенный в Express.js движок шаблонов Jade.
Для шифрования паролей используется bcrypt – модуль, исполняющий адаптивную криптографическую функцию формирования ключа. Для защиты от атак с помощью радужных таблиц bcrypt использует соль (salt); кроме того функция является адаптивной, время её работы легко настраивается и её можно замедлить, чтобы усложнить атаку перебором. Благодаря bcrypt можно не волноваться, что в случае взлома утекут пароли пользователей.
Присутствуют следующие функции:
· Создание учётной записи
· Авторизация
· Список наборов данных с описанием
· Создание нового набора данных
· Открытие определённого набора данных для просмотра графиков
· Изменение параметров набора данных
· Удаление определённого набора данных
· Возможность смены имени пользователя и пароля
· Удаление аккаунта
· Возможность заново сгенерировать ключи API для набора данных
Из плюсов можно отметить отсутствие необходимости подключения специальных библиотек для работы микроконтроллеров с сервером.
Также из-за того, что сервер может быть запущен в локальной сети – нет необходимости наличия стабильного интернет-канала.
Благодаря записи при помощи http-запроса, на сервер можно передать данные не только с микроконтроллеров, но также и с микро- и полноразмерных компьютеров.
Из недостатков стоит отметить необходимость использования микроконтроллеров с возможностью подключения к wi-fi или по lan.
Материал поступил в редколлегию 24.02.2017
УДК 004.032.26
Ю.А. Телюченкова
Научный руководитель: доцент кафедры «Компьютерные технологии и системы»,к.т.н., Е.А. Леонов
Современные тенденции использования нейронных
Сетей построенных на базе графических
Вычислительных кластеров
Объект исследования: методы машинного обучения.
Результаты, полученные лично автором: проведен анализ сфер применения методов машинного обучения в современном программном обеспечении.
Нейросети уже работают во многих продуктах массового использования. Deep learning (глубинное обучение) улучшает качество имеющихся алгоритмов, либо позволяет сделать то, что раньше было невозможно.
Среди основных областей применения нейронных сетей – экономика и бизнес прогнозирование временных рядов (курсов валют, цен на сырьё, объемов продаж.), автоматический трейдинг (торговля на валютной, фондовой или товарной бирже), оценка рисков невозврата кредитов, предсказание банкротств и тд., медицина (постановка диагноза больному, обработка медицинских изображений, мониторинг состояния пациента), авионика (обучаемые автопилоты, летательные аппараты), интернет (ассоциативный поиск информации, фильтрация и блокировка спама, адресные реклама и маркетинг для электронной торговли, распознавание captcha.), автоматизация производства, робототехника (распознавание сцены, объектов и препятствий перед роботом, прокладка маршрута движения, поддержание равновесия.), безопасность и охранные системы (идентификация личности по отпечаткам пальцев, голосу, подписи или лицу; распознавание автомобильных номеров).
Нейронные системы выигрывают и в плане дешевизны, и сильно сокращают время на разработку мощных и интеллектуальных роботов. Теперь одному человеку становится доступно то, что раньше было доступно только большим коллективам и лабораториям. Наряду с Boston Dynamics, разрабатывающая двуногих и четвероногих роботов для американской армии, таких как Atlas, SpotMini, Handle; новейшая роботизированная платформа "Соратник" уже в этом году будет внедрена нашими соотечественниками в оборону страны. В России, да и во всем мире идет работа над проектом внедрения нейросетей в медицину. Касается это тех болезней, которые можно выявить по снимкам. Врачам для постановки диагноза требуется большой опыт и время, а верное заключение дается не всегда с первого раза.
Российская компания Вокорд разработала лучший в мире алгоритм распознавания лиц. По результатам тестирования на базе онлайн-площадки MegaFace «Вокорд» оставила позади тринадцать других разработок со всего мира, в том числе алгоритм Google. На MegaFace она тестировала алгоритм, основанный на глубоких нейронных сетях. Он отличается не только точностью, но и высокой производительностью: проводит до трех миллионов сравнений в секунду.
Материал поступил в редколлегию 24.02.2017
УДК 004.03
Н.Н. Малявко
Научный руководитель: доцент кафедры «Компьютерные технологии и системы», к.т.н., Ю.М. Казаков