E-Ink: Луна / МКС / Люди в космосе : 6 шагов
E-Ink: Луна / МКС / Люди в космосе : 6 шагов
Anonim

Подписаться Еще от автора:

Промежуток времени с Raspberry PI
Промежуток времени с Raspberry PI
Промежуток времени с малиной PI
Промежуток времени с малиной PI

У меня были Raspberry и e-Paper HAT, и я хотел использовать их, чтобы показать информацию, например, где находится МКС или сколько людей сейчас в космосе …

Я сказал, чтобы посмотреть, есть ли в Интернете API-интерфейсы для получения этих данных, и я их нашел. Хорошо, понял !!!!

Подождите, у этой шляпы есть 4 кнопки, а затем мне нужно показать 4 данных …

- Где сейчас МКС? - Сколько людей сейчас в космосе? - В какой фазе Луны? - Пойдет ли дождь? Неужели так тепло?…

Прямо сейчас я показываю эту информацию, но я мог бы обновить эту «Инструкцию», как только у меня появится хорошая идея, или, если вы знаете хорошую, вы можете предложить ее мне !!!

Что ж, я сделал это однажды вечером, и "FrontEnd" закончился через несколько дней. Не жалуйтесь на то, как отображается информация, я не люблю делать эту часть:)

Запасы

- Raspberry PI (достаточно нуля) - 2,7-дюймовая электронная бумажная шляпа. (Купил здесь) - SD карта (достаточно 4Гб).

Вам также понадобится токен от OpenWeather, чтобы использовать их API (отсюда)

Шаг 1. Обновите программное обеспечение (SO)

Обновление программного обеспечения (SO)
Обновление программного обеспечения (SO)
Обновление программного обеспечения (SO)
Обновление программного обеспечения (SO)
Обновление программного обеспечения (SO)
Обновление программного обеспечения (SO)

Первым шагом, как всегда, является подготовка вашего Raspberry PI с последней версией ОС. - Загрузите последнюю версию ОС (с рабочим столом) отсюда. - Запишите образ на пустую SD-карту. - Создайте пустой файл "ssh", чтобы включить его. соединение SSH. - Сохраните файл «wpa_supplicant.conf» на SD-карте, чтобы ваш Wi-Fi был настроен для подключения к Raspberry PI через SSH (у вас он подготовлен на вашем компьютере, я это знаю).

Запустите свой Raspberry Pi.

Подключитесь к нему через SSH (вы также можете сделать это, если у вас есть монитор, клавиатура и мышь, но у меня их нет, и я предпочитаю подключаться через SSH) и обновите его….

sudo apt-get update -y

sudo apt-get upgrade -y

Теперь вам нужно включить VNC для удаленного подключения и SPI для e-Paper HAT:

sudo raspi-config

Параметры интерфейса> VNC> Да Параметры интерфейса> SPI> Да

И перезагрузите его.

Шаг 2: необходимое программное обеспечение

Необходимое программное обеспечение
Необходимое программное обеспечение

Хорошо, теперь у нас есть работающий Raspberry PI с последней версией программного обеспечения и всем необходимым для подключения к нему.

Пришло время начать установку необходимого программного обеспечения для управления e-Paper HAT.

Если вы не подключили шляпу к Raspberry PI, сейчас самое подходящее время для ее подключения. Выключите Raspberry PI и наденьте шляпу.

Для следующих шагов вы можете следовать инструкциям Waveshare или следовать им, выполнив следующие шаги….

Установите библиотеки BCM2835:

wget

tar zxvf bcm2835-1.60.tar.gz cd bcm2835-1.60 / sudo./configure sudo make sudo make check sudo make install # Дополнительные сведения см. на

Установите библиотеки wiringPi:

sudo apt-get install wiringpi

# Для Pi 4 необходимо обновить его : cd / tmp wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb gpio -v # Вы получите информацию 2.52 если вы установите его правильно

Установите библиотеки Python: (Если вы обновили SO до последней версии, все эти шаги будут похожи на «Требование уже выполнено»).

sudo apt-get update

sudo apt-get install python3-pip sudo apt-get install python3-pil sudo apt-get install python3-numpy sudo pip3 install RPi. GPIO sudo pip3 install spidev

Теперь вы можете скачать примеры с Waveshare: (Эта часть НЕ нужна, но вы можете скачать их, чтобы узнать, как это работает).

sudo git clone

cd e-Paper / RaspberryPi / & JetsonNano /

Я рекомендую вам удалить несколько папок: - e-Paper / Arduino (это Raspberry PI).- e-Paper / STM32 (это Raspberry PI).- e-Paper / Raspberry & JetsonNano / c (мы будем использовать python по этому проекту).

Вы не будете их использовать, и они вам не нужны на Raspberry PI.

И, если хотите, вы можете удалить все ненужные файлы из папки "lib", например: - epd1in02.py - epd1in54.py - epd2in9.py -…

Если мы собираемся использовать 2,7 дюйма, остальные файлы НЕ нужны.

Я рекомендую вам переместить папку "lib" немного назад, чтобы ее было легче использовать:

sudo mv lib / главная / пи / электронная бумага /

Однако в моем коде (из GitHub) библиотеки включены.

Все необходимое программное обеспечение установлено.

Следующий шаг - наш код!

Шаг 3. Загрузите мой код

Теперь нам нужно скачать код с GitHub:

sudo git clone

Благодаря этому у нас будет весь необходимый код, включая библиотеки из Waveshare, в настоящий проект.

Отредактируйте файл «ShowInfo.py», чтобы вставить свой API-токен с OpenWeather.com….… И город (используйте имя или идентификатор города):

def WeatherForecast ():

url = "https://api.openweathermap.org/data/2.5/forecast?" #url = url + "q = {city_name}" #url = url + "q = Düsseldorf" # Проблемы с ASCII !!! url = url + "id = 2934246" #url = url + "& appid = {your_API_key}" url = url + "& units = metric" # In Metric url = url + "& cnt = 6" # Всего 6 результатов

Однако нам необходимо установить файлы шрифтов, которые мы используем в проекте. Файлы были загружены со всем кодом.

Шрифты находятся в папке «e-Paper / fonts».

Чтобы распаковать:

sudo unzip Bangers.zip -d / usr / share / fonts / truetype / google /

sudo unzip Bungee_Inline.zip -d / usr / share / fonts / truetype / google / sudo unzip Bungee_Outline.zip -d / usr / share / fonts / truetype / google / sudo unzip Bungee_Shade.zip -d / usr / share / fonts / truetype / google / sudo unzip droid-sans.zip -d / usr / share / fonts / truetype / google / sudo unzip Indie_Flower.zip -d / usr / share / fonts / truetype / google / sudo unzip Jacques_Francois_Shadow.zip -d / usr / share / fonts / truetype / google / sudo unzip Londrina_Outline.zip -d / usr / share / fonts / truetype / google / sudo unzip Londrina_Shadow.zip -d / usr / share / fonts / truetype / google / sudo unzip Londrina_Sketch. zip -d / usr / share / fonts / truetype / google / sudo unzip Oswald.zip -d / usr / share / fonts / truetype / google / sudo unzip Roboto.zip -d / usr / share / fonts / truetype / google / sudo unzip Vast_Shadow.zip -d / usr / share / fonts / truetype / google /

Я рекомендую вам удалить zip-файлы после установки, потому что нам больше не нужны эти файлы:

sudo rm -R шрифты

Шаг 4: Выполните ТЕСТ

Выполнить ТЕСТ
Выполнить ТЕСТ
Выполнить ТЕСТ
Выполнить ТЕСТ

Перейдите в правильную папку, где у нас есть тестовый файл:

cd ~ / eInk_Moon_ISS_PeopleSpace / e-Paper / ShowEInk

Запустите тестовый файл с версией Python 3:

python3 Test001.py

Пока программа будет запущена, у вас будут отслеживаемые комментарии.

И на экране электронной бумаги вы увидите сообщения.

Для каждой кнопки на экране будет отображаться отдельное сообщение.

Шаг 5: Покажите информацию о Луне / космосе / МКС…

Показать информацию о Луне / Космосе / МКС…
Показать информацию о Луне / Космосе / МКС…
Показать информацию о Луне / Космосе / МКС…
Показать информацию о Луне / Космосе / МКС…
Показать информацию о Луне / Космосе / МКС…
Показать информацию о Луне / Космосе / МКС…
Показать информацию о Луне / Космосе / МКС…
Показать информацию о Луне / Космосе / МКС…

Хорошо, у нас все работает, и теперь мы хотим посмотреть, где находится МКС над Землей, или фаза Луны …

Сначала вам нужно запустить файл «ShowInfo.py» (расположенный в «~ / eInk_Moon_ISS_PeopleSpace / e-Paper / ShowEInk»).

python3 ~ / eInk_Moon_ISS_PeopleSpace / электронная бумага / ShowEInk / ShowInfo.py

И теперь, если вы нажмете одну кнопку, у вас будет информация, запрограммированная на эту кнопку:

● Кнопка 1: прогноз погоды.

● Кнопка 2: Кто и где находится в пространстве.

● Кнопка 3: Где находится МКС в мире.

● Кнопка 4: Информация о Луне.

Шаг 6. Выполните его как услугу

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

Создайте новый файл с именем ShowInfo.service и скопируйте приведенное ниже содержимое в новый файл - соответствующим образом измените путь к рабочему каталогу:

[Ед. изм]

Описание = ShowInfo After = network-online.target Хочет = network-online.target [Служба] ExecStart = / usr / bin / python3 ShowInfo.py WorkingDirectory = / home / pi / eInk_Moon_ISS_PeopleSpace / e-Paper / ShowEInk / StandardOutput = наследовать StandardError = наследовать Restart = always User = pi [Install] WantedBy = multi-user.target

Скопируйте файл ShowInfo.service в / etc / systemd / system от имени пользователя root:

sudo cp ShowInfo.service / etc / systemd / system /

Запустите службу:

sudo systemctl start ShowInfo.service

Проверьте, запущена ли служба:

sudo systemctl status ShowInfo.service

Результат должен быть похож на:

● ShowInfo.service - ShowInfo

Загружено: загружено (/etc/systemd/system/ShowInfo.service; отключено; предустановка поставщика: включено) Активно: активно (работает) с пятницы 11 сентября 2020 г., 15:17:16 CEST; 14с назад Основной PID: 1453 (python3) CGroup: /system.slice/ShowInfo.service └─1453 / usr / bin / python3 ShowInfo.py 11 сентября 15:33:17 eInk systemd [1]: запущен ShowInfo.

Если служба работает нормально, вы можете включить ее и перезагрузить Raspberry Pi для автоматической загрузки во время загрузки:

sudo systemctl включить ShowInfo.service

Чтобы остановить службу:

sudo systemctl stop ShowInfo.service

И это все !!!!!

Спасибо !!!!!