Debug to a sd-card module?
I have an idea i want to run by you guys before starting up.
I have sometimes random dropouts from my Nrf network - and i guess thats part of DIY. The node isnt fully tested and maybe behaves differently when the voltage drops, some hardware fails or the radio is re-oriented which causes bad reception...
My problem is, I want to know what happens and make my nodes more stable but removing the node from its position doesnt make the debug realistic.
My thought was to develop a second node, which have a sd-card module and writes the MySensors serial output to a sd-card. Is this possible? Am i re-inventing something here or making it to difficult?
I liked the idea @AWI had about remote debugging with V_TEXT but my major issues is the radio communication and I dont know it this is because bad hardware or the radio behaves worse when voltage drops.
Any ideas is appreciated.
It should be possible, with a couple of hacks to the core. I don't know if the atmega328 have enough program space for it though.
(the Sensebender GW have a SDCard interface directly on the board )
To be clear, im talking about a second module/node which is removable and attachable to all other nodes with ftdi header. It would not have to include MySensors library/code if thats a problem with space.
More of a clean arduino serial logger... attachable to all nodes which behaves bad (and have debug defined offcourse).
Creating a non-Mysensors "log node" that listens on serial and logs everything to sd card should be fairly easy. With serial debug on on the troublesome node, all that needs to be done is to connect the log node to the serial port of the troublesome node.
@sundberg84 Is it the intention to make just a serial logger? i.e. attach the second node directly to the serial out of the "problem node". That would be very easy. In a few of my first postings and also I connected a bluetooth radio to the ftdi of the pro-mini. That way you can use a pc or phone bluetooth serial program to read and log the serial output.
@mfalkvidd - Thanks! My first thought was it should be easy... but i also thought that if it was easy someone else already made it.
@AWI - "just a serial logger" Yes, you are correct! A serial bluetooth output! Interesting... it meets my needs for most part! Hmmm... maybe one should make a new hardware... The MySensors Debug Logger or something...
Short term logging - bluetooth
Long term logging - sd-card
2xAA battery powered?
This needs to be investigated! All input appreciated so keep it coming...
@sundberg84 I given one of my nodes the birth name "MySensors data logger" ;-). This one listens to a few of my nodes and writes the log data to an SD card.
If you search for 'Arduino serial logger" with google you get a plentitude of examples which do generic serial logging, either with or without time stamps.
karlheinz2000 last edited by
Another interesting option for debugging: http://jeelabs.org/wp-content/uploads/2015/06/24/ftdi-over-wifi-esp-bridge/index.html
But I did not test this yet.
@AWI - Ah, sorry I dont want to re-invent or steel something here (as you see in my first post). Im going to look more into whats out there. If you have a good working logger you can share im very happy! Its good with bluetooth but i also need a node which runs on battery if possible) to leave and log for say a week.
@karlheinz2000 - thanks - will look into that. It looks really promising!
Either way, im going to build or order something. I need a complete logger to make my system more stable.
hmm.. what about an ESP8266, with an sdcard interface, then you can attach to the serial port via WIFI directly, or read the log file stored on the sdcard, with a couple of web pages etc.
@tbowmo - also a great idea. I think the project mentioned by @karlheinz2000 was just that and it looks really promising. Ill dig more into this and let you know when I have some sort of solution for my needs.
Very nice ideas guys, which could really help the community diagnosing intermittent network issues!
I challenge you all to enter the Contest with a great design!
@Yveaux - good idea! If someone with more spare time than me wants to give it a go, please do because I will never be able to finish for the contest ends
I had a free day today and begun some sketching... any input?
Still going with the specs:
- Battery (2xAA)
- Long term logging to SD card
- Short time logging through bluetooth
- Should last atleast 2 weeks on 2xAA
Old topic, and I will probably create a project on openhardware but im making some progress with this... hardware section is under testing... software for SD-card needs to be developed so still some time ahead before finished. 2 revision of the PCB and it probably needs another round (6 weeks delivery, yay!)
My next step as hardware developer will be some sort of sales from openhardware with assembled modules and not only PCB but my goal will be to sell them 1 and 1 for a resonable price for all that needs a debug machine.
And the name? Easy Debugger Module - The Serial Debug Killer!
Module is now working and can debug a MySensors node to both Bluetooth and SD card. Next and final step will be to check the booster circuit and make sure it can debug for 2 weeks on 2xAA bat (which was the goal).
I hope the next step will be a openhardware page with all the info nessecary to build one.
kisse66 last edited by
There's also OpenLog. Haven't tested yet, but just got one (China clone for about $4, Sparkfun $14.95). It's about the size of microSD card and logs all serial input. Spec says "2mA idle, 6mA at maximum recording rate" which means something like 2 weeks with 2xAA. One issue might be voltage, it says 3.3 - 12V input, don't know if it works unmodified with less, i.e. without step-up.
I might also like to use the BT you included in your version.
I'm actually using openlog for the software. Will post more info later. It's tested and open source so instead of reinventing the wheel Im trying to develop that code further for my module...
And then you will have Bluetooth and booster+ voltage regulator as well
Specs with the sd card.module (without LEDs) are the same for my module so 2 weeks minimum are still the goal.
Coming along nice... some small bugs to kill but project alive and almost finished!
I have a hardware question for you!
I need to protect the input of the bluetooth modules RX line (and also keep the ttl logic levels withing MIN/MAX as well)
In the same time I want to be able to read data from both battery devices (say 2.0v) to 5v devices.
@ 2.0 V you are way to close to a floating level which makes me a bit uncomfortable and @ 5v I will destroy the 3.3v input on the bluettoth module....
A classic logic level converter should work for 5v to 3.3v, but I want to make one circuit that can handle also 2.0v to 3.3v - anyone that has an idea? I have ordered some Logic Level transistors to test... but if anyone can point me in any direction to create such a gate i would be happy...
I just noticed this thread, so sorry for jumping in late. However, regarding the OP, I use this:
or, more lately, this:
It's better than logging to an SD card, because you can see in real-time what is happening. Just open a putty terminal to the node and watch or come back later (anytime) to see what happened. With a lot of serial terminals, like Termite for instance, you can easily timestamp the serial output as well. Or, if you're only interested in seeing what's happened relatively recently, you can check directly by connecting directly to the node's serial console webpage. The nice thing too is that it all "just works." No extra coding required.
They have a great advantage in some areas but they do not fulfill my needs because I have nodes where I dont have wifi connection and they consume to much power to run on batteries for as long as i want.
Just as the Wifi logger that just works, this module will be a one time upload and it will be able to write to a sd-card or Bluetooth (real time!) so no extra coding will be requiered here as well
Are you getting adequate range out of it?
@NeverDie - What do you mean with Range - for bluetooth?
My idea is to have one long term function and one short term, which is bluetooth. So for a "quick" look I would use the bluetooth module and for this I have not seen myself in need of alot of range. I wish to debug the node on-site and if there are errors I know why. I dont know the range exacly yet - but im sure its like normal bluetooth.
With the more long term logging Im going to leave the logger at the node-site and let it be for a while - and evaluate the logs later to understand what im facing.
Not sure if it would matter to you or not, but the nRF51822-4 module is a very small and inexpensive module, and I would imagine it could be similarly programmed to behave the same as the bluetooth module you're using.
@NeverDie didn't know! I will sure look into it. Thank you.
Please use this thread for further discussion: