diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2021-11-29 17:38:06 -0700 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2021-11-29 17:38:06 -0700 |
commit | c6a0cf2ff3403e9726ea6429af50bedcfd4f9a01 (patch) | |
tree | 428d4348bbf9ea44fa279368002d2c58b9f388c9 /main/main.c | |
parent | 1888bc20144559265b0719e5a0f83a5150a867c6 (diff) | |
download | esp32-ws2812b-c6a0cf2ff3403e9726ea6429af50bedcfd4f9a01.tar.gz esp32-ws2812b-c6a0cf2ff3403e9726ea6429af50bedcfd4f9a01.tar.bz2 esp32-ws2812b-c6a0cf2ff3403e9726ea6429af50bedcfd4f9a01.zip |
Added simple routine to use a server socket.
Diffstat (limited to 'main/main.c')
-rw-r--r-- | main/main.c | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/main/main.c b/main/main.c index 06fb4ef..5723c4c 100644 --- a/main/main.c +++ b/main/main.c @@ -2,6 +2,7 @@ #include "drv/ws2812b.h" #include "esp_spi_flash.h" #include "esp_system.h" +#include "lwip/sockets.h" #include "freertos/FreeRTOS.h" #include "freertos/task.h" #include "sdkconfig.h" @@ -84,7 +85,40 @@ void app_main(void) printf("Configuration complete!!\n"); - wifi_init_station(); + wifi_init_station("Wort", "JoshIsBau5"); + + int s = socket(AF_INET, SOCK_STREAM, 0); + struct sockaddr_in addr; + memset(&addr, 0, sizeof(addr)); + addr.sin_port = htons(1234); + addr.sin_family = AF_INET; + addr.sin_addr.s_addr = INADDR_ANY; + int err = bind(s, (struct sockaddr*) &addr, sizeof(addr)); + + if (err) { + printf("Error binding to sockaddr: %d\n", err); + return; + } + + printf("Listening ...\n"); + listen(s, 1); + + while (true) { + printf("Waiting for connection... \n"); + char buf[128]; + + struct sockaddr_in client_addr; + socklen_t size; + int sock = accept(s, (struct sockaddr*)&client_addr, &size); + + printf("Accepted connection\n"); + ssize_t len; + + while ((len = read(sock, buf, sizeof(buf) - 1)) > 0) { + buf[len] = 0; + printf("Got %s\n", buf); + } + } ws2812b_t* drv = ws2812b_init(spi); ws2812b_buffer_t* buffer = ws2812b_new_buffer(5); |