Easy Arduino Data Logging and Telemetry
Вставка
- Опубліковано 5 сер 2024
- Here's a program that I wrote to make it easy to visualize data from an Arduino or other microcontroller. The microcontroller sends data to the PC as CSV text. The software can visualize that data in the form of line charts, histograms, Fourier transforms and statistical calculations.
The video starts with two demos: first an STM32-based balancing robot that streams out accelerometer, gyro and magnetometer sensor readings. Then a demo with an Arduino that has a CdS light sensor, a potentiometer and a thermistor.
I cover how to write the Arduino sketch, and then show how to use the Telemetry Viewer program.
The rest of the video is an explanation of how the Java source code is laid out. A model-view-controller methodology is used.
To use the program you will need to have Java 8 installed.
Download the program and source code here:
www.farrellf.com/TelemetryViewer/
github.com/farrellf/Telemetry...
Telemetry Viewer is free and open source. If you find it useful and want to "buy me a coffee" that would be awesome: paypal.me/farrellfarahbod
Edit: There's a new version available, check out the updated video:
• GPU-Accelerated Arduin... - Наука та технологія
You have no idea how helpful this is. I've been searching for a month for this exact video.
Thank you very much for sharing this! I've been looking around for something like this. I tried to do it on my own but didn't succeed. :) You are the best!
Thank you for sharing and taking the time to make the video.
i signed up just for leaving my like. THANK YOU SO MUCH!!!
What an amazing soft !
This is exactly what I'm looking for.
Thank you so much for this and for your tutorial !
This looks like a really great application.
Well done!
This is amazing! Thanks for sharing this with us!
Thank you so much, I've been looking so long for this explanation
Thanks so much, been looking for something like this for ages!
Good design. Few suggestions: 1) Time instead of samples on x axis. Either absolute time of a day, or relative time from the start of measurements. 2) When reading from serial also dump data in parallel to a file (or files) for offline analysis with other programs. 3) Ability to have multiple different time bases on different charts. I.e. one showing only last 60 seconds, and another showing same data from last 6 hours, with decimated data (min/avg/max).
Awesome Project...! Clearly laid out...! Thank you for this..!
Thank you so much. It was something I was looking for. Your work is commendable.
Very impressive - that must have been a lot of work and time to write . Well done Mr upgrdman!
This is amazing!
Thank you so much for sharing and explaining , you earned a huge like!
I wish my java teacher would have implemented something like that to spice up the boring projects he gives us!
Thank you!
Thanks for this amazing job !! Exactly what I was looking for, even better !
Beautiful work mate! Thank you for sharing this!
Very nicely done. I'll give it a try. It gave me an idea on how to think about my data differently. Helpful for us if you make the code bigger to see from our end.
Thanks you so much !! the world need guy like you
Absolutely EXCELLENT !!! You saved me a lot of time. Thanks a lot.
That's bad ass man. Incredible application!
This is awesome! Thank you for sharing this.
Very useful for a student comparing data transfer speeds!
Excellent work, thank you for sharing.
Brilliant, and thank you for sharing. Hopefully I can get it working
Awesome video and program.
The Real MVP!!! Well done!
We had a strong earthquake in Croatia, and we don't have money for decent seismology equipment. (it is sad because Andrija Mohorovičić was born here..)
Your software will help us to build a web of smaller stations all around the country and track the data. I am planning to upgrade our meteor web (Visnjan Observatory started a project of tracking meteors with web of cameras all around the country years ago). We have 24/7 running servers and cameras on 350 locations. We will now start upgrading those stations to track earthquakes and I will personally make sure that as soon as this project gets going you receive as much money as possible. Thank you very much!
Nice job! Looks like a handy tool. Thx..
terrific video - thank you very much
this made my day!!
great work thumbs up :)
well, i have written my own in python few days back... :-D thanks for sharing video of yours as the inspiration is mind blowing! :-D
dude u just made my day love u man...
Really great job. Greetings from Perú
Thank you very much for sharing......great tool !!!
DUDE This is awsome!!!!!!!!!!! Thank you for sharing keep up the good work.....
This is really cool. Thanks for sharing
Very nice software, thanks!!
Muy buen código, simple y concreto. mejor no puede estar. Muchas gracias por compartir, Saludos desde Colombia.
Hey John, podrias ayudarme con algo, por favor? Gracias
Just what i need :D, Thank you so much !!
Amazing work as usual. Just got exactly, what I need. Bundle of thanks.
Thanks for the kind feedback.
Great video!
you saved me man, thanks a lot
Really good job
thank you..
this helps a lot.
thank you for sharing, nice tool!!!
This is not easy at all .. But is amazing!, great programming work ! This inspires me ti keep learning !
Thanks for the kind feedback! Good luck with your projects.
hi, thanks for sharing.
can you specify the data that collected from sensor and equation you used to plotting the graph ?
Thank you very much sir. I like it.
Awesome app. Thanks. You cleared my thirst from Arduino's serial plotter. Only daring wish is; it would been nice if there was a way to clear data while app is still up.
Amazing work and big like from me.
very very thanks for this useful software :)
wow bro!! this is amazing .. we can use this technique in model rocket for seeing the performance of the rocket
Superb tool
I am doing a project based on the transmission of signals through telemetry and your program helps me a lot. By means of the fourier transform, the signal can be visualized in a different way compared to the time domain, for example, or is it also the final form of the information?
Thank you big teacher .
Amazing ..thank you..
That is excellent!!! just one thing missing... connect it to a rtc
really nice!
Hi. The gyroscope data in CSV file, I mean gy, gy, and gz, can be set each one in columns? Thank you.
Fantastic buddy
Thanks for your amazing software. I'm using it to monitor my little greenhouse. Just displaying some moisture, temperature and humidity values. Any chance I can modify it to have the time stamp instead of the sample numbers?
very nice my friend tank you
Thank you Kind Sir.
Thank you So much.
great project
excellent tutorial. thanks for sharing.
i used this for the string if helps anyone
Serial.println(String() + sensor1 + "," + sensor2 + "," + sensor3);
Hello, I'm happy that you alwas uploading your telemery viewer! Relly good job
Woult to be possible to change the BACKGROUD Color to black?, It will look even better
at night.. thanx
I LOVE IT
you the man
Very amazing, let me share.
I cannot open the file. Could you help me? Maybe my laptop requirements some settings for opening java file.
Brilliant.
Hi, nice project. Is it possible to add Time stamp of computer in X-Axis ?
Thank you for such a great tutorial.
Can you tell me how can I do this telemetry using Esp 8266 (wireless one) rather than using com port(wired one)
Thanks
How did u sperate the csv data from arduino?
Thank you for sharing with us this amazing program ! i used this program to visualise graphs of an 3 axis accelometer and it works very good but i have a question why fourier transforms is shown up with power(watts) ? (i will be so grateful if you answer my question)
Amazing
Thanks man. Very Cool!.
Hi , great video . Is it possible to log normal rs232 data ? For example .
Communication is based on standard RS232 at 19200,n,8,1
.Each data frame consits of 5 bytes
typdef struct
{
ubyte channel;
ubyte idChar;
ubyte valueH;
ubyte valueL;
ubyte checksum;
}
Ive all the needed data .
Thanks
Is it possible to change the code so it will receive from the serial port String values such as the name of a team or some status sent from an arduino in csv and making some filter to save that string values on some database without adding them in the graphs because they will make the program crash?
That is just great
Hello! Thank you for sharing this with us, it's very interesting. I would like to ask a beginner's question, the sample code with an "analogRead" I understand, but I have difficulty applying it when the signal is digital. A simple example, when I use an HC-SR04 (distance) sensor, I have a "digitalRead" and I also need to calculate the distance.
(distance= int (0.017*time)
I tried different codes, but to no avail.
Thank you
Amazing just what i needed. Thank you so much for the great work. Just one thing how do a add distance and time + speed. Using rotary encoder for speed and pot for distance.
Amazing and flexible program. Thanks for sharing it! Do you use the serial-comm library for Java as in one of your previous videos?
Thanks. Yes, I am using the same jSerialComm library as before.
Thank you! :)
Actually I am sending Frequency and voltage data of my sensor on UART using ARM cortex M7 controller. Is it possible to plot voltage according to my frequency data using telemetry view software. if yes then how i can ??
Great way to visualise and understand data - I especially like the different ways to scale so that you may be able to look at data over a particular period of time. Saw on the connection preferences that other than COM ports you also support UDP and TCP methods. Do you have any code samples to use these options? Your robot would've used either I figure
Hey, just found the answer in another of your great tutorials. So all good :)
hello. is it possible to upload a jar executable file
to an Nextion HMI?
thanks a ton
In version 0.6 the screen does not update itself, it is frozen, it is necessary to open a menu so that the time advances on the graph. You can help?
Farrell Farahbod, thank you for your effort and time to code and to make this video. I went through the code and it is amazingly coded. I have some questions if it's not too much to ask. First of all, do you think it is possible to add more codes to include bluetooth device on the communication module?? I do not want to mess the beautifully crafted code. The second is, is it possible to calculate some parameters on the fly for example (velocity, displacement etc from the real time data) received from the comport and plot them?? I know it is possible to calculate on the arduino and send them, but one of the real challenges for wireless communication especially bluetooth is data rate. So is it possible to receive like two or three parameters, calculate some more quantities from the received data and plot in real time??
Hi there, this is very amazing, the effort, the explanation everything, and pretty useful too!
Thank you very much for this.
I have one question, how can i see the saved values?
I am reading battery voltage every 5 minutes from a 48v system, and saving it in an SD card,
and i want it to display the graph of a whole day or so.
Thanks again.
Can I assign an vibration/accelerometer instead of sensors You are using ?
@upgrdman how do i read the sensor output remotely or wirelessly?
can u develop fishfinder by using ultrasonic sensor datapresentation with netbeans
I hope someone can help me out. I am trying to run the .jar file for this software on windows 10 but will not run on 2 different computers. Double click and nothing happens. I have even install the newest java RE and also tried SDK. Help!!!!!
I'm having a problem I think it could be a configuration connection always appears lost what could it be? I'm just putting a potentiometer to test.
legend
Hi. I would like to monitor of 15 sample of MFC for voltage and current for 40 days continuous . How can i do it?
This is crazy awesome , got it going in no time, how do i store the data when hook up to a laptop?(very new to this)
after downloading software there is no file .exe to open the program but there are some folder and some file start with dot