Mundarija:

Task, Ifttt integratsiyasi bilan Raspberry Pi yordamida Wi -Fi boshqariladigan 12v chiziqli chiziq: 15 qadam (rasmlar bilan)
Task, Ifttt integratsiyasi bilan Raspberry Pi yordamida Wi -Fi boshqariladigan 12v chiziqli chiziq: 15 qadam (rasmlar bilan)

Video: Task, Ifttt integratsiyasi bilan Raspberry Pi yordamida Wi -Fi boshqariladigan 12v chiziqli chiziq: 15 qadam (rasmlar bilan)

Video: Task, Ifttt integratsiyasi bilan Raspberry Pi yordamida Wi -Fi boshqariladigan 12v chiziqli chiziq: 15 qadam (rasmlar bilan)
Video: How to Automate Daily Tasks: IFTTT Quick Demo 2024, Iyul
Anonim
Task, Ifttt integratsiyasi bilan Raspberry Pi yordamida Wi -Fi boshqariladigan 12v chiziqli chiziq
Task, Ifttt integratsiyasi bilan Raspberry Pi yordamida Wi -Fi boshqariladigan 12v chiziqli chiziq
Task, Ifttt integratsiyasi bilan Raspberry Pi yordamida Wi -Fi boshqariladigan 12v chiziqli chiziq
Task, Ifttt integratsiyasi bilan Raspberry Pi yordamida Wi -Fi boshqariladigan 12v chiziqli chiziq

Ushbu loyihada men sizga malinali pi yordamida Wi -Fi orqali oddiy 12v analog chiziqli chiziqni qanday boshqarishni ko'rsataman.

Ushbu loyiha uchun sizga kerak bo'ladi:

  • 1x Raspberry Pi (men Raspberry Pi 1 Model B+dan foydalanmoqdaman)
  • 1x RGB 12v Led tasmasi [Ebay Australia]
  • 3x IRFZ44N N-kanalli Mosfet [Ebay Australia]
  • 1x Ayol DC quvvat ulagichi adapteri [Ebay Australia]
  • Ba'zi simlar
  • Displey, klaviatura (faqat sozlash uchun)

1 -qadam: Windows yordamida Raspbian OS ni o'rnating

Windows yordamida Raspbian OS ni o'rnating
Windows yordamida Raspbian OS ni o'rnating
Windows yordamida Raspbian OS ni o'rnating
Windows yordamida Raspbian OS ni o'rnating
Windows yordamida Raspbian OS ni o'rnating
Windows yordamida Raspbian OS ni o'rnating

Windows bilan Raspbian -ni o'rnatish uchun sizga kerak bo'ladi:

  • Win32 disk qidiruvchisi: [Yuklab olish]
  • Raspbian OS Lite: [Zip], [Torrent]

** MUHIM, agar noto'g'ri qilingan bo'lsa, siz barcha ma'lumotlaringizni yo'qotib qo'yishingiz mumkin, davom etishdan oldin ma'lumotlarni zaxiralang **

  1. SD -kartani kartani o'qish qurilmasiga ulang va "Mening kompyuterim" ni oching
  2. Drayv xatini qidiring
  3. Win32DiskImager -ni o'ng tugmasini bosing va "Administrator sifatida ishga tushirish" -ni bosing.
  4. Keyin kichkina ko'k papkani bosing va RaspbianOS tasvirini ko'rib chiqing
  5. Shuningdek, "Qurilma" ostidagi ochiladigan oynani bosing va uni SD -kartaning haydovchi maktubiga o'zgartiring
  6. Keyin "Yozish" ni bosing
  7. Ha tugmasini bosishdan oldin dialog oynasi ochiladi, maqsadli qurilma to'g'ri ekanligini tekshiring
  8. Keyin SD -kartani chiqarib oling va uni pi -ga joylashtiring

2 -qadam: Mac OS X yordamida Raspbian OS ni o'rnating

Mac OS X yordamida Raspbian OS ni o'rnating
Mac OS X yordamida Raspbian OS ni o'rnating
Mac OS X yordamida Raspbian OS ni o'rnating
Mac OS X yordamida Raspbian OS ni o'rnating
Mac OS X yordamida Raspbian OS ni o'rnating
Mac OS X yordamida Raspbian OS ni o'rnating
Mac OS X yordamida Raspbian OS ni o'rnating
Mac OS X yordamida Raspbian OS ni o'rnating

Raspbian -ni Mac -ga o'rnatish uchun sizga kerak bo'ladi:

  • ApplePi-Beyker [Yuklab olish]
  • Raspbian OS Lite: [Zip], [Torrent]

** MUHIM, agar noto'g'ri qilingan bo'lsa, siz barcha ma'lumotlarni yo'qotishingiz mumkin, davom etishdan oldin ma'lumotlaringizni zaxira nusxasini yarating **

  1. Disk yordam dasturini oching va SD -kartani chap tomonda toping va ustiga bosing
  2. Oynaning pastki qismidagi "Qurilma" ni qidiring, siz diskXsX kabi narsani ko'rishingiz kerak, bu erda x - raqam
  3. "Qurilma" raqamini eslang va ApplePi-Baker-ni oching
  4. U SD-kartani formatlashi kerakligi sababli sizdan parolni so'raydi
  5. Chap tarafdagi / dev / dan keyin joylashgan "Device" raqamini bosing
  6. "Qayta tiklash-zaxiralash" tugmasini bosing, RaspbianOS-ning rasmini ko'rib chiqing.
  7. U SD-kartani o'chira boshlaydi va unga Raspbian-ni o'rnatadi
  8. Tugatgandan so'ng, siz SD-kartani olib tashlashingiz, uni olib tashlashingiz va kartangizga qo'yishingiz mumkinligi haqida ogohlantirish qutisi ochiladi.

3 -qadam: Pi -ni sozlash

Piyni yoqishdan oldin siz HDMI displeyini, klaviaturasini, chekilgan kabelini yoki usb -wifi -ni ulashingiz kerak bo'ladi (buni keyingi bosqichda o'rnatamiz).

Pi -ni yoqing, siz ekranni to'ldirgan matnni ko'rasiz, bu normal holat va Linux yadrosini ishga tushirishning bir qismi. Ko'rmaguningizcha biroz kuting

malina kirish:

Sizning ismingiz pi va parolingiz malina (ekranda hech narsa yozilmaydi, lekin u hali ham kiritilmoqda)

Keyin tizimga kirganingizda quyidagilarni ko'rasiz:

pi@malina: ~ $

Keyin kirishingiz kerak:

sudo raspi-config

Keyin sizning ekraningiz ko'k ekran bilan to'ldiriladi, uning markazida kulrang quti joylashgan.

  1. Yuqoriga va pastga tugmalaridan foydalanib, "Fayl tizimini kengaytirish" variantini belgilang va Enter tugmasini bosing, bir necha soniyadan so'ng siz "ildiz fayl tizimi o'lchamlari o'zgartirildi" degan xabarni olasiz va Enter tugmasini bosing.
  2. Keyin pastga o'qni bosing va yuklash parametrlariga o'ting va kirishni bosing, so'ng "Ish stoli / CLI" tanlanganida Enter tugmasini bosing, so'ng "Konsol avtologini" ni belgilang va kirishni bosing.
  3. Keyin Kengaytirilgan variantlarni tanlang va Enter ni bosing
  4. Keyin ssh -ga o'ting va "Enter" -ni bosing va "Ha" -ni tanlang
  5. keyin o'ng o'qni orqaga ajratilmaguncha bosing va enter tugmasini bosing
  6. Keyin yana pastki qismga o'ting va tugatish tugmachasini bosing, keyin qayta yoqish uchun ha deb ayting

Qayta ishga tushirilgandan so'ng, agar siz chekilgan tarmoq orqali ulangan bo'lsangiz, IP -manzilingizni topish uchun ushbu buyruqni kiritishingiz kerak, shunda biz pi -ga kirishimiz mumkin.

IP -ni toping:

mezbon nomi -I.

4 -qadam: Wi -Fi -ni sozlash

Wi -Fi -ni pi -ga o'rnatish uchun biz faylni tahrir qilishimiz kerak

1. buyruq qatoriga kiriting

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

2. Fayl oxiriga o'ting va kiriting

tarmoq = {

ssid = "Your_Wifi_Name" psk = "Your_wifi_password"}

3. Keyin pi -ni qayta ishga tushiring

sudo qayta yuklash

Qayta ishga tushirilgandan so'ng, uning IP -manzilini kiriting

mezbon nomi -I.

Siz IP -manzilingizni olishingiz kerak, lekin agar qaytarilgan matn bo'sh bo'lsa, bu pi tarmog'ingizga ulana olmaganligini anglatadi. wifi nomi va parolini to'g'ri kiritganingizni ikki marta tekshiring, chunki u katta -kichik harflarga bog'liq.

5 -qadam: Windows yordamida Pi -ga masofadan ulanish

Windows yordamida Pi -ga masofadan ulaning
Windows yordamida Pi -ga masofadan ulaning
Windows yordamida Pi -ga masofadan ulaning
Windows yordamida Pi -ga masofadan ulaning
Windows yordamida Pi -ga masofadan ulaning
Windows yordamida Pi -ga masofadan ulaning
Windows yordamida Pi -ga masofadan ulaning
Windows yordamida Pi -ga masofadan ulaning

Endi biz Internetga ulanganimizdan so'ng, biz sichqonchani va displeyni olib tashlashimiz va unga "ssh" yordamida masofadan ulanishimiz mumkin.

Windows bilan pi -ga ssh kiritish uchun siz yuklab olishingiz kerak

macun: [Yuklab olish]

  1. Macni oching, IP -manzil qutisiga malina pi ip -ni kiriting, so'ngra ochiq -ni bosing
  2. siz 2 -rasmga o'xshash dialog oynasini olasiz, ha tugmasini bosing
  3. keyin siz "kiring" deb yozing, "pi" kiriting "degan yangi dialogni ko'rasiz.
  4. keyin u "malina" deb parolni so'raydi

Siz endi ssh ustidan pi ga ulangansiz

6 -qadam: Mac yordamida masofadan turib Pi -ga ulaning

Mac yordamida masofadan turib Pi -ga ulaning
Mac yordamida masofadan turib Pi -ga ulaning
Mac yordamida masofadan turib Pi -ga ulaning
Mac yordamida masofadan turib Pi -ga ulaning
Mac yordamida masofadan turib Pi -ga ulaning
Mac yordamida masofadan turib Pi -ga ulaning
Mac yordamida masofadan turib Pi -ga ulaning
Mac yordamida masofadan turib Pi -ga ulaning

Endi biz Internetga ulanganimizdan so'ng, biz klaviatura va sichqonchani olib tashlashimiz va unga "ssh" yordamida masofadan ulanishimiz mumkin.

1. "Terminal" ni oching

2. Kiriting

ssh pi@IP_ADDRESS

3. Keyin siz xost tugmasi saqlanmaganligi haqida xabar olishingiz mumkin, "ha" yozing.

4. Keyin reklama qilinganida "Raspberry" bo'lgan raspberry pi parolini kiriting.

Siz endi ssh ustidan pi ga ulangansiz

7 -qadam: dasturiy ta'minotni o'rnatish

Endi biz pi -ga masofadan kira oladigan bo'lsak, biz chiziqli chiziqni boshqarish uchun ba'zi dasturlarni o'rnatishimiz kerak

Biz o'rnatishimiz kerak bo'ladi

  • cho'chqa go'shti (Bu barcha GPIO pinlarini raqamlidan PWMga aylantiradi)
  • idish (pigpio va veb -server bilan gaplashadigan server tomonidagi skript)
  • apache2 (veb -server)

Pigpio -ni o'rnating

1. Birinchidan, biz zip papkasida bu buyruq yordamida kompilyatsiya qilinmagan pigpio dasturini yuklashimiz kerak

wget

2. Keyin biz ochishimiz va katalogga kirishimiz kerak

pigpio.zip va & cd PIGPIO -ni oching

3. Endi biz katalogda ekanmiz, biz dasturiy ta'minotni kompilyatsiya qilishimiz va o'rnatishimiz kerak

make -j4 && sudo make install

4. Endi rc.local -ni oching, shunda biz pi -ni ishga tushirishda cho'chqachilik bilan ishlashini aytishimiz mumkin

sudo nano /etc/rc.local

keyin chiqish chizig'idan oldin kiriting

sudo pigpiod

Siz hozir pigpio dasturini o'rnatdingiz

Shishani o'rnating

Buning uchun avval dasturlar ro'yxatini yangilashimiz kerak

sudo apt update && sudo apt upgrade -y

keyin pipni o'rnating

sudo apt-get install python-pip

Endi biz kolbani o'rnatishimiz mumkin

sudo pip o'rnatish idishi

Apache2 -ni o'rnating

sudo apt -get apache2 -y ni o'rnating

sudo apt-get libapache2-mod-wsgi -y ni o'rnating

Git o'rnatish

sudo apt install git -y

Hammasi o'rnatilgandan so'ng, pi -ni o'chiring

sudo hozir yopiladi

8 -qadam: quvvatni ulash

Quvvatni ulash
Quvvatni ulash
Quvvatni ulash
Quvvatni ulash
Quvvatni ulash
Quvvatni ulash

Birinchidan, biz elektr konnektorini non taxtasiga ulashimiz kerak

  1. Qora simni quvvat raz'emidagi salbiy ulagichga ulang
  2. Qizil simni quvvat rozetkasidagi musbat ulagichga ulang
  3. Qizil simning boshqa uchini non taxtasining ijobiy tomoniga ulang
  4. Qora simning boshqa uchini non panelining ijobiy tomoniga ulang
  5. Keyin erdan yasalgan pinni pi (rasmda ko'rinib turganidek) non panelidagi manfiy pinga ulang

Endi biz eng ko'p tarmoqni ulashimiz kerak.

9 -qadam: Mosfetsni ulash va Pi -ni ulash

Mosfetsni ulash va Pi -ni ulash
Mosfetsni ulash va Pi -ni ulash
Mosfetsni ulash va Pi -ni ulash
Mosfetsni ulash va Pi -ni ulash
Mosfetsni ulash va Pi -ni ulash
Mosfetsni ulash va Pi -ni ulash
Mosfetsni ulash va Pi -ni ulash
Mosfetsni ulash va Pi -ni ulash

Mosfet sizga yorug'lik chiroqlariga qancha kuch ketishini nazorat qilish imkonini beradi, bizga uchta moskva kerak bo'ladi, chunki qizil, yashil va ko'k chiroqlarni alohida boshqarish kerak.

Mosfetning uchta pimi bor, chap tomonida "Gate" pinli, u chiroqqa qancha kuch oqishini nazorat qilish uchun pi ga ulanadi.

Markaziy pin "drenaj" deb nomlanadi, u yorug'lik chiroqlariga o'tadi va eshik o'tishi mumkin bo'lgan kuchlanishni beradi

va o'ngdagi pin "Manba" pinidir. Bu pin non taxtasida erga tushadi.

Qizil Ledni ulash

  1. Nonvoyxonaga bitta mosfet qo'ying
  2. non panelidagi GND dan qora simni manbaga ulang (o'ng pin)
  3. keyin qizil simni mosfetning markaziy pimidan svetodioddagi qizil pinga ulang
  4. keyin chap pindan qizil simni pi bo'yicha GPIO 17 ga ulang

Yashil chiroqni ulash

  1. Ikkinchi mosfetni non taxtasiga joylashtiring
  2. xuddi oldingi kabi, GND -dan qora simni non panelidagi manbaga ulang (o'ng pin)
  3. keyin yashil simni mosfetning markaziy pinidan svetodiodli yashil pinga ulang.
  4. keyin yashil pinni chap pimdan pi -dagi GPIO 22 ga ulang

Moviy Ledni ulash

  1. Oxirgi mosfetni non taxtasiga qo'ying
  2. non panelidagi GND dan boshqa qora simni manbaga ulang (o'ng pin)
  3. keyin ko'k simni mosfetdagi markaziy pimdan svetodiodli chiziqdagi ko'k pinga ulang.
  4. keyin ko'k pinni chap pimdan pi bo'yicha GPIO 24 ga ulang

Keyin sizda oq yoki qora rangda bo'ladigan yana bitta pim bor bo'ladi, faqat non panelidagi musbat pimdan simni qo'shimcha chiziqqa ulang.

Endi ishimiz tugagach, biz uni sinab ko'rishni boshlashimiz mumkin.

10 -qadam: Led chizig'ini yuklab olish va sinovdan o'tkazish

Led chizig'ini boshqarish uchun manba kodini yuklab olish

git klon https://github.com/DavidMontesin/Raspberry-PI-Wifi-Led-Strip.git && cd Raspberry-PI-Wifi-Led-Strip/

LED chizig'ini sinab ko'rish uchun test.py faylini ishga tushiring.

Python Test.py

agar biron sababga ko'ra ranglarning bir qismi yonmasa, hamma narsa to'g'ri ulanganligini tekshiring.

bu skript qanday ishlaydi?

Agar siz python skriptini ochsangiz, uning qanday ishlashiga qiziqishingiz mumkin, birinchi satrda siz ko'rasiz:

import vaqti

bu kichkina kutubxona bizga ssenariyni to'xtatib turishga imkon beradi, shunda biz chiroqlar tezroq yonadi

cho'chqa go'shti import qilish

bu kutubxona bizga chiziqli chiziq bilan aloqa qilish imkonini beradi

pi = pigpio.pi ()

pi.set_pw… pigpio.pi () dan foydalanishimiz uchun o'zgaruvchini o'rnating. set_pw …

RedPin = 17

GreenPin = 22

BluePin = 24

bu faqat skriptga nima ulanganligini aytib berishga imkon beradigan o'zgaruvchilar

bosib chiqarish ("qizil rangni tekshirish")

bu faqat buyruq satriga matnni chop etadi

pi.set_PWM_dutycycle (RedPin, 255)

Bu buyruq cho'chqa go'shti kutubxonasining bir qismidir va "RedPin" ni biz o'rnatgan raqamni qidiradi va uning yorqinligini "255" ga o'rnatadi.

uyqu (2)

bu vaqt kutubxonasining bir qismi va skriptni 2 soniya davomida pauza qiladi

Bu moslashuvchan buyruq boshqa LEDlar uchun takrorlangunga qadar

pi.stop ()

bu chiziq bilan gaplashishni to'xtatadi va barcha ranglarni o'chiradi.

11 -qadam: Server tomoni skriptini dasturlash

** Ishni boshlashdan oldin, sizga piton va kolba haqida o'qishni maslahat beraman:

Bu erda ba'zi qo'llanmalar:

www.pythonforbeginners.com

docs.python-guide.org/en/latest/intro/learn…

flask.pocoo.org

Main.py to'g'ridan -to'g'ri gitda bo'lgani uchun, bu qadam faqat kodni tushuntiradi.

Avval kutubxonalarimiz bor

kolbadan import qilish Shisha, render_template, so'rov

ipni import start_new_thread dan cho'chqachilikni import qilish

keyin biz ba'zi o'zgaruvchilarni o'rnatishimiz kerak

app = Flask (_ nomi_)

CurrentColour = "Oq" RedColourCode = 0 BlueColourCode = 0 GreenColourCode = 0 RedBeforeEffect = 0 BlueBeforeEffect = 0 GreenBeforeEffect = 0 pi = pigpio.pi ()

birinchi o'zgaruvchi kolbaga tegishli, bu bizning veb -serverimiz, biz uni dastur deb ataymiz, shuning uchun qo'ng'iroq qilish va ishga tushirish osonroq. So'ngra, 6 ta o'zgaruvchi bor, ular birinchi uchtasida ikkita rangni, qolgan uchtasida oldingi rangni o'z ichiga oladi.

@app.route ('/', usullar = ['Olish'])

Bu satrda aytilishicha, agar kimdir veb -brauzerda pi -ning IP -manzilini yozsa, u pastdagi skriptni ishga tushiradi, shuningdek, GET usuli ham mavjudmi? Rang = keyin veb -serverga o'tkaziladi. chiziq chizig'ining rangini o'zgartirish uchun ishlatiladi.

def Main ():

Global CurrentColour

def def Main () matnining ma'nosi shundaki, u skriptning istalgan joyidan chaqiriladigan main deb nomlangan funktsiyani yaratadi. va global chiziq o'zgaruvchini butun skriptda yangilashini bildiradi.

agar request.args.get ("Rang"):

CurrentColour = request.args.get ("Color") if CurrentColour == "White": FadeTORGB (255, 255, 255) elif CurrentColour == "Red": FadeTORGB (255, 0, 0) elif CurrentColour == "Green" ": FadeTORGB (0, 255, 0) elif CurrentColour ==" DarkBlue ": FadeTORGB (0, 0, 255) elif CurrentColour ==" LightBlue ": FadeTORGB (0, 255, 255) elif CurrentColour ==" Orange ": FadeTORGB (255, 15, 0) elif CurrentColour == "Pushti": FadeTORGB (255, 0, 192) elif CurrentColour == "Sariq": FadeTORGB (255, 157, 0) elif CurrentColour == "Binafsha": FadeTORGB (123, 0, 255) elif CurrentColour == "Qora": FadeTORGB (0, 0, 0) qaytish render_template ('index.html')

Bu skript GET usuli "Rang" dan keyin har qanday nomni oladi va uni saqlaydi. u shu nomni tekshiradi va qizil, yashil va ko'k chiroqlarni bir vaqtning o'zida o'zgartirish uchun 3 ta boshqa funktsiyani bajaradigan funktsiyani chaqiradi.

Def FadeTORGB (RedNum, BlueNum, GreenNum):

start_new_thread (FadeUpRed, (RedNum,)) start_new_thread (FadeUpBlue, (BlueNum,)) start_new_thread (FadeUpGreen, (GreenNum,))

Bu boshqa uchta funktsiyani chaqiradi, ular har bir LEDga tushadigan quvvatni o'chirish effekti bilan o'zgartiradi.

def FadeUpRed (REDUpNum):

global RedColourCode agar RedColourCode <REDUpNum: esa RedColourCode REDUpNum: esa RedColourCode> REDUpNum: RedColourCode -= 1 pi.set_PWM_dutycycle (RedPin, RedColourCode)

def FadeUpBlue (BlueUpNum):

BlueColourCode bo'lsa BlueColourCode <BlueUpNum: BlueColourCode BlueUpNum: BlueColourCode> BlueUpNum: BlueColourCode -= 1 pi.set_PWM_dutycycle (BluePin, BlueColourCode)

def FadeUpGreen (GreenUpNum):

GreenColourCode bo'lsa GreenColourCode <GreenUpNum: GreenColourCode GreenUpNum: while GreenColourCode> GreenUpNum: GreenColourCode -= 1 pi.set_PWM_dutycycle (GreenPin, GreenColourCode)

agar _ ism_ == "_main_" bo'lsa:

app.run (xost = "0.0.0.0")

12 -qadam: Veb -serverni dasturlash

Endi bizda server bor, biz veb -saytni loyihalashimiz kerak.

Server shablon va statik papkalarda bo'lgani uchun, bu qadam to'g'ridan -to'g'ri kodni tushuntiradi.

Sizga html, css, javascript haqida o'qishni maslahat beraman

HTML

Birinchidan, biz html -ni dasturlashimiz kerak, bu erda barcha tarkibni CSS -dan foydalanib uslublash mumkin

1. Bosh yaratish (sarlavha, fayllarni bog'lash,)

Wi -Fi tarmoqli chizig'i

Birinchi ikkita teg veb -brauzerga bu veb -sahifa ekanligini bildiradi, keyin uchinchi qator brauzerga blok ichidagi har qanday matnni yashirishini aytadi va uning tagida yorliq paydo bo'ladi.

IOS -da veb -sahifani to'liq ekranga aylantirish

Sahifani to'liq ekranga aylantirish uchun ushbu kodni teg ostiga kiriting

Keyin biz CSS -ga havolalarni qo'shamiz, biz uni boshqacha qilib qo'yamiz, bu odatdagidan farqli o'laroq, kolba tufayli fayllarni boshqarish usuli.

Keyin shundan so'ng siz tegni yopishingiz va tana yorlig'ini yaratishingiz kerak

Tana yorlig'i shuni anglatadiki, undagi teglar veb -sahifada paydo bo'ladi

Endi biz chiziq chizig'ini o'zgartirishi mumkin bo'lgan rangli tugmachalarni yasaymiz.

Biz har bir rang uchun bittasini yaratamiz va uni jadvalga joylashtiramiz

Bu jadvalning tashqi ramkasi

bu jadval uchun qator yaratadi

Endi to'q sariq rangli tugma yarataylik

td yorlig'i hujayra hosil qiladi, keyin "onClick" funktsiyasi biz yaratadigan javascript funktsiyasini chaqiradi, ular "sinf" funktsiyasi tugmani bezash uchun ishlatiladi va uslub faqat uni ranglash uchun.

Biz sendColour matnini va bir -birining uslubini o'zgartirishimiz kerak bo'ladi, lekin har 2 tugmachadan keyin biz qatorni yopamiz va yangi qator yaratamiz.

Va boshqalar…

Barcha ranglarni qo'ygandan so'ng, stolni yopish kerak

Javascript

Endi biz ilgari aytgan "SendColour" funktsiyasini qo'shishimiz kerak, buning uchun avval veb -brauzerga javascript borligini bildiruvchi teg qo'shish kerak.

keyin funktsiyani yarating

SendColour funktsiyasi (ClickedColour) {

Bu funktsiya malina pi ga Ajax so'rovini yuboradi, u sizga bosgan rangga o'zgartirishini aytadi.

xhttp = yangi XMLHttpRequest ();

xhttp.open ("GET", "? Color =" + ClickedColour, false); xhttp.send (); }

Endi biz JavaScript va html -ni yopishimiz kerak

CSS

Endi biz veb -saytni loyihalashtiramiz

birinchi bo'lib andozalar papkasidan CD chiqarib, statik papkaga o'ting

CD.. && CD statik

Endi Style.css faylini yarating

nano Style.css

Birinchidan, jadvalni butun ekranni to'ldirishga ruxsat bering.

. Ranglar {

kengligi: 100%; }

.tugma {

to'ldirish: 25 piksel 35 piksel; chegara radiusi: 4 piksel; }

Server tekshirilmoqda

serverni tekshirish uchun veb -server papkasiga o'ting

CD..

keyin kiriting

python Main.py

bu serverni ishga tushiradi, keyin kompyuteringizda veb -brauzerni oching va unga o'ting

YOUR_PI_PI: 5000the: 5000 hozirda juda muhim, chunki bu veb -server ishlayotgan port.

Agar siz veb -sahifani ko'rsangiz va "Ichki server xatosi" ni olsangiz, konsolga (macun yoki terminal) qarang va siz bir nechta matnni ko'rasiz, faqat oxirgi satrga qarang va shunday bo'lishi kerak. nima bo'layotganini aytib bering, javobni google orqali topishingiz mumkin.

lekin agar ekrandagi ranglarni ko'rsangiz, siz birini bosishingiz mumkin va siz bu rangdagi chiziqli chiziqni ko'rishingiz kerak, agar u bo'lmasa, quvvat manbaiga ulangan yoki yoqilganligini yoki html kodi to'g'ri kiritilganligini tekshiring..

13 -qadam: Apache2 bilan ishlash

Endi biz uni sinab ko'rdik, uni apache bilan gaplashishimiz kerak, u ishga tushganda va 80 -portda (standart veb -port) ishlashi mumkin.

1. WebServer papkasida wsgi faylini yarating

nano wifiled.wsgi

Keyin faylga kiriting

sys import qilish

sys.path.insert (0, '/home/pi/Webserver/') asosiy import ilovasidan ilova sifatida

keyin pi-ni www-data deb nomlangan guruhga qo'shing, bu apache-ni veb-server papkasida ko'rishga imkon beradi

sudo usermod -a -G www -ma'lumotlar pi

keyin standart konfiguratsiyani olib tashlang

sudo a2dissite 000-standart

keyin Apache konfiguratsiya papkasida fayl yarating

sudo nano /etc/apache2/sites-available/wifiled.conf

va kiring

ServerName WifiLed ServerAdmin [email protected] WSGIScriptAlias//home/pi/Webserver/wifiled.wsgi Buyurtma ruxsat berish, hamma ruxsat berishni rad etish Barcha berilgan ErrorLog $ {APACHE_LOG_DIR} /error.log LogLevel CustomLog $ {APACHE_LOG_DIR} haqida ogohlantiradi. birlashtirilgan

keyin apache -ga konfiguratsiyani o'qib kirishni ayting

sudo a2ensite wifiled.conf

Endi pi -ni qayta ishga tushiring, u qayta ishga tushirilganda veb -brauzeringizga kiradi

YOUR_PI_IP

14 -qadam: Tasker va Ifttt va boshqa xizmatlarni sozlash

Ushbu dasturlarni o'rnatishdan oldin siz yo'riqnoma port portini o'rnatishingiz kerak, chunki har bir yo'riqnoma boshqacha, bu erda o'qishingiz mumkin

Tasker

Android qurilmangizda qabul qiluvchini oching

keyin voqeaga asoslangan yangi profil yarating, siz har qanday tetikni tanlashingiz mumkin. Men "Telefon jiringlashi" ni tanladim va rangni "C: ANY" deb belgiladim, shunda u sizdan vazifani tanlashingizni so'raydi, "Yangi vazifa" tugmasini bosing va uni sizning harakatingizga nomlang. Men uni "Telefon qo'ng'irog'i" deb atayman, so'ng "HTTP boshi" ni toping va "Server: Portni your_raspberry_pi_IP -ga o'rnating, so'ngra"/? Rang = Yashil "bilan qattiq rangni belgilashingiz mumkin. biz buni keyingi bosqichda qilamiz. Keyin orqaga va orqaga bosing.

IFTTT

avval goto ifttt va yangi applet yarating Har qanday tetikni tanlang (men tugmani tanladim), keyin harakat uchun ishlab chiqaruvchi kanalni tanlang va bizdan so'rov yuboring dedi, keyin url uchun YOUR_PUBLIC_PI/kiriting? Color = LightBlue ip -ni Google -ga "Mening IP -manzilim" ga kiriting. Keyin HEAD usulini kiriting va keyin "Amal yaratish" tugmasini bosing, agar sizning harakatlaringiz ro'y berishni so'rasa.

Boshqa Xizmatlar

Siz HTTP HEAD yoki GET so'rovini bajaradigan boshqa xizmatlarni ulashingiz mumkin.

15 -qadam: Maxsus effektlarni yaratish

Main.py -ga import bayonotini qo'shing, import ostiga kiriting

import vaqti

effekt yaratishdan oldin GreenBeforeEffect qo'shish ostida o'zgaruvchini qo'shishimiz kerak

CanChangeColour = To'g'ri

agar request.args.get ("Rang") bo'lsa, o'zgartiring:

ga

agar request.args.get ("Rang") va CanChangeColour:

render_template ('Main.html') qaytish ostidagi bo'limni qo'shing

@app.route ('/Effect', usullari = ['Get'])

def ta'siri ():

Keyin o'zgaruvchilarni global deb belgilang

x = 0

Global RedColourCode global BlueColourCode global GreenColourCode global RedBeforeEffect global BlueBeforeEffect global GreenBeforeEffect

Endi biz birinchi effektni yaratamiz

agar request.args.get ("Qo'ng'iroq"):

RedBeforeEffect = RedColourCode BlueBeforeEffect = BlueColourCode GreenBeforeEffect = GreenColourCode FadeTORGB (0, 0, 0) time.sleep (2)

Bu harakat "/? Effect = Qo'ng'iroq" kabi so'rovni qabul qilganda amalga oshiriladi va biz uni qaytarib chaqirishimiz uchun joriy rangni saqlaydi, so'ngra chiziqni qora qilib qo'yamiz va bu sodir bo'lguncha kutamiz.

Endi biz LEDni qora rangdan yashil rangga, keyin yana qora rangga aylantirmoqchimiz va buni besh marta qilmoqchiman

while x <= 5: FadeTORGB (0, 255, 0) x += 1 vaqt.sleep (1) FadeTORGB (0, 0, 0) time.sleep (1) CanChangeColour = True time.sleep (2) FadeTORGB (RedBeforeEffect), BlueBeforeEffect, GreenBeforeEffect)

Bu beshgacha sanaladi, lekin har safar u yashil rangga o'tadi, keyin bir soniya kutib qora rangga o'tadi. Keyin tugagan narsa rangni avvalgisiga o'zgartiradi.

Endi biz faqat javob yaratishimiz kerak.

qaytish ""

Shuningdek, malina pi ni qayta ishga tushiring

sudo qayta yuklash

Tavsiya: