Перейти к содержанию

WiFi

Модуль WiFi позволяет подключать PiBody к интернету по Wi-Fi. В нём реализованы функции для получения различной IoT-информации, такой как время, погода, курс валют и т.д.


Базовое использование


WiFi()

Чтобы создать объект WiFi, вызовите WiFi().

Возвращает: Возвращает объект WiFi.

from pibody import WiFi

wifi = WiFi()

.connect(ssid, password, timeout) -> IfConfig

Подключает PiBody к интернету. В аргументах метода укажите имя сети и пароль.

Выводит IP-адрес в консоль при успешном подключении.

Если уже подключён, немедленно возвращает текущую конфигурацию.

Аргументы:

  • ssid (string) — имя сети
  • password (string) — пароль сети
  • timeout (int | None) — необязательный. Время ожидания в секундах перед ошибкой. По умолчанию: 20 с
wifi.connect("имя_сети", "пароль")

.get_time(gmt, formatted) -> string | dict

С помощью этого метода можно узнать текущее время из интернета. Можно указать часовой пояс в качестве аргумента; однако по умолчанию установлено значение +5 (время Казахстана).

Аргументы:

  • gmt (int | None) — часовой пояс. По умолчанию: +5
  • formatted (bool | None) — если True, возвращает отформатированную строку с данными о времени
data = wifi.get_time(gmt=5)
print(data)

.get_currency(from_currency, to_currency) -> float

Возвращает обменный курс. В аргументах можно указать, из какой валюты и в какую конвертировать. По умолчанию курс установлен от USD к KZT.

Аргументы:

  • from_currency (string | None) — код исходной валюты. По умолчанию: USD
  • to_currency (string | None) — код целевой валюты. По умолчанию: KZT
data = wifi.get_currency(from_currency="USD", to_currency="KZT")
print(data)

.get_temperature(city) -> float

Этот метод позволяет узнать текущую температуру на улице. Можно указать город, для которого вы хотите узнать температуру; по умолчанию установлен город Астана.

Аргументы:

  • city (string | None) — название города. По умолчанию: Астана
data = wifi.get_temperature("Астана")
print(data)

.get_ip_info() -> dict

Получает публичный IP-адрес и информацию о местоположении.

data = wifi.get_ip_info()
print(data)

Другие функции


.scan()

Возвращает список доступных Wi-Fi сетей и их RSSI. RSSI — это индекс «силы» сигнала. Он измеряется в отрицательных числах — чем ближе значение к нулю, тем сильнее сигнал.

Возвращает: Список кортежей (ssid, rssi) для каждой видимой сети.

data = wifi.scan()
print(data)

.is_connected() -> bool

Возвращает True, если интерфейс в данный момент подключён.

data = wifi.is_connected()
print(data)

.disconnect()

Отключается от текущей Wi-Fi сети.

wifi.disconnect()

.ip() -> string | None

Возвращает текущий IP-адрес или None, если не подключён.

data = wifi.ip()
print(data)

.status() -> dict

Возвращает сводку текущего состояния подключения.

Возвращает словарь с ключами connected, ip, ssid, rssi и time.

data = wifi.status()
print(data)