I need to design a small data collector.
No sensors of any kind is need.
The data is collected by network using SNMP and sent to a remote server for further processing and storing.
I already have a "proof on concept" running in RB pi with code in python.
However RB pi is too much for the final product and too expensive for production in medium scale (about 600 units/year).
I am not sure if arduino is the ideal platform either, but this is up to you.
So I am looking for someone that could "port" the code to some tiny hardware/controller.
The device is intend to scan the local network looking for network devices with a specific MAC address prefix (the manufacturer prefix).
For each device that meet that criteria it should use SNMP to GET a fixed set of OIDs in numeric form.
Then it should send the SNMP answer/response (also in numeric form, "as is") to a remote server using HTTP/POST. Therefore as all SNMP GET arguments and answer are plain/raw numeric oids, no need of a MIB translator. No MIBs envolved at all.
After a few minutes it should repeat that cycle: "scan; snmp GET; http POST" forever.
Add to this the snmp TRAP capability. The devices I am monitoring by SNMP could send to this data collector a SNMP trap to inform of an abnormal event has ocurred. In this event, the data collector must send a diferrent http POST message to server.
The data collector must have at least 2 network interfaces: RJ45/Ethernet/cabled and Wifi/wireless interface.
A web configuration interface (multilingual: English, Spanish, Portuguese at least) is need to the user:
1) determine which network interface is active: only cabled, only wi-fi, or both active
2) define the network configuration for each interface (DHCP/fixed IP; input of SSID and password for wifi interface, etc)
3) give some feedback to the user of the current operation of data collector.
Whatever is the configuration choosen by the user using the http/web interface above, the data collector should keep that configuration in a non-volatile memory (E2PROM, NVRAM, whatever) so it may apply that network settings after a cold restart.
Also, a physical reset button is needed to reset the network configuration back to a default, erasing the stored network configuration on non-volatile memory.
Some led status indicators are needed so someone can quickly check if the data collector is running ok or it is in some error condition (network unreachable, no devices found, server error, etc)
A power supply, a plastic case, an external antenna (for better wi-fi signal) and a method to update the firmware are expected.