I'm looking for open source, simple (simple enough for arduino, for example) protocol for transfer of some messages over audio (eg. in the apartment environment, not by analog line, but between speaker and mic, via air). It should be noise resistant and not binary (not Morse) - it's a art project, the idea is to make controllers to communicate like r2d2's
|
|
This question was asked right before I joined the site, so I didn't see it until just now, when it was brought to my attention for review. You can use any of various "audio watermark" techniques to embed a low-speed (tens of bps) data signal into any sort of audible "cover" signal. This means that what a human hears does not necessarily need to be related to the actual content of the communication (but it can be). As for simplicity and low cost, I once built a prototype watermark decoder that was intended for embedding in interactive toys, which is an extremely cost-constrained market. It was based on a 6502 microcontroller clone along with a simple opamp-based analog signal chain for gain and filtering. The demo system, using a low-cost electret microphone, could reliably pick out watermarks across a conference room from a laptop computer driving cheap speakers. Your question as it currently stands is really not a good fit for EE or the SE format in general. The question about existing protocols you could use is probably better suited to the DSP site. But to get a meaningful answer, you need to be more specific about the kinds and amounts of information you actually want to exchange among the various units of your project. |
|||
|
|
|
Here in Italy, there are some radio stations that send time of day encoded on a low bandwidth audio signal. I can decode that signal almost always, with a microphone and the radio receiver speaker in the same room. This is the encoding scheme, unfortunately is in italian, and I haven't found an english translation.
|
|||
|
|
|
I think what you want is something like Dual-tone multi-frequency signaling. This is what they use on touch tone telephones. When you dialed the number, it would generate tones which would be recognised as numbers at the other end of the line. You can convert your string of text into numbers, and send them out through a speaker. To generate the DTMF signals, you'll need something which can generate the two tones and add them together, either in software or in the analog domain. A microcontroller can do this, and I know that the PSoC3 can do it in hardware (as usual). To decode the data, use a MT8870D chip. See DTMF decoder using MT8870DE. |
||||
|