stash
This commit is contained in:
parent
8ffae0b66f
commit
3098c8f1ab
2 changed files with 54 additions and 50 deletions
|
@ -21,6 +21,7 @@
|
|||
#include "lux.h"
|
||||
|
||||
|
||||
|
||||
#define SNTP_SERVERS "0.pool.ntp.org", "1.pool.ntp.org", \
|
||||
"2.pool.ntp.org", "3.pool.ntp.org"
|
||||
|
||||
|
@ -252,7 +253,7 @@ void user_init(void) {
|
|||
sdk_wifi_set_opmode(wifi_mode);
|
||||
|
||||
if(wifi_sta_enable) {
|
||||
printf("try STA Mode\n");
|
||||
printf("try STA Mode: %s %s\n", wifi_sta_ssid, wifi_sta_password);
|
||||
struct sdk_station_config config;
|
||||
strcpy((char *) config.ssid, wifi_sta_ssid);
|
||||
strcpy((char *) config.password, wifi_sta_password);
|
||||
|
@ -289,7 +290,7 @@ void user_init(void) {
|
|||
}
|
||||
|
||||
if(wifi_ap_enable) {
|
||||
printf("try AP Mode\n");
|
||||
printf("try AP Mode: %s %s\n", wifi_ap_ssid, wifi_ap_password);
|
||||
/* Read and validate paramenters. */
|
||||
int8_t wifi_ap_ssid_hidden = 0;
|
||||
sysparam_get_int8("wifi_ap_ssid_hidden", &wifi_ap_ssid_hidden);
|
||||
|
@ -402,12 +403,12 @@ void user_init(void) {
|
|||
/* turn off LED */
|
||||
//gpio_enable(LED_PIN, GPIO_OUTPUT);
|
||||
//gpio_write(LED_PIN, true);
|
||||
xTaskCreate(&lux_task, "lux_task", 256, NULL, 2, NULL);
|
||||
xTaskCreate(&lux_task, "lux_task", 256, NULL, 1, NULL);
|
||||
|
||||
/* initialize tasks */
|
||||
xTaskCreate(&httpd_task, "&httpd_task", 2048, NULL, 2, NULL);
|
||||
xTaskCreate(&httpd_task, "httpd_task", 2048, NULL, 3, NULL);
|
||||
|
||||
xTaskCreate(&sntp_task, "SNTP", 512, NULL, 1, NULL);
|
||||
xTaskCreate(&sntp_task, "SNTP", 512, NULL, 2, NULL);
|
||||
}
|
||||
>>>>>>> 4b8d354 (basic webconf)
|
||||
}
|
||||
|
|
|
@ -11,9 +11,12 @@
|
|||
#include <string.h>
|
||||
#include <FreeRTOS.h>
|
||||
#include <task.h>
|
||||
|
||||
extern "C" {
|
||||
#include <sysparam.h>
|
||||
#include <lwipopts.h>
|
||||
}
|
||||
|
||||
#include <espressif/esp_common.h>
|
||||
|
||||
#include <lwip/tcp.h>
|
||||
|
@ -31,9 +34,10 @@ struct {
|
|||
} has_changed;
|
||||
|
||||
void websocket_task(void *pvParameter) {
|
||||
struct tcp_pcb *pcb = (struct tcp_pcb *) pvParameter;
|
||||
auto *pcb = (struct tcp_pcb *) pvParameter;
|
||||
|
||||
int connstarttime = xTaskGetTickCount();
|
||||
size_t connstarttime = xTaskGetTickCount();
|
||||
has_changed = {true, true, true};
|
||||
|
||||
for (;;) {
|
||||
if(pcb == NULL || pcb->state != ESTABLISHED) {
|
||||
|
@ -43,8 +47,8 @@ void websocket_task(void *pvParameter) {
|
|||
|
||||
|
||||
//Global Info
|
||||
if(has_changed.global){
|
||||
struct timeval tv;
|
||||
if(has_changed.global) {
|
||||
timeval tv;
|
||||
gettimeofday(&tv, NULL);
|
||||
int uptime = xTaskGetTickCount() * portTICK_PERIOD_MS / 1000;
|
||||
int heap = (int) xPortGetFreeHeapSize();
|
||||
|
@ -57,14 +61,14 @@ void websocket_task(void *pvParameter) {
|
|||
/* Generate response in JSON format */
|
||||
char response[160];
|
||||
size_t len = snprintf(response, sizeof(response),
|
||||
"{\"walltime\" : \"%d\","
|
||||
"\"uptime\" : \"%d\","
|
||||
" \"heap\" : \"%d\","
|
||||
" \"chipid\" : \"%08x\","
|
||||
" \"flashid\" : \"0x%08x\","
|
||||
" \"flashsize\" : \"%u\","
|
||||
" \"hostname\" : \"%s\""
|
||||
"}", (int) tv.tv_sec, uptime, heap, chip_id, flash_id, flash_size, hostname);
|
||||
"{\"walltime\" : \"%d\","
|
||||
"\"uptime\" : \"%d\","
|
||||
" \"heap\" : \"%d\","
|
||||
" \"chipid\" : \"%08x\","
|
||||
" \"flashid\" : \"0x%08x\","
|
||||
" \"flashsize\" : \"%u\","
|
||||
" \"hostname\" : \"%s\""
|
||||
"}", (int) tv.tv_sec, uptime, heap, chip_id, flash_id, flash_size, hostname);
|
||||
free(hostname);
|
||||
if(len < sizeof(response)) {
|
||||
LOCK_TCPIP_CORE();
|
||||
|
@ -78,23 +82,23 @@ void websocket_task(void *pvParameter) {
|
|||
|
||||
|
||||
//Connection Info
|
||||
if(has_changed.connection){
|
||||
struct timeval tv;
|
||||
if(has_changed.connection) {
|
||||
timeval tv;
|
||||
gettimeofday(&tv, NULL);
|
||||
int connuptime = (xTaskGetTickCount() - connstarttime) * portTICK_PERIOD_MS / 1000;
|
||||
|
||||
printf("conn %d: "
|
||||
IPSTR
|
||||
" <-> "
|
||||
IPSTR
|
||||
" \n", pcb->netif_idx, IP2STR(&pcb->local_ip), IP2STR(&pcb->remote_ip));
|
||||
IPSTR
|
||||
" <-> "
|
||||
IPSTR
|
||||
" \n", pcb->netif_idx, IP2STR(&pcb->local_ip), IP2STR(&pcb->remote_ip));
|
||||
char response[160];
|
||||
size_t len = snprintf(response, sizeof(response),
|
||||
"{\"connage\" : \"%d\","
|
||||
"\"clientip\" : \""
|
||||
IPSTR
|
||||
"\""
|
||||
"}", connuptime, IP2STR(&pcb->remote_ip));
|
||||
"{\"connage\" : \"%d\","
|
||||
"\"clientip\" : \""
|
||||
IPSTR
|
||||
"\""
|
||||
"}", connuptime, IP2STR(&pcb->remote_ip));
|
||||
if(len < sizeof(response)) {
|
||||
LOCK_TCPIP_CORE();
|
||||
websocket_write(pcb, (unsigned char *) response, len, WS_TEXT_MODE);
|
||||
|
@ -104,8 +108,7 @@ void websocket_task(void *pvParameter) {
|
|||
vTaskDelayMs(2000);
|
||||
}
|
||||
|
||||
|
||||
if(has_changed.wifi){
|
||||
if(has_changed.wifi) {
|
||||
uint8_t opmode = sdk_wifi_get_opmode();
|
||||
const char *opmode_str = "??";
|
||||
switch (opmode) {
|
||||
|
@ -136,7 +139,7 @@ void websocket_task(void *pvParameter) {
|
|||
if(opmode == SOFTAP_MODE || opmode == STATIONAP_MODE) {
|
||||
uint8_t hwaddr[6];
|
||||
sdk_wifi_get_macaddr(SOFTAP_IF, hwaddr);
|
||||
struct ip_info info;
|
||||
ip_info info;
|
||||
sdk_wifi_get_ip_info(SOFTAP_IF, &info);
|
||||
|
||||
char *apssid = NULL;
|
||||
|
@ -145,15 +148,15 @@ void websocket_task(void *pvParameter) {
|
|||
/* Generate response in JSON format */
|
||||
char response[128];
|
||||
size_t len = snprintf(response, sizeof(response),
|
||||
"{\"opmode\" : \"%s\","
|
||||
" \"apssid\" : \"%s\","
|
||||
" \"apip\" : \""
|
||||
IPSTR
|
||||
"\","
|
||||
" \"apmac\" : \""
|
||||
MACSTR
|
||||
"\""
|
||||
"}", opmode_str, apssid, IP2STR(&info.ip), MAC2STR(hwaddr));
|
||||
"{\"opmode\" : \"%s\","
|
||||
" \"apssid\" : \"%s\","
|
||||
" \"apip\" : \""
|
||||
IPSTR
|
||||
"\","
|
||||
" \"apmac\" : \""
|
||||
MACSTR
|
||||
"\""
|
||||
"}", opmode_str, apssid, IP2STR(&info.ip), MAC2STR(hwaddr));
|
||||
free(apssid);
|
||||
if(len < sizeof(response)) {
|
||||
LOCK_TCPIP_CORE();
|
||||
|
@ -168,7 +171,7 @@ void websocket_task(void *pvParameter) {
|
|||
if(opmode == STATION_MODE || opmode == STATIONAP_MODE) {
|
||||
uint8_t hwaddr[6];
|
||||
sdk_wifi_get_macaddr(STATION_IF, hwaddr);
|
||||
struct ip_info info;
|
||||
ip_info info;
|
||||
sdk_wifi_get_ip_info(STATION_IF, &info);
|
||||
char *stassid = NULL;
|
||||
sysparam_get_string("wifi_sta_ssid", &stassid);
|
||||
|
@ -176,15 +179,15 @@ void websocket_task(void *pvParameter) {
|
|||
/* Generate response in JSON format */
|
||||
char response[128];
|
||||
size_t len = snprintf(response, sizeof(response),
|
||||
"{\"opmode\" : \"%s\","
|
||||
" \"stassid\" : \"%s\","
|
||||
" \"staip\" : \""
|
||||
IPSTR
|
||||
"\","
|
||||
" \"stamac\" : \""
|
||||
MACSTR
|
||||
"\""
|
||||
"}", opmode_str, stassid, IP2STR(&info.ip), MAC2STR(hwaddr));
|
||||
"{\"opmode\" : \"%s\","
|
||||
" \"stassid\" : \"%s\","
|
||||
" \"staip\" : \""
|
||||
IPSTR
|
||||
"\","
|
||||
" \"stamac\" : \""
|
||||
MACSTR
|
||||
"\""
|
||||
"}", opmode_str, stassid, IP2STR(&info.ip), MAC2STR(hwaddr));
|
||||
free(stassid);
|
||||
if(len < sizeof(response)) {
|
||||
LOCK_TCPIP_CORE();
|
||||
|
|
Loading…
Reference in a new issue