|
|
<!--
|
|
|
CO_OP_TRANSLATOR_METADATA:
|
|
|
{
|
|
|
"original_hash": "a4f0c166010e31fd7b6ca20bc88dec6d",
|
|
|
"translation_date": "2025-08-26T23:42:07+00:00",
|
|
|
"source_file": "1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md",
|
|
|
"language_code": "ru"
|
|
|
}
|
|
|
-->
|
|
|
# Wio Terminal
|
|
|
|
|
|
[Wio Terminal от Seeed Studios](https://www.seeedstudio.com/Wio-Terminal-p-4509.html) — это микроконтроллер, совместимый с Arduino, с встроенным WiFi, а также некоторыми датчиками и исполнительными устройствами. Он также имеет порты для подключения дополнительных датчиков и исполнительных устройств, используя аппаратную экосистему под названием [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html).
|
|
|
|
|
|

|
|
|
|
|
|
## Настройка
|
|
|
|
|
|
Для использования Wio Terminal вам потребуется установить бесплатное программное обеспечение на ваш компьютер. Также необходимо обновить прошивку Wio Terminal перед подключением к WiFi.
|
|
|
|
|
|
### Задача - настройка
|
|
|
|
|
|
Установите необходимое программное обеспечение и обновите прошивку.
|
|
|
|
|
|
1. Установите Visual Studio Code (VS Code). Это редактор, который вы будете использовать для написания кода устройства на C/C++. Ознакомьтесь с [документацией по VS Code](https://code.visualstudio.com?WT.mc_id=academic-17441-jabenn) для инструкций по установке.
|
|
|
|
|
|
> 💁 Другой популярный IDE для разработки на Arduino — это [Arduino IDE](https://www.arduino.cc/en/software). Если вы уже знакомы с этим инструментом, вы можете использовать его вместо VS Code и PlatformIO, но уроки будут основываться на использовании VS Code.
|
|
|
|
|
|
1. Установите расширение PlatformIO для VS Code. Это расширение поддерживает программирование микроконтроллеров на C/C++. Ознакомьтесь с [документацией по расширению PlatformIO](https://marketplace.visualstudio.com/items?WT.mc_id=academic-17441-jabenn&itemName=platformio.platformio-ide) для инструкций по установке. Это расширение зависит от расширения Microsoft C/C++, которое будет установлено автоматически.
|
|
|
|
|
|
1. Подключите Wio Terminal к вашему компьютеру. Wio Terminal имеет порт USB-C на нижней стороне, который нужно подключить к USB-порту вашего компьютера. В комплекте с Wio Terminal идет кабель USB-C на USB-A, но если у вашего компьютера только порты USB-C, вам потребуется кабель USB-C или адаптер USB-A на USB-C.
|
|
|
|
|
|
1. Следуйте инструкциям в [документации Wio Terminal Wiki WiFi Overview](https://wiki.seeedstudio.com/Wio-Terminal-Network-Overview/) для настройки Wio Terminal и обновления прошивки.
|
|
|
|
|
|
## Hello World
|
|
|
|
|
|
Традиционно при изучении нового языка программирования или технологии создается приложение "Hello World" — небольшое приложение, которое выводит текст `"Hello World"`, чтобы убедиться, что все инструменты настроены правильно.
|
|
|
|
|
|
Приложение Hello World для Wio Terminal поможет убедиться, что Visual Studio Code установлен правильно, PlatformIO настроен, и вы готовы к разработке для микроконтроллеров.
|
|
|
|
|
|
### Создание проекта PlatformIO
|
|
|
|
|
|
Первым шагом будет создание нового проекта в PlatformIO, настроенного для Wio Terminal.
|
|
|
|
|
|
#### Задача - создание проекта PlatformIO
|
|
|
|
|
|
Создайте проект PlatformIO.
|
|
|
|
|
|
1. Подключите Wio Terminal к вашему компьютеру.
|
|
|
|
|
|
1. Запустите VS Code.
|
|
|
|
|
|
1. На боковой панели меню будет значок PlatformIO:
|
|
|
|
|
|

|
|
|
|
|
|
Выберите этот пункт меню, затем выберите *PIO Home -> Open*.
|
|
|
|
|
|

|
|
|
|
|
|
1. На приветственном экране нажмите кнопку **+ New Project**.
|
|
|
|
|
|

|
|
|
|
|
|
1. Настройте проект в *Мастере создания проекта*:
|
|
|
|
|
|
1. Назовите ваш проект `nightlight`.
|
|
|
|
|
|
1. В выпадающем списке *Board* введите `WIO`, чтобы отфильтровать платы, и выберите *Seeeduino Wio Terminal*.
|
|
|
|
|
|
1. Оставьте *Framework* как *Arduino*.
|
|
|
|
|
|
1. Либо оставьте галочку *Use default location*, либо снимите ее и выберите место для вашего проекта.
|
|
|
|
|
|
1. Нажмите кнопку **Finish**.
|
|
|
|
|
|

|
|
|
|
|
|
PlatformIO загрузит необходимые компоненты для компиляции кода для Wio Terminal и создаст ваш проект. Это может занять несколько минут.
|
|
|
|
|
|
### Изучение проекта PlatformIO
|
|
|
|
|
|
Проводник VS Code покажет несколько файлов и папок, созданных мастером PlatformIO.
|
|
|
|
|
|
#### Папки
|
|
|
|
|
|
* `.pio` — эта папка содержит временные данные, необходимые PlatformIO, такие как библиотеки или скомпилированный код. Она автоматически пересоздается, если удалена, и ее не нужно добавлять в систему контроля версий, если вы делитесь проектом, например, на GitHub.
|
|
|
* `.vscode` — эта папка содержит конфигурацию, используемую PlatformIO и VS Code. Она также автоматически пересоздается, если удалена, и ее не нужно добавлять в систему контроля версий.
|
|
|
* `include` — эта папка предназначена для внешних заголовочных файлов, необходимых при добавлении дополнительных библиотек в ваш код. В этих уроках вы не будете использовать эту папку.
|
|
|
* `lib` — эта папка предназначена для внешних библиотек, которые вы хотите использовать в вашем коде. В этих уроках вы не будете использовать эту папку.
|
|
|
* `src` — эта папка содержит основной исходный код вашего приложения. Изначально она будет содержать только один файл — `main.cpp`.
|
|
|
* `test` — эта папка предназначена для размещения модульных тестов вашего кода.
|
|
|
|
|
|
#### Файлы
|
|
|
|
|
|
* `main.cpp` — этот файл в папке `src` содержит точку входа для вашего приложения. Откройте этот файл, и он будет содержать следующий код:
|
|
|
|
|
|
```cpp
|
|
|
#include <Arduino.h>
|
|
|
|
|
|
void setup() {
|
|
|
// put your setup code here, to run once:
|
|
|
}
|
|
|
|
|
|
void loop() {
|
|
|
// put your main code here, to run repeatedly:
|
|
|
}
|
|
|
```
|
|
|
|
|
|
Когда устройство запускается, фреймворк Arduino выполнит функцию `setup` один раз, а затем будет многократно выполнять функцию `loop`, пока устройство не будет выключено.
|
|
|
|
|
|
* `.gitignore` — этот файл перечисляет файлы и директории, которые нужно игнорировать при добавлении вашего кода в систему контроля версий, например, при загрузке в репозиторий на GitHub.
|
|
|
|
|
|
* `platformio.ini` — этот файл содержит конфигурацию для вашего устройства и приложения. Откройте этот файл, и он будет содержать следующий код:
|
|
|
|
|
|
```ini
|
|
|
[env:seeed_wio_terminal]
|
|
|
platform = atmelsam
|
|
|
board = seeed_wio_terminal
|
|
|
framework = arduino
|
|
|
```
|
|
|
|
|
|
Раздел `[env:seeed_wio_terminal]` содержит конфигурацию для Wio Terminal. Вы можете иметь несколько разделов `env`, чтобы ваш код мог компилироваться для разных плат.
|
|
|
|
|
|
Остальные значения соответствуют настройкам из мастера создания проекта:
|
|
|
|
|
|
* `platform = atmelsam` определяет аппаратное обеспечение, используемое Wio Terminal (микроконтроллер на базе ATSAMD51).
|
|
|
* `board = seeed_wio_terminal` определяет тип платы микроконтроллера (Wio Terminal).
|
|
|
* `framework = arduino` указывает, что этот проект использует фреймворк Arduino.
|
|
|
|
|
|
### Написание приложения Hello World
|
|
|
|
|
|
Теперь вы готовы написать приложение Hello World.
|
|
|
|
|
|
#### Задача - написание приложения Hello World
|
|
|
|
|
|
Напишите приложение Hello World.
|
|
|
|
|
|
1. Откройте файл `main.cpp` в VS Code.
|
|
|
|
|
|
1. Измените код, чтобы он соответствовал следующему:
|
|
|
|
|
|
```cpp
|
|
|
#include <Arduino.h>
|
|
|
|
|
|
void setup()
|
|
|
{
|
|
|
Serial.begin(9600);
|
|
|
|
|
|
while (!Serial)
|
|
|
; // Wait for Serial to be ready
|
|
|
|
|
|
delay(1000);
|
|
|
}
|
|
|
|
|
|
void loop()
|
|
|
{
|
|
|
Serial.println("Hello World");
|
|
|
delay(5000);
|
|
|
}
|
|
|
```
|
|
|
|
|
|
Функция `setup` инициализирует соединение с последовательным портом — в данном случае с USB-портом, который используется для подключения Wio Terminal к вашему компьютеру. Параметр `9600` — это [скорость передачи данных](https://wikipedia.org/wiki/Symbol_rate) (также известная как символическая скорость), или скорость передачи данных через последовательный порт в битах в секунду. Это значение означает, что передается 9 600 бит данных в секунду. Затем функция ожидает готовности последовательного порта.
|
|
|
|
|
|
Функция `loop` отправляет строку `Hello World!` в последовательный порт, добавляя символ новой строки. Затем она засыпает на 5 000 миллисекунд или 5 секунд. После завершения `loop` она запускается снова и снова, пока микроконтроллер включен.
|
|
|
|
|
|
1. Переведите Wio Terminal в режим загрузки. Это нужно делать каждый раз при загрузке нового кода на устройство:
|
|
|
|
|
|
1. Дважды быстро потяните вниз переключатель питания — он вернется в положение "включено" каждый раз.
|
|
|
|
|
|
1. Проверьте синий индикатор состояния справа от USB-порта. Он должен пульсировать.
|
|
|
|
|
|
[](https://youtu.be/LeKU_7zLRrQ)
|
|
|
|
|
|
Нажмите на изображение выше, чтобы посмотреть видео.
|
|
|
|
|
|
1. Скомпилируйте и загрузите код на Wio Terminal.
|
|
|
|
|
|
1. Откройте командную палитру VS Code.
|
|
|
|
|
|
1. Введите `PlatformIO Upload`, чтобы найти опцию загрузки, и выберите *PlatformIO: Upload*.
|
|
|
|
|
|

|
|
|
|
|
|
PlatformIO автоматически скомпилирует код, если это необходимо, перед загрузкой.
|
|
|
|
|
|
1. Код будет скомпилирован и загружен на Wio Terminal.
|
|
|
|
|
|
> 💁 Если вы используете macOS, появится уведомление о *DISK NOT EJECTED PROPERLY*. Это связано с тем, что Wio Terminal монтируется как диск в процессе прошивки, и он отключается при записи скомпилированного кода на устройство. Вы можете игнорировать это уведомление.
|
|
|
|
|
|
⚠️ Если вы получаете ошибки о недоступности порта загрузки, сначала убедитесь, что Wio Terminal подключен к вашему компьютеру, включен с помощью переключателя на левой стороне экрана и переведен в режим загрузки. Зеленый индикатор внизу должен гореть, а синий индикатор должен пульсировать. Если ошибка сохраняется, снова дважды быстро потяните переключатель вниз, чтобы принудительно перевести Wio Terminal в режим загрузки, и повторите попытку загрузки.
|
|
|
|
|
|
PlatformIO имеет Serial Monitor, который позволяет отслеживать данные, отправляемые через USB-кабель с Wio Terminal. Это позволяет наблюдать данные, отправляемые командой `Serial.println("Hello World");`.
|
|
|
|
|
|
1. Откройте командную палитру VS Code.
|
|
|
|
|
|
1. Введите `PlatformIO Serial`, чтобы найти опцию Serial Monitor, и выберите *PlatformIO: Serial Monitor*.
|
|
|
|
|
|

|
|
|
|
|
|
Откроется новый терминал, и данные, отправляемые через последовательный порт, будут отображаться в этом терминале:
|
|
|
|
|
|
```output
|
|
|
> Executing task: platformio device monitor <
|
|
|
|
|
|
--- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
|
|
|
--- More details at http://bit.ly/pio-monitor-filters
|
|
|
--- Miniterm on /dev/cu.usbmodem101 9600,8,N,1 ---
|
|
|
--- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
|
|
|
Hello World
|
|
|
Hello World
|
|
|
```
|
|
|
|
|
|
`Hello World` будет выводиться в Serial Monitor каждые 5 секунд.
|
|
|
|
|
|
> 💁 Вы можете найти этот код в папке [code/wio-terminal](../../../../../1-getting-started/lessons/1-introduction-to-iot/code/wio-terminal).
|
|
|
|
|
|
😀 Ваше приложение "Hello World" успешно работает!
|
|
|
|
|
|
---
|
|
|
|
|
|
**Отказ от ответственности**:
|
|
|
Этот документ был переведен с помощью сервиса автоматического перевода [Co-op Translator](https://github.com/Azure/co-op-translator). Несмотря на наши усилия обеспечить точность, автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его родном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникшие в результате использования данного перевода. |