SparkFun Forums 

Where electronics enthusiasts find answers.

All things pertaining to wireless and RF links
By Spandy
#147769
Hi guys

My first project involved developing monitoring system, I used "Agentuino library" to post and log temperature and humidity of a room into cacti. Cacti is visual real time graphing monitoring software (using SNMP). To achieve a graphical monitoring system I used Aruduino EtherTen and SHT15(temp,humdity sensor) on the hardware end.
This brings me to the reason I am writing a post. My first project worked wonderfully well, because of Agentuino library.
At the moment I am working on a similar project but the difference this time is, that I am using a WiFly shield (http://www.sparkfun.com/products/9954) along with Arduino Uno instead of EtherTen. So I was wondering if anyone would be able to spare some time looking into the "Agentuino library" and help me make it compatible for WiFly shield.
It would be a huge help and also greatly appreciated. Thank you

Hope to hear from someone soon.

Cheers
Spandy
By Joeisi
#147782
Well it should..... Not sure why it wouldn't. SNMP is an internet protocol. This has almost no relation on whether the connection is hardwired or wireless. Just as long as you are connected this should work. But don't take my word for it. I'm human.
By motopic
#147790
Joeisi, the answer is maybe, because the Agentuino code is built on the Adruino default Ethernet hw library. This lib runs on only 1 chip (or it did)(the 5100) and the SNMP part used hardwired functions from that lib. It was an early task I identified when I looked at it a year or more ago - to seperate the layers cleanly, but it was never done.

OP, if the eth chip is the same it should work. Otherwise, if its the pic brand eth chip, you will have to port the hw lib and merge to the snmp part.
By motopic
#147994
I'll try.

Arduino comes with a default ethernet library. The ethernet library accesses the low level eth hardware to send and receive packets and other details. This library is written for the W5100 eth chip that came out about 8 years ago. Since that time other chips appeared, and people 'have' written libs for them, but the function interfaces are all different.

The snmp lib you reference was written to use the default arduino eth driver. The author also never planned to use other chips SO he has no clean interface either, he uses w5100 function calls directly from the default lib. You can get a pic eth library, but all the calls and data structs are different, so everywhere the previous author had a w5100 call you have to adapt to another library. THEN youd have essentially 2 versions of snmp, and no methodology to use any newer hw either.

The REAL solution to the issue, is to standardize the common item interfaces (or build a hw independant eth layer), and rewrite the snmp against this common layer. Then one could change out the hw underneath the snmp lib and it would not care. This all sounds easy, but it is not, there is a lot of code here to consider, even with just this simple topic.

While Arduino has LOTS of libs, they are mostly written to solve a need at hand, and most often never considered about expansion in the future, or abstraction of the hw to the higher levels, or interaction with other libs.

Hope that helps some, but it didn't solve the problem.