Мазмұны:

Wifi басқарылатын Raspberry Pi көмегімен Task, Ifttt интеграциясы бар 12 вольтты жолағы: 15 қадам (суреттермен)
Wifi басқарылатын Raspberry Pi көмегімен Task, Ifttt интеграциясы бар 12 вольтты жолағы: 15 қадам (суреттермен)

Бейне: Wifi басқарылатын Raspberry Pi көмегімен Task, Ifttt интеграциясы бар 12 вольтты жолағы: 15 қадам (суреттермен)

Бейне: Wifi басқарылатын Raspberry Pi көмегімен Task, Ifttt интеграциясы бар 12 вольтты жолағы: 15 қадам (суреттермен)
Бейне: ESP32 Tutorial 51 - Temperatuer and Humidty over WiFi with DHT | SunFounder's ESP32 IoT Learnig kit 2024, Шілде
Anonim
Wifi Raspberry Pi көмегімен Task, Ifttt интеграциясын қолдана отырып, 12 вольтты жолақты басқарады
Wifi Raspberry Pi көмегімен Task, Ifttt интеграциясын қолдана отырып, 12 вольтты жолақты басқарады
Wifi Raspberry Pi көмегімен Task, Ifttt интеграциясының көмегімен 12 вольтты жолақты басқарады
Wifi Raspberry Pi көмегімен Task, Ifttt интеграциясының көмегімен 12 вольтты жолақты басқарады

Бұл жобада мен сізге таңқурай pi көмегімен wifi арқылы 12В аналогты қарапайым жолақты қалай басқаруға болатынын көрсетемін.

Бұл жоба үшін сізге қажет:

  • 1x Raspberry Pi (мен Raspberry Pi 1 Model B+қолданамын)
  • 1x RGB 12в жарық диодты жолағы [Ebay Australia]
  • 3x IRFZ44N N-Channel Mosfet's [Ebay Australia]
  • 1х DC тұрақты ток ұясының адаптері [Ebay Australia]
  • Кейбір сымдар
  • Дисплей, пернетақта (тек орнату үшін)

1 -қадам: Windows көмегімен Raspbian ОЖ орнатыңыз

Windows көмегімен Raspbian ОЖ орнатыңыз
Windows көмегімен Raspbian ОЖ орнатыңыз
Windows көмегімен Raspbian ОЖ орнатыңыз
Windows көмегімен Raspbian ОЖ орнатыңыз
Windows көмегімен Raspbian ОЖ орнатыңыз
Windows көмегімен Raspbian ОЖ орнатыңыз

Windows жүйесінде Raspbian орнату үшін сізге қажет:

  • Win32 диск өңдегіші: [Жүктеу]
  • Raspbian OS Lite: [Zip], [Torrent]

** МАҢЫЗДЫ, егер қате жасасаңыз, сіз барлық деректеріңізді жоғалтуыңыз мүмкін, жалғастырмас бұрын деректердің сақтық көшірмесін жасаңыз **

  1. SD картасын карта оқу құралына қосыңыз және Менің компьютерімді ашыңыз
  2. Drive хатын іздеңіз
  3. Win32DiskImager тінтуірдің оң жақ түймешігімен нұқыңыз және «Әкімші ретінде іске қосу» түймесін басыңыз.
  4. Содан кейін кішкентай көк қалтаны басып, RaspbianOS суретін шолыңыз
  5. Сондай -ақ, Device астындағы ашылмалы терезені нұқыңыз және оны SD картасының Drive Letter етіп өзгертіңіз
  6. Содан кейін «Жазу» түймесін басыңыз
  7. Иә түймесін басудың алдында диалогтық терезе ашылады, мақсатты құрылғының дұрыстығын тексеріңіз
  8. Содан кейін SD картасын шығарып, оны pi ұясына салыңыз

2 -қадам: Mac OS X көмегімен Raspbian ОЖ орнатыңыз

Mac OS X көмегімен Raspbian ОЖ орнатыңыз
Mac OS X көмегімен Raspbian ОЖ орнатыңыз
Mac OS X көмегімен Raspbian ОЖ орнатыңыз
Mac OS X көмегімен Raspbian ОЖ орнатыңыз
Mac OS X көмегімен Raspbian ОЖ орнатыңыз
Mac OS X көмегімен Raspbian ОЖ орнатыңыз
Mac OS X көмегімен Raspbian ОЖ орнатыңыз
Mac OS X көмегімен Raspbian ОЖ орнатыңыз

Mac жүйесінде Raspbian орнату үшін сізге қажет:

  • ApplePi-Baker [жүктеу]
  • Raspbian OS Lite: [Zip], [Torrent]

** МАҢЫЗДЫ, егер қате жасасаңыз, сіз барлық деректеріңізді жоғалтуыңыз мүмкін, жалғастырмас бұрын деректердің сақтық көшірмесін жасаңыз **

  1. Диск утилитасын ашып, сол жақта SD картасын іздеп, оны басыңыз
  2. Терезенің төменгі жағындағы «Құрылғыны» іздеңіз, онда diskXsX сияқты нәрсе болуы керек, мұнда x - сан
  3. «Құрылғы» нөмірін есте сақтаңыз және ApplePi-Baker бағдарламасын ашыңыз
  4. Ол SD-картаны пішімдеуге байланысты сізден пароль сұрайды
  5. Сол жақта / dev / кейін орналасқан «Құрылғы» нөмірін басыңыз
  6. «Қалпына келтіру-сақтық көшірме жасау» түймесін басып, RaspbianOS суретін шолыңыз.
  7. Ол SD-картаны өшіре бастайды және оған Raspbian орнатады
  8. Аяқтағаннан кейін, SD картасын алып тастау керектігін білдіретін ескерту терезесі пайда болады.

3 -қадам: Pi орнату

Пи -ді қоспас бұрын сізге HDMI дисплейін, пернетақтаны, Ethernet кабелін немесе USB -ді қосу қажет болады (біз келесі қадамда орнатамыз).

Пиді қосыңыз, сіз экранды толтыратын мәтінді көресіз, бұл қалыпты жағдай және Linux ядросының іске қосылуының бөлігі. Көрмейінше сәл күте тұрыңыз

таңқурай логині:

Сіздің Пайдаланушы атыңыз - pi, ал пароль - таңқурай (экранда ештеңе жазылмайды, бірақ ол әлі енгізілуде)

Содан кейін сіз кірген кезде көресіз:

pi@raspberrypi: ~ $

Содан кейін сіз енгізуіңіз керек:

sudo raspi-config

Содан кейін сіздің экран көк экранға толады, оның ортасында сұр ұяшықта опциялары бар,

  1. Жоғары және төмен пернелердің көмегімен «Файлдық жүйені кеңейту» опциясын белгілеп, enter пернесін басыңыз, бірнеше секундтан кейін сіз «түбірлік файлдық жүйенің өлшемі өзгертілді» деген ескертуге түсесіз, Enter түймешігін басыңыз.
  2. Содан кейін төмен көрсеткіні басып, Boot Options тармағына өтіңіз және enter түймесін басыңыз, содан кейін 'Desktop / CLI' таңдалған кезде enter түймесін басыңыз, содан кейін 'Console Autologin' бөлектеңіз және enter түймесін басыңыз.
  3. Содан кейін Қосымша опцияларды таңдап, enter түймесін басыңыз
  4. Содан кейін ssh -ге төмен қарай жылжып, enter түймесін басыңыз, содан кейін иә таңдаңыз
  5. содан кейін артқы жағы көрсетілгенше оң жақ көрсеткіні басыңыз және enter пернесін басыңыз
  6. Содан кейін қайтадан төменгі жағына өтіп, аяқтау түймесін басыңыз, содан кейін қайта жүктеу үшін иә деп айтыңыз

Қайта жүктелгеннен кейін, егер сіз Ethernet арқылы қосылсаңыз, IP поштасына кіру үшін IP мекенжайын табу үшін осы пәрменді енгізу қажет.

IP табу:

хост атауы -I.

4 -қадам: Wi -Fi орнату

Wi -Fi -ды pi -ге орнату үшін бізге файлды өңдеу қажет

1. пәрмен жолына енгізіңіз

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

2. Файлдың соңына өтіп, енгізіңіз

желі = {

ssid = «Your_Wifi_Name» psk = «Your_wifi_password»}

3. Содан кейін pi -ді қайта жүктеңіз

sudo қайта жүктеу

Pi қайта жүктелгеннен кейін теру арқылы оның IP мекенжайын алыңыз

хост атауы -I.

Сіз өзіңіздің IP -адресіңізді алуыңыз керек, бірақ егер қайтарылған мәтін бос болса, бұл pi сіздің желіге қосыла алмайтынын білдіреді. wifi атауын және паролін дұрыс енгізгеніңізді екі рет тексеріңіз, себебі ол регистрді ескереді.

5 -қадам: Windows көмегімен Pi -ге қашықтан қосылыңыз

Windows көмегімен Pi -ге қашықтан қосылыңыз
Windows көмегімен Pi -ге қашықтан қосылыңыз
Windows көмегімен Pi -ге қашықтан қосылыңыз
Windows көмегімен Pi -ге қашықтан қосылыңыз
Windows көмегімен Pi -ге қашықтан қосылыңыз
Windows көмегімен Pi -ге қашықтан қосылыңыз
Windows көмегімен Pi -ге қашықтан қосылыңыз
Windows көмегімен Pi -ге қашықтан қосылыңыз

Енді біз Интернетке қосылғанда пернетақта тінтуірін және дисплейін алып тастай аламыз және оған «ssh» көмегімен қашықтан қосыла аламыз.

Терезелері бар пи -ге кіру үшін сізге жүктеу керек

замазка: [Жүктеу]

  1. Шыбықты ашыңыз, IP мекенжайы жолағына таңқурай pi ip енгізіңіз, содан кейін ашу түймесін басыңыз
  2. сіз 2 -суретке ұқсас диалогтық терезені аласыз, иә түймесін басыңыз
  3. содан кейін сіз «кіру» ретінде «кіру» деп жазылған жаңа диалогты көресіз
  4. содан кейін ол «таңқурайға» кіру үшін пароль сұрайды

Сіз енді ssh over pi -ге қосылдыңыз

6 -қадам: Mac көмегімен Pi -ге қашықтан қосылыңыз

Mac көмегімен Pi -ге қашықтан қосылыңыз
Mac көмегімен Pi -ге қашықтан қосылыңыз
Mac көмегімен Pi -ге қашықтан қосылыңыз
Mac көмегімен Pi -ге қашықтан қосылыңыз
Mac көмегімен Pi -ге қашықтан қосылыңыз
Mac көмегімен Pi -ге қашықтан қосылыңыз
Mac көмегімен Pi -ге қашықтан қосылыңыз
Mac көмегімен Pi -ге қашықтан қосылыңыз

Енді бізде Интернетке қосылған пи бар, біз пернетақта мен тінтуірді алып тастай аламыз және оған «ssh» көмегімен қашықтан қосыла аламыз.

1. «Терминалды» ашыңыз

2. Енгізіңіз

ssh pi@IP_ADDRESS

3. Содан кейін сіз хост кілті сақталмайтыны туралы хабарлама ала аласыз, тек «иә» деп теріңіз.

4. Содан кейін жарнамаланған кезде «таңқурай» деген таңқурай pi паролін енгізіңіз.

Сіз енді ssh арқылы pi -ге қосылдыңыз

7 -қадам: Бағдарламалық жасақтаманы орнату

Бізде pi -ге қашықтан кіру мүмкіндігі болғандықтан, біз жолақты басқару үшін кейбір бағдарламалық жасақтаманы орнатуымыз керек

Бізге орнату қажет болады

  • pigpio (Бұл барлық GPIO түйреуіштерін сандықтан PWM -ге айналдырады)
  • колба (pigpio мен веб -сервермен сөйлесетін серверлік сценарий)
  • apache2 (веб -сервер)

Pigpio орнатыңыз

1. Алдымен біз осы пәрменді қолдана отырып, пигпионың жинақталмаған бағдарламалық жасақтамасы бар zip қалтасын жүктеуіміз керек

wget

2. Содан кейін біз ашамыз және каталогқа кіруіміз керек

pigpio.zip && cd PIGPIO файлын ашыңыз

3. енді біз каталогта екендігіміз үшін бағдарламалық қамтамасыз етуді құрастыру және орнату қажет

make -j4 && sudo make install

4. Енді rc.local ашыңыз, осылайша біз pi -ге pigpiod -ды іске қосуды айта аламыз

sudo nano /etc/rc.local

содан кейін шығу жолының алдында кіріңіз

sudo pigpiod

Сіз қазір pigpio бағдарламалық жасақтамасын орнаттыңыз

Колбаны орнатыңыз

Бұл үшін алдымен бағдарламалық жасақтаманың тізімін жаңарту қажет

sudo apt update && sudo apt upgrade -y

содан кейін пип орнатыңыз

sudo apt-get python-pip орнатыңыз

енді біз колбаны орната аламыз

sudo pip орнату колбасы

Apache2 орнатыңыз

sudo apt -get apache2 -y орнатыңыз

sudo apt-get libapache2-mod-wsgi -y орнатыңыз

Git орнатыңыз

sudo apt install git -y

Барлығы орнатуды аяқтағаннан кейін pi пәрменін өшіріңіз

sudo қазір жабылады

8 -қадам: қуатты қосу

Қуатты қосу
Қуатты қосу
Қуатты қосу
Қуатты қосу
Қуатты қосу
Қуатты қосу

Алдымен біз қуат коннекторын нан тақтасына қосуымыз керек

  1. Қара сымды қуат ұясындағы теріс қосқышқа қосыңыз
  2. Қызыл сымды қуат ұясының оң қосқышына қосыңыз
  3. Қызыл сымның екінші ұшын тақтаның оң жағына жалғаңыз
  4. Қара сымның екінші ұшын тақтаның оң жағына жалғаңыз
  5. Содан кейін питтен (суретте көрсетілгендей) жерге түйреуішті нан тақтасындағы теріс түйреуішке қосыңыз

Енді біз ең көп желіні қосуымыз керек.

9 -қадам: Мозеткаларды сымға қосу және пиді қосу

Мосфеттерді қосу және Пиді қосу
Мосфеттерді қосу және Пиді қосу
Мосфеттерді қосу және Пиді қосу
Мосфеттерді қосу және Пиді қосу
Мосфеттерді қосу және Пиді қосу
Мосфеттерді қосу және Пиді қосу
Мосфеттерді қосу және Пиді қосу
Мосфеттерді қосу және Пиді қосу

Mosfet шамы жарық шамдарына қанша қуат кететінін бақылауға мүмкіндік береді, бізге үш мистер қажет болады, өйткені қызыл, жасыл және көк шамдарды бөлек басқару қажет.

Мосфетте үш түйреуіш бар, сол жақта жарықтандырғышқа қанша қуат түсетінін бақылау үшін пи -ге қосылатын «қақпа» түйреуі бар.

Ортадағы түйреуіш «жарық төгу» деп аталады, ол жарық шамына өтеді және қақпаға рұқсат етілген кернеуді береді

ал оң жақтағы түйреуіш - «Бастапқы» түйреуіш. Бұл түйреуіш тақтаға жерге түседі.

Қызыл жарықдиодты қосу

  1. Нан тақтасына бір мосфет салыңыз
  2. Нан тақтасындағы GND -ден қара сымды көзге қосыңыз (оң жақ түйреуіш)
  3. содан кейін қызыл сымды мосфетаның орталық түйреуішінен сымның қызыл жолағына жалғаңыз
  4. содан кейін сол жақ түйреуіштен қызыл сымды pi -дегі GPIO 17 -ге қосыңыз

Жасыл жарықдиодты қосу

  1. 2 -ші мосфетті нан тақтасына салыңыз
  2. содан кейін жай ғана GND -ден қара сымды кәдеге қосу үшін (оң жақ түйреуіш)
  3. содан кейін жасыл сымды мосфетаның ортасындағы түйреуіштен бастап жолақтың жасыл түйреуішіне қосыңыз.
  4. содан кейін сол жақ түйреуіштен жасыл сымды pi -дегі GPIO 22 -ге қосыңыз

Көк жарықдиодты қосу

  1. Соңғы мосфетті нан тақтасына салыңыз
  2. нан тақтасындағы GND -ден басқа қара сымды көзге қосыңыз (оң жақ түйреуіш)
  3. содан кейін көк сымды мосфетаның орталық түйреуішінен светодиодтағы көк түйреуішке қосыңыз.
  4. содан кейін сол жақ түйреуіштен көк сымды pi -дегі GPIO 24 -ке қосыңыз

Содан кейін сізде ақ немесе қара болатын жарықдиодты жолақта тағы бір түйреуіш болады, тек қана тақтаның оң түйреуішінен сымды қосымша жолаққа қосыңыз.

Енді біз оны тексеруге кірісе аламыз.

10 -қадам: Жарық диодты жүктеу және тестілеу

Светодиодты басқаруға арналған бастапқы кодты жүктеу үшін

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

Жарықдиодты жолақты тексеру үшін test.py файлын іске қосыңыз.

python Test.py

егер қандай да бір себептермен кейбір түстер жанбайтын болса, бәрі дұрыс қосылғанын тексеріңіз.

бұл сценарий қалай жұмыс істейді?

Егер сіз питон сценарийін ашсаңыз, оның қалай жұмыс істейтініне таң қалуыңыз мүмкін, бірінші жолда сіз көресіз:

импорт уақыты

бұл кішкентай кітапхана сценарийді кідіртуге мүмкіндік береді, сондықтан біз шамдарды тезірек қосамыз

шошқа импорты

бұл кітапхана бізге жолақпен байланысуға мүмкіндік береді

pi = pigpio.pi ()

pi.set_pw… pigpio.pi (). set_pw пайдалану мүмкін болатындай айнымалы мәнді орнатыңыз.

RedPin = 17

GreenPin = 22

BluePin = 24

бұл сценарийге не қосылғанын айтуға мүмкіндік беретін айнымалылар

басып шығару («қызылға тест»)

бұл мәтінді пәрмен жолына басып шығарады

pi.set_PWM_dutycycle (RedPin, 255)

бұл команда pigpio libary -дің бөлігі болып табылады және біз орнатқан нөмірді іздейтін «RedPin» орнатуды және оның жарықтығын «255» мәніне орнатуды айтады.

уақыт.ұйықтау (2)

бұл уақыт кітапханасының бөлігі және сценарийді 2 секундқа кідіртеді

бұл икемді команда басқа светодиодтарға дейін қайталанады

pi.stop ()

ол жолақпен сөйлесуді тоқтатады және барлық түстерді өшіреді.

11 -қадам: серверлік сценарийді бағдарламалау

** Жұмысқа кіріспес бұрын мен сізге питон мен колба туралы оқуды ұсынамын:

Міне, кейбір нұсқаулықтар:

www.pythonforbeginners.com

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

flask.pocoo.org

Main.py тікелей гитте болғандықтан, бұл қадам тек кодты түсіндіреді.

Алдымен бізде кітапханалар бар

колбадан импорттаудан Колбалар, render_template, сұраныс

pigpio ағынынан импорттау start_new_thread

онда бізге кейбір айнымалыларды орнату қажет

app = Flask (_ аты _)

CurrentColour = «Ақ» RedColourCode = 0 BlueColourCode = 0 GreenColourCode = 0 RedBeforeEffect = 0 BlueBeforeEffect = 0 GreenBeforeEffect = 0 pi = pigpio.pi ()

бірінші айнымалы колбаға арналған, бұл біздің веб -серверіміз, біз оны бағдарлама деп атаймыз, сондықтан қоңырау шалу және іске қосу оңайырақ. Содан кейін 6 айнымалы бар, оларда алғашқы үшеуде екі түсті өзгерту керек, ал қалған үшеуінде алдыңғы түс болады.

@app.route ('/', әдістер = ['АЛУ'])

Бұл жолда егер біреу pi -дің IP -мекен -жайын веб -браузерге жазса, ол оның астындағы сценарийді іске қосады, сонымен қатар GET әдісі бар ма? Кез келген мәтін веб -серверге жіберіледі және жарықдиодты жолақтың түсін өзгерту үшін қолданылады.

Def Main ():

жаһандық CurrentColour

def (Main) мәтіні сценарийдің кез келген жерінен шақыруға болатын main деп аталатын функция құратынын білдіреді. және жаһандық сызық айнымалы мәнді бүкіл сценарийде жаңартатынын білдіреді.

егер request.args.get ('Түс'):

CurrentColour = request.args.get ('Color') if CurrentColour == «White»: FadeTORGB (255, 255, 255) elif CurrentColour == «Қызыл»: FadeTORGB (255, 0, 0) elif CurrentColour == «Жасыл «: 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 == «Қызғылт»: FadeTORGB (255, 0, 192) elif CurrentColour == «Сары»: FadeTORGB (255, 157, 0) elif CurrentColour == «Күлгін»: FadeTORGB (123, 0, 255) elif CurrentColour == «Қара»: FadeTORGB (0, 0, 0) қайтару render_template ('index.html')

Бұл сценарий «Түс» GET әдісінен кейін кез келген атауды алады және оны сақтайды. содан кейін ол осы атауды тексереді және қызыл, жасыл және көк шамдарды бір мезгілде өзгерту үшін басқа үш функцияны орындай алатын функцияны шақырады.

Def FadeTORGB (RedNum, BlueNum, GreenNum):

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

Бұл өшіру әсерімен әр светодиодтың қуат мөлшерін өзгертетін тағы үш функцияны шақырады.

def FadeUpRed (REDUpNum):

жаһандық RedColourCode егер RedColourCode <REDUpNum: кезінде RedColourCode REDUpNum: ал RedColourCode> REDUpNum: RedColourCode -= 1 pi.set_PWM_dutycycle (RedPin, RedColourCode)

def FadeUpBlue (BlueUpNum):

BlueColourCode болса BlueColourCode <BlueUpNum: BlueColourCode BlueUpNum: ал BlueColourCode> BlueUpNum: BlueColourCode -= 1 pi.set_PWM_dutycycle (BluePin, BlueColourCode)

def FadeUpGreen (GreenUpNum):

GreenColourCode болса GreenColourCode <GreenUpNum: while GreenColourCode GreenUpNum: while GreenColourCode> GreenUpNum: GreenColourCode -= 1 pi.set_PWM_dutycycle (GreenPin, GreenColourCode)

егер _ аты _ == «_ негізгі _»:

app.run (хост = «0.0.0.0»)

12 -қадам: Веб -серверді бағдарламалау

Енді бізде сервер бар, біз веб -сайтты жобалауымыз керек.

Сервер шаблондар мен статикалық қалталарда болғандықтан, бұл қадам тек кодты түсіндіреді.

Мен сізге html, css, javascript туралы оқуды ұсынамын

HTML

Алдымен біз html бағдарламалауымыз керек, мұнда барлық мазмұн CSS көмегімен сәндеуге болады

1. Басты құру (тақырып, файлдарды байланыстыру,)

Wifi Led жолағы

Алғашқы екі тег веб -браузерге бұл веб -бет екенін көрсетеді, содан кейін үшінші жол браузерге блоктың ішіндегі кез келген мәтінді жасыруды және оның астында қойындыда пайда болатын тақырыпты көрсетеді.

IOS -те веб -бетті толық экранға шығару

Бетті толық экранға айналдыру үшін осы кодты тегтің астына енгізіңіз

Содан кейін біз CSS файлына сілтемелер қосамыз, біз оны басқаша жасаймыз, бұл кәдімгі файлды басқару әдісі.

Содан кейін сіз тегті жауып, негізгі тег жасауыңыз керек

Дене белгісі оның ішіндегі кез келген тегтердің веб -бетте пайда болатынын білдіреді

Енді біз жолақты өзгерте алатын түстер түймелерін жасаймыз.

Біз әр түс үшін біреуін жасаймыз және оны кестеге қоямыз

Бұл кестенің сыртқы жақтауы

бұл кестеге жол жасайды

Енді қызғылт сары түймені жасайық

td тегі ұяшық жасайды, содан кейін «onClick» функциясы біз жасайтын JavaScript функциясын шақырады, олар «класс» функциясы түймені сәндеу үшін пайдаланылады, ал стиль оны бояу үшін.

Бізге sendColour мәтіні мен бір -бірінің стилін өзгерту керек болады, бірақ әр 2 -ші батырмадан кейін біз жолды жауып, жаңа жол жасаймыз.

Т.б…

Содан кейін барлық түсті енгізгеннен кейін үстелді жабу керек

Javascript

Енді біз бұған дейін сілтеме жасаған «SendColour» функциясын қосуымыз керек, алдымен веб -браузерге JavaScript бар екенін білдіретін тег қосу керек.

содан кейін функция жасаңыз

SendColour функциясы (ClickedColour) {

Бұл функция таңқурай пи -ге Ajax сұрауын жібереді, ол оған сіз басқан түске өзгеруін айтады.

xhttp = жаңа XMLHttpRequest ();

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

Енді біз JavaScript пен html жабуымыз керек

CSS

Енді біз сайттың дизайнын жасаймыз

алдымен CD қалтасынан шығарып, статикалық қалтаға өтіңіз

CD.. && cd статикалық

енді Style.css файлын жасаңыз

nano Style.css

Алдымен кесте бүкіл экранды толтырады.

. Түстер {

ені: 100%; }

. түймесі {

толтыру: 25 пиксель 35 пиксель; шекара радиусы: 4 пиксель; }

Серверді тексеру

серверді тексеру үшін веб -сервер қалтасына өтіңіз

CD..

содан кейін енгізіңіз

python Main.py

бұл серверді бастайды, содан кейін компьютерде веб -шолғышты ашып, өтіңіз

YOUR_PI_PI: 5000the: 5000 қазірдің өзінде маңызды, себебі бұл веб -сервер жұмыс істейтін порт.

Егер сізде веб -бет болса және «Ішкі сервер қатесі» болса, консольге қараңыз (замазка немесе терминал) және сіз мәтінді көресіз, тек соңғы жолды қараңыз және ол керек. не болып жатқанын айтыңыз, сіз Google -дан жауап таба аласыз, бірақ егер экрандағы түстерді көрсеңіз, біреуін шертуге болады және сіз сол түске ие болатын жолақты көресіз, егер ол қосылмаса, қуат қосылып, қосылғанын немесе html коды дұрыс енгізілгенін тексеріңіз..

13 -қадам: Apache2 -мен жұмыс жасау

Енді біз оны тексергеннен кейін оны apache -пен сөйлесуге мәжбүр етуіміз керек, ол іске қосылғанда және 80 портта жұмыс жасай алады (стандартты веб -порт)

1. WebServer қалтасында wsgi файлын жасаңыз

nano wifiled.wsgi

Содан кейін файлға енгізіңіз

жүйені импорттау

sys.path.insert (0, '/home/pi/Webserver/') қосымша ретінде негізгі импорттау бағдарламасынан

пи пайдаланушысын www-data деп аталатын топқа қосыңыз, бұл apache-ге веб-сервер қалтасынан қарауға мүмкіндік береді

sudo usermod -a -G www -деректер pi

содан кейін әдепкі конфигурацияны алып тастаңыз

sudo a2dissite 000-әдепкі

содан кейін Apache конфигурация қалтасында файл жасаңыз

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

және кіріңіз

ServerName WifiLed ServerAdmin [email protected] WSGIScriptAlias//home/pi/Webserver/wifiled.wsgi Тапсырысқа рұқсат етіңіз, барлық рұқсат беруден бас тарту ErrorLog талап ететін $ {APACHE_LOG_DIR} /error.log LogLevel CustomLog $ {APACHE_LOG_DIR} ескертеді. біріктірілген

содан кейін apache -ге конфигурацияны енгізу арқылы айтыңыз

sudo a2ensite wifiled.conf

Енді pi қайта іске қосыңыз, ол қайта жүктелген кезде веб -шолғышқа кіреді

YOUR_PI_IP

14 -қадам: Tasker мен Ifttt және басқа қызметтерді орнату

Бұл бағдарламаларды орнатпас бұрын, маршрутизаторда портты орнату қажет, себебі әр маршрутизатор әр түрлі, сіз мұнда оқуға болады

Таскер

сіздің Android құрылғыңызда қабылдаушы ашылады

содан кейін оқиғаға негізделген жаңа профиль жасаңыз, сіз кез келген триггерді таңдай аласыз. Мен «Телефон қоңырауын» таңдадым және кез келген адамға «C: ANY» түсін таңдадым, содан кейін ол сізден тапсырманы таңдауды сұрайды, «Жаңа тапсырма» түймесін басып, сіздің әрекетіңізге берілген атауды береді. Мен оны «Телефонмен қоңырау шалу» деп атаймын, содан кейін «HTTP Head» әрекетін іздеңіз және Server: Port to your_raspberry_pi_IP параметрін орнатыңыз, содан кейін жолдың астында «/? Color = Green» көмегімен тұрақты түсті орнатуға болады немесе сіз жасай аласыз. біз мұны келесі қадамда жасаймыз. Содан кейін қайтадан артқа басыңыз.

IFTTT

алдымен goto ifttt және жаңа апплет жасаңыз Кез келген триггерді таңдаңыз (Мен Батырманы таңдадым), содан кейін әрекет ету үшін жасаушы арнаны таңдаңыз және бізге сұраныс беруді сұрады, содан кейін url үшін YOUR_PUBLIC_PI/? Color = LightBlue енгізіңіз, егер сіз көпшілікті білмесеңіз ip -ге google -ге «Менің Ip» дегенді енгізіңіз. Содан кейін HEAD әдісіне кіріңіз, содан кейін сіздің әрекетіңіз түсіңізді өзгертуді сұраса, сіздің әрекетіңіз болған кезде «Әрекетті жасау» түймесін басыңыз.

Басқа қызметтер

HTTP HEAD немесе GET сұранысын жасайтын басқа қызметтерді қосуға болады.

15 -қадам: Арнайы әсерлерді жасау

Main.py ішіне импорттау мәлімдемесін қосыңыз, импорттау астына енгізіңіз

импорт уақыты

эффект жасамас бұрын, GreenBeforeEffect қосу астында айнымалыны қосу керек

CanChangeColour = Рас

сосын request.args.get («Түс») өзгертіңіз:

дейін

if request.args.get ('Түс') және CanChangeColour:

render_template ('Main.html') қайтару астындағы бөлімді қосыңыз

@app.route ('/Effect', әдістері = ['Get'])

def әсері ():

Содан кейін айнымалыларды жаһандық етіп орнатыңыз

x = 0

жаһандық RedColourCode жаһандық BlueColourCode жаһандық GreenColourCode жаһандық RedBeforeEffect жаһандық BlueBeforeEffect жаһандық GreenBeforeEffect

енді бірінші эффектімізді құруға рұқсат етіңіз

if request.args.get ('Қоңырау'):

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

Бұл әрекет «/? Effect = Қоңырау» сияқты сұрау алған кезде іске қосылады және ағымдағы түс сақталады, сондықтан біз оны қайта шақыра аламыз, содан кейін біз жолақты қара етіп жасаймыз және ол болғанша күтеміз.

Енді біз жарықдиодты қара түстен жасылға, содан кейін қайтадан қара түске айналдырамыз, мен мұны бес рет жасағым келеді

while x <= 5: FadeTORGB (0, 255, 0) x += 1 уақыт.ұйқы (1) FadeTORGB (0, 0, 0) уақыт.ұйқы (1) CanChangeColour = Нақты уақыт.ұйық (2) FadeTORGB (RedBeforeEffect), BlueBeforeEffect, GreenBeforeEffect)

Бұл беске дейін болады, бірақ ол жасыл түске боялған сайын сосын бір секунд күтіп, қара түске ауысады. Содан кейін оны аяқтаған кезде түсі өзгермес бұрын болған түске өзгереді.

Енді біз тек жауап беру үшін.

қайту «»

Сондай -ақ, таңқурай пиін қайта жүктеңіз

sudo қайта жүктеу

Ұсынылған: