Начните работу с Pico W


Создайте свое первое устройство с подключением к Интернету

Это руководство покажет вам, как взять совершенно новый Pico W, надежно подключить его к Интернету и управлять им с помощью веб-интерфейса — и все это на языке Python.

Мы собираемся:

  • Настроим Pico W на использование Anvil, установив прошивку Anvil.
  • Создадим веб-приложение с помощью Anvil
  • Подключим Pico W к веб-приложению
  • Обновление веб-приложения для вызова Pico W из Интернета
  • Опубликуйте свое приложение в Интернете

Давайте начнем!


Настройка Pico W

Чтобы подготовить Pico W к работе, вам нужно установить прошивку Anvil. Это нужно сделать только один раз.

Сначала загрузите файл прошивки UF2 отсюда.

Чтобы установить его на Pico W, вам нужно будет подключить его к компьютеру через USB в режиме установки прошивки, который позволяет устанавливать новую прошивку из файлов на компьютере. Чтобы подключить Pico W в режиме установки прошивки, вам нужно удерживать кнопку BOOTSEL, когда вы подключаете его к компьютеру.

Вот где находится кнопка BOOTSEL на вашем Pico W.

После подключения Pico к компьютеру с нажатой кнопкой BOOTSEL он появится на компьютере как накопитель:

Вот так будет выглядеть ваш Pico W в режиме установки прошивки.

Чтобы установить прошивку Anvil, скопируйте загруженный файл UF2 на Pico W. После завершения копирования и обработки Pico автоматически перезагрузится и снова появится на компьютере как диск (возможно, с другим именем тома). Если вы проверите, какие файлы теперь находятся внутри, вы увидите boot.py и main.py.

Если USB-накопитель не появляется, обратитесь за помощью к разделу «Устранение неполадок» справочной документации.

Вот так будет выглядеть ваш Pico W после установки прошивки Anvil.

Вот и все! Теперь вы установили (или «прошили») прошивку Anvil на свой Pico W и готовы приступить к сборке.


Создание приложения Anvil

Далее вам предстоит создать веб-интерфейс, который будет управлять вашим Pico W. Когда вы закончите, вы сможете нажать на кнопку в этом приложении и увидеть, как на вашем Pico W замигают лампочки!

Если вы уже сталкивались с веб-разработкой, это может показаться сложным, но не волнуйтесь. Вы сделаете все это на Python, с помощью конструктора пользовательского интерфейса с перетаскиванием и онлайн-редактора на сайте anvil.works.

Пока что вам нужно только создать новое приложение Anvil и получить ключ Uplink, чтобы связать его с вашим Pico.

Создание приложения Anvil

Перейдите в редактор Anvil Editor, чтобы создать новое приложение (для этого вам понадобится учетная запись Anvil — это бесплатно!). На целевой странице редактора нажмите «Создать новое приложение», затем «Пустое приложение».

В появившемся диалоговом окне выберите «Material Design».

Теперь перед вами новое, пустое приложение Anvil. На данный момент нам нужно добавить Uplink, с помощью которого ваше приложение будет взаимодействовать с Pico. Для этого нажмите на значок ‘+‘ в левом нижнем углу.

Выберите Uplink из списка:

В появившемся диалоговом окне нажмите ‘Enable server Uplink’.

В результате будет сгенерирован ключ аутентификации, который вы можете скопировать:

Скопируйте ключ Uplink из этого диалога — он понадобится вам через минуту (вы всегда можете вернуть этот диалог, нажав кнопку ‘Uplink’ в правом верхнем углу редактора).

ОК — теперь у вас есть веб-приложение. Пришло время подключить к нему ваш Pico!


Подключение Pico W к веб-приложению

Подключите Pico W к компьютеру через USB (в этот раз не удерживайте кнопку BOOTSEL!). Как вы уже видели, он появится как новый диск, содержащий два файла .py: boot.py и main.py.

Так будет выглядеть диск Pico W на вашем компьютере после установки прошивки Anvil.

Теперь пришло время отредактировать эти файлы для настройки вашего приложения.

Добавление данных о вашей сети WiFi в boot.py

Чтобы ваш Pico мог подключаться к интернету при загрузке, вам нужно указать ему данные вашей сети. Откройте файл boot.py, и в самом верху вы найдете раздел, где можно добавить эти данные:

#############################################
# Provide your Wifi connection details here #
#############################################

WIFI_SSID = "<put your network name here>"
WIFI_PASSWORD = "<put your wifi password here>"

#############################################
Войти в полноэкранный режим Выйти из полноэкранного режима

Сохраните и закройте этот файл. Теперь, когда ваш Pico W загрузится, он автоматически подключится к указанной вами сети.

Для того чтобы ваш Pico W узнал о приложении Anvil, которое вы только что создали, вам нужно дать ему ключ Uplink. Откройте файл main.py: прямо под операторами import вы увидите раздел, в котором вы можете добавить свой ключ:

# Replace this string with your Uplink key!
UPLINK_KEY = "<put your Uplink key here>"
Вход в полноэкранный режим Выйти из полноэкранного режима

Отредактируйте код, чтобы использовать реальный ключ Uplink вашего приложения. Теперь, когда ваш Pico загрузится и подключится к интернету, он сможет прослушивать входные данные от вашего приложения Anvil.

Понимание файла main.py

Ваш ключ Uplink — не единственная вещь в main.py. Здесь вы также можете определить функции, которые может выполнять ваш Pico. Для начала есть функция pico_fn, и все, что она делает, это переключает светодиод на вашем Pico вперед и назад на некоторое время.

@anvil.pico.callable_async
async def pico_fn(n):
    # Output will go to the Pico W serial port
    print(f"Called local function with argument: {n}")

    # Blink the LED and then double the argument and return it.
    for i in range(10):
        led.toggle()
        await a.sleep_ms(50)
    return n * 2
Вход в полноэкранный режим Выход из полноэкранного режима

Декоратор anvil.pico.callable_async позволяет вашему приложению Anvil узнать, что эта функция доступна для вызова из интернета.

Теперь все готово! Сохраните код и перезагрузите Pico W. Вы увидите, как светодиод медленно мигает, пока не подключится WiFi, затем быстро, пока устанавливается соединение с Anvil.

Возможно, вы захотите подключиться к последовательному USB-устройству, чтобы увидеть выход Pico — см. раздел 3.3 документации Pico W для получения дополнительной информации.

При подключении к последовательному порту Pico W работающая прошивка Anvil означает, что иногда вы не увидите автоматического приглашения MicroPython. Просто нажмите Ctrl-C, чтобы остановить все, что он делает (например, не удается подключиться к Wifi до того, как вы добавили свои учетные данные в boot.py), и подсказка появится.


Обновление приложения для вызова Pico W

Откройте ваше приложение Anvil в редакторе Anvil Editor. Из панели инструментов компонентов справа перетащите компонент Button на страницу. Пока что вам не нужно беспокоиться об изменении его свойств.

Теперь дважды щелкните на кнопке в редакторе, и вы попадете в новую функцию Python, которая запускается при нажатии на кнопку. Все, что вам нужно сделать, это заставить эту функцию вызвать функцию, которая находится в вашем файле main.py на вашем Pico, и для этого вы используете anvil.server.call() следующим образом:

  def button_1_click(self, **event_args):
    """This method is called when the button is clicked"""
    anvil.server.call('pico_fn', 18) # Choose any number you like!
Войти в полноэкранный режим Выйти из полноэкранного режима

Теперь, чтобы увидеть это в действии, нажмите кнопку ‘Run’ в правом верхнем углу редактора. Это запустит ваше приложение, и если вы сейчас нажмете на кнопку, то увидите мигающий светодиод на вашем Pico W.

Вы успешно вызвали функцию на Pico из вашего веб-приложения!

Публикация вашего приложения в Интернете

Последний шаг — это публикация вашего приложения в Интернете. Для этого нажмите кнопку ‘Publish’ в правом верхнем углу редактора.

В следующем диалоговом окне нажмите ‘Опубликовать это приложение’:

Вот и все — ваше приложение доступно в Интернете!

Anvil автоматически генерирует URL для вашего приложения, но вы можете выбрать другой в диалоговом окне с помощью кнопки ‘Изменить URL’:

Выберите удобный URL для вашего приложения — или позвольте Anvil сгенерировать его за вас.

Как только вы это сделаете, вы сможете открыть этот URL из любой точки мира — с компьютера, телефона, из Австралии. Нажмите на кнопку, и светодиод на вашем Pico замигает!

Идем дальше

Теперь, когда вы надежно подключили свой Pico W к Интернету с помощью Anvil, вы можете создавать все, что захотите.

В качестве первого проекта, давайте заставим светодиод вашего Pico мигать сообщениями азбуки Морзе, введенными с веб-страницы! Вот пошаговое руководство:

Build a Morse Code Generator

Если же вы готовы погрузиться в свои собственные проекты, вы можете прочитать о некоторых более сложных вещах, которые можно сделать с помощью Anvil на вашем Pico W, или обратиться к нашей справочной документации.


Подробнее об Anvil

Если вы здесь недавно, добро пожаловать! Anvil — это платформа для создания полнофункциональных веб-приложений с помощью только Python. Нет необходимости возиться с JS, HTML, CSS, Python, SQL и всеми их фреймворками — просто создайте все это на Python.

Попробуйте Anvil — это бесплатно и навсегда.

Оцените статью
devanswers.ru
Добавить комментарий