I am an experienced embedded sw dev, not on the networking side per se but close enough. This is one of the best if not the best tutorial for someone who starts from ZERO as well as someone who just wants to know about networking related setup and config... Fantastic
Amazing ! is it possible to create an oscilloscope in the web page to see how the data changes in real time? if yes, can you explain how and what commands are needed in this case please? I want to read signals through an adc pin and see visually how the data is changing
Yes that would be possible! Of course a web-based oscilloscope would have its limitations, but could be quite functional for many use cases. You're welcome to join our discord and share some details about your "oscilloscope" project idea, you can find a link on mongoose.ws/demo/ page.
@@mongoose-networking-library Thanks! Yes, to send a icmp echo request to find out that the target IP is alive, and on receipt of echo reply, send usart3 output msg via printf in the event handler. Thanks
Thank you for making a guide! Really looking forward to the next about the firmware update and more. I'm new to Mongoose. I'm familiar with LwIP, how does this compare against LwIP? What are the pros and cons (didn't found it with a quick google search). LwIP documentation and examples are not so straight forward in my opinion, also I did not find a real comprehensive walkthrough and setup for LwIP. Issues / pitfalls to get I decently working on STM32 are rather annoying :)
Thank you. You partially answered your own question. Mongoose is well documented. Well supported. Very easy to integrate. Provides a well-designed high-level API like HTTP/MQTT. Implementing a simple Web/Websocket/MQTT code takes just a couple of minutes. Provides TLS. If you report an issue, it gets promptly fixed - see issue count on Github. So it beats not only lwIP. Mongoose is the best embedded network library you can find.
@mongoose-networking-library Thank you for elaborating, I have to look into Mongoose more. It's indeed really active, good to see. Big plus of LwIP is the license. Do you have a rough value for the Mongoose license cost if used in a commercial product?
@@dymastro788Please contact us via the website. As for the the license - it all comes down as a total cost for the project. Including developing, maintaining the product, and cost of fixing possible mistakes in the product that is already shipped. By using lwIP, one does not pay for the license, but pays for extra development, and pays for risks associated with using ad-hoc, home-grown implementations built on (very far from ideal) lwIP examples. Plus, don't forget that Mongoose is much more than just a TCP/IP stack. When we're talking about the real product, the TCP/IP stack is not the biggest worry - it is the logic built on top of it. So, we would not compare the two, it is just not apples to apples. Here is a quick example. Imagine you want to create a Web UI for your product, which is a real-time graph reported by your device. You want to have user login, and HTTPS. Basic stuff. If you decide to use lwIP, you need to: a) add RTOS, and bear associated costs. If your firmware already uses RTOS, that's fine, but if it does not, it is an extra cost b) add and configure lwIP itself. Could be easy, could be very tricky and difficult. It depends on many factors c) add mbedTLS or another TLS library, for HTTPS. Then know how to optimise it (there are many pitfalls) d) add some 3rd party Websocket library for the real-time graph, cause lwIP does not provide one. Or make your own e) either patch lwIP httpd example (which is not trivial to adopt), or use 3rd party HTTP library to make a Web UI If you decide to use Mongoose, you need to: a) add Mongoose, and use one of the many reference projects to bring up the UI, done. Estimate the robustness, complexity, cost of maintenance, and potential risks of shipping a buggy product. Then estimate the total cost based on all factors. That cost estimation should make the decision more informed.
Yes: mongoose.ws/documentation/tutorials/core/embedded-filesystem/ The other option is to use Mongoose Wizard, mongoose.ws/wizard/ - which generates everything for you.
This is an excellent tutorial for mongoose
I am an experienced embedded sw dev, not on the networking side per se but close enough. This is one of the best if not the best tutorial for someone who starts from ZERO as well as someone who just wants to know about networking related setup and config... Fantastic
Thank you! And more is coming!
@@mongoose-networking-library oh wow... Would be waiting... Also would be glad if there is any way of getting involved
Amazing tutorial, perfect explanation. Бальзам на душу
Thank you very much! Been struggling with putting together a webserver with stm32f767. Alot of considerations to make and you made it simple!
Thank you! To make it simple - that's our goal!
Nice
Amazing ! is it possible to create an oscilloscope in the web page to see how the data changes in real time? if yes, can you explain how and what commands are needed in this case please? I want to read signals through an adc pin and see visually how the data is changing
Yes that would be possible! Of course a web-based oscilloscope would have its limitations, but could be quite functional for many use cases. You're welcome to join our discord and share some details about your "oscilloscope" project idea, you can find a link on mongoose.ws/demo/ page.
Nice Tutorial - Thanks. I wonder it is easy to write a function to write tx_icmp() to send a icmp echo request in mongoose?
Shouldn't be hard. What's the anticipated use case? To find out that the target IP is alive?
@@mongoose-networking-library Thanks! Yes, to send a icmp echo request to find out that the target IP is alive, and on receipt of echo reply, send usart3 output msg via printf in the event handler. Thanks
Thank you for making a guide! Really looking forward to the next about the firmware update and more.
I'm new to Mongoose. I'm familiar with LwIP, how does this compare against LwIP? What are the pros and cons (didn't found it with a quick google search). LwIP documentation and examples are not so straight forward in my opinion, also I did not find a real comprehensive walkthrough and setup for LwIP. Issues / pitfalls to get I decently working on STM32 are rather annoying :)
Thank you. You partially answered your own question. Mongoose is well documented. Well supported. Very easy to integrate. Provides a well-designed high-level API like HTTP/MQTT. Implementing a simple Web/Websocket/MQTT code takes just a couple of minutes. Provides TLS. If you report an issue, it gets promptly fixed - see issue count on Github. So it beats not only lwIP. Mongoose is the best embedded network library you can find.
@mongoose-networking-library Thank you for elaborating, I have to look into Mongoose more. It's indeed really active, good to see. Big plus of LwIP is the license. Do you have a rough value for the Mongoose license cost if used in a commercial product?
@@dymastro788Please contact us via the website. As for the the license - it all comes down as a total cost for the project. Including developing, maintaining the product, and cost of fixing possible mistakes in the product that is already shipped. By using lwIP, one does not pay for the license, but pays for extra development, and pays for risks associated with using ad-hoc, home-grown implementations built on (very far from ideal) lwIP examples. Plus, don't forget that Mongoose is much more than just a TCP/IP stack. When we're talking about the real product, the TCP/IP stack is not the biggest worry - it is the logic built on top of it. So, we would not compare the two, it is just not apples to apples.
Here is a quick example. Imagine you want to create a Web UI for your product, which is a real-time graph reported by your device. You want to have user login, and HTTPS. Basic stuff.
If you decide to use lwIP, you need to:
a) add RTOS, and bear associated costs. If your firmware already uses RTOS, that's fine, but if it does not, it is an extra cost
b) add and configure lwIP itself. Could be easy, could be very tricky and difficult. It depends on many factors
c) add mbedTLS or another TLS library, for HTTPS. Then know how to optimise it (there are many pitfalls)
d) add some 3rd party Websocket library for the real-time graph, cause lwIP does not provide one. Or make your own
e) either patch lwIP httpd example (which is not trivial to adopt), or use 3rd party HTTP library to make a Web UI
If you decide to use Mongoose, you need to:
a) add Mongoose, and use one of the many reference projects to bring up the UI, done.
Estimate the robustness, complexity, cost of maintenance, and potential risks of shipping a buggy product.
Then estimate the total cost based on all factors. That cost estimation should make the decision more informed.
Thanks I will looking in to this. Again thank you for elaborating!
is there a Tool that could to turn an HTML, CSS & JS into an array automatically ???
Yes: mongoose.ws/documentation/tutorials/core/embedded-filesystem/
The other option is to use Mongoose Wizard, mongoose.ws/wizard/ - which generates everything for you.