Раскручиваем Гайку: разработка ПО для роботов на платформе 1С

23.07.19

Интеграция - Робототехника и умный дом (Arduino, NFC, RFID)

Роботы на 1С стали реальностью. Их разработкой пока на общественных началах занимаются в компании «Цифровой кот». Насколько перспективно это направление, какие возникали сложности, и какая помощь коллег требуется, участникам конференции Infostart Event 2018 рассказал руководитель и ведущий разработчик компании - Юрий Лазаренко.

Я полагаю, что мало кого здесь волнует, кто я такой, потому что все хотят посмотреть на робота. Судя по реакции зала, так и есть. Мои  коллеги, когда узнали, что нас пригласили на конференцию, сказали: это тот самый случай, когда на конференцию пригласили не тебя, а твоего робота. А ты просто кожаный мешок, на который оформлены проездные документы в Питер. По сути, так и есть. Поэтому  давайте не будем тянуть время.

(На сцену выкатывается робот)

Он первый раз выступает на такой большой сцене, поэтому, понятно, волнуется.

Итак, друзья, перед вами, не побоюсь этого слова, первый в мире робот с мозгами на платформе 1С:Предприятие. Зовут Гайка.

Цель моего доклада – рассказать, что роботы на 1С - это не просто что-то, что можно сделать. Это сделать достаточно легко.

 

Каких роботов можно сделать на 1С?

Уже такой платформы достаточно для того, чтобы сделать:

  • робота-консультанта в магазин, в аптеку, куда угодно;
  • консьержа, который будет тапочки развозить в гостиницах;
  • официанта;
  • менеджера по перемещению товаров – так мы назвали грузчика. На самом деле он у нас уже так работает: по офису развозит 19 литровые бутылки с водой.

Немножко расскажу про эту платформу. Это абсолютно самодельная платформа, я ее собрал за год на кухне в свободное время. И это материальное доказательство того, что инженерам-одиночкам в этом мире ещё есть место. Привет, Илон Маск! Она весит 12 килограмм, может ездить автономно 6 часов, а если с остановками – то и все 24 часа. Она умеет разговаривать. Кстати, поздоровайся! (обращение к роботу)
 
Робот: - Здравствуйте, 1С-ники. Не могу сказать, что рада вас видеть, так как у меня еще нет камеры. Но мне приятно фиксировать ваше присутствие своими датчиками.
 
Докладчик: - Умница!
 
Робот: - Ты тоже!
 
Докладчик: - Спасибо, дорогая! У нас с ней взаимопонимание.
 
Продолжим: каких роботов можно сделать на 1С? Мы думали, как это можно отразить на одном слайде, и решили отразить в виде такой зависимости.

 

Если вы будете использовать только 1С, то робота у вас нормального не получится. Связано это с тем, что у 1С очень маленькое быстродействие. Кажется, что оно большое, но в мире микроконтроллеров это очень мало. В мире микроконтроллеров
один цикл может равняться нескольким микросекундам. 1С на такое не способна. Если мы начнем делать робота исключительно на 1С, это получится такая тормознутая машинка, которая будет постоянно во что-то врезаться, падать в ямы и так далее. Но чем больше каких-либо других технологий мы будем сюда добавлять, тем более эффективным станет робот.
 
Данный робот находится сейчас где-то посередине этого графика. Он использует платформу 1С в качестве мозга, пульт на мобильной платформе, с помощью которого я могу им управлять, «морда» написана на html и javascript. В прошлые два года я рассказывал о том, как мы делаем сайты на 1С. Это тоже сайт на 1С, наш собственный веб-клиент. Она умеет выполнять голосовые команды. Развернись! (обращение к роботу)
 
Робот: - Выполняю.
 
Докладчик: - При этом еще и говорит, если надо.
 
Почему в принципе возможно создание роботов на 1С, и как использовать различные технологии для того, чтобы это начало работать?

 

 

Если вы посмотрите на алгоритм работы мозга робота, то увидите, что там есть два пункта, которые подразумевают некое действие – ожидание команды и выполнение команды. Между ними – определение аварийной ситуации. На самом деле, наверное, правильнее было бы назвать не аварийной, а исключительной ситуацией, что в 1С называют попыткой исключения. А аварийная ситуация, это когда, например, робот стоит, его кто-то толкнул, он упал. Наступила аварийная ситуация: он не может выполнять свой
функционал. Если робот едет, видит впереди себя какое-то препятствие, то он эту команду не выполнит.
 
Кстати, робота зовут Гайка. Почему тебя так зовут? (обращение к роботу)
 
Робот: - Из-за формы корпуса. Никаких ассоциаций с одноименным мультяшным персонажем.
 
Докладчик: - Смотрите на следующий слайд. Здесь нарисовано то, что мы называем поддельная копия Морфеуса.

 

 

Шёл человек. Споткнулся, начал падать. Обратите внимание, куда он смотрит. Он заботится о своем кофе, который он может сейчас разлить. Он уже разлил его, все. Но при этом он сохранил вертикальное положение, удержал пакет в руках, и ноги сами поняли, куда сделать шаг, чтобы не упасть. То есть аварийная ситуация не наступила.
 
Вы когда-нибудь попадали в такие ситуации? Идешь, идешь, неожиданно споткнулся. Вы помните, что вы делали для того, чтобы не упасть?  Нет! Вы еще сообразить не успели, а ноги сами все сделали. Дело в том, что у человека есть головной и спинной мозг. Головной мозг придумывает, куда идти, а спинной – как идти и как сделать быстро реагировать на страшные ситуации. И это распространяется не только на ноги.
 
В качестве упражнения – нужно улыбнуться. Попробуйте улыбнуться. У Арни получилось.

 

 

Знаете, что такое цифра 17?

 

 

Это число мышц, задействованных в момент, когда вы улыбаетесь. Это средняя оценка. На самом деле, по разным оценкам, от пяти до пятидесяти трех мышц лица задействуется в момент, когда вы улыбаетесь.
 
Улыбнуться у всех получилось. А кто-нибудь из вас хоть одну мышцу знает, которые сейчас двигали вашими губами, чтобы
сложить такой интерфейс? Наверняка нет. Вы вообще не знали о том, что у вас есть там столько мышц. То есть у вас есть некий глобальный мозг, который отвечает за действия, и есть что-то еще, что рулит мелкими этими деталями. У роботов все то же самое.

 

 

На слайде видно, что детали робота делятся на две составные части. Одни выделены оранжевым цветом – это головной мозг, принимающий глобальные решения. Остальное – спинной мозг. Он отвечает за каждое мелкое-мелкое-мелкое движение.

 

 

 

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


 

1С будет выполнять анализ и устранение аварийных ситуаций. То есть если робот идет и вдруг увидел, что впереди лежит корова, он в первую очередь остановится, а 1С уже будет решать, развернуться или позвать человека и попросить убрать корову.
 
Взаимодействие с человеком. Что происходит, когда я говорю ей
фразы? Например, расскажи анекдот. (обращение к роботу)
 
Робот: - Холостяк купил стиральную машину, посудомойку, мультиварку и робота-пылесос. Теперь шансы его женить практически равны нулю.
 
Докладчик: - В этот момент на борту произошло распознавание речи. Эта речь через http-запрос выполнила запрос к базе на 1С, которая находится в Москве на моём сервере. Сервер 1С проанализировал полученную речь и выдал результат.

Устройство роботов

Теперь немного про устройство роботов. Они не так страшны, как может показаться.

 

 

Перед вами «начинка» данной тележки. Здесь жирным выделены две важных детали: двигатель и колесо. У этого робота всего два колеса. Если они будут вращаться в одну сторону с одинаковой скоростью, он будет ехать вперед. В другую сторону – назад. В разные стороны вращаются, он разворачивается. Этого уже достаточно для того, чтобы покрыть, согласно принципу Парето, 80% необходимого функционала роботележки.
 
Как заставить робота взаимодействовать с его начинкой?

 

 

Его начинка, в данном случае микроконтроллер ESP-32. По сути, это микрокомпьютер, который программируется на языке С. Он представляет из себя веб-сервер, потому что на нем есть модуль wi-fi. Сейчас все эти детали, которые находятся здесь, соединены через iphone, являющийся роутером, в одну сеть. И все, что происходит – взаимодействие пульта морды и контроллера – все происходит в одной сети.
 
Код данного микроконтроллера можно разделить на три составные части.

 

 

Первое (левая часть) – это поднятие веб-сервера на 80-м порту. Далее, чтение значения джойстиков, то есть, когда я нажимаю кнопки, происходит http-запрос к данному микроконтроллеру. Что значит http-запрос? Это означает абсолютную масштабируемость, возможность управлять этим роботом откуда угодно: я могу управлять им с пульта, могу управлять им с сервера 1С, согласно какому-то скрипту, который занесен в мою программу, могу управлять голосом. И, чтобы передать роботу эти параметры, нужно всего лишь в http-запрос добавить два аргумента – lw и rw. Это скорость вращения левого колеса и правого колеса.
 
В реальности это выглядит так: обычное подключение через браузер к роботу, то есть обычная адресная строка. Вручную меняется значение параметра rw через http-запрос, микроконтроллер анализирует его, преобразует в некое число и с соответствующей скоростью вращает мотор. И чтобы управлять этим роботом, достаточно выполнить один http-запрос к его веб-серверу.

 

 

У него даже есть такая веб-морда, которую он способен сам генерить.

 

 

Сзади у робота находится индикатор.  То есть робот включается, подключается к сети и говорит, какой у него ip-адрес. Его можно
набрать в обычном планшете в браузере, и он сам сгенерит пульт управления. Управлять им можно будет сразу же с браузера.

Как научить робота двигаться?

Хорошо. Крутить моторами научились. Но задача-то не просто крутить мотор. Например, мы хотим сделать робота-официанта. Робот-официант должен проехать по залу, мало того, что он будет избегать препятствий, нужно правильно проложить маршрут. А маршрут состоит из команд типа: проезжай вперед 3 метра, развернись влево на 90 градусов, езжай вперед 1 метр.
 
Делается это очень легко. Те, у кого есть велосипед, знают, как функционирует спидометр велосипеда. На вилку вешается датчик, на спицу вешается магнит. Каждый раз когда колесо вращается, магнит проходит мимо датчика, происходит клик, щелк. Зная диаметр колеса и количество щелчков, мы знаем, с какой скоростью едет велосипед.


Если на колесо робота прицепить 10 таких магнитов, то расстояние, которое он пройдет, можно вычислить по формуле: диаметр колеса, умноженное на число Пи и на количество магнитов. И добавляется еще один параметр к http-запросу – tact.
 
У этого робота диаметр колеса 12 см. Чтобы он проехал 1 метр, нужно сделать 27 тактов. То есть чтобы роботу дать команду «езжай вперед на 1 метр», нужно сделать к нему http-запрос с
параметрами: левое колесо = 1023, правое колесо = 1023 и tact = 27. По-моему, просто.
 
Цель моего доклада – как раз доказать вам, что программировать роботов – это не просто возможно, а на самом деле легко. Что мы хотим сделать? Мы на общественных началах просто пишем драйверы для такого робота. Что мы хотим получить на выходе? Некий набор программного обеспечения и подсистему в 1С, которая позволит подключить робота к 1С так, как вы сейчас подключаете терминал сбора данных (ТСД) или кассовый аппарат.
То есть для того, чтобы подключить робота, имеющего на борту манипулятор, роботележку какую-то, морду, вы просто задаете новый элемент справочника и указываете: у нас есть тележка с диаметром колес таким-то, шаг – такой-то (то есть на один оборот он использует столько-то тактов). И через десять минут у вас полностью настроенный робот. Когда это будет, не знаем. Потому что, как я сказал, работаем на общественных началах. Но возможно будет. Два года подряд я выступал на конференциях Infostart Event на тему создания сайтов на 1С, и многие сначала смотрели криво. Но ничего, работает. Мы это уже активно продаем.

Распознавание и синтез речи

 

 

Это тоже не так страшно, как может показаться. Дело в том, что сейчас в каждый браузер нативно встроены компоненты распознавания речи. Чтобы их подключить, вам нужно использовать пять строчек кода. И все, запускается распознаватор. Либо робот может слушать постоянно эфир, как он делает сейчас. Если не нужно слушать постоянно, можно использовать, например, модуль распознавания звука либо камеру. Как только он увидел, что появилось чье-то лицо, робот начинает слушать. Как только
распознавание текста выполнено, происходит запрос к серверу 1С. Сервер 1С – это конфигурация. В данном случае у нас там есть справочник, который называется «Правила обработки речи», и в зависимости от того, какая фраза пришла на вход, мы можем выполнить соответствующее действие.

 

 

Действие – это произнести, выполнить команду или выполнить код. Произнести – в ответ робот что-то говорит. Выполнить команду –  поехать, развернуться. Выполнить код – просто выполнить код в 1С. Причем любой. Вы можете сказать «перепроведи документы», и робот перепроведет документы у вас в базе. Можете считать, кстати, что это еще один вид клиента для 1С. Есть веб-клиент, тонкий клиент, и есть робоклиент.
 
Приведу код на языке 1С. Это код для мобильной платформы.

 

 

Он применяется как раз в этом пульте. Он тоже способен распознавать речь и выполнять команды. Чтобы вы поняли, насколько это не страшно и насколько легко, для запуска распознавания речи нужно 6 строчек кода. И примерно столько же, чтобы речь воспроизвести. Все сделано за нас уже давно. То есть распознавание и синтез речи – это проще, чем может показаться.

Как заставить робота выполнять команды?

Какой толк от робота, который повторяет за тобой приветствие или рассказывает один и тот же анекдот? Нужны и другие команды. Команды могут быть разные. Например, я спрошу у него: «какое сегодня число?». (Обращение к роботу)
 
Робот: - Сегодня 19 октября 2018 года, пятница.
 
Докладчик: - Чтобы вы не подумали, что я заранее забил туда эту фразу, я другое спрошу. Который час? (обращение к роботу)
 
Робот: - Текущее время 16 часов 47 минут.
 
Докладчик: - Сверьтесь с часами. Генерация этого текста сейчас происходит на лету. То есть в момент распознавания фразы запускается функция «сколько времени», находящаяся в общем модуле. Запуск происходит после анализа элемента справочника «обработка речи».


 

Самая страшная часть

То, что далеко не все умеют делать – определять  локации. Это  действительно самый сложный момент, но даже это тоже можно сделать. В 1С никак, но при взаимодействии с другими  технологиями вполне реально.

 

 

У всех есть роботы-пылесосы. Обращали внимание, что у них сверху есть башенка круглая – это лазерный дальномер. То есть в этой башенке постоянно крутится лазер и каждые несколько миллисекунд определяет расстояние до предметов, которые находятся вокруг него. Таким образом он формирует карту помещения и, ориентируясь на отдельные реперные точки, положение которых в пространстве он точно знает, он может понять свою координату. Здесь для примера я привел вариант на ультразвуковых датчиках, он наиболее понятный для простого обывателя.
 
Представьте себе, что в помещении есть несколько датчиков, расположенных в точках, координаты которых точно известны. Есть робот, координаты которого нужно узнать.

 

 

Координаты датчиков занесены в справочник 1С, называемый «датчики локации». В момент, когда робот хочет узнать свою позицию, он выдает некий сигнал точно таким же ультразвуковым датчиком.


 

Здесь нарисован кот, потому что у нас два робота. Второй – кот, но он, ленивая тварь, остался в Москве. Тварь – в хорошем смысле, как творенье божье. А Гайка у нас рабочий робот.
 
Если кот хочет выйти из помещения, он сначала должен понять, где он находится, потом построить маршрут. В определенный момент он своим ультразвуковым датчиком говорит «мяу».  В правом верхнем углу нарисована большая плата. Это контроллер Arduino Mega, к которому подключены маленькие ультразвуковые датчики. Он говорит: «Хорошо, я всех слушаю.», и начинает отсчет времени, за которое до каждого из датчиков долетит это «мяу».
 
Получилось где-то 13 миллисекунд, где-то 9 и так далее. В зависимости от времени вычисляется расстояние.

 

 

Дальше все очень просто. Методом триангуляции можно посчитать координаты робота.
 
То, что вы сейчас увидите, – это обычный табличный документ, на котором условно нарисован план этого помещения. Самый лучший вариант для того, чтобы управлять роботом, прокладывать маршруты – это разделить помещение на квадраты. Размер одного равен размеру робота.

 

 

У этого робота ширина 50 см. Если комнату разбить на квадраты размером 50 на 50 см, то далее как в обычной игре из 90-х. Может, кто-то игры писал в 90-е игры? Вот примерно так, в наше время, выглядели игры, когда у тебя есть компьютер Spectrum, и ты на нем начинаешь рисовать что-то подобное.
 
Алгоритмы нахождения пути настолько просты, что не стоит на них останавливаться. 1С с ними точно справляется. То есть 1С, проанализировав текущее положение робота и поняв, куда ему надо идти, дает несколько http-запросов:


 

1. идти вперед на 1 метр - крути колеса вперед 27 тактов;
2. поворот вправо на 90 градусов;
3. вперед на три с половиной метра.

Но у нас кот. А кот как обычно поступает? Он сначала просит тебя
долго: «Открой мне дверь!», потом подходит к ней, тупит, тупит, тупит, разворачивается и уходит обратно. Поэтому у нас здесь добавлены четвёртый и пятый пункты.
 
Кто-нибудь хочет задать вопросы роботу какие-нибудь?
 
Из зала: - Еще анекдот.
 
Докладчик обращается к роботу: - Расскажи еще анекдот.
 
Робот: - С вашего адреса идет подозрительный трафик. Так поступают роботы. Чтобы доказать, что вы не робот, причините вред другому человеку или своим бездействием допустите, чтобы
человеку был причинен вред.
 
Докладчик: - У нее своеобразный юмор. Робот еще и женщина. Не знаю, как я справляюсь, как-то получается.
 
Так... что ты еще умеешь? Хотите кейс? У нас есть замечательный кейс, который называется «Супермаркет».
 
Робот: - Развожу по офису бутыли с водой.
 
Докладчик: - Серьезно? Ты дурочка! (обращение к роботу)
 
Робот: - Зато красивая!
 
Докладчик: - Этого не отнять, да. Она на самом деле знает такие приколы. Я ее вынесу после выступления в холл, там позадаете вопросы. Дело в том, что в момент когда происходит распознавание речи, все фразы которые, ей говорят, записываются в лог. Чем хорош этот робот в качестве консультанта, если его поставить где-то в магазине? Девочка-консультант может некоторые вопросы фильтровать, не все вам может передать, не все в отчет внести. А робот пишет все. Она как КГБ-эшник. Она еще может фотографию лица сделать и сказать: кто, что говорил.
 
Чтобы научить ее каким-то фразам, мы запустили ее веб-морду на сайт и написали: «Друзья, у нас есть такой классный робот, научите ее говорить. Просто заходите и говорите все подряд. Мы эти логи будем читать и на основании этих логов составим ей какой-то язык».
 
Чего мы там только не начитались! Хотя вроде бы серьезные люди... Например, кто-то спросил у робота «Ты носишь трусы?». Может быть, этот человек сидит сейчас в зале. Мой пятилетний сын, когда я читал ему, очень смеялся. И теперь он постоянно к роботу подходит и спрашивает, носит ли она трусы.
 
Скажи, ты носишь трусы? (Обращение к роботу)
 
Робот: - Нет. Потому что они закрывают датчики обнаружения препятствий и я врезаюсь в стены.
 
Докладчик: - Пока мы не поставили ей датчики обнаружения препятствий, она действительно у нас в стены врезалась. Потом стало проще.
 
Один раз, я помню, когда обучал ее разговаривать, написал первый алгоритм, вроде все нормально. Потом оставил ее в комнате проверять, насколько она хорошо держит заряд, а сам пошел на кухню и начал дописывать этот алгоритм. И забыл ее отключить. А я же говорил что она через интернет управляется, и все, что ей скажешь, где бы ты ни находился, она все это поймёт. Сижу спокойно на кухне, слышу в комнате грохот. Захожу. Она каталась-каталась, выполняя все мои команды, а я ж не в курсе, не вижу. Намотала на себя провод от сушилки, опрокинула ее, сама забилась под кровать и оттуда мне индикаторами моргает. Достал я ее. Главное – не побьешь же ее, только ноги себе отобьешь.

Разделение функций дает хороший результат

Еще немножко по поводу того, какую роль может исполнять 1С, какую роль могут исполнять микроконтроллеры. Микроконтроллер с датчиком определяет расстояние до препятствия впереди. То есть если он едет, видит впереди стену, он останавливается и говорит: у меня исключения, аварийная ситуация. И дальше ничего не делает. Он просто останавливает робота. А что сделать с этим, решает 1С. То есть, если 1С может проложить маршрут до конечной точки, видит, что проложить маршрут вполне реально, можно сделать пути объезда, она поедет. Если же дать задачу невыполнимую, естественно, она ехать не станет. Если сказать «езжай вперед 100 километров», она понимает, что ей на столько просто аккумуляторов не хватит. Это все можно реализовать на 1С. То есть 1С в данном случае исполняет роль головного мозга.
 
(Что-то загудело.)
 
Что это было? А это ты! (Обращение к роботу) Интересный у тебя способ привлекать внимание к себе. С ней давно не общались. Ну, спой песню.
 
Робот: - Владимирский централ, ветер северный. Этапом из Твери, зла немерено...
 
Докладчик: - Я же говорил, что у нее своеобразный юмора. В интернете нахватается чего-то...
 
Вернемся к теме. 1С может анализировать заранее ситуации, понимать, следует выполнять эту команду или нет.

Вместо заключения

К какой мысли я хотел вас подвести?
 
Во-первых, при наличии тех драйверов к роботу, которые мы хотим написать, подключить робота к 1С будет легко. А дальше можно легко на 1С запрограммировать 90% всего функционала, который потребуется роботу.
 
Зачем вообще подключать робота к 1С? Во-первых, потому что 1С-ников много, и легко будет сопровождать, и стоимость владения роботами снижается в разы. Во-вторых, допустим вам, действительно, нужен консультант, который сможет всегда и все подсказать покупателю.
 
У вас есть конфеты мишка на севере? (Обращение к роботу)
 
Робот: - Да, конфеты мишка на севере в наличии. Цена 210 рублей за килограмм.
 
Докладчик: - Покажи, где лежат. (Обращение к роботу)
 
Робот: - Я покажу путь, следуйте за мной.
 
Докладчик: - Представьте, у вас есть ячеистый склад, на котором точно известно, где что лежит. Для того чтобы робот показал человеку, где что лежит, или снабженный манипулятором приехал и взял этот товар с необходимой полки, вам достаточно потратить день-два на написание кода в 1С, и у вас будет робот, способный это сделать.
 
Кстати, этот кейс у нас он называется «Супермаркет». Человек пришел за конфетами, не зная, где они лежат, а его тянет за виски. Поэтому дальше он робота спрашивает: у вас есть виски? (обращение к роботу)
 
Робот: - Прежде чем я проведу вас в отдел алкоголя, докажите, что вам есть 21 год.
 
Докладчик: - Как доказать?
 
Робот: - Продолжите фразу «тополиный пух...»
 
Докладчик: - Жара, июль.
 
Робот: - Тест пройден. Я верю, что вам больше 21 года. Следуйте  за мной.
 
Докладчик: - Вот такая умная штука. Так вот, 1С, который знает, где что лежит на складе, из реальных своих остатков, без всяких обменов способен, управляя роботом, полностью заменить кладовщика. Хотя, конечно, полностью тяжеловато будет с точки зрения разработки манипуляторов. Саму железку сделать – манипулятор – несложно, а вот научить его правильно брать какую-то вещь – это сложно. Буквально вчера один из посетителей конференции сказал, что одна компания купила тележки, потянули эти расходы, а манипуляторы не смогли купить, потому что они стоят бешеных денег. Поэтому на тележки посадили таджиков, тележка куда надо подвозит, а таджик берет и складывает.
 
Друзья, на этом у нас всё. Спасибо всем, кто пришел. Спасибо за внимание. Не забудьте поставить лайк, дружите с роботами и чаще улыбайтесь!

 

 

Данная статья написана по итогам доклада, прочитанного на конференции INFOSTART EVENT 2018 EDUCATION.

См. также

Робототехника и умный дом (Arduino, NFC, RFID) Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Управлять умными устройствами можно не только через Алису... Как насчет 1С?

1 стартмани

15.08.2024    677    0    vasilievil    0    

1

Робототехника и умный дом (Arduino, NFC, RFID) Бесплатно (free)

Обладая минимальными навыками инженера, вполне можно сделать «умными» относительно недорогие устройства, и управлять всей логикой на 1С. Возможности огромны: управление светом, включением-выключением розеток, автополив, сигнализация и т.д. О самостоятельной реализации в 1С нестандартной логики управления устройствами пойдет речь в статье.

29.02.2024    2598    atland    6    

28

Робототехника и умный дом (Arduino, NFC, RFID)

Кто сказал, что умный дом на 1С сделать невозможно? На конференции Infostart Event 2021 Moscow Premiere Юрий Лазаренко из компании «Цифровой Кот» показал, какие уникальные прикольные вещи можно делать на базе IoT (интернета вещей), где в этом всем 1С, и как это все между собой интегрируется.

19.06.2023    4809    TitanLuchs    28    

16

Мобильная разработка Робототехника и умный дом (Arduino, NFC, RFID) Мобильная платформа Конфигурации 1cv8 Абонемент ($m)

Хотите попробовать свои силы в разработке собственного мобильного приложения на 1С для управления светом и электроприборами в своём доме? Добро пожаловать! Хочу поделиться собственными наработками в этой области. Это будет приложение, разработанное для мобильных устройств на базе Android. Основное предназначение: управление включением/выключением устройств, работающих от сети 220 V (свет, телевизор, чайник, вентилятор, микроволновка и т.д.). Управлять будем: из приложения, голосом, на заданный промежуток времени, интенсивностью света, расписанием работы.

1 стартмани

19.12.2022    3493    osivv    8    

24

Робототехника и умный дом (Arduino, NFC, RFID) Программист Платформа 1С v8.3 Россия Абонемент ($m)

Конфигурация для создании умных домов на базе 1С. Приложение сконструировано как сервер для устройств Arduino, к которому подключены датчики и реле (и другие исполнительные механизмы), так и для публикации мобильного приложения для управления умным домом.

1 стартмани

26.09.2022    5383    12    atland    0    

25

Робототехника и умный дом (Arduino, NFC, RFID) Программист Платформа 1С v8.3 8.3.14 Конфигурации 1cv8 Россия Абонемент ($m)

Компонента для работы с RFID метками. Поддерживает считыватели Impinj 120, 220, 420. А также настольный RRU9816.

1 стартмани

24.11.2021    3842    6    pavelmael    6    

6
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ivanov660 4577 23.07.19 21:34 Сейчас в теме
У меня вопрос про алгоритм обработки сообщений (правила обработки речи) и "мышление". На сколько я понял логическая часть линейна, т.е. в табличную часть справочника забиваются синонимы команды и решение нахождения того или иного правила выполняется по простому совпадению преобразованной речи в текст? Или же есть еще какая-то пост обработка и иерархия (что-то вроде дерева решений)?
11. TitanLuchs 413 24.07.19 14:47 Сейчас в теме
(1) В данном примере линейная, на каждую фразу идет один ответ. Иерархию пробовали делать, там особо сложного ничего нет, это алгоритмы экспертных систем, описанные десятки лет назад.
15. ivanov660 4577 24.07.19 15:09 Сейчас в теме
(11)Одно дело теория, а другое практика. Вот я столкнулся с тем, что предобработка, создание нормальной базы правил, логики (особенно глубина дерева) совсем не тривиальная задача.
17. TitanLuchs 413 24.07.19 15:15 Сейчас в теме
(15) Согласен на 100 и даже больше чем на 100 процентов. Полноценного собеседника сделать сложно. Но древовидные скрипты - вполне. Оператора колл-центра такой робот сможет заменить.
2. Bene_Valete 190 24.07.19 04:48 Сейчас в теме
Подобный материал приятно читать, даже если не интересуешься темой, а если интересуешься то и подавно. Особенно порадовал юмор, в частности отсылка к переозвучке роботов Boston Dynamics :)
TreeDogNight; mskamrakova; TitanLuchs; gubanoff; +4 Ответить
3. 3vs 24.07.19 05:15 Сейчас в теме
Интересно, счастливые обладатели сих роботов должны будут
оформлять подписку на ИТС? :-)
TreeDogNight; mskamrakova; Alien_job; AllexSoft; dsdred; erutan; YPermitin; chemezov; +8 Ответить
24. TitanLuchs 413 25.07.19 13:26 Сейчас в теме
(3) Было несколько "пристрелочных" бесед с потенциальными инвесторами, пока в 100% случаев они готовы вкладываться в сервис по подписке: роботов передавать в собственность, а мозгами обеспечивать по схеме saas. Так что ИТС будет.
25. 3vs 25.07.19 13:31 Сейчас в теме
(24)Остаётся только уточнить, если пользователи роботов вовремя не заплатят за подписку,
что будет...
Восстание машин? :-)
26. TitanLuchs 413 25.07.19 16:02 Сейчас в теме
27. TitanLuchs 413 25.07.19 16:03 Сейчас в теме
(25) Остановится и на все команды станет отвечать: "Продлевать будете?"
28. 3vs 25.07.19 20:55 Сейчас в теме
(27)Ну и смысл всего этого...
30. TitanLuchs 413 26.07.19 13:09 Сейчас в теме
(28) Смысл такой же, как в ИТС и других сервисах по подписке
31. 3vs 26.07.19 15:57 Сейчас в теме
(30)Это понятно, другой вопрос, если встанет производство...
32. TitanLuchs 413 27.07.19 05:14 Сейчас в теме
(31) Ни один нормальный владелец производства не станет ставить роботов, работа которых зависит от подписки, для таких случаев будут другие условия и другие цены. Пока речь шла только о сервисных роботах.
Хотя с другой стороны, сейчас практически все компании зависят от сервисов по подписке. Например, работа большинства организаций остановится при отключении интернета, но это особо никого не беспокоит, так как достаточно просто вовремя платить за интернет, тем более, что в этом нет ничего сложного.
33. 3vs 27.07.19 07:12 Сейчас в теме
(32)Да, мир стал слишком зависим от интерета!
TitanLuchs; +1 Ответить
4. s22 22 24.07.19 08:03 Сейчас в теме
5. SerVer1C 815 24.07.19 08:11 Сейчас в теме
Одно не понятно - зачем здесь 1с ?
lisrws; AllexSoft; igo1; testnv0; Robbi; manlak; blackhole321; YPermitin; cmd_vasec; +9 Ответить
6. herres 24.07.19 09:31 Сейчас в теме
(5) логику быстрее писать.
Помните был топик, где питонисты, шарперы и одинэсники соревновались в написании ИИ для управления кораблями на игровом поле ? И победили-то наши
TreeDogNight; mvxyz; TitanLuchs; gubanoff; user811769; +5 Ответить
20. AndrewKop 24.07.19 17:15 Сейчас в теме
7. herres 24.07.19 09:34 Сейчас в теме
8. Green2 29 24.07.19 09:56 Сейчас в теме
У меня крутится такой вопрос, 1С заточена для анализа деятельности предприятия.
Для этого у неё есть справочники, регистры, документы.
Хороший интерфейс для ввода данных на компьютере.

Но как это применить для робота, он ведь принимает данные с датчиков!

по моему, в данном случае 1С не имеет никаких преимуществ перед обычной программой на С, к которой подключена какая то база данных.
12. TitanLuchs 413 24.07.19 14:50 Сейчас в теме
(8) У 1С тут нет никаких преимуществ перед другими программами, так же как у других программ нет преимуществ перед 1С. Поэтому пусть будет 1С.
TreeDogNight; mvxyz; +2 Ответить
9. astracrypt 75 24.07.19 10:42 Сейчас в теме
Категорически против подключения 1С к роботам, это все равно что забивать гвозди пачкой банкнот. Можно на Питоне сделать все быстрее получится, и веб-интерфейс подключить. И тормозить не будет, и ИИ там как бы уже давно развивается (ну типа распознование образов, голосов, и прочая шелупонь)
testnv0; Robbi; user811769; +3 Ответить
13. TitanLuchs 413 24.07.19 14:51 Сейчас в теме
(9)
Категорически против подключения 1С к роботам

Ничего страшного, главное чтобы мы были за.
ogroup; TreeDogNight; chemezov; +3 Ответить
10. Robbi 57 24.07.19 12:15 Сейчас в теме
По такой логике давайте уж и ПО автопилотов самолетов на 1С писать ))
А что: стоимость разработки снижается в разы, легко сопровождать, быстро доработать - любой студент после месяца франча сможет что-то дописать.
Отраслевое решение "1С Полетаем, смертнички!"
14. TitanLuchs 413 24.07.19 14:52 Сейчас в теме
(10) Вы, наверно, невнимательно прочитали статью, так как в нее такая логика не закладывалась.
TreeDogNight; +1 Ответить
18. Robbi 57 24.07.19 15:28 Сейчас в теме
(14) Очевидно, что робота на 1С сделать можно. Вопрос - Зачем? На тяжелой неповоротливой платформе, предназначенной для ведения учета, которая из-за своей монополии развивается чорт знает куда.
И в статье был дан ответ про преимущества: "Зачем вообще подключать робота к 1С? Во-первых, потому что 1С-ников много, и легко будет сопровождать, и стоимость владения роботами снижается в разы. Во-вторых, допустим вам, действительно, нужен консультант, который сможет всегда и все подсказать покупателю"
Первый пункт как раз про дешево и сердито. Второй очень натянут - все данные из 1С тянуться на ура огромным количеством способов.
19. TitanLuchs 413 24.07.19 15:42 Сейчас в теме
(18) При доступе через http-сервисы платформа совсем не тяжелая и неповоротливая, это тема моего доклада в 2017 году.
TreeDogNight; +1 Ответить
21. chemezov 48 25.07.19 02:54 Сейчас в теме
(18)
предназначенной для ведения учета

Небольшое уточнение. 1С для автоматизации ведения учета. Например можно сделать так, чтобы роботы на производстве передавали все показатели произведенной детали сразу в 1С. Так мы убираем человеческий фактор (операторов) из цепочки ввода первичной информации.
TreeDogNight; TitanLuchs; +2 Ответить
16. A_Max 20 24.07.19 15:13 Сейчас в теме
(10) И это вполне может быть и даже на нашем веку
22. nbeliaev 835 25.07.19 06:19 Сейчас в теме
Не любит у нас народ что-то новое и нестандартное...
Автор молодец, отличная работа в плане изобретения.
TreeDogNight; irina_selezneva; TitanLuchs; +3 Ответить
23. TitanLuchs 413 25.07.19 13:23 Сейчас в теме
29. Goxanov 26.07.19 08:19 Сейчас в теме
Робот наверно еще и автономный?
В его "начинке" стоят необходимые сервера с веб сервисами?
Еще было бы круто, чтобы у него была большая автономность работы
и он сам заражался беспроводным способом от электросети! -)
TitanLuchs; +1 Ответить
34. TitanLuchs 413 27.07.19 10:55 Сейчас в теме
(29) Относительно автономный. Все "рефлексы" у него на борту, заложены в микроконтроллеры. Он способен сам определить наличие препятствия, отреагирует на толчок и потерю равновесия, остановится при поломке одного из моторов.
Сервер с веб-сервисом принимает команды от 1С, ставит их в очередь и по мере необходимости скармливает контроллерам. От 1С команда приходит в человеческом виде: "Вперед на 3 метра, поворот направо на 90 градусов, вперед 1 метр". Если команду выполнить нельзя (впереди препятствие), робот останавливается, оповещает 1С, та перерассчитывает маршрут и подает новую пачку команд.
35. aparinp 52 14.08.19 13:17 Сейчас в теме
Есть соображения по поводу того, каким образом можно заставить робота подниматься и спускаться по лестницам?
36. MuI_I_Ika 1121 29.09.19 14:53 Сейчас в теме
Не могу заставить программу говорить нормальным мужским голосом. На паараметр тембра вообще никакой реации нет. У кого-нибудь получалось это настроить?
Оставьте свое сообщение