Сомнения в том, как проводить телеметрию: с помощью девборта и ноутбука

У меня есть devboard (Google Coral). Там есть несколько скриптов для классификации изображений и обнаружения объектов.

Я хочу, чтобы результаты этих скриптов (модель, время вывода, оценка, изображение и т. Д.) Были отправлены / проиндексированы в Elasticsearch.

Также есть камера (прилагается к плате), которую я могу использовать и делать фотографии (для нее тоже есть скрипт).

До сих пор мой подход был таков:

  1. Я написал скрипт с помощью Paramiko для подключения к панели разработки. (Это у меня на ПК)

  2. Тем не менее, используя Paramiko, я выполнил сценарии, которые находятся внутри панели разработки (включите камеру, дождитесь, пока пробел, чтобы сделать фото, сделать классификацию, отправить результаты на сервер)

  3. Результаты индексируются в Elasticsearch (он установлен на моем ПК).

Я хотел бы знать, есть ли лучший способ сделать то, что я сделал. Что меня смущает, так это то, что мне нужно подключиться к доске, чтобы выполнить сценарий (фотографирует и выполняет классификацию). Но у меня также есть другой скрипт (на моем ПК), который подключается к панели разработки, чтобы давать инструкции, собирать результаты и индексировать их в Elasticsearch. Должен ли я поместить все в доску разработки? Должен ли я использовать последовательную связь? Стоит ли использовать подпроцессы?

@JGK


person Aizzaac    schedule 18.06.2020    source источник


Ответы (1)


Думаю, это больше вопрос дизайна, чем техническая проблема :)

Я не уверен, что этот подход сработает для вас, но если бы я спроектировал это:

1) На Dev Board спроектируйте http-сервер, который постоянно готов принять GET / запрос изображения. Если запрос получен, сделайте снимок и верните клиенту результаты классификации изображения и классификации. Вот пара похожих проектов (отказ от ответственности, один мой): [restor, snowzach / doods, ...]

Обратите внимание, что эти 2 сервера были разработаны для разных целей, нежели то, что вы пытаетесь выполнить. Они ожидают, что клиент отправит изображение, а затем вернет результат. В то время как в вашем случае ваш клиент ожидает как изображение, так и результат от сервера.

2) На клиенте просто отправьте запрос, и ваш сервер должен отправить обратно изображение + результаты.

3) На стороне клиента, поскольку у вас уже есть результат, отправьте его в эластичный поиск.

person Nam Vu    schedule 19.06.2020
comment
Спасибо. Я инженер-электрик, поэтому мне нужен совет по вопросам дизайна :) - person Aizzaac; 19.06.2020
comment
Понятно, я открыт для дополнительных вопросов :) Но этот проект потенциально более знаком вам, поскольку он написан на Python: github.com/robmarkcole/coral-pi-rest-server К вашему сведению, электротехника для меня сложна, лол - person Nam Vu; 19.06.2020
comment
Я использую инструмент «моментальный снимок», чтобы делать фотографии. Что вы использовали? OpenCV? - person Aizzaac; 26.06.2020
comment
Да, мне очень нравится opencv, он очень красивый и имеет отличную документацию - person Nam Vu; 26.06.2020
comment
Как вы думаете, может ли devboard отправлять данные напрямую в elasticsearch? Он использует много json. Код, который должен быть на панели разработки, будет выглядеть так: https://stackoverflow.com/questions/62459572/how-can-i-read-data-from-a-list-and-index-specific-values-into-elasticsearch-us/62460512#62460512 - person Aizzaac; 26.06.2020
comment
Я попытался установить paramiko в devboard с помощью apt-get install , но это не сработало. Так что, возможно, установка клиента elastiseacrh тоже будет невозможна. - person Aizzaac; 26.06.2020
comment
Это зависит от библиотеки, tbh. Множество библиотек / программного обеспечения было написано и построено специально для платформы x86_64, поэтому оно может либо не работать с платформой arm, либо вам нужно будет собрать его самостоятельно вместо установки предварительно собранных пакетов. idk много о эластичном поиске, но я установил paramiko вот так: apt install python3-paramiko - person Nam Vu; 26.06.2020
comment
похоже, что команда не хочет добавлять опоры для платформы arm: обсудить.elastic.co/t/ - person Nam Vu; 26.06.2020
comment
Они ответили на это: github.com/elastic/elasticsearch-py/issues / - person Aizzaac; 07.07.2020
comment
Я ответил :) github.com/elastic/elasticsearch-py/issues/ - person Nam Vu; 07.07.2020