Оглавление:

PyPortal и панель управления погодой Dark Sky API: 6 шагов
PyPortal и панель управления погодой Dark Sky API: 6 шагов

Видео: PyPortal и панель управления погодой Dark Sky API: 6 шагов

Видео: PyPortal и панель управления погодой Dark Sky API: 6 шагов
Видео: БериСвет - инструкция по управлению бегущей строкой на контроллере HD 2024, Ноябрь
Anonim
Image
Image

Этот проект является продолжением того, что мы делали раньше, - панели мониторинга погоды Dark Sky API. На этот раз вместо Raspberry Pi мы будем использовать Adafruit PyPortal для отображения данных о погоде и отправки этих данных в начальное состояние. Две панели для работы одной!

Запасы

  • Адафрут PyPortal
  • Учетная запись Adafruit IO (бесплатно)
  • Аккаунт Dark Sky API (бесплатно)
  • Аккаунт начального состояния

Шаг 1: исходное состояние

Начальное состояние
Начальное состояние

Initial State - это платформа для визуализации данных. Мы отправим данные из Dark Sky API и PyPortal в исходное состояние. Это позволит нам вести журнал данных о погоде и просматривать тенденции погоды.

Вам нужно будет зарегистрироваться и создать новую учетную запись. Вы получаете 14-дневную бесплатную пробную версию, и любой, у кого есть адрес электронной почты edu, может зарегистрироваться для бесплатного студенческого плана.

Вам понадобится ключ доступа к исходному состоянию, чтобы иметь возможность отправлять данные из API Dark Sky и PyPortal в исходное состояние. Прокрутите свое имя пользователя в правом верхнем углу и нажмите «Мои настройки». Там вы увидите список ключей доступа к потоковой передаче. Выберите тот, который хотите использовать, или создайте новый. Нам это понадобится позже для кода.

Шаг 2: API темного неба

Темное небо API
Темное небо API

Dark Sky специализируется на прогнозировании и визуализации погоды. Самым крутым аспектом Dark Sky является их погодный API, который мы можем использовать для получения данных о погоде практически из любой точки мира. Это не только погода, дождливая или солнечная, но и температура, точка росы, порывы ветра, влажность, осадки, давление, УФ-индекс и многое другое - все это легко доступно в любом месте и в любое время.

Чтобы использовать API Dark Sky, вам сначала понадобится собственный ключ API. Не волнуйтесь, получить ключ API быстро и бесплатно. Все, что вам нужно сделать, это зайти на сайт и нажать «Попробовать бесплатно», чтобы создать учетную запись.

Вы получаете 1000 вызовов API бесплатно каждый день. Каждый запрос API сверх бесплатного дневного лимита стоит $ 0,0001. Этот лимит автоматически сбрасывается каждый день в полночь по всемирному координированному времени. Запрос прогноза возвращает текущий прогноз погоды на следующую неделю. Запрос Time Machine возвращает наблюдаемые или прогнозируемые погодные условия для даты в прошлое или будущее.

Ваш секретный ключ API Dark Sky будет выглядеть примерно так:

0123456789abcdef9876543210fedcba.

Мы будем использовать это позже в коде.

Шаг 3: Adafruit IO и PyPortal

Adafruit IO - это услуга, которую Adafruit предлагает в качестве дополнения к своему оборудованию. Мы будем использовать этот сервис для часовой части нашего кода. Создать бесплатный аккаунт. Нажмите кнопку View AIO Key слева, чтобы увидеть свое имя пользователя и ключ. Мы будем использовать оба из них позже в нашем коде.

Adafruit PyPortal - это новейшее устройство Интернета вещей на базе Circuit Python. Самое замечательное в PyPortal - это то, что вы можете взаимодействовать с API и JSON для отображения практически всего. Мы будем использовать его для получения данных из Dark Sky API, отображения этих данных на PyPortal и отправки этих данных в начальное состояние.

Если это ваш первый проект на PyPortal, вы захотите следовать этому руководству, чтобы загрузить прошивку, подключить PyPortal к WiFi и подготовить его. Как только вы это сделаете, мы будем готовы к коду Dark Sky API.

Шаг 4: Код

Этот код можно загрузить на свой компьютер здесь. Перенесите все файлы, кроме файла README.md, на ваш PyPortal. Вы просто перетащите их на PyPortal, который должен отображаться как CIRCUITPYTHON в вашем списке USB. Единственный документ, который вам нужно отредактировать, - это secrets.py. Он поместит всю вашу личную информацию в код, поэтому мы не сможем сделать ее видимой.

Я бы рекомендовал использовать редактор Mu для редактирования и просмотра вашего кода. Он имеет монитор последовательного порта для легкой отладки при внесении изменений. Однако любой редактор кода будет работать.

Я хочу рассказать, что делает каждый фрагмент кода, библиотеки и папки, чтобы было легче вносить изменения и

code.py

Это наш основной файл, который запускается на PyPortal, поскольку он называется code.py. Здесь вы увидите подключение к Wi-Fi, вызов API Dark Sky и настройку дисплея PyPortal. В этот файл не нужно вносить никаких изменений.

darksky.py

Этот скрипт вызывается из основного кода. Здесь мы анализируем вызов API Dark Sky, настраиваем расположение текста на дисплее PyPortal, определяем, какой значок отображать, и отправляем данные API в начальное состояние. Здесь нет необходимости вносить какие-либо изменения.

secretts.py

Здесь хранятся все ваши пароли и ключи доступа. Вам нужно будет обновить почти все элементы в этом документе. Вам нужно будет ввести свое имя Wi-Fi, пароль Wi-Fi, часовой пояс, ключ API Dark Sky, ключ доступа к исходному состоянию, долготу и широту, название города и штат, имя пользователя Adafruit IO и ключ Adafruit IO. После того, как вы введете и сохраните все, ваш код должен работать без ошибок.

библиотеки

Это библиотеки, необходимые для запуска PyPortal и модулей.

шрифты

Это шрифт, используемый для отображения информации о погоде на PyPortal.

иконы

Это различные значки, которые отображаются в виде изображения на PyPortal в зависимости от текущих погодных условий.

Шаг 5: PyPortal

PyPortal
PyPortal

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

Вы можете настроить размер и расположение текста, отображаемого в скрипте Dark Sky. Если вы хотите использовать разные значки, вам просто нужно сохранить их как правильные имена и поместить в папку значков. Любой из отображаемых элементов можно настраивать. Вы даже можете изменить то, что вы показываете. Все, что вам нужно сделать, это проанализировать другую часть вызова API Dark Sky, и она будет отображаться вместо сводки температуры или погоды.

Шаг 6: Панель мониторинга начального состояния

Панель мониторинга начального состояния
Панель мониторинга начального состояния

Зайдите в свою учетную запись Initial State и посмотрите свои данные. Я сопоставил значок температуры и погоды со смайликами, сделал значение температуры графиком термометра, сделал влажность графиком датчика уровня жидкости, сделал УФ-индекс гистограммой с цветовыми порогами и создал линейные графики влажности, температуры и УФ-индекса.. '

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

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

Общедоступный URL-адрес нашей панели управления:

Теперь у вас есть не одна, а две панели мониторинга погоды и журнал данных о погоде.

Рекомендуемые: