2016-03-06 3 views
1

ребята, я пытаюсь построить некоторые данные, поступающие с датчика на банановый пи. Для простоты разработки я использую python и wxWidget. Для построения данных я использую библиотеку matplotlib. Это нормально работает на моем ноутбуке, но когда я запускаю его на банане, сюжет рисуется очень медленно.Запланировка в реальном времени на rasberry pi с python и wxWidget

def on_redraw_timer(self, event): 
    print datetime.datetime.now() 
    self.data.append(getCurrentValue()) 
    self.draw_plot() 

Этот код выполняется каждые 100 мс, и это то, что он выводит

2016-03-06 10:51:47.530607 
2016-03-06 10:51:47.880988 
2016-03-06 10:51:48.211054 
2016-03-06 10:51:48.538298 
2016-03-06 10:51:48.864935 
2016-03-06 10:51:49.190108 
2016-03-06 10:51:49.514287 
2016-03-06 10:51:49.851634 
2016-03-06 10:51:50.178744 
2016-03-06 10:51:50.503762 

Так что занимает 300 мс, чтобы сделать сюжет. Это неприемлемо. Можно ли закрепить скорость вытягивания? Или я должен использовать некоторые другие библиотеки?

Спасибо!

ответ

1

Я думаю, что нет реального способа ускорить работу на банановой пи. Имейте в виду, что вы используете крошечный процессор с очень ограниченным объемом оперативной памяти для того же приложения, для которого обычно используется ваш ноутбук. Я не говорю, что вы не можете запускать графический интерфейс на банановом пине или использовать matplotlib, но частота повторения 100 мс немного жесткая, как вы уже испытали самостоятельно. Тем более, что вы запускаете операционную систему (как я полагаю, Linux) с помощью диспетчера окон, что также сказывается на оперативной памяти и процессоре.

Как вы могли бы использовать свой существующий сценарий python для извлечения данных и использовать gnuplot для его отображения? Это может работать на этой частоте. Существует даже gnuplot python interface, но это, скорее всего, не решить проблему задержки за 300 мс.

+0

Да банан-пи - это сложно. вы думаете, что производительность будет лучше, если я использую C++ вместо python? и использовать некоторые низкоуровневые библиотеки C++ для рисования графиков? – user1354033

+0

Я бы проверил, можете ли вы постоянно визуализировать данные с помощью gnuplot, в то время как существующие методы python выполняют извлечение данных, прежде чем тратить больше времени на кодирование. В противном случае вы переносите все на C++, а затем одно и то же, но на C++. –

+0

Вам это было полезно? –

 Смежные вопросы

  • Нет связанных вопросов^_^