Всем привет! 🦝 Давайте сегодня напишем небольшую программку для программируемого микроконтроллера Raspberry Pi Pico W, которая бы подключалась к сети Wi-Fi и выполняла бы пинг сайта Дзен
🌊вВодная часть
Пару слов о том, что такое пинг (ping) - это процедура проверки доступности удаленного хоста и измерения время за которое общаются два хоста. В нашем случае мы будем проверять доступность сайта Дзен и время отклика сайта. Давайте приступим.
👨🏻💻Написание кода
Открываем Arduino IDE и приступаем к написанию кода. Кстати как подготовить микроконтроллер Raspberry Pi Pico W к разработке программ в Arduino IDE, я писал в одной из своих статей, 🔗ссылку вежливо прикрепляю ниже
Импорт библиотек и описание переменных
И так, почти каждая программа написанная в Arduino IDE имеет приблизительно одинаковую структуру. Всё начинается с импорта библиотек. В нашем случае нам понадобиться библиотека для работы с модулем Wi-Fi.
#include <WiFi.h>
Это заголовочный файл библиотеки WiFi. Эта запись означает, что будет импортирован необходимый код для работы с Wi-Fi функционалом. Далее в коде определим SSID и пароль для подключения к Wi-Fi сети. В моем случае это будет мобильная точка доступа моего iPhone. Далее определяем переменную статуса подключения к сети Wi-Fi. Создаем экземпляр класса WiFiClient с именем client, определяем переменную имени сервера, который будем пинговать и наконец переменную для отсчета времени подключения.
⏯Функция setup()
Функция setup(), в нашем случае, предназначена для инициализации, настройки и подключения к Wi-Fi. После инициализации последовательного порта (Serial), и установки режима вывода для встроенного светодиода (pinMode), программа пытается подключиться к указанной Wi-Fi сети. Когда подключение установлено, в монитор порта выведется сообщение "Connected to wifi", после чего начинается процесс пинга, описанный в функции loop.
🔄Функция loop()
Функция loop() выполняется циклично. Она пытается установить соединение с сервером "dzen.ru" и если соединение установлено, рассчитывается время подключения, после чего оно отображается в мониторе порта. В случае неудачи выводится сообщение "ping failed". После чего происходит задержка в полсекунды и процесс повторяется. В моменты установки соединения с сервером, на плате загорается диод.
🟢Результат работы программы
В результате работы программы, в мониторе порта будет выводиться время, которое потребовалось для установки соединения с сервером, в нашем случае с сайтом Дзена.
Если выполнить процедуру пинга сайта Дзен через консоль, то результаты будут примерно одинаковыми.
🔗Ссылку на исходный код всей программы оставлю ниже.