Агуулгын хүснэгт:
- Алхам 1: Хангамж ба холболт
- Алхам 2: PI тохиргоо
- Алхам 3: Кодыг татаж авах, эмхэтгэх
- Алхам 4: Үүнийг ашиглах
- Алхам 5: Код хэрхэн ажилладаг талаар
- Алхам 6: Өөрчлөлт ба найрсаг нэрс
Видео: Alexa Raspberry Pi буухиа хянагч: 6 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:02
Би Amazon -ийн Alexa -д IOT төхөөрөмжүүдийг нэгтгэх туршлагаа хуваалцах зорилгоор энэхүү зааварчилгааг бүтээсэн.
Энэхүү төсөл нь бөөрөлзгөнө pi -тэй холбогдсон буухиа самбарыг smarthome контроллероос удирдах боломжийг олгодог.
Энэ нь Alexa -д туршиж үзсэн боловч хэд хэдэн Belkin Wemo залгуурыг дуурайдаг тул Samsung Smartthings болон бусад хяналтын интерфэйстэй сайн ажилладаг юм шиг санагддаг.
Маш сайн FAUXMO код дээр үндэслэсэн маш олон жишээ бий, гэхдээ энэ нь питон сурах гэсэн утгатай бөгөөд төхөөрөмжүүдэд маань шаардлагатай нарийвчилсан хяналтыг надад өгөөгүй тул би кодчиллын үндсэн хэл болгон С-ийг ашиглан эхнээс нь дахин бүтээхээр шийдсэн юм.
Би Amazon.com дээр lambda кодын гүн рүү орохыг хүсээгүй тул үүнийг маш энгийн болгосон.
Би Github дээр эх сурвалж, тэмдэглэлээ оруулсан болно.
github.com/Switchdoctorstu/StuPiMo
Энэ заавар нь үүнийг хэрхэн яаж ажиллуулах, бусдад тустай бол миний тэмдэглэлийг нийтлэх явдал юм.
Алхам 1: Хангамж ба холболт
Танд хэрэгтэй зүйлсийг Amazon / EBay дээрээс авах боломжтой.
- Бөөрөлзгөнө PI *
- Pi цахилгаан хангамж
- Dupont холбогч
- Релений самбар
- Хуучин микро USB тугалга
Аливаа бөөрөлзгөнө Pi ажиллах болно, би үүнийг Model B ба Zero дээр туршиж үзсэн.
*Хэрэв Pi Zero ашиглаж байгаа бол танд OTG сүлжээний адаптер хэрэгтэй болно (хэрэв та 'W' хувилбарыг WiFi дээр buit ашиглан худалдаж авахгүй бол)
Та Pi -г сүлжээнд холбох хэрэгтэй болно.
Релей картыг Pi руу холбохын тулд дупонт холбогчийг ашиглана уу.
Реле карт нь гадаад хүчийг ашиглах ёстой гэдгийг анхаарна уу (холбоосыг салгаад гадаад 5v -тэй холбоно уу). Энэ нь PI -ээр ажилладаг боловч үйлдвэрлэл явуулахыг зөвлөдөггүй.
Миний тохиргооны хувьд би гаднаас тэжээгддэг USB HUB ашигласан. Энэ нь PI -ийн хүчийг өгдөг.
Би мөн хуучин USB кабелийн үзүүрийг хайчилж, аюулгүй байдлыг хангах үүднээс 2 -р USB холболтоос төв рүү релейгээ тэжээв. Миний "үйлдвэрлэлийн" хувилбарт жижиг 5V 5A унтраалгатай тэжээлийн хангамжийг ашигладаг. Дахин хэлэхэд би бичил USB-ээр дамжуулан Pi-г асаахын тулд USB утсыг хагасаар нь огтолж, реле самбарыг тэжээх хоёр дупонт холбогчийг таслав. USB залгуурт 4 утас байдаг бөгөөд ихэнх нь 5V тэжээлийг илэрхийлэхийн тулд улаан/хар өнгийг ашигладаг боловч эргэлзэж байвал тоолуур ашиглан зөв утсыг авсан эсэхээ шалгаарай.
Самбар дээрх реле зүү нь PI толгой дээрх холбогдох GPIO зүүтэй холбогдсон байна.
Код нь GPIO тээглүүрийг сонгох боломжийг олгодог боловч миний анхдагчаар ашигладаг байсан:
- Релений зүү 1 - Газар
- Релений зүү 2 - Реле 1 - GPIO 0
- Релений зүү 3 - Реле 2 - GPIO 1
- Релений зүү 4 - Реле 3 - GPIO 2
- Релений 5 -р pin - 4 -р буухиа - GPIO 3
- Релений 6 -р pin - 5 -р буухиа - GPIO 4
- Релений зүү 7 - Реле 6 - GPIO 5
- Релений зүү 8 - Реле 7 - GPIO 6
- Релений зүү 9 - Реле 8 - GPIO 7
- Релей зүү 10 - +5v логик
Алхам 2: PI тохиргоо
Би таны PI-ийг хэрхэн ажиллуулах, сүлжээнд холбогдох талаар зааварчилгаа дахин бичихгүй.
Маш сайн зааварчилгаа өгөх олон гарын авлага байдаг:
www.instructables.com/id/Ultimate-Raspberr…
Та сүлжээнд PI харагдах цэг рүү хүрэх хэрэгтэй бөгөөд та түүнтэй холбогдох боломжтой болно.
Энэ нь Ethernet эсвэл Wireless -ээр хийгдсэн эсэх нь хамаагүй.
Энэ төслийг Geany Programmers Editor ашиглан зөвхөн Raspberry PI -ээр хийж дуусгах боломжтой боловч Visual Studio эсвэл Eclipse (эсвэл Notepad ++) ашиглан компьютер дээрээ кодоо бэлдэж, дараа нь дибаг хийх зорилгоор PI -д байршуулах нь надад илүү хялбар байдаг. VNC холболт. Дахин хэлэхэд би RPi дээр VNC -ийг тохируулах талаар маш сайн зааварчилгаа өгч байгаа тул энд дурдахгүй.
Танд хэрэгтэй зүйл бол кодыг байршуулж эмхэтгэх цэгт хүрэх явдал юм.
UPNP зохицуулагч нь UDP олон дамжуулалтыг шаарддаг тул ашигладаг интерфэйсийг 'Promiscuous' горимд тохируулсан байх ёстой.
Үүнийг тушаалын мөрөнд хийж болно:
pi@raspberrypi: ~ $ ifconfig eth0 promisc
ба / эсвэл
pi@raspberrypi: ~ $ ifconfig wlan0 promisc
Үүнийг байнгын болгох ёстой тул би /etc/rc.local -ийг засварлав
sudo nano / etc / rc.local
мөрийг оруулах:
sudo ifconfig eth0 promisc
интерфэйсийг эхлүүлэх үед тохируулсан эсэхийг баталгаажуулахын тулд баннер # шугамын эхний багцыг хийсний дараа.
Алхам 3: Кодыг татаж авах, эмхэтгэх
Код өөрөө миний Github мэдээллийн санд байрладаг;
github.com/Switchdoctorstu/StuPiMo/blob/ma…
репозиторийг хуулбарлах "зөв" аргууд байдаг. Pi ширээний компьютер дээр Geany редакторыг нээж кодыг буулгах нь надад илүү хялбар болсон.
Үүний нэгэн адил, хэрэв та командын мөрийг ашиглаж байгаа бол;
Шинэ лавлах үүсгэх
mkdir Stu
Үүнийг өөрчил
cd Stu
Шинэ текст файл үүсгэх
нано StuPiMo.c
Github -аас кодыг хуулж аваад шинэ файл руу буулгана уу
Хадгалж, гарна уу.
Файлыг C эх кодын объект болгосны дараа та үүнийг ашиглан хөрвүүлж болно
gcc -o StuPiMo StuPiMo.c -l утаснуудPi
"-l wiringPi" нь шаардлагатай wiringPi номын санд гомдол гаргагчийг холбохыг баталгаажуулах шаардлагатайг анхаарна уу.
Дараа нь кодыг ашиглан ажиллуулж болно
./StuPiMo
Дахин хэлэхэд, хэрэв та үүнийг эхлүүлэх үед ажиллуулахыг хүсч байвал дараах тушаалыг ашиглана уу.
sudo нано /etc/rc.local
дараах мөрийг нэмэх
sudo/home/pi/Stu/StuPiMo &
таны /etc/rc.local файл руу. Гарахдаа файлаа хадгалахаа бүү мартаарай.
Энэ үед скриптийг хаахгүй байхын тулд дэд процесс үүсэхийг баталгаажуулахын тулд '&' тэмдэглэх нь чухал гэдгийг анхаарна уу.
Алхам 4: Үүнийг ашиглах
Кодыг ажиллуулсны дараа alexa -аас 'Discover Devices' гэж асуухад тэр бүх 8 виртуал Wemo төхөөрөмжийг олох ёстой.
Дараа нь энэ нь "Alexa сокет 1 -ийг асаах" эсвэл "Alexa сокет 6 -ийг унтраах" гэх мэтээр хэлэх бөгөөд холбогдох реле өөрчлөгдөх болно.
Алхам 5: Код хэрхэн ажилладаг талаар
Код нь Belkin Wemo залгуурын цуврал төхөөрөмжийг дуурайлган ажиллуулдаг.
Үүнийг хэрэгжүүлэхийн тулд 2 үндсэн функцийг гүйцэтгэх ёстой
- UPNP нээлтийн нэвтрүүлгийн зохицуулагч
- төхөөрөмж рүү илгээсэн командууд болон шаардлагатай хариултуудыг удирдах "төхөөрөмж зохицуулагч" (виртуал төхөөрөмж тутамд нэг).
"Урамшууллын" онцлог нь төхөөрөмжүүдийг хянах боломжийг олгодог вэб хуудсыг нийтэлдэг явдал юм.
UPNP зохицуулагч
UPNP зохицуулагч нь 239.255.255.250 порт 1900 дээр SSDP протокол пакетуудыг хянах сокетийг нээдэг.
Энэ нь ирсэн бүх "M-SEARCH" асуултанд хариулж, wemo эмуляторыг асуусан хүнд мэдэгддэг.
Төхөөрөмжийн зохицуулагч
Төхөөрөмжийн зохицуулагчид (виртуал төхөөрөмж тутамд нэг ширхэг) хэд хэдэн IP портуудыг хянаж, хүсэлтэд хариу өгдөг.
Энэ нь асуухад setup.xml хариулт өгөх болно
Энэ нь асуухад үйл явдлын тайлбар файлд үйлчилнэ
Энэ нь GETBINARYSTATE хүсэлтэд хариу өгөх болно
Энэ нь SETBINARYSTATE хүсэлтийг боловсруулж, хариу өгөх болно
Вэб сервер
Вэб сервер бол реле тутамд нэг товчлуур агуулсан HTML хэлбэрийг бий болгодог энгийн ажил юм.
Энэ нь товчлууруудыг дарахад хариу өгөх бөгөөд релений төлөв байдлыг тохируулах болно.
Алхам 6: Өөрчлөлт ба найрсаг нэрс
Би кодоо энгийн, засварлахын тулд уурлаагүй.
Үндсэн ойлголтуудыг кодын эхэнд байгаа тодорхойлолтоор өөрчилж болно.
// дэлхийн тодорхойлолтууд#WEBPORT 5353 // вэб серверийг ажиллуулах портыг тодорхойлно
#Define NUMDEVICES 8 // Үүсгэх виртуал төхөөрөмжийн тоо
#PORTBASE 43450 // -аас дээш IP IP портыг тодорхойлно
WEBPORT нь вэб сервер дээр ажилладаг портын дугаар юм. Үүнийг 80 болгохын тулд ажлыг хялбарчлах боломжтой байсан ч энэ нь tomcat эсвэл орон нутагт ажилладаг бусад үйлчилгээтэй зөрчилдөж байгааг олж мэдэв.
NUMDEVICES нь эхлүүлэх WEMO эмуляторуудын тоог тодорхойлдог. Хэрэв танд 2 порттой реле карт байгаа бол үүнийг 2, 4 порт = 4 гэх мэтээр тохируулна уу.
Төхөөрөмжүүдэд ээлтэй нэрийг тохируулах_хэсэг гэж тогтоосон байдаг.
int setup_names (char ээлтэй [NUMDEVICES] [NAMELEN]) {int i = 0;
// энэ хүрдийг ашиглана уу
for (i = 0; i <NUMDEVICES; i ++) {
sprintf (нөхөрсөг , "Socket %d", i + 1);
}
// эсвэл төхөөрөмжийн нэрийг бөглөх гарын авлагын хүснэгт
/*
strcpy (ээлтэй [0], "Унтлагын өрөөний ТВ");
strcpy (ээлтэй [1], "Цахилгаан хөнжил");
strcpy (нөхөрсөг [2], "Унтлагын өрөөний гэрэл");
strcpy (нөхөрсөг [3], "Socket 4");
strcpy (нөхөрсөг [4], "Socket 5");
strcpy (нөхөрсөг [5], "Socket 6");
strcpy (нөхөрсөг [6], "Socket 7");
strcpy (нөхөрсөг [7], "Socket 8");
*/
буцах i;
}
Би төхөөрөмж бүрийг 'Socket n' гэж дуудахын тулд гогцоо ашигласан боловч та энэ давталтыг устгаад оронд нь өөрийн ээлтэй нэрийг нэмж болно (хэрэв та NUMDEVICES -тэй ижил тоог нэмж оруулсан бол) / * * /
Хэрэв та ямар нэгэн өөрчлөлт хийвэл кодыг дахин эмхэтгэхээ мартуузай.
Зөвлөмж болгож буй:
Raspberry Pi ашиглан буухиа хяналт: 3 алхам
Бөөрөлзгөнө Pi -тэй буухиа хяналт: Бөөрөлзгөнө pi самбар нь олон төхөөрөмж хооронд зэрэг шилжих боломжгүй үед бидний ихэнх нь асуудалтай тулгардаг. Тиймээс 26 GPIO зүү ашиглан олон төхөөрөмжийг холбох боломжгүй юм. Үүнээс гадна үүнийг 26 -аас хэтрүүлж болохгүй
Arduino дээр суурилсан DIY тоглоомын хянагч - Arduino PS2 тоглоомын хянагч - DIY Arduino Gamepad ашиглан Tekken тоглох: 7 алхам
Arduino дээр суурилсан DIY тоглоомын хянагч | Arduino PS2 тоглоомын хянагч | DIY Arduino Gamepad ашиглан Tekken тоглох: Сайн байна уу залуусаа, тоглоом тоглох нь үргэлж хөгжилтэй байдаг, гэхдээ өөрийн гараар хийсэн DIY тоглоомын хянагчтай тоглох нь илүү хөгжилтэй байдаг тул бид энэ зааварт arduino pro micro ашиглан тоглоом хянагч хийх болно
Raspberry Pi дээрх Octoprint -аас буухиа самбарыг хянах: 5 алхам
Raspberry Pi дээрх Octoprint -аас буухиа самбарыг хянах: Тиймээс та Octoprint бүхий бөөрөлзгөнө pi -тэй, тэр ч байтугай камерын тохиргоотой болно. Танд хэрэгтэй хамгийн сүүлийн зүйл бол 3d принтерээ асаах, унтраах, гэрлийг хянах арга юм. Энэхүү зааварчилгаа нь танд зориулагдсан болно. Энэ нь онгод оруулж, хялбаршуулсан болно: https: //github.co
YABC - Өөр нэг Blynk хянагч - IoT үүлний температур ба чийгшлийн хянагч, ESP8266: 4 алхам
YABC - Өөр нэг Blynk хянагч - IoT үүлний температур ба чийгшлийн хянагч, ESP8266: Сайн байна уу, би саяхан гэртээ мөөг, хясааны мөөг тарьж эхлэв, гэхдээ би гэрийнхээ исгэх зориулалттай исгэгчийн температурыг хянахын тулд гэртээ энэ контроллерын гуравны нэгийг авсан байгаа. мөн энэ Kombucha -г одоо хийж байгаа бөгөөд дулааны термостатын хувьд
Raspberry Pi DIY буухиа самбар: 3 алхам (зурагтай)
Raspberry Pi DIY буухиа самбар: Бөөрөлзгөнө болон жижиг ардуинотой зарим проекцын хувьд би зарим релейг солих хэрэгтэй. GPIO гаралтын түвшин (3,3V) учраас илүү их ачааг сольж чаддаг, өгсөн 3,3 вольтоор шууд ажиллах боломжтой зарим реле олоход хэцүү байдаг