Съдържание:

Свързване на вашия Raspberry Pi към мрежата: 9 стъпки
Свързване на вашия Raspberry Pi към мрежата: 9 стъпки

Видео: Свързване на вашия Raspberry Pi към мрежата: 9 стъпки

Видео: Свързване на вашия Raspberry Pi към мрежата: 9 стъпки
Видео: Raspberry Pi 4B в корпусе Argon ONE M.2 c SSD диском 128 ГБ, собираем сервер для Home Assistant 2024, Ноември
Anonim
Свързване на вашия Raspberry Pi към мрежата
Свързване на вашия Raspberry Pi към мрежата

В този урок ще научите как да създавате уеб страница, да събирате данни, използвайки световната мрежа, и да използвате API за публикуване на изображения в Tumblr и Twitter.

Стъпка 1: Клиент и сървър

В компютрите клиент-сървърът е софтуерен модел, състоящ се от две части: клиент и сървър. И двете комуникират през компютърна мрежа или заедно на един и същ компютър. Клиентът е програма или компютър със софтуер, който разчита на отправяне на заявки за услуги към сървър. Сървърът е компютърна програма или устройство, което може да приеме тези заявки, да ги обработи и да върне исканата информация на клиента. Понякога е трудно да разберете кое е кое, когато работите с машини, които изпълняват множество задачи едновременно. Ето някои характеристики, които ще ви помогнат да различите клиент и сървър.

Характеристики на клиента:

  • Това е първият активен
  • Изпраща заявки до сървъра
  • Той очаква и получава отговори от сървъра
  • Обикновено взаимодейства директно с крайните потребители, използвайки всеки потребителски интерфейс, например графичен потребителски интерфейс

Характеристики на сървъра:

  • Първоначално е пасивен
  • Той е слушащ, готов да отговори на искания, изпратени от клиенти
  • когато идва заявка, отговаря на клиентите с искани данни
  • Крайните потребители обикновено не взаимодействат директно със сървър, но използват клиент.
Образ
Образ

Често срещан пример за връзка клиент и сървър е уеб браузър (клиент), който иска и получава файлове на уеб страници, хоствани на уеб сървър.

Стъпка 2: Създайте локален уеб сървър

Raspberry Pi може да се превърне в уеб сървър чрез инсталиране и стартиране на сървърно приложение. Две популярни сървърни приложения с отворен код са: NGINX (произнася се двигател x) и Apache. В този урок ще използвате Apache, защото към момента на писане той е по -подробно документиран. Това прави търсенето на отговори онлайн по -лесно, докато се учите.

Вашият Raspberry Pi ще бъде домакин на уебсайт, до който може да има достъп всяко устройство в същата мрежа. Да започваме!

Стъпка 3: Инсталирайте Apache

Инсталирайте пакета apache2. Флагът -y отговаря на въпроса за сигурност преди инсталирането вместо вас.

sudo apt -get install apache2 -y

Apache идва с тестов HTML файл, който генерира заместваща уеб страница, за да тества инсталацията. Този тестов HTML файл идва в главната директория на Apache. По подразбиране Apache е настроен да търси в тази директория уеб документи, за да създава съдържание в уеб браузър. За да разгледате тази тестова страница и да потвърдите, че Apache наистина е инсталирал правилно, изтеглете я във вашия уеб браузър, като въведете този URL адрес:

localhost/

Ако Apache е инсталиран правилно, ще видите тестовата уеб страница на Apache в браузъра:

Образ
Образ

Намерете IP адреса на вашия Raspberry Pi

Можете да използвате адреса на localhost за достъп до уеб страницата, докато сте на Raspberry Pi. За достъп до уеб страницата от друг компютър се нуждаете от IP адреса на Raspberry Pi. За да намерите типа IP адрес в LXTerminal:

ifconfig

Образ
Образ

Можете също да го намерите на работния плот, ако задържите курсора върху символа за приемане на WiFi.

Образ
Образ

Стъпка 4: Направете статична уеб страница

Вашият Raspberry Pi вече може да хоства уеб страница и цялото съдържание, което ще бъде публикувано на нея. Има два основни вида уеб страници: статични и динамични. Статичната страница има съдържание, което не се променя. Динамичната страница може да показва променящи се данни, като показания на сензора или променящия се час и дата.

Нека започнем със статична страница. За да създадете такъв, трябва да използвате език, наречен HTML. Когато отидете на уеб страница, първото нещо, което виждате, вероятно е страница index.html. Тази страница е страницата по подразбиране, която браузърът показва, ако не е посочена друга страница. По подразбиране Apache търси файла index.html тук:

/var/www/html

Това се нарича корен на документа и е скрита папка. Предназначен е за съхраняване на уеб страници. Отидете там и огледайте наоколо:

cd/var/www/html

ls

Ще видите изброения файл по подразбиране index.html. Ако искате да запишете файла по подразбиране, преименувайте го на нещо като defaultIndex.html с помощта на командата mv.

sudo mv index.html defaultIndex.html

ако не искате да го запишете, премахнете файла, като използвате командата rm:

sudo rm index.html

Сега можете да създадете и започнете да редактирате свой собствен файл index.html:

sudo nano index.html

Не забравяйте да използвате sudo, директориите www и html са собственост на root, така че трябва да действате като root, за да създавате, редактирате и манипулирате всички файлове, живеещи в тези директории.

Основна HTML страница

HTML е език, който се задълбочава. Можете да направите много с него. Ако се интересувате от повече информация, вижте уебсайта на W3Schools, където можете да намерите много уроци за това как да използвате HTML за изграждане на уебсайт. Ще започнем с проста HTML страница.

Първо, кажете на браузъра каква версия на HTML използвате. Този документ е деклариран като HTML5 документ:

Започнете с html и body тагове:

По -голямата част от съдържанието ви следва след това, между маркерите на тялото. Направете първия ред заглавие с етикета h1. Числото след "h" определя важността на заглавието, което влияе върху размера на шрифта. Използвайте маркера p, за да определите абзац:

Моят Raspberry Pi има уебсайт

Какво трябва да сложа тук?

Завършете страницата, като затворите тялото и html и таговете:

Запазете документа със суфикса.html и посетете localhost във вашия браузър. Ще видите вашата уеб страница!

Образ
Образ

Какво трябва да поставите на уеб страницата? Нека пуснем изображение или още по -добре animateMe.gif! За да може всеки актив да бъде показан на тази уеб страница, той трябва да бъде поставен в корена на документа на Apache. Трябва да го копирате и поставите, така че да остане и във вашата директория boof/fotos. За да копирате и поставите файл в командния ред, използвайте командата cp. Първо, cd към вашата домашна директория:

cd ~

Копирайте и поставете файла animateMe.gif:

sudo cp boof/fotos/animateMe.gif/var/www/html

Върнете се в директорията html:

cd/var/www/html

Отворете отново файла index.html, за да можете да добавите изображението:

sudo nano index.html

За да дефинирате и вградите изображение в HTML страница, използвайте маркера img. Поставете следния ред между заглавието и абзаца.

Отворете страницата в браузъра и тя ще изглежда така, освен с вашия собствен стилен-g.webp

Образ
Образ

Стъпка 5: Добавете стил

Страницата изглежда малко скучна. Без цвят и без стил. Тук идва CSS. Това е език, който работи ръка за ръка с HTML, за да направи уеб страница по-привлекателна и визуално креативна. Ще докоснете само тук, но ако искате да научите повече, преминете през W3schools, за да научите повече.

Като пример, нека променим цвета на фона, като добавим CSS към вашия HTML файл. Има няколко начина за оформяне на вашата уеб страница с помощта на CSS. За този клас ще използвате стиловите тагове, за да вградите CSS директно във вашия HTML файл.

Поставете следните редове между първите html и body тагове в горната част на вашата HTML страница:

body {background-color: powderblue;} тагове. Ще изглежда така:

Образ
Образ

тяло {background-color: powderblue;}

Образ
Образ

Стъпка 6: Инсталирайте PHP

Вместо статична страница, можете да направите динамична, която може да се променя, без да качвате ръчно файлове към нея. Популярен начин да направите това е да използвате скриптов език, наречен PHP. За да използвате PHP на Raspberry Pi, първо трябва да го инсталирате с модулен пакет за Apache:

sudo apt-get install libapache2-mod-php5 php5 -y

Стъпка 7: Направете динамична уеб страница

Комбинирайте PHP с HTMLA, стига PHP кодът да се съдържа в таговете, можете да го включите в HTML файлова структура. Като пример комбинирайте текущите си HTML и PHP скриптове и увеличете текста, като използвате HTML тагове.

Нека включим прост PHP скрипт, който показва датата и часа. Поставете следното навсякъде между маркерите:

Запазете файла с Ctrl + o, но променете разширението от.html на.php, което ще запази нов файл. За да не объркате браузъра, премахнете старата.html версия:

sudo rm index.html

Обновете localhost във вашия уеб браузър. Изходът ще изглежда така:

Образ
Образ

Добре, тогава каква е разликата? Изглежда като обикновена HTML страница, нали? Освежете страницата и гледайте магията. Магията, че времето ще се промени! Това е PHP и вградената функция date (), която работи за вас, за да направите динамична уеб страница.

Стъпка 8: Създайте Tumblr API клиент

Raspberry Pi може да изисква и да получава информация от други софтуерни приложения онлайн чрез API (Application Programming Interface). Приложен програмен интерфейс улеснява нещо като Raspberry Pi да пресича всички данни на уебсайт, за да вземе само полезните неща. Накарайте вашия Raspberry Pi да говори с Tumblr, Twitter и weather.com, за да туитва, публикува изображения и да показва прогнози за времето.

Raspberry Pi и Tumblr

Следното упражнение създава разговор между вашия Raspberry Pi и Tumblr. Като клиент, вашият Raspberry Pi ще поиска от Tumblr фрагменти от данни, за да може да качва изображения на отдалечения сървър на Tumblr, което води до публикуване на изображения в акаунт в Tumblr. За да накарате Raspberry Pi да работи с API, най -вероятно вече ще има библиотека, която да използвате. За Tumblr има Pytumblr. Клиент се създава в програма на Python с помощта на вградена функция, създадена в Pytumblr. Тази функция използва четири кода за оторизация, генерирани от Tumblr:

  • потребителски ключ
  • потребителска тайна
  • токен ключ
  • символична тайна

Преди да можете да използвате API на Tumblr, трябва да получите четири тези ключа (подобни на паролите). За да ги получите, изпълнете следните стъпки:

  1. Създайте безплатен акаунт в Tumblr и влезте.
  2. Регистрирайте приложение. Трябва само да дадете основна информация, като заглавие (опитайте „My Raspberry Pi“), описание, имейл и уебсайт (използвайте този, ако нямате такъв). След регистрацията ще получите потребителски ключ и потребителска тайна. Копирайте и ги поставете на безопасно място, като текстов файл или имейл. За да получите достъп до тях отново, отидете на страницата на профила си в Tumblr, изберете Настройки в менюто Акаунт и щракнете върху Приложения.
  3. Влезте в конзолата за програмисти, като използвате вашите ключови и секретни кодове за оторизация. Щракнете върху разреши, когато бъдете попитани дали искате да публикува от ваше име.
  4. След като влезете в конзолата за програмисти, ще видите примерен код на няколко различни езика. Или щракнете върху раздела Python и копирайте блока OAuth, или в горното меню щракнете върху Показване на ключовете, за да видите ключа на маркера и секретните кодове на маркера, заедно с двата кода, които вече имате.

Нека да приложим тези кодове и да направим програма на Python, която публикува animateMe-g.webp

Първо инсталирайте Pytumblr:

sudo apt-get update

sudo pip инсталирайте pytumblr

От вашата домашна директория, cd в папката boof и създайте Python файл:

cd буф

Създайте файла си с помощта на редактора на IDLE, за да улесните изрязването и поставянето на вашите много дълги кодове за оторизация. Поставете това във вашия файл testPytumblr.py, като актуализирате четирите ключа и вашето потребителско име:

внос pytumblr

# Удостоверява чрез OAuth, копирайте от https://api.tumblr.com/console/calls/user/info client = pytumblr. TumblrRestClient ('your_consumer_key', 'your_consumer_secret', 'your_token', 'your_token_secret') client.create 'your_account_username', state = "published", tags = [„raspberrypi“, „picamera“], data = „fotos/animateMe.gif") печат („качени“)

Програмата маркира качената от вас снимка с „raspberrypi“и „picamera“. Ако желаете, можете да премахнете, замените или добавите към тези тагове. Те се съхраняват в променлива, наречена тагове, използвани в client.create_photo ().

Натиснете F5, за да стартирате програмата. Ще има грешка … но вече сте инсталирали Pytumblr, така че защо Python казва, че не може да намери модула? Това е така, защото Pytumblr не поддържа Python 3, той работи само в Python 2*. Отворете редактора на Python 2 IDLE и изрежете и поставете кода си, презапишете програмата Python 3 и след това я стартирайте. Когато е качил GIF, „качено“ще бъде отпечатано в прозореца на черупката на Python.

Това е вълнуващата част! Отидете на страницата си Tumblr и вижте GIF! Разменете „публикувано“в програмата си на „чернова“, ако искате вместо това да създадете чернови на публикации.

Образ
Образ

*След публикуването на този клас друг потребител на github е разклонил оригинала, добавяйки поддръжка за Python 3 за определени команди.

Ако публикацията не се показва, проверете отново дали сте въвели правилно четирите си ключа и потребителското име на Tumblr и дали интернет връзката на вашия Pi е активна. Можете също да стартирате скрипта си от командния ред, използвайки Python 2 (cd към буфа на папката, ако вече не сте там):

python testPytumblr.py

Стъпка 9: Направете екранна снимка на Tumblr и/или уебсайт

Създайте уебсайт за показване на-g.webp

Препоръчано: