Answer the question
In order to leave comments, you need to log in
Raspberry Pi + Python or STM32 - which is faster?
I wonder who is faster - Python on Raspberry Pi 3b+ or STM32F4 with C firmware?
A task without strict realtime, packet exchange between the ethernet, SPI and UART. The total heap is no more than 10 Mbps. Well, to a lesser extent, the processing of these data and the collection of statistics.
But you need the flexibility of settings, a web muzzle and the ability to configure everything remotely. In raspberries, it's all there out of the box, but on stm you have to invent it yourself.
On the other hand, DMA is available in stm and the task of transferring packets between interfaces is greatly simplified.
In general, what to choose? And where to look at the performance tests of raspberries with python?
(I don’t consider the option to write a program in C for raspberries yet, I still need to learn it)
Answer the question
In order to leave comments, you need to log in
Take it and check it: write a test of your task in two versions and compare the speed of work.
Definitely, the raspberry will be faster if, of course, you manually disassemble the packets not byte by byte. Because the data itself will be transmitted by native methods (the uart port will be a file, which means it will just have a data block write syskol).
If you have a data transformation, then it all depends on this transformation and how you implement it, but even in this case, the raspberry will often be an order of magnitude faster, because there is at least a frequency 10 times faster, 4 cores instead of one, etc. .
In vain do not consider the C option for raspberries, since development in C for STM32 is even more difficult, because resources are very limited and you will have to implement the OS.
Here it is appropriate to think in which direction the project will develop. If you need flexibility, a web face and remote control, you need to take raspberries and cut them until the required performance is reached.
Definitely, the raspberry will be faster if, of course, you manually disassemble the packets not byte by byte. Because the data itself will be transmitted by native methods (the uart port will be a file, which means it will just have a data block write syskol).
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question