Arduino:Библиотеки/WiFi101/Класс WiFiSSLClient: различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки |
Нет описания правки |
||
Строка 134: | Строка 134: | ||
<references /> | <references /> | ||
{{Навигационная таблица/Портал/Arduino}} | |||
[[Категория:Библиотека WiFi101]] | [[Категория:Библиотека WiFi101]] | ||
[[Категория:WiFi101]] | [[Категория:WiFi101]] |
Текущая версия от 12:29, 8 июля 2023
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Класс WiFiSSLClient[1]
Этот класс позволяет создавать клиента, который всегда подключается к указанным IP-адресу и порту при помощи SSL, даже если вместо client.connectSSL() используется client.connect(). Это нужно, если у вас библиотека, которая принимает только простой Client, но вы хотите, чтобы она использовала SSL, а названия функций в клиенте без SSL остались без изменений.
Синтаксис
WiFiSSLClient client;
Параметры
Нет.
Пример
/*
Этот пример создает объект для клиента, который подключается и
передает данные только при помощи SSL.
Он совместим с функциями, используемыми, как правило, для простых
подключений – вроде client.connect(host, port).
Создан Артуро Гаудалупи (Arturo Guadalupi), последняя правка – в
ноябре 2015 года.
*/
#include <SPI.h>
#include <WiFi101.h>
char ssid[] = "yourNetwork"; // SSID вашей сети (название)
char pass[] = "secretPassword"; // пароль к вашей сети (для WPA; для WEP используйте это значение в качестве ключа)
int keyIndex = 0; // индекс ключа для вашей сети (нужно только для WEP)
int status = WL_IDLE_STATUS;
// если не хотите использовать DNS (и сократить размер скетча)
// используйте числовой IP вместо названия сервера:
//IPAddress server(74,125,232,128); // числовой IP для Google (без DNS)
char server[] = "www.google.com"; // название сервера для Google (с DNS)
// инициализируем клиент из библиотеки WiFi101 с IP-адресом и портом,
// к которым вы хотите подключиться (порт 80 по умолчанию используется для HTTP):
WiFiSSLClient client;
void setup() {
// инициализируем последовательную коммуникацию и ждем открытия порта:
Serial.begin(9600);
while (!Serial) {
; // ждем подключения последовательного порта (нужно только для плат со штатным USB-портом)
}
// проверяем наличие модуля:
if (WiFi.status() == WL_NO_SHIELD) {
Serial.println("WiFi shield not present"); // "WiFi-модуль не подключен"
// дальше не продолжаем:
while (true);
}
// пытаемся подключиться к WiFi-сети:
while (status != WL_CONNECTED) {
Serial.print("Attempting to connect to SSID: "); // "Пытаемся подключиться к SSID: "
Serial.println(ssid);
// подключаемся к сети WPA/WPA2; при подключении к открытой
// или WEP-сети эту строчку нужно изменить:
status = WiFi.begin(ssid, pass);
// ждем 10 секунд для подключения:
delay(10000);
}
Serial.println("Connected to wifi"); // "Подключились к WiFi"
printWifiStatus();
Serial.println("\nStarting connection to server..."); // "\nЗапуск подключения к серверу..."
// если подключились, сообщаем об этом через монитор порта:
if (client.connect(server, 443)) {
Serial.println("connected to server"); // "подключились к серверу"
// делаем HTTP-запрос:
client.println("GET /search?q=arduino HTTP/1.1");
client.println("Host: www.google.com");
client.println("Connection: close"); // "Соединение: закрыто"
client.println();
}
}
void loop() {
// если есть какие-либо входящие байты, считываем их и показываем:
while (client.available()) {
char c = client.read();
Serial.write(c);
}
// если сервер отключился, останавливаем работу клиента:
if (!client.connected()) {
Serial.println();
Serial.println("disconnecting from server."); // "отключились от сервера"
client.stop();
// дальше вечно ничего не делаем:
while (true);
}
}
void printWifiStatus() {
// показываем SSID сети, к которой подключились:
Serial.print("SSID: ");
Serial.println(WiFi.SSID());
// показываем IP-адрес нашего WiFi-модуля:
IPAddress ip = WiFi.localIP();
Serial.print("IP Address: "); // "IP-адрес: "
Serial.println(ip);
// показываем мощность приемного сигнала:
long rssi = WiFi.RSSI();
Serial.print("signal strength (RSSI):"); // "мощность сигнала (RSSI):"
Serial.print(rssi);
Serial.println(" dBm");
}
См.также
Внешние ссылки
Arduino продукты | |
---|---|
Начальный уровень | Arduino Uno • Arduino Leonardo • Arduino 101 • Arduino Robot • Arduino Esplora • Arduino Micro • Arduino Nano • Arduino Mini • Arduino Starter Kit • Arduino Basic Kit • MKR2UNO • TFT-дисплей Arduino |
Продвинутые функции | Arduino Mega 2560 • Arduino Zero • Arduino Due • Arduino Mega ADK • Arduino Pro • Arduino Motor Shield • Arduino USB Host Shield • Arduino Proto Shield • MKR Proto Shield • MKR Proto Large Shield • Arduino ISP • Arduino USB 2 Serial Micro • Arduino Mini USB Serial Adapter |
Интернет вещей | Arduino Yun • Arduino Ethernet • Arduino MKR1000 • Arduino WiFi 101 Shield • Arduino GSM Shield V2 • Arduino WiFi Shield • Arduino Wireless SD Shield • Arduino Wireless Proto Shield • Arduino Ethernet Shield V2 • Arduino Yun Shield • Arduino MKR1000 Bundle |
Носимые устройства | Arduino Gemma • Lilypad Arduino Simple • Lilypad Arduino Main Board • Lilypad Arduino USB • LilyPad Arduino SimpleSnap |
3D-печать | Arduino Materia 101 |
Устаревшие устройства | - |
Примеры Arduino | |
---|---|
Стандартные функции | |
Основы |
|
Цифровой сигнал |
|
Аналоговый сигнал |
|
Связь |
|
Управляющие структуры |
|
Датчики |
|
Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
Строки |
|
USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
Клавиатура |
|
Мышь |
|
Разное |