Here a picture of the SNMP hardware. The Red Bokito with Atmega168 and Wiz810MJ. As shown on ElektorLive november 2009. On the left the small PCB (size of an Euro) with I2c-temperature-sensor LM75. The Wiz810MJ is receiving an UDP-string on port 161 from Cacti. Waits for the OID 220.127.116.11.4.1.318.104.22.168.1.1.0 that is the (APC) MIB for degrees Celcius. And sends a UDP string with all information back. Still have to find a nice humidity sensor (I2c) on 3.3 volts.
And here the big trick… My receive buffer starts at &H6000. My transmit buffer starts at &H4000. Everytime I issue a Call Wiz5100_writevalue(W5100_s0_mr, Sn_mr_udp) the read and write pointers are put back on their begin so the SNMP string I receive can every time be found on exact the same location in the receive-buffer and I can reply with an UDP-string at exact the same spot in the transmit buffer. Will show that later on in the Wiz810MJ-tutorial. A feature I stumbled on while writing software for a TCP/IP-based security system. Great stuff those Wiznet modules….