Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
nexboot
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
esp
nexboot
Commits
fee0e3ae
Commit
fee0e3ae
authored
May 16, 2018
by
Franco (nextime) Lanza
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add gitignore, start main_app by little modification to the simple_wifi
example
parent
72d52bfd
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
145 additions
and
0 deletions
+145
-0
.gitignore
.gitignore
+1
-0
nexboot.c
main/nexboot.c
+144
-0
No files found.
.gitignore
0 → 100644
View file @
fee0e3ae
sdkconfig.old
main/nexboot.c
View file @
fee0e3ae
#include <string.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/event_groups.h"
#include "esp_system.h"
#include "esp_wifi.h"
#include "esp_event_loop.h"
#include "esp_log.h"
#include "nvs_flash.h"
#include "lwip/err.h"
#include "lwip/sys.h"
/* You can set Wifi configuration via
'make menuconfig'.
If you'd rather not, just change the below entries to strings with
the config you want - ie #define WIFI_SSID "mywifissid"
*/
#define ESP_WIFI_MODE_AP CONFIG_ESP_WIFI_MODE_AP //TRUE:AP FALSE:STA
#define ESP_WIFI_SSID CONFIG_ESP_WIFI_SSID
#define ESP_WIFI_PASS CONFIG_ESP_WIFI_PASSWORD
#define MAX_STA_CONN CONFIG_MAX_STA_CONN
/* FreeRTOS event group to signal when we are connected*/
static
EventGroupHandle_t
wifi_event_group
;
/* The event group allows multiple bits for each event,
but we only care about one event - are we connected
to the AP with an IP? */
const
int
WIFI_CONNECTED_BIT
=
BIT0
;
static
const
char
*
TAG
=
"Nexboot"
;
static
esp_err_t
event_handler
(
void
*
ctx
,
system_event_t
*
event
)
{
switch
(
event
->
event_id
)
{
case
SYSTEM_EVENT_STA_START
:
esp_wifi_connect
();
break
;
case
SYSTEM_EVENT_STA_GOT_IP
:
ESP_LOGI
(
TAG
,
"got ip:%s"
,
ip4addr_ntoa
(
&
event
->
event_info
.
got_ip
.
ip_info
.
ip
));
xEventGroupSetBits
(
wifi_event_group
,
WIFI_CONNECTED_BIT
);
break
;
case
SYSTEM_EVENT_AP_STACONNECTED
:
ESP_LOGI
(
TAG
,
"station:"
MACSTR
" join, AID=%d"
,
MAC2STR
(
event
->
event_info
.
sta_connected
.
mac
),
event
->
event_info
.
sta_connected
.
aid
);
break
;
case
SYSTEM_EVENT_AP_STADISCONNECTED
:
ESP_LOGI
(
TAG
,
"station:"
MACSTR
"leave, AID=%d"
,
MAC2STR
(
event
->
event_info
.
sta_disconnected
.
mac
),
event
->
event_info
.
sta_disconnected
.
aid
);
break
;
case
SYSTEM_EVENT_STA_DISCONNECTED
:
esp_wifi_connect
();
xEventGroupClearBits
(
wifi_event_group
,
WIFI_CONNECTED_BIT
);
break
;
default:
break
;
}
return
ESP_OK
;
}
#if ESP_WIFI_MODE_AP
void
wifi_init_softap
()
{
wifi_event_group
=
xEventGroupCreate
();
tcpip_adapter_init
();
ESP_ERROR_CHECK
(
esp_event_loop_init
(
event_handler
,
NULL
));
wifi_init_config_t
cfg
=
WIFI_INIT_CONFIG_DEFAULT
();
ESP_ERROR_CHECK
(
esp_wifi_init
(
&
cfg
));
wifi_config_t
wifi_config
=
{
.
ap
=
{
.
ssid
=
ESP_WIFI_SSID
,
.
ssid_len
=
strlen
(
ESP_WIFI_SSID
),
.
password
=
ESP_WIFI_PASS
,
.
max_connection
=
MAX_STA_CONN
,
.
authmode
=
WIFI_AUTH_WPA_WPA2_PSK
},
};
if
(
strlen
(
ESP_WIFI_PASS
)
==
0
)
{
wifi_config
.
ap
.
authmode
=
WIFI_AUTH_OPEN
;
}
ESP_ERROR_CHECK
(
esp_wifi_set_mode
(
WIFI_MODE_AP
));
ESP_ERROR_CHECK
(
esp_wifi_set_config
(
ESP_IF_WIFI_AP
,
&
wifi_config
));
ESP_ERROR_CHECK
(
esp_wifi_start
());
ESP_LOGI
(
TAG
,
"wifi_init_softap finished.SSID:%s password:%s"
,
ESP_WIFI_SSID
,
ESP_WIFI_PASS
);
}
#else // if ESP_WIFI_MODE_AP
void
wifi_init_sta
()
{
wifi_event_group
=
xEventGroupCreate
();
tcpip_adapter_init
();
ESP_ERROR_CHECK
(
esp_event_loop_init
(
event_handler
,
NULL
)
);
wifi_init_config_t
cfg
=
WIFI_INIT_CONFIG_DEFAULT
();
ESP_ERROR_CHECK
(
esp_wifi_init
(
&
cfg
));
wifi_config_t
wifi_config
=
{
.
sta
=
{
.
ssid
=
ESP_WIFI_SSID
,
.
password
=
ESP_WIFI_PASS
},
};
ESP_ERROR_CHECK
(
esp_wifi_set_mode
(
WIFI_MODE_STA
)
);
ESP_ERROR_CHECK
(
esp_wifi_set_config
(
ESP_IF_WIFI_STA
,
&
wifi_config
)
);
ESP_ERROR_CHECK
(
esp_wifi_start
()
);
ESP_LOGI
(
TAG
,
"wifi_init_sta finished."
);
ESP_LOGI
(
TAG
,
"connect to ap SSID:%s password:%s"
,
ESP_WIFI_SSID
,
ESP_WIFI_PASS
);
}
#endif // if ESP_WIFI_MODE_AP
void
app_main
()
{
//Initialize NVS
esp_err_t
ret
=
nvs_flash_init
();
if
(
ret
==
ESP_ERR_NVS_NO_FREE_PAGES
)
{
ESP_ERROR_CHECK
(
nvs_flash_erase
());
ret
=
nvs_flash_init
();
}
ESP_ERROR_CHECK
(
ret
);
#if ESP_WIFI_MODE_AP
ESP_LOGI
(
TAG
,
"ESP_WIFI_MODE_AP"
);
wifi_init_softap
();
#else
ESP_LOGI
(
TAG
,
"ESP_WIFI_MODE_STA"
);
wifi_init_sta
();
#endif
/*ESP_WIFI_MODE_AP*/
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment