You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/ru/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md

18 KiB

Wio Terminal

Wio Terminal от Seeed Studios — это микроконтроллер, совместимый с Arduino, с встроенным WiFi, а также некоторыми датчиками и исполнительными устройствами. Он также имеет порты для подключения дополнительных датчиков и исполнительных устройств, используя аппаратную экосистему под названием Grove.

Wio Terminal от Seeed Studios

Настройка

Для использования Wio Terminal вам потребуется установить бесплатное программное обеспечение на ваш компьютер. Также необходимо обновить прошивку Wio Terminal перед подключением к WiFi.

Задача - настройка

Установите необходимое программное обеспечение и обновите прошивку.

  1. Установите Visual Studio Code (VS Code). Это редактор, который вы будете использовать для написания кода устройства на C/C++. Ознакомьтесь с документацией по VS Code для инструкций по установке.

    💁 Другой популярный IDE для разработки на Arduino — это Arduino IDE. Если вы уже знакомы с этим инструментом, вы можете использовать его вместо VS Code и PlatformIO, но уроки будут основываться на использовании VS Code.

  2. Установите расширение PlatformIO для VS Code. Это расширение поддерживает программирование микроконтроллеров на C/C++. Ознакомьтесь с документацией по расширению PlatformIO для инструкций по установке. Это расширение зависит от расширения Microsoft C/C++, которое будет установлено автоматически.

  3. Подключите Wio Terminal к вашему компьютеру. Wio Terminal имеет порт USB-C на нижней стороне, который нужно подключить к USB-порту вашего компьютера. В комплекте с Wio Terminal идет кабель USB-C на USB-A, но если у вашего компьютера только порты USB-C, вам потребуется кабель USB-C или адаптер USB-A на USB-C.

  4. Следуйте инструкциям в документации Wio Terminal Wiki WiFi 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 к вашему компьютеру.

  2. Запустите VS Code.

  3. На боковой панели меню будет значок PlatformIO:

    Опция меню PlatformIO

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

    Опция открытия PlatformIO

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

    Кнопка нового проекта

  5. Настройте проект в Мастере создания проекта:

    1. Назовите ваш проект nightlight.

    2. В выпадающем списке Board введите WIO, чтобы отфильтровать платы, и выберите Seeeduino Wio Terminal.

    3. Оставьте Framework как Arduino.

    4. Либо оставьте галочку Use default location, либо снимите ее и выберите место для вашего проекта.

    5. Нажмите кнопку Finish.

    Заполненный мастер создания проекта

    PlatformIO загрузит необходимые компоненты для компиляции кода для Wio Terminal и создаст ваш проект. Это может занять несколько минут.

Изучение проекта PlatformIO

Проводник VS Code покажет несколько файлов и папок, созданных мастером PlatformIO.

Папки

  • .pio — эта папка содержит временные данные, необходимые PlatformIO, такие как библиотеки или скомпилированный код. Она автоматически пересоздается, если удалена, и ее не нужно добавлять в систему контроля версий, если вы делитесь проектом, например, на GitHub.
  • .vscode — эта папка содержит конфигурацию, используемую PlatformIO и VS Code. Она также автоматически пересоздается, если удалена, и ее не нужно добавлять в систему контроля версий.
  • include — эта папка предназначена для внешних заголовочных файлов, необходимых при добавлении дополнительных библиотек в ваш код. В этих уроках вы не будете использовать эту папку.
  • lib — эта папка предназначена для внешних библиотек, которые вы хотите использовать в вашем коде. В этих уроках вы не будете использовать эту папку.
  • src — эта папка содержит основной исходный код вашего приложения. Изначально она будет содержать только один файл — main.cpp.
  • test — эта папка предназначена для размещения модульных тестов вашего кода.

Файлы

  • main.cpp — этот файл в папке src содержит точку входа для вашего приложения. Откройте этот файл, и он будет содержать следующий код:

    #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 — этот файл содержит конфигурацию для вашего устройства и приложения. Откройте этот файл, и он будет содержать следующий код:

    [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.

  2. Измените код, чтобы он соответствовал следующему:

    #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 — это скорость передачи данных (также известная как символическая скорость), или скорость передачи данных через последовательный порт в битах в секунду. Это значение означает, что передается 9 600 бит данных в секунду. Затем функция ожидает готовности последовательного порта.

    Функция loop отправляет строку Hello World! в последовательный порт, добавляя символ новой строки. Затем она засыпает на 5 000 миллисекунд или 5 секунд. После завершения loop она запускается снова и снова, пока микроконтроллер включен.

  3. Переведите Wio Terminal в режим загрузки. Это нужно делать каждый раз при загрузке нового кода на устройство:

    1. Дважды быстро потяните вниз переключатель питания — он вернется в положение "включено" каждый раз.

    2. Проверьте синий индикатор состояния справа от USB-порта. Он должен пульсировать.

    Видео о том, как перевести Wio Terminal в режим загрузки

    Нажмите на изображение выше, чтобы посмотреть видео.

  4. Скомпилируйте и загрузите код на Wio Terminal.

    1. Откройте командную палитру VS Code.

    2. Введите PlatformIO Upload, чтобы найти опцию загрузки, и выберите PlatformIO: Upload.

      Опция загрузки PlatformIO в командной палитре

      PlatformIO автоматически скомпилирует код, если это необходимо, перед загрузкой.

    3. Код будет скомпилирован и загружен на 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.

  2. Введите PlatformIO Serial, чтобы найти опцию Serial Monitor, и выберите PlatformIO: Serial Monitor.

    Опция Serial Monitor в командной палитре

    Откроется новый терминал, и данные, отправляемые через последовательный порт, будут отображаться в этом терминале:

    > 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.

😀 Ваше приложение "Hello World" успешно работает!


Отказ от ответственности:
Этот документ был переведен с помощью сервиса автоматического перевода Co-op Translator. Несмотря на наши усилия обеспечить точность, автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его родном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникшие в результате использования данного перевода.