Mundarija:

Raspberry Pi bilan veb -sayt/WiFi boshqariladigan LED tasmasi: 9 qadam (rasmlar bilan)
Raspberry Pi bilan veb -sayt/WiFi boshqariladigan LED tasmasi: 9 qadam (rasmlar bilan)

Video: Raspberry Pi bilan veb -sayt/WiFi boshqariladigan LED tasmasi: 9 qadam (rasmlar bilan)

Video: Raspberry Pi bilan veb -sayt/WiFi boshqariladigan LED tasmasi: 9 qadam (rasmlar bilan)
Video: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, Iyul
Anonim
Raspberry Pi bilan veb -sayt/WiFi boshqariladigan LED tasmasi
Raspberry Pi bilan veb -sayt/WiFi boshqariladigan LED tasmasi

Fon:

Men o'smirman va so'nggi bir necha yil mobaynida robototexnika musobaqalarida qatnashish bilan bir qatorda kichik elektronika loyihalarini loyihalashtiraman va dasturlayman.

Yaqinda men stol usti sozlamalarini yangilash ustida ishlayotgandim va yaxshi qo'shimcha kayfiyatni yoritishga yordam beradi deb qaror qildim. Avvaliga men masofadan boshqarish pulti tomonidan boshqariladigan 5v akkumulyatorli LED tasmasini sotib oldim, lekin bu juda ham muvaffaqiyatli jarayon emas edi va menda bir fikr bor edi. Menda bir nechta ehtiyot qismlar bor edi va men Rojdestvo uchun olgan Raspberry Pi bilan nima qilishni o'ylardim. Ilm -fan darsining zerikarli kunida men Raspberry Pi -ning GPIO pinlarini LED chiroqlarini boshqarish uchun ishlatishim mumkinligini angladim.

Dastlabki dizayn rejam chiroqlar devorga yoki ish stoliga o'rnatilgan sensorli displey yordamida boshqarilishi edi, lekin men bir necha marta qayta ko'rib chiqqandan so'ng, uni boshqa qurilma bilan boshqarishga qaror qildim. Men Java -da telefonim uchun ilova yozmoqchi bo'lganimda, kichik veb -sayt ancha samaraliroq bo'lib tuyuldi.

Bu loyiha ko'plab takomillashtirishlarga ochiq va mening html + php bir xil eskirgan bo'lsa -da, ular ishni bajaradilar

Mavzular:

Ushbu qo'llanmaning asosiy nuqtalari ---

  1. Raspberry Pi -da GPIO -ni boshqarish
  2. Pi -da Apache veb -serverini joylashtirish
  3. RGB LED yorug'lik chizig'ini boshqarish uchun veb -serverdan foydalanish

1 -qadam: Kerakli materiallar va materiallar

  • 1 x Raspberry Pi (men Pi 2 Model B dan foydalanganman)
  • MicroSD karta
  • Pi -ni quvvatlantiradigan narsa (USB kabeli va AC quvvat adapteri)
  • 1 x USB WiFi adapteri yoki chekilgan ulanish
  • Seriyali kabelga 1 x USB -
  • 1 x GPIO buzilishi -
  • 1 ta kichik non paneli -
  • MicroSD -ga USB -
  • Qattiq yadroli simlarning bir nechta ranglari
  • Qoplama
  • 3 x NPN tipidagi tranzistorlar (men BC547b tranzistorlaridan foydalanganman)
  • 1x 5V LED yorug'lik chizig'i
  • Ayol va erkak o'tish simlari -

2 -qadam: Pi muhitini sozlash

Pi muhitini sozlash
Pi muhitini sozlash
Pi muhitini sozlash
Pi muhitini sozlash

Loyihani yopib qo'yish uchun men egilgan plastik qutidan foydalandim, shunda u tokchamda ko'rinmasdi. Men yonma -yon ketma -ket USB kabeli uchun teshik ochdim va Pi -ni non taxtasi va Pi xanjarining yoniga joylashtirdim.

3 -qadam: Pi -ni o'rnatish (1 -qism)

Pi -ni o'rnatish (1 -qism)
Pi -ni o'rnatish (1 -qism)

Ushbu loyiha uchun men ish stoli bo'lmagan Raspbian-ning so'nggi versiyasidan foydalandim

Raspbian -ni o'rnatish bo'yicha qo'llanmani bu erda topishingiz mumkin:

(Kompyuteringiz uchun USB -dan microSD -ga adapter kerak bo'lishi mumkin)

Raspbian SD -kartaga o'rnatilgandan so'ng, siz uni Raspberry Pi -ga ulashingiz va Ethernet kabeli yoki USB WiFi adapterini Pi -ga ulashingiz mumkin.

Keyin, kompyuteringizga Raspberry Pi terminali bilan bog'lanish imkonini beradigan Tera Term -ni kompyuteringizga o'rnating:

Keyin, ketma -ket ulangan USB ketma -ket simini kompyuterga ulang. Unga Tera Term orqali kirish mumkin. Seriya portining uzatilish tezligi 115200 ga o'rnatilganligiga ishonch hosil qiling.

Birinchidan, agar OS to'g'ri o'rnatilgan bo'lsa, Pi tizimga kirishni so'raydi

Odatiy foydalanuvchi nomi va parol:

Foydalanuvchi nomi: pi

Parol: malina

4 -qadam: Pi -ni o'rnatish (2 -qism)

WiFi -ni sozlash

Terminalda buyruqni bajaring

sudo nano/etc/tarmoq/interfeyslari

Keyin, ushbu kodni joylashtiring va yo'riqnoma nomi va parolini SSID va PSK bilan almashtiring

avtomatik

iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 auto wlan0 iface wlan0 inet dhcp wpa-ssid "ssid" wpa-psk "parol"

Bu fayl Pi -ga Wi -Fi tarmog'iga ulanish imkonini beradi

Keyin, chiziq bilan Pi -ni qayta ishga tushiring

sudo qayta yuklash

Veb -serverni o'rnatish

Kirish va keyin Apache serverini o'rnatish

sudo apt -get apache2 -y ni o'rnating

va

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

Sizning IP -manzilingizni topish uchun buyruqni bajaring

mezbon nomi -I.

Ishlayotganligini tekshirish uchun ko'rsatilgan IP -ga kirish uchun brauzerdan foydalaning.

Masalan, Google Chrome -da men manzil satriga 192.168.1.72 yozardim.

Siz kuzatishingiz kerak bo'lgan hujjatlarni https://www.raspberrypi.org/documentation/remote-a… manzilida topishingiz mumkin.

PiGPIO kutubxonasi ham o'rnatilishi kerak, bu sizga GPIO pinlari orqali yuborilayotgan ma'lumotlarni boshqarishga imkon beradi.

sudo apt-get install build-essential unzip wget

va

wget https://abyz.me.uk/rpi/pigpio/pigpio.zip && unzip pigpio.zip && cd PIGPIO && sudo o'rnatish

5 -qadam: Kodni yozish

Chiziq bilan/var/www/html -ga o'ting

cd/var/www/html

Katalogda standart html fayli bo'ladi, uni tahrir qilishingiz kerak bo'ladi.

sudo nano index.html

Nano ichida allaqachon mavjud bo'lgan narsalarni o'chirib tashlang va uni quyidagi kod bilan almashtiring.

(Tera muddati nusxa ko'chirish va joylashtirishda biroz kulgili bo'lishi mumkin, lekin odatda matnni nusxalashdan so'ng, alt+v bu ishni bajarishi kerak)

readRGB (rang) funktsiyasi {if (color.length == 0) {document.getElementById ("txtHint"). innerHTML = ""; qaytish; } boshqa {var xmlhttp = yangi XMLHttpRequest (); xmlhttp.onreadystatechange = function () {if (this.readyState == 4 && this.status == 400) {document.getElementById ("txtHint"). innerHTML = this.responseText; }}; temp = encodeURIComponent (rang); xmlhttp.open ("GET", "action_page.php? q =" + temp, rost); xmlhttp.send (); }} Rangni tanlang:

Keyin index.html o'rniga main.html sifatida saqlang

Yuqoridagi kod siz bosgan tugma va siz tanlagan rangni boshqa faylga yuboradigan kod vazifasini bajaradi.

Keyin buyruqni bajaring

sudo nano

va joylashtiring

$ r $ g $ b ;

exec ("cho'chqalar p 17 $ g"); exec ("cho'chqalar p 22 $ r"); exec ("cho'chqalar p 22 $ b"); ?>

va action_page.php sifatida saqlang

Bu kod RGB qiymatini oladi va LED tasmasida PWM qiymatlarini o'rnatadi.

6 -qadam: O'chirish dizayni

O'chirish dizayni
O'chirish dizayni

Endi barcha dasturiy ta'minot o'rnatilgandan so'ng, uskunada ishlash vaqti keldi.

O'chirishning maqsadi - PWM (Pulse Width Modulated) signallarini Pi dan LED qatoriga yuborish.

LED chizig'ida to'rtta pin bor: qizil, yashil, ko'k va quvvat (mening holatimda 5 volt).

Har bir PWM pinasi uchta rangning birini tranzistor orqali boshqaradi, bu kalit vazifasini bajaradi.

Har bir tranzistorda uchta pim bor: kollektor, tayanch va emitent.

PWM signali ish aylanishini boshqaradi (kalit qancha vaqt yoqiladi va o'chadi).

Ish tsikli natijasida yorug'lik qorong'i yoki yorqinroq bo'ladi.

Chiroqlar juda tez yoqilgan va o'chganligi sababli, odamlar uni har xil yorqinlikdagi qattiq yorug'lik deb bilishadi.

QAYD: Sxemada, LED belgilari LED chizig'ini va sim ichidagi tokni cheklovchi rezistorlarni ifodalaydi.

7 -qadam: Nonni sariyog 'bilan yog'lash… Kengash

Nonni yog'lash… Kengash
Nonni yog'lash… Kengash

Ulanish paytida, Pi o'chirilganligiga ishonch hosil qiling.

Pichani bir qator pim bilan non taxtasining yarmiga joylashtiring va uni tasma kabeli bilan ulang. Men taxtadagi tartibsizlikni kamaytirish va tasodifan hech narsa tarmoqdan uzilmasligiga ishonch hosil qilish uchun qattiq yadroli simni ishlatardim.

Transistorlarni non panelining yuqori yarmiga joylashtiring (A ustuni) va pastki qismini LED qatorini ulang (H, I yoki J qatorlari).

Manfiy quvvat simini xanjardagi GND piniga, musbat panjarani 5V piniga ulang.

Ijobiy quvvat rampasini LED massivining quvvat manbaiga ulang.

Har bir tranzistor uchun emitent pinini manfiy quvvat panjarasiga ulang va kollektor pinini LED massivining pinlariga mos keladigan alohida qatorlarga ulang (men 1 -qatorni 5v, 2, 3 va 4 -qatorlarni yashil, qizil va ko'k sifatida ishlatganman, f) ustunida. Keyin, to'rtta erkak va urg'ochi o'tish simlarini non panelidan LED chizig'iga ulang.

Nihoyat, yashil tranzistor tayanch pinini xanjardagi 17 -pin, qizil tranzistorli tayanch 22 -pin va ko'k tranzistorli tayanch 24 -pin bilan ulang.

8 -qadam: sinov

Sinov
Sinov

Veb -brauzerda Pi -ning IP -manziliga o'ting va /main.html yozing

Rangni tanlang va "zamonaviy texnologiya mo''jizalari" ga qoyil qoling!

9 -qadam: Agar sizda biron bir savol/mulohaza bo'lsa, men bilan bog'laning

Agar sizda biron bir savol yoki taklif bo'lsa, izoh qoldiring yoki bu erga DM yozing, men esa tezroq javob berishga harakat qilaman.

Omad!

Tavsiya: