Проект нацелен на измерение уровня качества воздуха с помощью дрона. ПО позволяет удаленно подключаться и запускать коптер на миссию с прохождением заданных точек на карте, автоматически собирать данные с электрохимических датчиков газа и отправлять их в распределенную файловую систему IPFS.
Используется следующее оборудование:
- Dji Matrice 100
- Libelium Waspmote
- Libelium Gases PRO board
- Libelium GPS board
- Calibrated gas sensors: CO, CO2, NO, SO2, CH4
- Raspberry Pi 3
- Huawei E3372
- Plastic case and DC voltage regulators
Общая структурная схема и интерфейсы, объединяющие оборудование.
Для управления дроном и сбора данных используется инфраструктура ROS, которая работает на одноплатном компьютере Raspberry Pi 3. Взаимодействие с дроном осуществляется через Dji Onboard SDK. Для удаленного доступа к дрону используется ssh через подключение по статическому IPv4 оператора сотовой сети или IPv6 peer-to-peer сети cjdns.
Руководство по созданию образа для Raspberry Pi.
Руководство по использованию узлов ROS.
Руководство по прошивке и использованию Libelium Waspmote.
Общая структура узлов ROS:
de_airsense_mission - узел запуска дрона по миссии и получения с него необходимой телеметрии. Использует сервисы Dji SDK ROS для загрузки и запуска миссии. Миссии хранятся в файлах yaml формата.
de_airsense_waspmote_ipfs - узел для сбора и записи данных с Waspmote во время полета. Также собирает данные о координатах и времени точки замера. Запись данных начинается при отрыве дрона от земли. При приземлении данные записываются в файл и отправляются в IPFS.