Drone employee. Пример реализации интернета вещей на платформе сети Ethereum.

На видео продемонстрирована рабочая модель найма дрона для достижения GPS координат без оператора. Это первая и наиболее простая интеграция IoT на платформу сети Ethereum, в которой человек напрямую взаимодействует с роботом, заключая с ним контракт. Итак, давайте пройдемся по основным моментам, отображаемым на видео.

Обзор окон скринкастинга.

Drone flying simulator

 

«Window 1: Ethereum node on Drone» — консоль на борту дрона для работы с сетью Ethereum, используется клиент сети Geth.

«Window 2: Ethereum node on Human» - консоль на компьютере человека для работы с сетью Ethereum, используется клиент сети Geth.

«Window 3: Google map with GPS tracker» — данное окно позволяет нам отслеживать координаты дрона для сравнения с указываемыми в консоли.

«Window 4: Drone flying simulator» — окно симулятора полета дрона. Позволяет отладить систему без потери при первых запусках дронов, что довольно таки кстати, особенно зимой в России.

Сценарий, выполняемый на видео.

На первых минутах видео стоит обратить внимание на окно 3. На данный момент наш Drone employee (дрон наемный рабочий) находится на условной базе дронов.

Для демонстрации мы выбрали местоположение базы дронов исходя из соображения мягкого климата, наличия разделенной водой суши, расстояний между базой дронов и пунктом назначения не более 5 — 6 км, а также, что на наш взгляд не мало важным для первой презентации — местности с высоким уровнем принятия инноваций.

Мы выбрали окрестности Сан-Франциско.

Screenshot

Наш первый эксперимент по найму дрона с использованием smart контракта в сети Ethereum.

Среда взаимодействия человека и дрона: сеть Ethereum с использованием консольных клиентов geth.

Используемое ПО на стороне дрона:  ROS (Robot Operating System)

Шаг 1. Производим начальную конфигурацию дрона. Временной интервал на видео — 00:05 — 00:15.

Уже прошла неделя с момента написания версии smart контракта для найма дрона, мы усложнили этот контракт и связали с ядром работы децентрализованных автономных агентов, но это уже тема следующего поста. А пока… для конфигурации контракта найма дрона мы указывали только координаты базы и принимали, что дрон находится по данным координатам. В нашем случаи эти координаты: «-122.372130 37.830321″.

Screenshot2

Шаг 2. Запускаем скрипт создания smart контракта найма дрона. Временной интервал на видео — 00:20 — 00:38.

После указания текущих координат дрона, находящегося на условной базе дронов, мы отправляем транзакцию в сеть Ethereum.

Отправлена транзакция на создание smart контракта в сеть Ethereum. Время — 00:28 минут.

Мы видим сообщение в окне консоли дрона: «DAO «Smartcontractbase.com» services initialization of new employee..»

drone simulator2

Спустя 10 секунд контракт создан в сети. Мы видим следующее сообщение в консоли дрона:

«Dron employee contract created!

Contract address: …
Employee address in contract: …
Dron employee address: …

Homebase coordinate:
Longitude: …
Latitude: …
New drone employee whait mission…»

drone simulator3

Теперь дрон готов к найму на работу.

Шаг 3. Подключаемся к контракту из консоли клиента. Временной интервал на видео — 01:45 — 2:20.

В консоли клиента мы производим подключение к локальной ноде сети Ethereum на ПК пользователя. После чего:

Время - 02:05 минут. Выполняем подключение к созданному с консоли дрона контракту найма. 
Время — 02:05 минут. Выполняем подключение к созданному с консоли дрона контракту найма. 
Время: 02:08. Показываем структуру контракта из консоли человека.
Время: 02:08. Показываем структуру контракта из консоли человека.
Время: 02:20. Показываем баланс пользователя и его адрес в сети.
Время: 02:20. Показываем баланс пользователя и его адрес в сети.

Шаг 4. Отправляем координаты дрону для просчета расстояния и стоимости полета. Временной интервал на видео: 02:25 — 04:20.

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

Время: 02:45. Выбираем координаты назначения в окне с картой.
Время: 02:45. Выбираем координаты назначения в окне с картой.

 

Время: 03:12. Отправляем транзакцию для добавления новой сметы в сеть Ethereum.
Время: 03:12. Отправляем транзакцию для добавления новой сметы в сеть Ethereum.
Время: 03:19. К окне консоли дрона получаем сообщение от сети Ethereum, что на smart контракт добавлена новая смета #0 с указанными координатами.
Время: 03:19. К окне консоли дрона получаем сообщение от сети Ethereum, что на smart контракт добавлена новая смета #0 с указанными координатами.

 

Время: 04:18. В консоли пользователя видим сообщение, что дрон расчитал расстояние и стоимость.
Время: 04:18. В консоли пользователя видим сообщение, что дрон расчитал расстояние и стоимость.

Шаг 5. Нанимаем дрона для достижения GPS координат. Временной интервал на видео — 04:20 — 5:01.

Итак, зная стоимость полета. Мы можем теперь отправить ему платеж, после чего дрон по адресу отправителя найдет смету и отправится по указанным пользователем координатам.

Время: 05:01. Платеж получен, дрон отправляется на указанным GPS координаты.
Время: 05:01. Платеж получен, дрон отправляется на указанным GPS координаты.

Шаг 6. Наблюдаем полет дрона до точки и обратно. Временной интервал на видео — 05:01 — 28:50.

Полет занимает 20 — 25 минут. Дрон долетает за это время то точки назначения, зависает там на 10 секунд и возвращается на базу.

Дрон построил маршрут после взлета.
Дрон построил маршрут после взлета.

Шаг 7. Дрон сообщил, что вернулся на базу и исполнил тем самым задачу пользователя. Временной интервал на видео — 28:30 — 29:20.

Screenshot_10

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

В заключение.

Это видео есть результат первой итерации работы команды по разработке проекта Drone employee для наших партнеров. В ближайшие пару месяцев мы будем работать над интеграцией механизмов DAO и организацией материнской базы дронов с коридорами полета, о чем постараемся в наиболее наглядной форме рассказывать и далее.

Главное, что мы смогли увидеть реальный пример взаимоотношений человека и умного устройства в формате договора с прямой оплатой дрону его услуг. Это действительно круто, это заставляет верить в футуристичные сценарии не смотря на всё то, что происходит в мире.

По всем вопросам пишите мне на почту: sergeylonshakov@gmail.com