dontsovcmc / waterius

Передача показаний воды по Wi-Fi. Watermeter Wi-Fi transmitter.
https://waterius.ru
GNU Lesser General Public License v3.0
553 stars 108 forks source link

Отображать где-то все характеристики Wi-Fi #284

Closed dontsovcmc closed 8 months ago

dontsovcmc commented 11 months ago

Нашёл описание точки доступа после сканирования. Возможно отображение этих полей наведут на мысли.

struct bss_info {
    STAILQ_ENTRY(bss_info)     next;

    uint8 bssid[6];
    uint8 ssid[32];
    uint8 ssid_len;
    uint8 channel;
    sint8 rssi;
    AUTH_MODE authmode;
    uint8 is_hidden;
    sint16 freq_offset;
    sint16 freqcal_val;
    uint8 *esp_mesh_ie;
    uint8 simple_pair;
    CIPHER_TYPE pairwise_cipher;
    CIPHER_TYPE group_cipher;
    uint32_t phy_11b:1;
    uint32_t phy_11g:1;
    uint32_t phy_11n:1;
    uint32_t wps:1;
    uint32_t reserved:28;
};
dontsovcmc commented 8 months ago

В новой прошивке будет

    int n = WiFi.scanComplete();
    if (n == WIFI_SCAN_FAILED)
    {
        if (!file.print(F("No WIFI networks found")))
        {
            LOG_ERROR(F("FS: Failed to write ssid.txt"));
        }
    }
    else if (n)
    {
        for (int i = 0; i < n; ++i)
        {
            const bss_info *it = WiFi.getScanInfoByIndex(i);
            char tmp[33];
            String s;

            if (it)
            {
                memcpy(tmp, it->ssid, sizeof(it->ssid));
                tmp[32] = 0;

                file.printf("\nSSID:%s\n", tmp);
                file.printf("bssid:%02x%02x%02x%02x%02x%02x\n",
                            it->bssid[0], it->bssid[1], it->bssid[2],
                            it->bssid[3], it->bssid[4], it->bssid[5]);
                file.printf("ssid_len:%d\n", it->ssid_len);
                file.printf("channel:%d\n", it->channel);
                file.printf("rssi:%d\n", it->rssi);
                file.printf("authmode:%d\n", (int)it->authmode);
                file.printf("is_hidden:%d\n", it->is_hidden);
                file.printf("freq_offset:%d\n", it->freq_offset);
                file.printf("freqcal_val:%d\n", it->freqcal_val);
                // file.printf("freqcal_val:%d\n",it->freqcal_val);        //uint8 *esp_mesh_ie;
                file.printf("simple_pair:%d\n", it->simple_pair);
                file.printf("pairwise_cipher:%d\n", it->pairwise_cipher);
                file.printf("group_cipher:%d\n", it->group_cipher);
                file.printf("phy_11b:%d\n", it->phy_11b);
                file.printf("phy_11g:%d\n", it->phy_11g);
                file.printf("phy_11n:%d\n", it->phy_11n);
                file.printf("wps:%d\n", it->wps);
                file.printf("reserved:%u\n=============", it->reserved); // uint32_t reserved:28;
            }
        }
    }