Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Подписаться Еще от автора:
У меня были Raspberry и e-Paper HAT, и я хотел использовать их, чтобы показать информацию, например, где находится МКС или сколько людей сейчас в космосе …
Я сказал, чтобы посмотреть, есть ли в Интернете API-интерфейсы для получения этих данных, и я их нашел. Хорошо, понял !!!!
Подождите, у этой шляпы есть 4 кнопки, а затем мне нужно показать 4 данных …
- Где сейчас МКС? - Сколько людей сейчас в космосе? - В какой фазе Луны? - Пойдет ли дождь? Неужели так тепло?…
Прямо сейчас я показываю эту информацию, но я мог бы обновить эту «Инструкцию», как только у меня появится хорошая идея, или, если вы знаете хорошую, вы можете предложить ее мне !!!
Что ж, я сделал это однажды вечером, и "FrontEnd" закончился через несколько дней. Не жалуйтесь на то, как отображается информация, я не люблю делать эту часть:)
Запасы
- Raspberry PI (достаточно нуля) - 2,7-дюймовая электронная бумажная шляпа. (Купил здесь) - SD карта (достаточно 4Гб).
Вам также понадобится токен от OpenWeather, чтобы использовать их API (отсюда)
Шаг 1. Обновите программное обеспечение (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
И это все !!!!!
Спасибо !!!!!