Tartalomjegyzék:
- 1. lépés: Kellékek és csatlakozások
- 2. lépés: PI beállítása
- 3. lépés: A kód letöltése és összeállítása
- 4. lépés: Használata
- 5. lépés: A kód működése
- 6. lépés: Testreszabás és barátságos nevek
Videó: Alexa Raspberry Pi relévezérlő: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Azért hoztam létre ezt az Instructable -t, hogy megosszam tapasztalataimat az IOT -eszközök integrálásával az Amazon Alexa -val.
Ez a projekt lehetővé teszi a málna pi -hez csatlakoztatott relé tábla vezérlését a smarthome vezérlőről.
Az Alexával tesztelték, de úgy tűnik, hogy jól működik a Samsung Smartthings és más kezelőfelületeken is, mivel egy sor Belkin Wemo aljzatot emulál.
Rengeteg példa található a kiváló FAUXMO kód alapján, de ez a python megtanulását jelentette, és nem adta meg a szükséges részletes vezérlést az eszközeimhez, ezért úgy döntöttem, hogy újra létrehozok egyet a semmiből, a C alapkódolási nyelvként.
Azt sem akartam, hogy a lambda -kód mélyére kelljen mennem az Amazon.com -on, így nagyon egyszerűnek tartottam.
A Githubon közzétettem a forrást és a megjegyzéseket:
github.com/Switchdoctorstu/StuPiMo
Az oktatóanyag valóban lefedi, hogyan kell működésbe hozni, és közzéteszi a jegyzeteimet, hátha másoknak segít.
1. lépés: Kellékek és csatlakozások
A szükséges dolgok könnyen elérhetők az Amazon / EBay -n:
- Raspberry Pi *
- Pi tápegység
- Dupont csatlakozók
- Relé tábla
- Régi mikro USB kábel (a felére kell csökkenteni a relé kártya áramellátását)
Bármilyen málna Pi működni fog, ezt teszteltem B és Zero modelleken.
*Ha a Pi Zero -t használja, szüksége lesz egy OTG hálózati adapterre (kivéve, ha megvásárolja a „W” verziót a WiFi -vel)
Csatlakoztatnia kell a Pi -t a hálózathoz.
A dupont connetorok segítségével csatlakoztassa a relé kártyát a Pi -hez.
Vegye figyelembe, hogy a relékártya külső tápellátást használjon (távolítsa el a kapcsolatot, és csatlakoztassa a külső 5 V -hoz). PI -ről fog működni, de nem ajánlott a gyártás.
A beállításhoz külső tápellátású USB HUB -ot használtam. Ez biztosítja a PI áramellátását.
A régi USB -kábel végét is levágtam, és a reléket a második USB -csatlakozóról a hubra tápláltam, hogy biztonságban maradjak. Az én "gyártási" verzióm kicsi 5V 5A kapcsolóüzemű tápegységet használ. Ismét csak félbevágtam egy USB-vezetéket a Pi tápellátásához Micro-USB-n keresztül, és levágtam kettőt a dupont csatlakozókról a relé tábla táplálására. Az USB -vezetékben 4 vezeték található, a legtöbb piros/fekete színt használ az 5 V -os tápegység jelölésére, de ha kétségei vannak, használjon mérőt, hogy megbizonyosodjon arról, hogy a megfelelő vezetékeket kapta -e.
Az alaplapon lévő relécsapok a PI fejléc megfelelő GPIO csapjaihoz vannak csatlakoztatva.
A kód lehetővé teszi a GPIO csapok kiválasztását, de az alapértelmezettet használtam:
- 1. relécsap - földelés
- 2. relécsap - 1. relé - GPIO 0
- 3. relécsap - 2. relé - GPIO 1
- 4. relécsap - 3. relé - GPIO 2
- 5. relécsap - 4. relé - GPIO 3
- 6. relécsap - 5. relé - GPIO 4
- 7. relécsap - 6. relé - GPIO 5
- 8. relécsap - 7. relé - GPIO 6
- 9. relécsap - 8. relé - GPIO 7
- Relécsap 10 - +5v a logika érdekében
2. lépés: PI beállítása
Nem fogok újból létrehozni egy oktatóanyagot arról, hogyan lehet a PI-t üzembe helyezni és csatlakoztatni a hálózathoz.
Sok útmutató található, köztük egy kiváló oktatható:
www.instructables.com/id/Ultimate-Raspberr…
El kell jutnia arra a pontra, ahol a PI látható a hálózaton, és csatlakozhat hozzá.
Nem számít, hogy Etherneten vagy vezeték nélkül történik.
Ez a projekt csak a Raspberry PI -vel fejezhető be a Geany Programmers Editor használatával, de személy szerint könnyebben elvégezhetem a kód előkészítését PC -n a Visual Studio vagy az Eclipse (vagy akár a Notepad ++) segítségével, majd feltölthetem a PI -be hibakereséshez VNC csatlakozás. Ismét nem fogok kitérni erre, mivel számos kiváló utasítás található a VNC RPi -n való beállításához.
Mindössze annyit kell tennie, hogy elérje azt a pontot, ahol feltöltheti és összeállíthatja a kódot.
Egy fontos megjegyzés az, hogy mivel az UPNP -kezelő UDP multicastot igényel, a használt interfészeket „Promiscuous” módba kell állítani.
Ezt a parancssorban lehet megtenni:
pi@raspberrypi: ~ $ ifconfig eth0persc
és / vagy
pi@raspberrypi: ~ $ ifconfig wlan0persc
Ezt állandóvá kell tenni, így szerkesztettem az /etc/rc.local fájlt
sudo nano / etc / rc.local
sor beillesztése:
sudo ifconfig eth0persc
az első banner # sor után, hogy megbizonyosodjon arról, hogy az interfészek beállítása indításkor történt.
3. lépés: A kód letöltése és összeállítása
Maga a kód a Github tárolómban található;
github.com/Switchdoctorstu/StuPiMo/blob/ma…
míg vannak „helyes” módszerek az adattár klónozására. könnyebben találtam csak a Geany szerkesztőt megnyitni a Pi asztalon, és beilleszteni a kódot.
Hasonlóképpen, ha a parancssort használja;
Hozzon létre egy új könyvtárat
mkdir Stu
Válts rá
cd Stu
Készítsen új szövegfájlt
nano StuPiMo.c
Másolja ki a kódot a Github -ból nyersen, és illessze be az új fájlba
Mentés és kilépés.
Miután a fájlt C forráskód objektumként használta, lefordíthatja
gcc -o StuPiMo StuPiMo.c -l wiringPi
vegye figyelembe, hogy az "-l wiringPi" szükséges annak biztosításához, hogy a fordító összekapcsolja a szükséges wiringPi könyvtárat.
A kód ezután a segítségével futtatható
./StuPiMo
Ismételten, ha azt szeretné, hogy ez indításkor fusson, használja a következő parancsot:
sudo nano /etc/rc.local
a következő sor hozzáadásához
sudo/home/pi/Stu/StuPiMo &
az /etc/rc.local fájlba. Ne felejtse el menteni a fájlt kilépéskor.
Ne feledje, hogy az "&" elengedhetetlen annak biztosításához, hogy egy alfolyamat létrejöjjön, hogy a szkript ezen a ponton ne legyen blokkolva.
4. lépés: Használata
Miután elindította a kódot, kérje meg alexát, hogy „Fedezze fel az eszközöket”, és ő megtalálja mind a 8 virtuális Wemo eszközt.
Akkor csak azt kell mondani, hogy: "Alexa kapcsolja be az aljzatot 1" vagy "Alexa kapcsolja ki a 6 -os aljzatot" stb., És a vonatkozó relé megváltozik.
5. lépés: A kód működése
A kód úgy működik, hogy egy sor Belkin Wemo foglalatú eszközt emulál.
Ennek eléréséhez 2 fő funkciót kell ellátnia
- egy UPNP felfedezéses adáskezelő
- egy „eszközkezelőt” (egyet virtuális eszközönként) az eszközre küldött parancsok és a szükséges válaszok kezelésére.
A „bónusz” funkció az, hogy weboldalt is közzétesz, amely lehetővé teszi az eszközök vezérlését.
UPNP kezelő
Az UPNP -kezelő megnyit egy aljzatot az SSDP protokollcsomagok figyelésére a 239.255.255.250 1900 -as porton.
Bármilyen „M-SEARCH” lekérdezésre válaszol, egy felfedezési válaszcsomaggal, amely minden egyes kérdezőt közöl az egyéni wemo-emulátorokkal.
Eszközkezelő
Az eszközkezelők (virtuális eszközönként egyet) figyelnek egy sor IP -portot, és válaszolnak a kérésekre.
Kérdés esetén a setup.xml választ fogja kiszolgálni
Kérésre egy eseményleíró fájlt fog kiszolgálni
Válaszol egy GETBINARYSTATE kérésre
Feldolgozza és válaszol a SETBINARYSTATE kérésre
Web szerver
A webszerver egy egyszerű rutin, amely relénként egy gombot tartalmazó HTML -űrlapot készít.
Reagál a gombok megnyomására, és ennek megfelelően változtatja a relé állapotát.
6. lépés: Testreszabás és barátságos nevek
Nem haragudtam a kódra, hogy egyszerű és szerkeszthető legyen.
Az alapok testreszabhatók a kód elején található definíciókkal:
// globális definíciók#define WEBPORT 5353 // port a webszerver futtatásához
#define NUMDEVICES 8 // Létrehozandó virtuális eszközök száma
#define PORTBASE 43450 // alap IP -port, amelyről növelni kell
A WEBPORT az a portszám, amelyen a beépített webszerver fut. Ezt a 80 -as ülésre is fel lehet állítani, hogy megkönnyítsük a dolgokat, de azt tapasztaltam, hogy ütközik a tomcat vagy más, helyben futó szolgáltatásokkal.
A NUMDEVICES határozza meg az indítandó egyedi WEMO emulátorok számát. Ha 2 portos relé kártyája van, akkor állítsa ezt 2, 4 port = 4 stb. Értékre.
Az eszközök barátságos nevei a setup_names nevű rutinban vannak megadva:
int setup_names (karakterbarát [NUMDEVICES] [NAMELEN]) {int i = 0;
// használja ezt a ciklust
for (i = 0; i <NUMDEVICES; i ++) {
sprintf (barátságos , "Socket %d", i + 1);
}
// vagy az alábbi kézikönyvtáblát az eszköznevek kitöltéséhez
/*
strcpy (barátságos [0], "hálószobás TV");
strcpy (barátságos [1], "Elektromos takaró");
strcpy (barátságos [2], "Hálószoba lámpa");
strcpy (barátságos [3], "Socket 4");
strcpy (barátságos [4], "Socket 5");
strcpy (barátságos [5], "Socket 6");
strcpy (barátságos [6], "Socket 7");
strcpy (barátságos [7], "Socket 8");
*/
vissza i;
}
Egy hurkot használtam minden eszköz „Socket n” hívására, de törölheti ezt a hurkot, és helyette saját barátságos neveket adhat hozzá (csak győződjön meg arról, hogy ugyanazt a számot adja hozzá, mint a NUMDEVICES), ha törli a / * * /
Ne felejtse el újra összeállítani a kódot, ha módosításokat hajt végre.
Ajánlott:
Raspberry Pi Alexa+Google intelligens hangszóró: 6 lépés
Raspberry Pi Alexa+Google intelligens hangszóró: Ebben a projektben megtanítom Önt, hogyan készítsen pénztárcabarát hangszórót. Ennek a projektnek a költsége az anyagoktól és az extra kiegészítő alkatrészektől függően csak körülbelül 30–50 dollárba kerülhet
Alexa hangvezérelt Raspberry Pi Drone IoT és AWS: 6 lépés (képekkel)
Alexa hangvezérelt Raspberry Pi drón IoT -vel és AWS -sel: Szia! A nevem Armaan. 13 éves Massachusetts-i fiú vagyok. Ez az oktatóanyag megmutatja, amint a címből következtetni tud, hogyan kell Raspberry Pi Drone -t építeni. Ez a prototípus bemutatja, hogyan fejlődnek a drónok, és azt is, hogy mekkora szerepet játszhatnak a
Egyéni Alexa vezérlő hozzáadása a Raspberry Pi projekthez: 5 lépés
Egyéni Alexa vezérlő hozzáadása a Raspberry Pi projekthez: Ez a projekt azoknak szól, akik rendelkeznek Raspberry Pi projekttel, amely Python -ot használ, és szeretnének hangvezérlést hozzáadni a meglévő Amazon Echo eszközeikhez. Nem kell tapasztalt programozónak lenned, de kényelmesen használhatod a com
RASPBERRY PI ALEXA HOME AUTOMATION: 4 lépés
RASPBERRY PI ALEXA HOME AUTOMATION: Ez az utasítás az Amazon alexa eho dot, a Raspberry pi Gpio alexa használatával történő vezérlésének fogalmait tartalmazza. Az alexa kezelése során a fő probléma az, hogy minden alkalommal hozzá kell adnia néhány készséget az aws fiókjához, amely sok időt igényel. megállapítani c
Amazon Alexa - Raspberry Pi (mobil): 5 lépés (képekkel)
Amazon Alexa - Raspberry Pi (mobil): Üdvözöljük az Amazon Alexa Rasberry Pi használatával történő elkészítésének bemutatójában. Mivel rákattintott erre az oktatóanyagra, nyilván tudja, hogy az Amazon Alexa egy gyönyörű technológia ebben a modern korban. Bár megvenni és elkészíteni két különböző dolog