Съдържание:
- Стъпка 1: Клиент и сървър
- Стъпка 2: Създайте локален уеб сървър
- Стъпка 3: Инсталирайте Apache
- Стъпка 4: Направете статична уеб страница
- Моят Raspberry Pi има уебсайт
- Стъпка 5: Добавете стил
- Стъпка 6: Инсталирайте PHP
- Стъпка 7: Направете динамична уеб страница
- Стъпка 8: Създайте Tumblr API клиент
- Стъпка 9: Направете екранна снимка на Tumblr и/или уебсайт
Видео: Свързване на вашия Raspberry Pi към мрежата: 9 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
В този урок ще научите как да създавате уеб страница, да събирате данни, използвайки световната мрежа, и да използвате 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, трябва да получите четири тези ключа (подобни на паролите). За да ги получите, изпълнете следните стъпки:
- Създайте безплатен акаунт в Tumblr и влезте.
- Регистрирайте приложение. Трябва само да дадете основна информация, като заглавие (опитайте „My Raspberry Pi“), описание, имейл и уебсайт (използвайте този, ако нямате такъв). След регистрацията ще получите потребителски ключ и потребителска тайна. Копирайте и ги поставете на безопасно място, като текстов файл или имейл. За да получите достъп до тях отново, отидете на страницата на профила си в Tumblr, изберете Настройки в менюто Акаунт и щракнете върху Приложения.
- Влезте в конзолата за програмисти, като използвате вашите ключови и секретни кодове за оторизация. Щракнете върху разреши, когато бъдете попитани дали искате да публикува от ваше име.
- След като влезете в конзолата за програмисти, ще видите примерен код на няколко различни езика. Или щракнете върху раздела 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
Препоръчано:
Как да направите свой собствен WIFI шлюз за свързване на вашия Arduino към IP мрежа?: 11 стъпки (със снимки)
Как да направите свой собствен WIFI шлюз за свързване на вашия Arduino към IP мрежа?: Както много хора смятате, че Arduino е много добро решение за домашна автоматизация и роботизация! Но по отношение на комуникацията Arduinos идва само със серийни връзки. Работя върху робот, който трябва да бъде постоянно свързан със сървър, който работи
Ръководство за свързване на PLSD: Свързване към телевизори на Apple чрез AirPlay [неофициално]: 10 стъпки
Ръководство за свързване на PLSD: Свързване към Apple TV чрез AirPlay [Неофициално]: Следното ръководство е предоставено, за да илюстрира процеса на свързване към Apple TV към конферентна зала чрез AirPlay. Този неофициален ресурс е предоставен с любезното съдействие на администрацията, персонала и упълномощените гости на местния училищен район Perkins
Направи си сам инвертор на мрежата (не захранва мрежата) UPS алтернатива: 7 стъпки (със снимки)
DIY Grid Tied Inverter (не захранва мрежата) UPS алтернатива: Това е последваща публикация от другата ми инструкция за направата на инвертор за свързване на мрежата, който не се връща обратно в мрежата, тъй като сега винаги е възможно да се направи това в определени райони като проект „направи си сам“и някои места не позволяват захранване там
Различни начини за свързване към вашия Mac Mini: 5 стъпки
Различни начини за свързване към вашия Mac Mini: Свързването с вашия mac mini, докато сте у дома или далеч, е от решаващо значение, особено ако нямате постоянно прикрепена мишка и монитор за клавиатура. Едно парче на жаргон трябва да определим правилни сделки с кой компютър говорим. Винаги ще използвам
Неуспешен опит за свързване на кабел към конектор към дънна платка: 6 стъпки
Неуспешен опит да свържете мост към конектор към дънна платка: Първоначално (в друга инструкция) бях споял плосък гъвкав кабел към дънната платка на ipod. Реших обаче да добавя още малко спойка за здравина и свързах връзка. Мислех, че мога да постигна същото с