2

Is there a lightweight networking framework to facilitate network communications between Ethernet/Wireless enabled Arduinos and Linux/Mac/Windows PCs?

Implementing something like being able to read and write the pins or trigger a function from the PC on the Arduino, or trigger an event on the PC because of some input on the Arduino.

I guess I'm just trying to avoid re-inventing a wheel if possible...

bakcsa83
  • 357
  • 1
  • 9

4 Answers4

1

a lightweight networking framework ... between ... Wireless enabled Arduinos and ... PCs?

If I wanted wireless connection between an Arduino and a PC, I would check out:

My understanding is that many XBee and Bluetooth and RF12 and many other wireless systems and wired systems can be set up to simply pass bytes over a "serial COM channel". Once you have such a channel set up, you could in principle use practically any protocol on top of that channel.

Many "lightweight" protocols are listed at " Good RS232-based Protocols for Embedded to Computer Communication " and "Embedded Systems/Common Protocols". As you can see, there is a lot of wheel-re-inventing going on.

davidcary
  • 17,426
  • 11
  • 66
  • 115
1

You might want to take a look at MQTT:

[MQTT is] ...an open message protocol for M2M communications that enables the transfer of telemetry-style data in the form of messages from pervasive devices, along high latency or constrained networks, to a server or small message broker. Pervasive devices may range from sensors and actuators, to mobile phones, embedded systems on vehicles, or laptops and full scale computers.

Basically, it's a protocol for asynchronous publish/subscribe message passing. You can setup an Arduino to publish data (e.g. sensor readings) to one topic and subscribe to another to receive commands. The PC can subscribe to the Arduino's data topic and send commands by publishing to one of the topics that the Arduino subscribes to.

ActiveMQ implements an MQTT broker. An Arduino library implementing the protocol is available here (github).

I learned of this from Jonathan Oxer's SuperHouse blog, which has some interesting stuff.

Kaypro II
  • 220
  • 3
  • 8
0

Did you mean the Arduino Http Web Server?

In this example, you will use your Ethernet Shield and your Arduino to create a simple Web server. Using the Ethernet library, your device will be able to answer a HTTP request with your Ethernet shield. After opening a browser and navigating to your Ethernet shield's IP address, your Arduino will respond with just enough HTML for a browser to display the input values from all six analog pins.

Passerby
  • 72,580
  • 7
  • 90
  • 202
  • Thanks Passerby, that's one of the examples I looked at while googling for an answer. – MarkJustMark Aug 01 '13 at 03:05
  • It's the kind of thing I would use to start building my own solution, but not quite what I'm after. I was hoping that there was already a fleshed out framework where someone had already worked out a reasonably efficient network protocol, and nice, small transmit and receive modules for the Arduino, and a module for Processing or C or Java on the PC. – MarkJustMark Aug 01 '13 at 03:14
0

No need for extra peripherals, just use serial (USB).

Depending on what software you are using, be it AS3/Processing/OF etc, you can load up the arduino with Firmata and run serproxy as a server between your software and the arduino (I'd recommend staying away from TinkerProxy, it doesn't work quite as well on some OS). Processing has built in support for Arduino+Firmata, a good starting point without the need for serproxy.

Check out Arduino SerialNet

Otherwise, if you are adamant to use ethernet, get the arduino ethernet shield and load up the examples.

Good luck!

rom
  • 422
  • 4
  • 14