greetings. i was wondering, any insight on taking the data from 3 arduinos running firmata and dumping them, using xbee trancievers, to a single comport in in pure data?
my project uses 3 xbee "transmitter" nodes which communicate directly with its own xbee basestation"reciever" at my computer. this works but i seek to refine the system to have one basestation xbee that will recieve all of the data from the 3 nodes. from what i understand of this process, i need to add a tag like "left" in the arduino code" then parse that data on the computer end. but it seems as if this will break the arduino object.
my options, i feel, are to try to either add the tag, parse the data in pure data before the arduino object and somehow send the parsed data to 3 instances of the arduino object or to attempt to rewrite the arduino firmaware and the pd recieving abstraction since i dont foresee the hardware configuration changing all that much. insight?
cheers,
Onyx
Hi Onyx,
i would use the built-in I2C bus for connecting multiple arduinos. One
of them can do the communication to the host computer.
http://www.instructables.com/id/I2C-between-Arduinos/
gr~~~
Am 26.10.2011 um 13:47 schrieb onyx@onyx-ashanti.com:
greetings. i was wondering, any insight on taking the data from 3
arduinos running firmata and dumping them, using xbee trancievers,
to a single comport in in pure data?my project uses 3 xbee "transmitter" nodes which communicate
directly with its own xbee basestation"reciever" at my computer.
this works but i seek to refine the system to have one basestation
xbee that will recieve all of the data from the 3 nodes. from what
i understand of this process, i need to add a tag like "left" in the
arduino code" then parse that data on the computer end. but it
seems as if this will break the arduino object.my options, i feel, are to try to either add the tag, parse the data
in pure data before the arduino object and somehow send the parsed
data to 3 instances of the arduino object or to attempt to rewrite
the arduino firmaware and the pd recieving abstraction since i dont
foresee the hardware configuration changing all that much. insight?cheers,
Onyx
-- Help me build the sickest live performance system ever! www.indiegogo.com/beatjazzsystem www.onyx-ashanti.com Germany+49 176 3543 7859
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
-- Thomas Grill http://grrrr.org
The Firmata protocol is built around a one device connection (it was
written for Arduino-USB), so having multiple devices sending their
data over a single serial port won't work with the Firmata protocol.
I seem to recall that Xbees can send on different channels. If so, I
think the easiest thing to do is to have one xbee receiver per
arduino, each on its own channel, and therefore one serial port per
xbee.
If you want to only have one receiver, you'll have to create your own
protocol. Perhaps an easy way to do that would be to wrap the
existing Firmata protocol with some identifier of which arduino is
came from.
You could also look at the xbee object in the pure-data svn, its in
externals/io/xbee. But that also means no Firmata.
.hc
On Oct 26, 2011, at 7:47 AM, onyx@onyx-ashanti.com wrote:
greetings. i was wondering, any insight on taking the data from 3
arduinos running firmata and dumping them, using xbee trancievers,
to a single comport in in pure data?my project uses 3 xbee "transmitter" nodes which communicate
directly with its own xbee basestation"reciever" at my computer.
this works but i seek to refine the system to have one basestation
xbee that will recieve all of the data from the 3 nodes. from what
i understand of this process, i need to add a tag like "left" in the
arduino code" then parse that data on the computer end. but it
seems as if this will break the arduino object.my options, i feel, are to try to either add the tag, parse the data
in pure data before the arduino object and somehow send the parsed
data to 3 instances of the arduino object or to attempt to rewrite
the arduino firmaware and the pd recieving abstraction since i dont
foresee the hardware configuration changing all that much. insight?cheers,
Onyx
-- Help me build the sickest live performance system ever! www.indiegogo.com/beatjazzsystem www.onyx-ashanti.com Germany+49 176 3543 7859
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
"[T]he greatest purveyor of violence in the world today [is] my own
government." - Martin Luther King, Jr.
On Wed, Oct 26, 2011 at 6:35 PM, Hans-Christoph Steiner hans@at.or.atwrote:
The Firmata protocol is built around a one device connection (it was written for Arduino-USB), so having multiple devices sending their data over a single serial port won't work with the Firmata protocol.
what about removing the comport in the arduino object and replacing with with data from an abstraction that would parse all three data streams and send the data that the comport would have sent were it there? so it could still have most of the guts of the arduino object intact but where the comport object was, would be a routed stream from an abstraction that would send the patch the data it was expecting, sans comport object. then all three streams could dump to this precursor object which would have the one comport input from the xbee connected to the computer.
I seem to recall that Xbees can send on different channels. If so, I think the easiest thing to do is to have one xbee receiver per arduino, each on its own channel, and therefore one serial port per xbee.
thats what i am doing now. it works ok, but I'd like to make the system more efficient. i dont have to do it right now. this is just a project i want to start getting my head around and would like to know the options.
If you want to only have one receiver, you'll have to create your own protocol. Perhaps an easy way to do that would be to wrap the existing Firmata protocol with some identifier of which arduino is came from.
yeah, its looking like that. the good thing is that the system i designed is stable, ie. i dont plan to make any major configuration changes in the hardware for for quite sometime, so it would be feasible to just do simple data sends to pure data and lock the config in.
You could also look at the xbee object in the pure-data svn, its in externals/io/xbee. But that also means no Firmata.
I didnt even know there was an xbee object! going to download it now! thanks for the link. i will check it out now! cheers
.hc
On Oct 26, 2011, at 7:47 AM, onyx@onyx-ashanti.com wrote:
greetings. i was wondering, any insight on taking the data from 3 arduinos running firmata and dumping them, using xbee trancievers, to a single comport in in pure data?
my project uses 3 xbee "transmitter" nodes which communicate directly with its own xbee basestation"reciever" at my computer. this works but i seek to refine the system to have one basestation xbee that will recieve all of the data from the 3 nodes. from what i understand of this process, i need to add a tag like "left" in the arduino code" then parse that data on the computer end. but it seems as if this will break the arduino object.
my options, i feel, are to try to either add the tag, parse the data in pure data before the arduino object and somehow send the parsed data to 3 instances of the arduino object or to attempt to rewrite the arduino firmaware and the pd recieving abstraction since i dont foresee the hardware configuration changing all that much. insight?
cheers,
Onyx
-- Help me build the sickest live performance system ever! www.indiegogo.com/beatjazzsystem www.onyx-ashanti.com Germany+49 176 3543 7859
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
"[T]he greatest purveyor of violence in the world today [is] my own government." - Martin Luther King, Jr.