XMPP / Google Talk?

It occurs to me that XMPP with Google Talk might be a great way for Adruinos to talk to each other over the Internet (if combined with a Lantronix Xport or WiPort).

Has anyone looked into making an XMPP library for Arduino for exchanging simple messages?

-Thomas http://www.t11s.com http://phy2phy.wikidot.com

Ok, just going to toss in my 2 cents here..

I am not really familiar with XMPP, Xport or WiPort, but as for letting Arduinos talk to eachother over the internet..

The way I would do it would be to make a simple (remember, always follow the KISS-rule;)) Visual Basic program that works as a proxy between IRC and the Arduino.

Talking to the Arduino using VB and the MSComm-object is a 3-minute project for anyone who has done it before, and connecting to an IRC-server isn't exactely rocket science. The VB-program would really only need a simple text-file for configurations, containing: - IRC-server - nick/alternative nick - Channel (for messaging other "groups" of Arduinos) - COM-port number (for the Arduino) - baud rate

Of course, the VB-proxy program would need to "translate" a bit between IRC-protocol and whatever format you want to send data to the Arduino with, but building a simple protocol on top of IRC isn't hard either.

Arduino_1 sends "msg Arduino_2:set 1 on" through the serial link to the computer, and the computer sends to IRC "/msg Arduino_2 set 1 on".

The VB-proxy logged on to IRC with the nick Arduino_2 recieves something like "PRIVMSG set 1 on" and will forward this to it's Arduino.

For addressing groups of Arduinos, one could simply msg a channel and every arduino in that channel would recieve the same message/request/data/whatever.

Like I said.. perhaps a bit of topic, but my 2 cents none the less. :P

Besides VB to IRC, one could use agsXMPP for VB to connect over Google Talk:


…or Python with the XMPP library:


Using a “helper PC” to go serial to IP is much simpler than using an Xport, but I personally try to avoid it because I’m into doing art installations and dedicating a PC to an art installation is expensive and often crashes, but most Arduinites aren’t in my situation :slight_smile:

sounds like an intresting project, keep working on it, we can start an arduino chat...

It occurs to me that XMPP with Google Talk might be a great way for Adruinos to talk to each other over the Internet

Funnily enough when I read this post a couple of days ago I had just finished reading some IRC protocol specifications to see how difficult it would be to connect my Arduino/WIZ810MJ combo to IRC.

Turns out, it wasn't too difficult: :-)

_follower_ib (6:39:03AM): _follower_ib crosses his thumbs.... _follower_ib (6:39:11AM): wait for it... irc (6:39:34AM): Arduino has joined arduino arduino (6:39:35AM): Hello, world! buZz (6:39:41AM): hehe _follower_ib (6:39:46AM): wooo!!!!! _follower_ib (6:39:54AM): it actually worked! buZz (6:40:03AM): \o/ buZz (6:40:06AM): cool buZz (6:40:09AM): irc from arduino?

And, indeed it was. :)

I did some development with Jabber/XMPP about five years ago (funnily enough on some chat translation bots similar to what Google just released...) and my impression is that IRC development might be more suited to the Arduino. Unless it changed in the last five years XMPP has a lot of boilerplate "overhead" and you need to have a XML parser of some sort.

My code's a very rough proof of concept and not yet in SVN but it proves it can be done. :-)


Cool! Did you use an Xport or other serial-to-ethernet device, or go serial to PC to IRC?

Cool! Did you use an Xport or other serial-to-ethernet device, or go serial to PC to IRC?

connect my Arduino/WIZ810MJ combo to IRC.

The WIZ810MJ is a small module (IC + RJ45 connector) that connects to the Arduino via SPI, you can find more details here:- http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1193246617 So, I'm running the device on USB power but the network connection is straight to a network switch through a router onto the net (more or less)...


Hi all,

I’ve been working on xmpp and arduinos recently. Currently it’s a motion sensor hooked to the ardiuno, it sends data to a PC serially. The PC is running an xmpppy client and sends presence availability notifications. It pretty much just tells us around the office if the foosball table is open to play or not.

Has anyone else looked any further into this though? I’d like to put the xmpp client right into the arduino, but am concerned about memory requirements. I don’t think it could be a full fledged client, but authorization, presence management, rudimentary roster operations could be possible. This would be great because just an arduino, and the xport could give all kinds of inanimate devices presence capabilities and status via chat messages. I think the biggest problem or hang-up will be getting a tiny xml parser onto the arduino; perhaps something home-grown or maybe even expat.