Агуулгын хүснэгт:

Raspberry Pi -гээ интернетэд холбох: 9 алхам
Raspberry Pi -гээ интернетэд холбох: 9 алхам

Видео: Raspberry Pi -гээ интернетэд холбох: 9 алхам

Видео: Raspberry Pi -гээ интернетэд холбох: 9 алхам
Видео: BTT Manta M8P v2 - CM4 with Fluidd Pi 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 apache2 -y суулгана уу

Apache нь суулгацыг шалгахын тулд газар эзэмшигч вэб хуудас үүсгэдэг тест HTML файлтай ирдэг. Энэхүү туршилтын HTML файл нь Apache -ийн үндсэн лавлах санд ирдэг. Анхдагч байдлаар, Apache нь вэб хөтөч дотор контент үүсгэх вэб баримт бичгийг энэ лавлахаас хайхаар тохируулагдсан байдаг. Энэхүү туршилтын хуудсыг үзээд Apache -ийг үнэхээр суулгасныг баталгаажуулахын тулд энэ URL хаягийг оруулаад вэб хөтөч дээрээ татаж аваарай.

localhost/

Хэрэв Apache зөв суулгасан бол хөтөч дээр Apache тестийн вэб хуудсыг харах болно.

Зураг
Зураг

Raspberry Pi -ийн IP хаягийг олоорой

Та Raspberry Pi дээр байхдаа вэб хуудас руу нэвтрэхийн тулд localhost хаягийг ашиглаж болно. Өөр компьютерээс вэб хуудас руу нэвтрэхийн тулд танд Raspberry Pi -ийн IP хаяг хэрэгтэй болно. LXTerminal дээр IP хаягийн төрлийг олохын тулд:

ifconfig

Зураг
Зураг

Хэрэв та курсорыг WiFi хүлээн авах тэмдэг дээр дарвал та үүнийг ширээний компьютер дээрээс олж болно.

Зураг
Зураг

Алхам 4: Статик вэб хуудас хийх

Таны Raspberry Pi одоо вэб хуудас болон үүн дээр нийтлэх бүх агуулгыг байршуулах боломжтой. Вэб хуудасны үндсэн хоёр төрөл байдаг: статик ба динамик. Статик хуудас нь өөрчлөгддөггүй агуулгатай байдаг. Динамик хуудас нь мэдрэгчийн уншилт, өөрчлөгдөж буй цаг, огноо зэрэг өгөгдлийг харуулах боломжтой.

Статик хуудаснаас эхэлье. Үүнийг үүсгэхийн тулд та HTML хэлийг ашиглах хэрэгтэй. Вэб хуудас руу ороход хамгийн түрүүнд индекс.html хуудас харагдах болно. Энэ хуудас нь өөр хуудас заагаагүй бол хөтөчийн харуулдаг үндсэн хуудас юм. Анхдагч байдлаар Apache нь index.html файлыг эндээс хайна.

/var/www/html

Үүнийг баримт бичгийн үндэс гэж нэрлэдэг бөгөөд энэ нь далд хавтас юм. Энэ нь вэб хуудсуудыг хадгалахад зориулагдсан болно. Тэнд очоод эргэн тойрноо хараарай:

cd/var/www/html

ls

Та индекс.html -ийн анхдагч файлын жагсаалтыг харах болно. Хэрэв та анхдагч файлыг хадгалахыг хүсвэл mv командыг ашиглан үүнийг defaultIndex.html шиг нэрлээрэй.

sudo mv index.html defaultIndex.html

Хэрэв та хадгалахыг хүсэхгүй байгаа бол файлыг rm командыг ашиглан устгана уу.

sudo rm index.html

Одоо та өөрийн index.html файлыг үүсгэж, засварлаж эхлэх боломжтой.

sudo нано индекс.html

Sudo ашиглахаа мартуузай, www ба html лавлахууд нь root -ийн эзэмшилд байдаг тул та эдгээр санд байгаа файлуудыг үүсгэх, засварлах, удирдахын тулд root -ийн үүргийг гүйцэтгэх ёстой.

Үндсэн HTML хуудас

HTML бол гүнзгийрүүлсэн хэл юм. Үүний тусламжтайгаар та маш их зүйлийг хийж чадна. Хэрэв та илүү ихийг мэдэхийг хүсч байвал W3Schools -ийн вэбсайтыг үзээрэй, эндээс вэбсайт бүтээхдээ HTML -ийг хэрхэн ашиглах талаар олон хичээлийг үзэх боломжтой. Бид энгийн HTML хуудаснаас эхлэх болно.

Эхлээд HTML -ийн аль хувилбарыг ашиглаж байгаагаа хөтөчдөө хэлээрэй. Энэ документыг HTML5 doc гэж зарласан болно.

Html болон биеийн хаягаар эхэл:

Таны агуулгын ихэнх хэсэг нь дараа нь биеийн хаягийн хооронд ордог. Эхний мөрийг h1 тагтай гарчиг болго. "H" үсгийн дараах тоо нь үсгийн хэмжээтэй холбоотой гарчгийн ач холбогдлыг тодорхойлдог. Догол мөрийг тодорхойлохын тулд p хаягийг ашиглана уу.

Миний Raspberry Pi вэбсайттай

Би энд юу оруулах ёстой вэ?

Үндсэн болон html болон хаягийг хааж хуудсыг дуусгана уу.

Баримт бичгийг.html дагавараар хадгалаад хөтөч дээрээ localhost руу зочилно уу. Та вэб хуудсаа харах болно!

Зураг
Зураг

Та вэб хуудсан дээр юу оруулах ёстой вэ? Зургийг тавь, эсвэл илүү дээр нь animateMe.gif! Аливаа хөрөнгийг энэ вэб хуудсан дээр харуулахын тулд үүнийг Apache -ийн баримт бичгийн эх хэсэгт оруулах ёстой. Та үүнийг хуулж, буулгах хэрэгтэй бөгөөд ингэснээр таны boof/fotos лавлах санд үлдэх болно. Файлыг тушаалын мөрөнд хуулж буулгахын тулд cp командыг ашиглана уу. Нэгдүгээрт, таны гэрийн лавлах руу cd оруулна уу:

cd ~

AnimateMe-g.webp

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

Html лавлах руу буцах:

cd/var/www/html

Index.html файлыг дахин нээгээрэй, ингэснээр та зургийг нэмж болно.

sudo нано индекс.html

HTML хуудсан дээрх зургийг тодорхойлох, оруулахын тулд img хаягийг ашиглана уу. Гарчиг ба догол мөрний хооронд дараах мөрийг тавь.

Хуудсыг хөтөч дээр нээвэл өөрийн загварлаг селфи-g.webp

Зураг
Зураг

Алхам 5: Зарим хэв маягийг нэмнэ үү

Хуудас жаахан эвгүй харагдаж байна. Өнгө, хэв маяг байхгүй. Энд CSS гарч ирдэг. Энэ бол вэб хуудсыг илүү сэтгэл татам, харааны бүтээлч болгохын тулд HTML-тэй хамтран ажилладаг хэл юм. Та зөвхөн энд хүрэх болно, гэхдээ хэрэв та илүү ихийг мэдэхийг хүсч байвал W3 сургуулийн талаар илүү ихийг мэдэж аваарай.

Жишээ болгон, HTML файлдаа CSS нэмж арын өнгийг өөрчилье. CSS ашиглан вэб хуудсаа загварчлах хэд хэдэн арга байдаг. Энэ ангийн хувьд та CSS -ийг HTML файлдаа шууд оруулахын тулд загварын хаягийг ашиглана.

Дараах мөрүүдийг HTML хуудасныхаа дээд хэсэгт байгаа анхны html болон биеийн хаягийн хооронд оруулна уу.

body {background-color: powderblue;} хаягууд. Энэ нь иймэрхүү харагдах болно:

Зураг
Зураг

биеийн {дэвсгэр өнгө: нунтаг цэнхэр;}

Зураг
Зураг

Алхам 6: PHP суулгана уу

Статик хуудасны оронд та файлуудыг гараар оруулахгүйгээр өөрчлөх боломжтой динамик хуудсыг хийж болно. Үүнийг хийх түгээмэл арга бол PHP гэж нэрлэгддэг скрипт хэл ашиглах явдал юм. Raspberry Pi дээр PHP ашиглахын тулд та үүнийг эхлээд Apache -ийн модулийн багцаар суулгах хэрэгтэй.

sudo apt-get libapache2-mod-php5 php5 -y суулгана уу

Алхам 7: Динамик вэб хуудас хийх

PHP -г HTML -тэй хослуул 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) ашиглан онлайнаар бусад програмын програмаас мэдээлэл авах боломжтой. API нь 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 -ийн үүсгэсэн дөрвөн зөвшөөрлийн кодыг ашигладаг.

  • хэрэглэгчийн түлхүүр
  • хэрэглэгчийн нууц
  • жетоны түлхүүр
  • жетоны нууц

Tumblr -ийн API -г ашиглахаасаа өмнө та эдгээр дөрвөн түлхүүрийг авах ёстой (нууц үгтэй төстэй). Тэднийг авахын тулд дараах алхмуудыг дагана уу.

  1. Үнэгүй Tumblr данс үүсгээд нэвтэрнэ үү.
  2. Өргөдөл бүртгүүлэх. Та зөвхөн гарчиг ("Миний бөөрөлзгөнө Pi" -ийг туршиж үзээрэй), тайлбар, имэйл, вэбсайт гэх мэт үндсэн мэдээллийг өгөх хэрэгтэй (хэрэв танд байхгүй бол үүнийг ашиглаарай). Бүртгүүлсний дараа та хэрэглэгчийн түлхүүр болон хэрэглэгчийн нууцыг авах болно. Текст файл эсвэл имэйл гэх мэт аюулгүй газар хуулж тавь. Тэдэнд дахин хандахын тулд Tumblr дансныхаа хуудас руу орж, дансны цэсэн дэх Тохиргоог сонгоод Аппликешн дээр дарна уу.
  3. Түлхүүр болон нууц зөвшөөрлийн кодоо ашиглан хөгжүүлэгчийн консол руу нэвтэрнэ үү. Таны өмнөөс нийтлэхийг хүсч байгаа эсэхийг асуухад зөвшөөрөх дээр дарна уу.
  4. Хөгжүүлэгчийн консол руу нэвтэрсний дараа та хэд хэдэн өөр хэл дээрх жишээ кодыг харах болно. Python таб дээр дарж OAuth блокыг хуулж эсвэл дээд цэснээс Show Keys товчийг дарж жетоны түлхүүр болон жетоны нууц кодыг өөрт байгаа хоёр кодтой хамт харна уу.

Эдгээр кодыг ажиллуулж, animateMe-g.webp

Эхлээд Pytumblr -ийг суулгаарай:

sudo apt-get update

sudo pip суулгах pytumblr

Гэрийн лавлахаас cd boof хавтас руу ороод Python файл үүсгэнэ үү.

cd boof

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) 'your_account_username', state = "published", tags = ["raspberrypi", "picamera"], data = "fotos/animateMe.gif") хэвлэх ("байршуулсан")

Хөтөлбөр нь танд байршуулсан зургийг "бөөрөлзгөнө", "пикамера" -аар тэмдэглэнэ. Хэрэв та хүсвэл эдгээр хаягийг устгах, орлуулах эсвэл нэмж болно. Эдгээр нь client.create_photo () -д ашиглагддаг хаягууд гэж нэрлэгддэг хувьсагчид хадгалагддаг.

Програмыг ажиллуулахын тулд F5 товчийг дарна уу. Алдаа гарах болно … гэхдээ та Pytumblr -ийг аль хэдийн суулгасан байгаа тул яагаад Python модулийг олж чадахгүй байна гэж хэлэв? Учир нь Pytumblr нь Python 3 -ийг дэмждэггүй, зөвхөн Python 2*дээр ажилладаг. Python 2 IDLE редакторыг нээгээд кодоо хайчилж аваад Python 3 програмыг дарж бичээд ажиллуулна уу.-g.webp

Энэ бол сэтгэл хөдөлгөм хэсэг юм! Tumblr хуудас руугаа ороод-g.webp

Зураг
Зураг

*Энэ ангийг хэвлүүлсний дараа өөр github хэрэглэгч эхийг нь салгаж, тодорхой командуудад Python 3 -ийг дэмжсэн болно.

Хэрэв бичлэг гарч ирэхгүй бол дөрвөн түлхүүр, Tumblr хэрэглэгчийн нэрээ зөв оруулсан эсэхээ шалгаарай, мөн таны Пи -ийн интернет холболт идэвхтэй байгаа эсэхийг шалгаарай. Та мөн скриптийг Python 2 ашиглан тушаалын мөрөөс ажиллуулж болно (хэрэв та одоогоор байхгүй бол cd -ийг хавтас руу оруулна уу):

python тестPytumblr.py

Зөвлөмж болгож буй: