I would like to avoid using Arduino or any other type of MC and access an UART-capable device such as Grove MP3 V2 directly by sending out player’s commands direct out of the XBee’s UART.
Quite poor documentation for the KT403 chip used by Grove tells it is a 3.3V TTL UART, which is compatible with the one offered by Xbee.
So is it possible technically?
Right now I’ve made a quick test while operating both XBees in API mode. While the API Frame is surely correct, I didn’t get desired output at the UART on the receiving side (that’s by observing no effect on player). I’ll try to switch the receiving XBee to the Transparent mode but for now please correct me if I misunderstood something - I have just no clue if this kind of communication might be possible at all…
Any input is greatly appreciated!
You can directly connect UART of 3rd party device with XBee as long as its UART voltage is less than VCC of XBee module.
Yeah, I guess you have to use XBees in transparent mode for this setup. I can’t comment on your API test because you haven’t provided xbee’s output.
Yes you can connect them direct as they are both TTL level.
As for the API, I can see using the API on the receiving side but unless the MP3 supports Digi’s API, that module should be in transparent mode. This way what ever goes in and out of the UART of the Grove will be default.
thank you for a prompt reply and for cheering me up)
indeed, using Transparent Mode on the end device throws the TX payload out of the UART, all fine.
However I still have no success in achieving any kind of effect on the Grove.
Here is what I did:
- receiving XBee (Transparent Mode) is getting 3.3V on pin 1 (XBee dev board) along with the Grove.
- dev board pin 2 connected to RX on Grove
- dev board pin 3 connected to TX on Grove
- dev board pin 10 is sharing GND with Grove’s GND and GND of my power supply
- XBee (0 13 A2 0 40 DA 78 AF) is getting the API frame (ID 1B) as follows:
7e 0 13 0 1B 0 13 A2 0 40 DA 78 AF 1 7E FF 6 0C 0 0 0 EF 6F
According to the KT403 documentation here http://www.seeedstudio.com/wiki/images/c/c0/Grove_-_MP3_v2.0_KT403A_datasheet_V1.3_EN(Recompiled_by_Seeed).pdf this payload should reset the chip, and this frame, for example:
7e 00 13 00 E1 00 13 A2 00 40 DA 78 AF 01 7E FF 06 0F 01 01 01 EF A3 should start the playback of an 01/01.mp3 on card.
Unfortunately, the status LED on Grove is blinking neither shortly while resetting nor constantly while playing (as stated here: http://www.seeedstudio.com/wiki/Grove_-_MP3_v2.0#Hardware_Overview). Nothing is to hear as well. LED is on constantly.
Maybe you have an idea what I’am doing wrong here?
Maybe there is a possibility for me to debug by listening to the Grove’s UART somehow?
And yes, I am sure the link between XBees is working, since my Remote AT like
7e 0 10 17 1E 0 13 A2 0 40 DA 78 AF FF FE 2 44 34 5 58 /
7e 0 10 17 1F 0 13 A2 0 40 DA 78 AF FF FE 2 44 34 4 58 are resulting in turning the DS4 led on board on and off.
Thank you in advance for looking into this!
ps: Also the selecting “SD as playing device” and “setting volume to 1E” commands were performed without effect.
okay guys, let me introduce you to the best example of the RTFM.
If RTS is enabled for flow control (D6 (DIO6 Configuration) Parameter = 1), data will not be sent out the DO Buffer as long as RTS (pin 16) is de-asserted.
kills himself dramatically