Пікірлер
@mostafanfs
@mostafanfs Күн бұрын
This is great. I was wondering how to implement a TLS inside a STM32 without Embedded Linux or anything. Thanks!
@olaoluwaraji2335
@olaoluwaraji2335 Күн бұрын
Nice. Is there support for custom STM32 microcontroller boards? I noticed only Nucleo boards and discovery kits in the video. Thank you
@mongoose-networking-library
@mongoose-networking-library Күн бұрын
The simplest way is to choose the board which is closest to yours, then modify. Join the chat, and we'll assist !
@olaoluwaraji2335
@olaoluwaraji2335 Күн бұрын
@mongoose-networking-library Thanks. I actually have an STM32F4 nucleo board but I plan on experimenting with the Mongoose wizard for a custom board. I haven't made up my mind on the exact STM32 MCU that I'll be using. IDE: STM32CubeIDE RTOS: FreeRTOS
@khanhpdspkt
@khanhpdspkt 17 күн бұрын
Could you share for me slide in this video.
@mongoose-networking-library
@mongoose-networking-library 17 күн бұрын
docs.google.com/presentation/d/1ln_pqTSt4oXwRuKoI-LEUPVcoUYhyIByDptnqcDbKoA/edit#slide=id.p
@khanhpdspkt
@khanhpdspkt 17 күн бұрын
@@mongoose-networking-library Can I use static allocation in your library, I don't want to use dynamic allocation
@axramar1992
@axramar1992 22 күн бұрын
How to add SSL/TLS? Waiting for that.
@mongoose-networking-library
@mongoose-networking-library 22 күн бұрын
Soon to be published !
@mangalarupasinghe
@mangalarupasinghe 29 күн бұрын
Nice Tutorial - Thanks. I wonder it is easy to write a function to write tx_icmp() to send a icmp echo request in mongoose?
@mongoose-networking-library
@mongoose-networking-library 29 күн бұрын
Shouldn't be hard. What's the anticipated use case? To find out that the target IP is alive?
@mangalarupasinghe
@mangalarupasinghe 29 күн бұрын
@@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
@mikegomez70
@mikegomez70 Ай бұрын
Many thanks! Works on F767 (Y)
@mongoose-networking-library
@mongoose-networking-library Ай бұрын
Awesome, thank you Mike! Let us know if you want us to cover the topic you'd like to learn about.
@axramar1992
@axramar1992 Ай бұрын
Much Needed lib🎉
@sanjaydalvi6635
@sanjaydalvi6635 Ай бұрын
Looks like the dashboard example has changed under mongoose github master tree. It has a completely different dashboard now. Is it possible to get the net.c net.h and packed_fs.c files that were used when this video was made ?
@mohanprasath1212
@mohanprasath1212 2 ай бұрын
Could you please explain aws iot via stm32 ethernet using mangoose library?. Please share some documents for that.
@mongoose-networking-library
@mongoose-networking-library 2 ай бұрын
We'll create a dedicated video for AWS + STM32 + Ethernet
@mohanprasath1212
@mohanprasath1212 2 ай бұрын
@@mongoose-networking-library Looking up for your video
@mostafanfs
@mostafanfs 2 ай бұрын
Very informative thanks!
@dymastro788
@dymastro788 2 ай бұрын
Awesome visuals!
@mongoose-networking-library
@mongoose-networking-library 2 ай бұрын
Thank you! The topic is so huge though, this vid covers maybe 0.1% of what can be said. We plan to have a vid with OTA code walk-through, to explain some nitty gritty
@ahmetbudak2665
@ahmetbudak2665 2 ай бұрын
Hi, I uploaded the code by adapting it to the STM32F746G-DISCO development board. I added Dashboard UI. I compiled it without any errors But when I ran it, it could not get an IP address from DHCP. Before adding Dashboard, it was getting an IP from DHCP and sending OK to the browser. You can see the data coming from the serial communication below. What could be the error? Can you help me? 8 2 mongoose.c:17231:mg_phy_init PHY ID: 0x07 0xc131 (LAN87x) 10 2 mongoose.c:4911:mg_mgr_init Driver: stm32f, MAC: 02:1d:40:06:0b:37 17 2 mongoose_impl.c:646:mongoose_i Starting HTTP listener 1d 3 mongoose.c:4838:mg_listen 1 0 0.0.0.0:80 23 2 mongoose_impl.c:677:mongoose_i Mongoose init complete, calling user init 2a 3 mongoose_glue.c:11:glue_init Custom init done 2f 1 mongoose.c:5835:mg_tcpip_poll Network is down 8 2 mongoose.c:17231:mg_phy_init PHY ID: 0x07 0xc131 (LAN87x) e 2 mongoose.c:4911:mg_mgr_init Driver: stm32f, MAC: 02:1d:40:06:0b:37 16 2 mongoose_impl.c:646:mongoose_i Starting HTTP listener 1c 3 mongoose.c:4838:mg_listen 1 0 0.0.0.0:80 21 2 mongoose_impl.c:677:mongoose_i Mongoose init complete, calling user init 29 3 mongoose_glue.c:11:glue_init Custom init done 2e 1 mongoose.c:5835:mg_tcpip_poll Network is down 3f6 1 mongoose.c:5835:mg_tcpip_poll Network is down 7de 1 mongoose.c:5835:mg_tcpip_poll Network is down bc6 3 mongoose.c:17983:mg_tcpip_driv Link is 100M full-duplex bcc 1 mongoose.c:5131:onstatechange Link up bd0 3 mongoose.c:5237:tx_dhcp_discov DHCP discover sent. Our MAC: 02:1d:40:06:0b:37 fae 3 mongoose.c:5237:tx_dhcp_discov DHCP discover sent. Our MAC: 02:1d:40:06:0b:37 1396 3 mongoose.c:5237:tx_dhcp_discov DHCP discover sent. Our MAC: 02:1d:40:06:0b:37 177e 3 mongoose.c:5237:tx_dhcp_discov DHCP discover sent. Our MAC: 02:1d:40:06:0b:37 1b66 3 mongoose.c:5237:tx_dhcp_discov DHCP discover sent. Our MAC: 02:1d:40:06:0b:37 1f4e 3 mongoose.c:5237:tx_dhcp_discov DHCP discover sent. Our MAC: 02:1d:40:06:0b:37
@TheMadProgrammersOfficial
@TheMadProgrammersOfficial 2 ай бұрын
how does this not have a million views? only 549 i mean come on
@mongoose-networking-library
@mongoose-networking-library 2 ай бұрын
Share it with your colleagues :)
@shef7777
@shef7777 3 ай бұрын
Design Toolbox no show in Wizard.
@mongoose-networking-library
@mongoose-networking-library 3 ай бұрын
Correct, it was redesigned, and shows now as a bottom panel.
@КонстантинАнтипов-д3о
@КонстантинАнтипов-д3о 3 ай бұрын
After closing any socket connection program finishes with an error: "Segmentation fault (core dumped)", what can be the reason why it happens?
@mongoose-networking-library
@mongoose-networking-library 3 ай бұрын
Please respond to the gist with details on your environment, and how to reproduce it!
@КонстантинАнтипов-д3о
@КонстантинАнтипов-д3о 3 ай бұрын
​@@mongoose-networking-library I'm using Oracle VM with Ubuntu 24.04 LTS on it. Trying to make tcp communication service for embedded stm32 device, but testing program currently on Ubuntu first. So when I compiling example, that was showed in the video, there are no errors, but when I testing compiled app with netcat or "curl" command it response with current date and time, but slightly after socket close operation, receiving "Segmentation fault (core dumped)" error and app automatically closing (dropping every other connections) and I need to restart it. btw, tested it on my embedded stm32 linux device and got same error.
@КонстантинАнтипов-д3о
@КонстантинАнтипов-д3о 3 ай бұрын
I'm using Oracle VM with Ubuntu 24.04 LTS on it. Making tcp communication service for embedded stm32 device, but testing program currently on Ubuntu first. So when I compiling example, that was showed in the video, there are no errors, but when I testing compiled app with netcat or "curl" command it response with current date and time, but slightly after socket close operation, receiving "Segmentation fault (core dumped)" error and app automatically closing (dropping every other connections) and I need to restart it. btw, tested it on my embedded stm32 linux device and got same error. UPD: this issue fixes by deleting: "free(c);" at close function, but I think it will cause memory troubles later, maybe there is better way to solve it.
@КонстантинАнтипов-д3о
@КонстантинАнтипов-д3о 3 ай бұрын
UPD#2: fixed it by replacing in add_connection() function "calloc" of conn *c by this: struct conn *c; c = (struct conn *) calloc(1, sizeof(struct conn)); Now "free(c);" function working properly and do not crushes my app.
@mongoose-networking-library
@mongoose-networking-library 3 ай бұрын
@@КонстантинАнтипов-д3о Thank you! Yes, there was a bug in the connection deletion - gist updated, please confirm!
@shef7777
@shef7777 4 ай бұрын
invalid storage class for function 'run_mongoose' 123 | static void run_mongoose(void) {
@mongoose-networking-library
@mongoose-networking-library 4 ай бұрын
Please use mongoose.ws/wizard/#/output?board=f746&ide=CubeIDE&rtos=baremetal&file=README.md
@speakee-y3m
@speakee-y3m 4 ай бұрын
Amazing tutorial,thank you very much!!
@akshatmodi4843
@akshatmodi4843 4 ай бұрын
Hey Man super nice video, cleared a lot of my questions! Just had this one question, I have raspberry pi with Mosquitto MQTT Broker Server running on it, will this connect and send for example sensor data to the Mosquitto broker?
@mongoose-networking-library
@mongoose-networking-library 4 ай бұрын
Sure. Try it - and if you have any more specific questions, you can ask them on our discord, discord.gg/KfR8E6wSds
@akshatmodi4843
@akshatmodi4843 4 ай бұрын
@@mongoose-networking-library Thanks for the information! Will surely connect on Discord!
@StevenHokins
@StevenHokins 5 ай бұрын
Very nice, thank you
@StevenHokins
@StevenHokins 5 ай бұрын
Very good explanation, thank you ❤
@Galani_R
@Galani_R 5 ай бұрын
Hi, Sir. I found your video very informative. I have a question regarding the Mongoose library. Is the Mongoose library compatible with the PSoC 6 microcontroller from Infineon?
@mongoose-networking-library
@mongoose-networking-library 5 ай бұрын
Yes. PSoC6's SDK uses LWIP, which provides BSD socket API - and Mongoose can run on top of it.
@RiwenX
@RiwenX 5 ай бұрын
Wow, thank you. I really needed this
@ziani1001
@ziani1001 6 ай бұрын
I’m used to terms such as segments, packets, frames and bytes the naming of each transfer differs from what I learned that’s a little confusing . Can some one explain the difference?
@mongoose-networking-library
@mongoose-networking-library 6 ай бұрын
Usually, "frames" are used w.r.t. Ethernet, "segments" are used for TCP payload within frames, "packets" and "frames" are usually synonyms. Bytes are, well, bytes. If you have more specific question - we'd be happy to address, just ask!
@cariyaputta
@cariyaputta 6 ай бұрын
Thanks.
@majestif
@majestif 6 ай бұрын
Awesome tutorial, concise and the point. Keep up great work!
@zianwar_
@zianwar_ 6 ай бұрын
Hi Sergey, I appreciate you sharing your knowledge, this content is so good! 1. You give useful historical context; I never knew why the "select" system call exists until now :) 2. You tend to simplify in your explanation and programs which is so delightful.
@mongoose-networking-library
@mongoose-networking-library 6 ай бұрын
You are welcome!
@logauit
@logauit 6 ай бұрын
Thank for this video!
@mongoose-networking-library
@mongoose-networking-library 6 ай бұрын
Glad it was helpful!
@alphaapfel6979
@alphaapfel6979 6 ай бұрын
The struct mip_ipcfg isnt working. It says that everything written in the struct in main.c are no members of mip_ipcfg. I am using an H753 do you know a solution? ../Core/Src/main.c: In function 'main': ../Core/Src/main.c:125:10: error: variable 'ipcfg' has initializer but incomplete type 125 | struct mip_ipcfg ipcfg = { | ^~~~~~~~~ ../Core/Src/main.c:126:20: error: 'struct mip_ipcfg' has no member named 'mac' 126 | .mac = {0xaa, 0xbb, 0xcc, 1, 2, 3}, | ^~~ ../Core/Src/main.c:126:26: error: extra brace group at end of initializer 126 | .mac = {0xaa, 0xbb, 0xcc, 1, 2, 3}, | ^ ../Core/Src/main.c:126:26: note: (near initialization for 'ipcfg') ../Core/Src/main.c:126:26: warning: excess elements in struct initializer ../Core/Src/main.c:126:26: note: (near initialization for 'ipcfg') ../Core/Src/main.c:127:20: error: 'struct mip_ipcfg' has no member named 'ip' 127 | .ip = 0, | ^~ ../Core/Src/main.c:127:25: warning: excess elements in struct initializer 127 | .ip = 0, | ^ ../Core/Src/main.c:127:25: note: (near initialization for 'ipcfg') ../Core/Src/main.c:128:20: error: 'struct mip_ipcfg' has no member named 'mask' 128 | .mask = 0, | ^~~~ ../Core/Src/main.c:128:27: warning: excess elements in struct initializer 128 | .mask = 0, | ^ ../Core/Src/main.c:128:27: note: (near initialization for 'ipcfg') ../Core/Src/main.c:129:20: error: 'struct mip_ipcfg' has no member named 'gw' 129 | .gw = 0}; | ^~ ../Core/Src/main.c:129:25: warning: excess elements in struct initializer 129 | .gw = 0}; | ^ ../Core/Src/main.c:129:25: note: (near initialization for 'ipcfg') ../Core/Src/main.c:125:20: error: storage size of 'ipcfg' isn't known 125 | struct mip_ipcfg ipcfg = { | ^~~~~ ../Core/Src/main.c:130:3: warning: implicit declaration of function 'mip_init' [-Wimplicit-function-declaration] 130 | mip_init(&mgr, &ipcfg, &mip_driver_stm32); | ^~~~~~~~ ../Core/Src/main.c:130:27: error: 'mip_driver_stm32' undeclared (first use in this function); did you mean 'mg_tcpip_driver_stm32h'? 130 | mip_init(&mgr, &ipcfg, &mip_driver_stm32); | ^~~~~~~~~~~~~~~~ | mg_tcpip_driver_stm32h ../Core/Src/main.c:130:27: note: each undeclared identifier is reported only once for each function it appears in ../Core/Src/main.c:125:20: warning: unused variable 'ipcfg' [-Wunused-variable] 125 | struct mip_ipcfg ipcfg = { | ^~~~~ make: *** [Core/Src/subdir.mk:40: Core/Src/main.o] Error 1 "make -j12 all" terminated with exit code 2. Build might be incomplete. 14:28:47 Build Failed. 9 errors, 6 warnings. (took 604ms)
@mongoose-networking-library
@mongoose-networking-library 6 ай бұрын
Please follow this guide: mongoose.ws/documentation/tutorials/device-dashboard/#1-skeleton-firmware
@alphaapfel6979
@alphaapfel6979 6 ай бұрын
@@mongoose-networking-library I still got a problem. I followed your guide, but I get the DHCP request message. I the pins are correct. Do you know what could also be an issue?
@shef7777
@shef7777 4 ай бұрын
@@alphaapfel6979 Did you fix?
@chrisgoddard9236
@chrisgoddard9236 6 ай бұрын
Great video. Very helpful. Would it be possible to make quite a specific tutorial video covering the same end result, but on an RP2040 with a W5500 using FreeRTOS?
@mongoose-networking-library
@mongoose-networking-library 6 ай бұрын
How about just adding RP2040 + W5500 to the mongoose.ws/wizard/ ? The basic principles would stay absolutely the same as already outlined in the video, but the wizard would make a ready-to-go project ready?
@chrisgoddard9236
@chrisgoddard9236 6 ай бұрын
​@@mongoose-networking-libraryThat would certainly help. I guess my broader request is for a tutorial that covers using Mongoose in FreeRTOS, what may or may not be the gotchas and pitfalls. It doesn't have to be a web server example. It just happens that my platform of choice is RP2040 + W5500. If there is already a tutorial that covers this, my apologies.
@mongoose-networking-library
@mongoose-networking-library 6 ай бұрын
@@chrisgoddard9236 For sure! Actually, using Mongoose in FreeRTOS and in bare metal is absolutely identical. Just run event loop in a separate task, and that's it! The only gotcha is the task's stack size - give it 8k and you're good. Take a look at mongoose.ws/documentation/tutorials/rp2040/pico-w5500/. What environment do you use, RPI C SDK, Arduino or something else?
@chrisgoddard9236
@chrisgoddard9236 6 ай бұрын
@@mongoose-networking-library Thanks. I'm using PICO-SDK (In VSCode if that makes a difference!) C++ projects with a few C libraries for good measure.
@rodxor3976
@rodxor3976 7 ай бұрын
This can work with the Raspberry pi pico w? For firmware update on running?
@mongoose-networking-library
@mongoose-networking-library 7 ай бұрын
Yes, the outlined strategies would work on rp2040.
@pantelisEVs
@pantelisEVs 7 ай бұрын
Amazing material on how your stack works and to get a general feeling on how network stacks practically work. Thank you for your time!
@shefiroth12
@shefiroth12 7 ай бұрын
finished the vid, very useful. thanks
@Embedded_Chuy
@Embedded_Chuy 7 ай бұрын
is there a Tool that could to turn an HTML, CSS & JS into an array automatically ???
@mongoose-networking-library
@mongoose-networking-library 7 ай бұрын
Yes: mongoose.ws/documentation/tutorials/core/embedded-filesystem/ The other option is to use Mongoose Wizard, mongoose.ws/wizard/ - which generates everything for you.
@Basicguy1798
@Basicguy1798 8 ай бұрын
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
@mongoose-networking-library
@mongoose-networking-library 8 ай бұрын
Thank you! And more is coming!
@Basicguy1798
@Basicguy1798 8 ай бұрын
@@mongoose-networking-library oh wow... Would be waiting... Also would be glad if there is any way of getting involved
@ZagotovkaStm32
@ZagotovkaStm32 8 ай бұрын
Thank you for the detailed video!!! I'm trying to replicate all the steps according to your video, but I encountered a problem in the 'Basic building block' section kzbin.info/www/bejne/qp20Yp5qfJV6gNEsi=nXDqj7ogVE83Ibfb&t=2838 Functions and structures have probably changed!?" 1) undefined reference to `mq_mqtt_sub' 2) 'struct mg_str' has no member named 'ptr' Could you please provide guidance on how to resolve these problems?
@mongoose-networking-library
@mongoose-networking-library 8 ай бұрын
mg_mqtt_pub() (g, not q) ptr -> buf Hope that helps!
@ankiy5689
@ankiy5689 8 ай бұрын
Wait, it was that easy? Thank you 🫠
@mongoose-networking-library
@mongoose-networking-library 8 ай бұрын
Thanks! The concept is simple, but the details of implementation are not so. You can take a look at the code walk-through video, which explains this concept on a real world example: kzbin.info/www/bejne/rma4qmB5ft9mac0 . That one is a complex video.
@ankiy5689
@ankiy5689 8 ай бұрын
@@mongoose-networking-library I had an Cybersecurity exam today, and thankfully i'd be able to solve a question on Physical layer of OSI model just because i remembered this video. I'll check it out 😋 Thanks again!!
@Ema-pb3po
@Ema-pb3po 8 ай бұрын
I'm trying to run mongoose-library with STM32H735G-DK, something isn't working properly. can you please help
@Ema-pb3po
@Ema-pb3po 8 ай бұрын
The oldest data was removed. Continue... 00000 668c1 1 mongoose.c:16587:mg_tcpip_driv b0000000 668c5 1 mongoose.c:16587:mg_tcpip_driv b0000000 668ca 1 mongoose.c:16587:mg_tcpip_driv b0000000 668ce 3 mongoose.c:5189:tx_dhcp_discov DHCP discover sent. Our MAC: 02:2d:cf:46:29:04 66c9d 1 mongoose.c:16585:mg_tcpip_driv No free descriptors: 0 b0000000 00000000 00000000 66ca5 1 mongoose.c:16587:mg_tcpip_driv b0000000 66ca9 1 mongoose.c:16587:mg_tcpip_driv b0000000 66cad 1 mongoose.c:16587:mg_tcpip_driv b0000000 66cb2 1 mongoose.c:16587:mg_tcpip_driv b0000000 66cb6 3 mongoose.c:5189:tx_dhcp_discov DHCP discover sent. Our MAC: 02:2d:cf:46:29:04 67085 1 mongoose.c:16585:mg_tcpip_driv No free descriptors: 0 b0000000 00000000 00000000
@Ema-pb3po
@Ema-pb3po 8 ай бұрын
I'm trying to run mongoose-library with STM32H735G-DK, something isn't working properly. can you please help
@bug13wu
@bug13wu 8 ай бұрын
Thanks for the video!
@Angel-vs9tb
@Angel-vs9tb 8 ай бұрын
The material in your channel is very interesting, thank you so much!!!
@Coldman4274
@Coldman4274 9 ай бұрын
Thaks for the video
@azrak510
@azrak510 9 ай бұрын
This is excellent material, thank you.
@tianleizhang9713
@tianleizhang9713 9 ай бұрын
nice tutorial
@TheExam-hr5nb
@TheExam-hr5nb 9 ай бұрын
great explications
@i_am_arun07
@i_am_arun07 9 ай бұрын
Thanks for uploading this video
@dymastro788
@dymastro788 9 ай бұрын
Thank you for uploading
@TrentonVaughn-oj2wv
@TrentonVaughn-oj2wv 9 ай бұрын
This is so good. There needs to be more low level videos on embedded ethernet applications
@mongoose-networking-library
@mongoose-networking-library 9 ай бұрын
Thank you! Is there something particular you'd like to see?
@johnbaker3745
@johnbaker3745 9 ай бұрын
dont forget #include "stdio.h" at top of main.c for printf
@Aftab_Baloch.
@Aftab_Baloch. 10 ай бұрын
thanks for explaining
@mongoose-networking-library
@mongoose-networking-library 10 ай бұрын
You're welcome!
@lemagicien00
@lemagicien00 10 ай бұрын
Thanks, your demonstration and your work are impressive, I hope to see more videos :)
@mongoose-networking-library
@mongoose-networking-library 10 ай бұрын
Thank you! And more videos are surely coming! If you have a specific topic you're interested in, let us know.
@lemagicien00
@lemagicien00 10 ай бұрын
@@mongoose-networking-library Maybe https and websocket secure