Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include "freertos/FreeRTOS.h"
- #include "freertos/task.h"
- #include "esp_system.h"
- #include "esp_wifi.h"
- #include "esp_event.h"
- #include "esp_log.h"
- #include "esp_netif.h"
- #include "nvs_flash.h"
- #include "ssd1306.h"
- #define WIFI_SSID "XXXXXXX"
- #define WIFI_PASS "XXXXXXX"
- #define tag "SSD1306"
- #define TAG "WIFI_DISPLAY"
- SSD1306_t dev;
- static esp_ip4_addr_t ip_addr;
- static void wifi_init_sta(void);
- static void display_init(void);
- static void display_ip(void);
- static void event_handler(void* arg, esp_event_base_t event_base,
- int32_t event_id, void* event_data)
- {
- if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_STA_START) {
- esp_wifi_connect();
- } else if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_STA_DISCONNECTED) {
- esp_wifi_connect();
- } else if (event_base == IP_EVENT && event_id == IP_EVENT_STA_GOT_IP) {
- ip_event_got_ip_t* event = (ip_event_got_ip_t*) event_data;
- ip_addr = event->ip_info.ip;
- ESP_LOGI(TAG, "Got IP: " IPSTR, IP2STR(&ip_addr));
- display_ip();
- }
- }
- void app_main(void)
- {
- display_init();
- wifi_init_sta();
- }
- static void display_init(void)
- {
- ESP_LOGI(tag,"Initing display");
- ESP_LOGI(tag, "INTERFACE is i2c");
- ESP_LOGI(tag, "CONFIG_SDA_GPIO=%d",CONFIG_SDA_GPIO);
- ESP_LOGI(tag, "CONFIG_SCL_GPIO=%d",CONFIG_SCL_GPIO);
- ESP_LOGI(tag, "CONFIG_RESET_GPIO=%d",CONFIG_RESET_GPIO);
- i2c_master_init(&dev, CONFIG_SDA_GPIO, CONFIG_SCL_GPIO, CONFIG_RESET_GPIO);
- #if CONFIG_FLIP
- dev._flip = true;
- ESP_LOGW(tag, "Flip upside down");
- #endif
- ESP_LOGI(tag, "Panel is 128x64");
- ssd1306_init(&dev, 128, 64);
- ssd1306_clear_screen(&dev, false);
- ssd1306_display_text(&dev, 0, "Connecting WiFi...", 17, false);
- ESP_LOGI(TAG,"Connecting WiFi...");
- }
- static void display_ip(void)
- {
- char ip_str[16];
- snprintf(ip_str, sizeof(ip_str), IPSTR, IP2STR(&ip_addr));
- ssd1306_clear_screen(&dev, false);
- ssd1306_display_text(&dev, 0, "WiFi Connected!", 14, false);
- ssd1306_display_text(&dev, 2, "IP:", 3, false);
- ssd1306_display_text(&dev, 3, ip_str, strlen(ip_str), false);
- }
- static void wifi_init_sta(void)
- {
- ESP_ERROR_CHECK(esp_netif_init());
- ESP_ERROR_CHECK(esp_event_loop_create_default());
- esp_netif_create_default_wifi_sta();
- wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
- ESP_ERROR_CHECK(esp_wifi_init(&cfg));
- esp_event_handler_instance_t instance_any_id;
- esp_event_handler_instance_t instance_got_ip;
- ESP_ERROR_CHECK(esp_event_handler_instance_register(WIFI_EVENT,
- ESP_EVENT_ANY_ID,
- &event_handler,
- NULL,
- &instance_any_id));
- ESP_ERROR_CHECK(esp_event_handler_instance_register(IP_EVENT,
- IP_EVENT_STA_GOT_IP,
- &event_handler,
- NULL,
- &instance_got_ip));
- wifi_config_t wifi_config = {
- .sta = {
- .ssid = WIFI_SSID,
- .password = WIFI_PASS,
- .threshold.authmode = WIFI_AUTH_WPA2_PSK
- },
- };
- ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA));
- ESP_ERROR_CHECK(esp_wifi_set_config(WIFI_IF_STA, &wifi_config));
- ESP_ERROR_CHECK(esp_wifi_start());
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement