E-Ink: Ай / ISS / Космостогу адамдар : 6 кадам
E-Ink: Ай / ISS / Космостогу адамдар : 6 кадам
Anonim

Автордун көбүрөөк маалыматын караңыз:

Raspberry PI менен убакыттын өтүшү
Raspberry PI менен убакыттын өтүшү
Raspberry PI менен убакыттын өтүшү
Raspberry PI менен убакыттын өтүшү

Менде Raspberry жана e-Paper HAT бар болчу жана мен аны ISS кайда же азыр космосто канча адам бар экенин көрсөтүү үчүн колдонгум келди …

Мен бул маалыматтарды алуу үчүн Интернетте APIлер барбы же жокпу деп айттым, мен аларды таптым. ОК, готча !!!!

Күтө туруңуз, бул HATтин 4 баскычы бар, андан кийин мага 4 маалымат керек …

- ISS азыр кайда?- Азыр космосто канча адам бар?- Ай кайсы фазада?- Жамгыр жаайбы? Ушунчалык жылуубу?…

Мен азыр ошол маалыматты көрсөтүп жатам, бирок мен бул "Инструктивдүү" дегенди жакшы ойго келээр замат жаңырта алмакмын, же эгер жакшы нерсени билсеңиз, мага сунуштай аласыз !!!

Ооба, мен аны бир кечинде жасадым жана "FrontEnd" бир нече күндөн кийин аяктады. Маалымат кантип көрсөтүлүп жатканына нааразы болбоңуз, бул бөлүктү жасоону жактырбайм:)

Жабдуулар

- Raspberry PI (Zero жетиштүү).- 2.7inch e-Paper HAT. (Мен бул жерден кен сатып алдым)- SD карта (4Gb жетиштүү).

APIлерди колдонуу үчүн сизге OpenWeatherден Токен керек (бул жерден)

1 -кадам: Программаны жаңыртуу (SO)

Программаны жаңыртуу (SO)
Программаны жаңыртуу (SO)
Программаны жаңыртуу (SO)
Программаны жаңыртуу (SO)
Программаны жаңыртуу (SO)
Программаны жаңыртуу (SO)

Биринчи кадам, адаттагыдай эле, Raspberry PIңизди эң акыркы OS менен даярдоо. Бул жерден акыркы OS (стол менен) түшүрүңүз.- Сүрөттү бош SD картка жазыңыз. SSH туташуусу.- Wifi'ңизди Raspberry PIге SSH аркылуу туташуу үчүн конфигурациялоо үчүн "wpa_supplicant.conf" файлын SD картага сактаңыз (сиз аны компьютериңизде даярдадыңыз, мен билем).

Raspberry Pi баштаңыз.

Ага SSH аркылуу туташыңыз (эгерде сизде монитор, клавиатура жана чычкан болсо, муну кыла аласыз, бирок менде жок жана мен SSH аркылуу туташууну каалайм) жана аны жаңыртыңыз ….

sudo apt -get update -y

sudo apt -get upgrade -y

Эми, сиз электрондук кагаз HAT үчүн алыстан жана SPIге туташуу үчүн VNCти иштетишиңиз керек:

sudo raspi-config

Interfacing Options> VNC> Yes Interfacing Options> SPI> Ооба

Жана аны өчүрүңүз.

2 -кадам: Керектүү Программалык камсыздоо

Керектүү Программалык камсыздоо
Керектүү Программалык камсыздоо

Макул, азыр бизде акыркы программалык камсыздоо жана ага туташуу үчүн баардык негизи бар Raspberry PI иштеп жатат.

Бул электрондук кагаз HATти көзөмөлдөө үчүн керектүү программалык камсыздоону орнотууну баштоо учуру.

Эгерде сиз Калпакты 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 #Көбүрөөк маалымат үчүн https://www.airspayce.com/mikem/bcm2835/ дарегине кайрылыңыз

WiringPi китепканаларын орнотуу:

sudo apt-get 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 python3-pip орнотуу sudo apt-get орнотуу python3-pil sudo apt-get орнотуу python3-numpy sudo pip3 орнотуу RPi. GPIO sudo pip3 орнотуу

Эми мисалдарды 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/home/pi/e-Paper/

Бирок, менин кодумда (GitHubдан) китепканалар камтылган.

Бардык керектүү программалар орнотулган.

Кийинки кадам - бул биздин код!

3 -кадам: Менин кодду жүктөп алыңыз

Эми биз GitHubдан кодду жүктөп алышыбыз керек:

sudo git clone

Муну менен биз керектүү кодго ээ болобуз, анын ичинде Waveshare китепканалары чыныгы долбоорго кирет.

OpenWeather.com'дон API-Токенди киргизүү үчүн "ShowInfo.py" файлын түзөтүңүз …… жана Шаар (шаардын атын же IDсин колдонуңуз):

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 + "& unit = metric" # Metric url = url + "& cnt = 6" # 6 гана жыйынтык

Бирок, биз проектте колдонгон шрифт файлдарын орнотушубуз керек. Файлдар бардык код менен жүктөлүп алынды.

Шрифттер "e-Paper/fonts" папкасында.

Бошотуу үчүн:

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

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

Орнотуудан кийин zip файлдарын жок кылууну сунуштайм, анткени бизге ал файлдардын кереги жок:

sudo rm -R ариптери

4 -кадам: ТЕСТти аткарыңыз

ТЕСТти аткарыңыз
ТЕСТти аткарыңыз
ТЕСТти аткарыңыз
ТЕСТти аткарыңыз

Тест файлы бар туура папкага өтүңүз:

cd ~/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk

Pythonдун 3 версиясы менен тест файлын аткарыңыз:

python3 Test001.py

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

Жана электрондук кагаз экранында сиз билдирүүлөрдү көрөсүз.

Ар бир баскыч үчүн экранда башка билдирүү көрсөтүлөт.

5 -кадам: Айды / Космосту / ЭКСтин маалыматын көрсөтүңүз …

Айды / Космосту / ЭКС маалыматын көрсөтүңүз …
Айды / Космосту / ЭКС маалыматын көрсөтүңүз …
Айды / Космосту / ЭКС маалыматын көрсөтүңүз …
Айды / Космосту / ЭКС маалыматын көрсөтүңүз …
Айды / Космосту / ЭКС маалыматын көрсөтүңүз …
Айды / Космосту / ЭКС маалыматын көрсөтүңүз …
Айды / Космосту / ЭКС маалыматын көрсөтүңүз …
Айды / Космосту / ЭКС маалыматын көрсөтүңүз …

Макул, баарыбыз чуркап жүрөбүз, эми ISS дүйнө жүзү боюнча же Айдын фазасы кайда экенин көргүбүз келет …

Алгач сиз "ShowInfo.py" файлын аткарышыңыз керек ("~/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk" жайгашкан).

python3 ~/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk/ShowInfo.py

Эми, эгер сиз бир баскычты бассаңыз, анда бул баскычка программаланган маалыматка ээ болосуз:

● 1 -баскыч: Аба ырайы.

● 2 -баскыч: Космосто ким жана кайда.

● 3 -баскыч: ISS Дүйнө жүзү боюнча кайда.

● 4 -баскыч: Ай жөнүндө маалымат.

6 -кадам: Аны кызмат катары аткарыңыз

Альтернатива катары, Python скриптин жүктөө учурунда кызмат түзүү аркылуу баштаса болот - көбүрөөк маалымат

ShowInfo.service деп аталган жаңы файл түзүңүз жана төмөндөгү мазмунду жаңы файлга көчүрүңүз - ошого жараша WorkingDirectory жолун тууралаңыз:

[Бирдик]

Description = ShowInfo After = network-online.target Wants = network-online.target [Service] ExecStart =/usr/bin/python3 ShowInfo.py WorkingDirectory =/home/pi/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk/StandardOrput = inherit = мурастоо Кайра баштоо = дайыма User = pi [Орнотуу] WantedBy = multi-user.target

ShowInfo.service файлын root катары/etc/systemd/systemке көчүрүү:

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

Кызматты баштоо:

sudo systemctl ShowInfo.service баштайт

Кызмат иштеп жаткандыгын текшериңиз:

sudo systemctl абалы ShowInfo.service

Чыгаруу окшош болушу керек:

● ShowInfo.service - ShowInfo

Жүктөлдү: жүктөлдү (/etc/systemd/system/ShowInfo.service; өчүрүлгөн; сатуучуга алдын ала коюлган: иштетилген) Активдүү: жигердүү (иштеп жатат) Жума 2020-09-11 15:17:16 CEST; 14s мурун Негизги 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 ShowInfo.service токтотуу

Жана бул !!!!!

Рахмат !!!!!

Сунушталууда: