We create embedded systems for devices with web interfaces that store data, allow data download, issue control commands, send email alerts, and much more.
- Develop a web layer for the tiny dedicated Linux server running on the unit.
- Create several software components including a PHP web application, a binary executable (the "poller") written in C, and various support shell scripts.
- Create a web application handling the user interface and generation of alert emails.
- Enable end users to interact with the web application as they would any web site.
- Utilize a compact interface and software compression to minimize the size of data transmissions over GSM transmitters, which are priced by bandwidth usage.
- Write a poller in C, instead of PHP, to support consistent running and millisecond-accurate timing in communications between the Linux server and unit.
- Cross-compile the C code for the dedicated server's ARM architecture.
- Use the industry-standard MODBUS protocol for the poller’s communication with the unit over a serial connection.
- Write data into a MySQL database which it shares with the web application.
- Compare values it reads from the unit against alarm thresholds, and inform the web application of alarm conditions.
- Accept control and configuration commands from the web application over a custom Berkeley socket interface that maintains its internal scheduling.
- Create a collection of shell scripts to provide watchdog verification for the running of the poller and monitoring of disk utilization.
- Design flexibility into all of the components.
- Make polling frequencies and most system configuration parameters changeable on the fly via the web interface.
To learn more, please read about one of our embedded systems deployments.