The Veethree Group is an alliance of companies, driven by common technologies and innovation. Today the group of companies has employees worldwide, with sites over four continents, serving hundreds of OEM customers.
Veethree Technologies with its headquarters in the UK, is a part of the Veethree Group of companies in North America, Asia and the UK.
Veethree Technologies designs, develops, manufactures, distributes and supports worldwide a range of CANvu displays. Drawing on the wide range of knowledge and depth of experience in advanced electronics and microprocessor systems, to deliver cost effective customized solutions.
Mongoose Web Server Library is integrated into the “H1” - a generic CAN to TCP/IP gateway, where Mongoose powers a communication and API implementation.
The “H1” is a communications hub, bridging between NMEA2000 & J1939 CAN buses, RS422 and TCP/IP Ethernet & wireless networks for marine, automotive, agricultural & industrial control applications.
We ran a short Q&A session with Sam Edge, Software Engineer at Veethree Technologies, to get his feedback on working with Mongoose Web Server Library.
Here are the key takeaways from it:
Q: What challenges did you encounter that required Mongoose Web Server Library?
A: Veethree Technologies has developed its small footprint “H1” generic CAN to TCP/IP gateway hardware platform to support current and future Veethree products. The design integrates USB, CAN, Serial & Ethernet and has provision for WiFi, Bluetooth & LTE modules.
To support the type of devices communicating with the unit it needed an HTTP/HTTPS web application server with WebSocket support and may need to implement other IoT services such as MQTT in future. Rather than assemble these piecemeal or write our own, we required a single, small footprint solution that could be rolled out quickly.
Q: Can you share a little about why you chose Mongoose Web Server Library and the process that led there?
A: To meet our technical and commercial goals, the “H1” eschews the use of an embedded Linux platform that would commonly be used for our use cases in favour of a bare metal real-time operating system and IP stack that can be implemented on a much more energy & cost efficient hardware base.
The flexibility of the compile-time-configuration, the ability to build from a single C source file/header and its integration with the TCP/IP & TLS stacks we have chosen, made Mongoose Library a very good fit for this.
Q: What was it like integrating with Mongoose Web Server Library?
A: Once we have addressed the initial API questions, Mongoose integrated very quickly and we were able to get the services required to deliver and communicate with our web applications working very fast. Its event-driven design requiring only a single thread of execution was straightforward to interface to our platform event APIs.
The provision of a simple WebDAV server in Mongoose meant the developers were able to debug & edit the web applications directly within the flash memory of the “H1” hardware which was very convenient for them.
Q: What changed for you after you integrated Mongoose Web Server Library?
A: In no small part because of the Mongoose library, the “H1” is able to provide a hardware & C software platform for applications using communication across CAN, Serial & TCP/IP networks with little or no additional compiled code changes. By loading different web application resources via Mongoose’s file transfer facilities it can adapt to our ongoing requirements quickly and at low risk.
The first web application for integrating Veethree’s DC switching products with other marine electronic manufacturers’ multi-functional displays (MFDs) and web browsers has proved very effective. A single “H1” gateway is able to support multiple responsive web applications running on MFDs on the Ethernet and DC switching units on the CAN interface with ease despite its frugal CPU, RAM, storage & power usage.
Q: What would you like others to know about working with Mongoose Web Server Library?
A: Mongoose provides a lot of functionality in a very lightweight package.
For best results, it does require a reasonable amount of RAM accessed through an efficient C heap manager and using fast memory copy implementations, but if this is done it performs extremely well.
"Mongoose Web Server Library provides a lot of functionality in a very lightweight package. Mongoose integrated very quickly and we were able to get the services
required to deliver and communicate with our web applications working very fast. The flexibility of the compile-time-configuration, the ability to build from a single
C source file/header and its integration with the TCP/IP & TLS stacks we have chosen, made Mongoose a very good fit for this. "
Sam Edge, Software Engineer, Veethree Technologies