Простой веб-сервер  для сканирования Wi-Fi сетей на микроконтроллере::Журнал СА
www.samag.ru
Журнал «БИТ. Бизнес&Информационные технологии»      
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Работа с Debian  

О Linux с любовью или Debian: через знание к любви

Конечно, одним лишь перечислением замечательных качеств любовь к Linux не возникнет. Для

 Читать далее...

Опрос  

Защита личных и клиентских данных: как мошенники используют ИИ и как защититься?

По данным RED Security, общее число кибератак на российские компании в 2024

 Читать далее...

Опрос  

Облачные инструменты для разработчиков

Эксперты ИТ-отрасли отвечают на вопросы «Системного администратора» > Как с помощью облака сделать

 Читать далее...

Опрос  

Рынок мобильных приложений: что будет актуальным в 2025 году?

Эксперты ИТ-отрасли отвечают на вопросы «Системного администратора» > Ваши прогнозы: чего ожидать от

 Читать далее...

Рынок труда  

Как успешно пройти все этапы собеседования на ИТ-должность?

По оценкам государства, дефицит ИТ-специалистов составляет от 740 тысяч до 1 миллиона

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 7586
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 7845
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 5202
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 3339
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 4133
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 4144
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6643
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3483
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3759
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7633
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10999
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12721
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 14506
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9444
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7408
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5691
Комментарии: 4
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4896
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3750
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3431
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3661
Комментарии: 1
Рецензия на книгу «MongoDB в действии»

 Читать далее...

Друзья сайта  

 Простой веб-сервер для сканирования Wi-Fi сетей на микроконтроллере

Архив номеров / 2025 / Выпуск №1-2 (266-267) / Простой веб-сервер для сканирования Wi-Fi сетей на микроконтроллере

Рубрика: Разработка /  Микроконтроллеры

 

 ВИЗИТКА 

Александр Фролов,
начальник отдела информационных технологий,
Морской государственный университет имени адмирала
Г. И. Невельского, Владивосток, Frolov@msun.ru

 

 ВИЗИТКА 

Алексей Чебаков,
техник отдела информационных технологий, Морской государственный университет имени адмирала Г. И. Невельского, Владивосток, chebakov@msun.ru

 


Простой веб-сервер 
для сканирования Wi-Fi сетей на микроконтроллере

 

В статье рассмотрим, как создать простой веб-сервер на базе микроконтроллера с поддержкой Wi-Fi (например, ESP8266 или ESP32). Такой сервер может выполнять сканирование доступных Wi-Fi сетей и предоставлять информацию о них через веб-интерфейс.

 

Код программы с пояснениями

import network  # Импортируем модуль для работы
с Wi-Fi сетями
import socket  # Импортируем модуль для работы с сокетами
(сетевыми соединениями)
import time  # Импортируем модуль для работы с временем (задержки)

ssid = 'Chebash'  # SSID сети, к которой нужно подключиться
password = 'finn99le7'  # Пароль от Wi-Fi сети

# Создаем объект для работы с Wi-Fi в режиме станции (STA_IF)
wlan = network.WLAN(network.STA_IF)
wlan.active(True)  # Активируем Wi-Fi модуль
wlan.connect(ssid, password)  # Подключаемся к сети
с указанными SSID и паролем

# Ждем, пока устройство подключится к Wi-Fi
while not wlan.isconnected():
                time.sleep(1)  # Проверяем соединение каждую секунду

print('Подключение к Wi-Fi установлено')  # Сообщаем,
что подключение успешно

# Настраиваем веб-сервер
addr = socket.getaddrinfo('0.0.0.0', 80)[0][-1]  # Получаем
адрес для привязки сервера

s = socket.socket()  # Создаем объект сокета
s.bind(addr)  # Привязываем его к адресу
s.listen(1)  # Устанавливаем режим прослушивания (ожидание
подключения одного клиента)

print('Веб-сервер запущен. Ожидание подключений...')  #
Информируем о запуске сервера

# Функция для обработки запросов

def handle_request(conn):
                conn.sendall(b'HTTP/1.1 200 OK\nContent-Type:
text/html\nConnection: close\n\n')  # Отправляем HTTP-заголовок

                result = scan_wifi()  # Выполняем сканирование Wi-Fi сетей
                conn.sendall(result.encode('utf-8'))  # Отправляем
результат сканирования клиенту

                conn.close()  # Закрываем соединение

# Функция для сканирования Wi-Fi сетей

def scan_wifi():
                networks = wlan.scan()  # Сканируем доступные Wi-Fi сети
                result = ''  # Переменная для хранения результатов

                for net in networks:
                                ssid = net[0].decode('utf-8')  # Название сети (SSID)
                                bssid = ':'.join(['%02x' % b for b in net[1]]) 
# MAC-адрес точки доступа (BSSID)
                                channel = net[2]  # Канал
                                RSSI = net[3]  # Уровень сигнала
                                authmode = net[4]  # Тип аутентификации

                                # Формируем строку с информацией о сети
                                result += f'SSID: {ssid}<br>'
                                result += f'BSSID: {bssid}<br>'
                                result += f'Channel: {channel}<br>'
                                result += f'RSSI: {RSSI}<br>'
                                result += f'Authmode: {authmode}<br>'
                                result += '--------------<br>'

                return result  # Возвращаем результаты сканирования

# Основной цикл работы сервера
while True:
                conn, addr = s.accept()  # Принимаем входящее соединение
                print('Подключение от', addr)  # Выводим адрес клиента
                handle_request(conn)  # Обрабатываем запрос клиента

 

.

<...>

Ключевые слова: микроконтроллеры, веб-сервер, IoT-системы.


Полную версию статьи читайте в журнале
Подпишитесь на журнал

 


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru