Orodha ya maudhui:
- Hatua ya 1: Ugavi na Uunganisho
- Hatua ya 2: Usanidi wa PI
- Hatua ya 3: Kupakua na Kukusanya Nambari
- Hatua ya 4: Kutumia
- Hatua ya 5: Jinsi Kanuni inavyofanya kazi
- Hatua ya 6: Ugeuzaji kukufaa na Majina ya Kirafiki
Video: Mdhibiti wa Relay ya Raspberry Pi: Hatua 6
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:51
Niliunda hii Inayoweza kufundishwa kushiriki uzoefu wangu na kuunganisha vifaa vya IOT na Alexa ya Amazon.
Mradi huu unaruhusu bodi ya relay iliyounganishwa na pi ya raspberry kudhibitiwa kutoka kwa mtawala wa smarthome.
Imejaribiwa na Alexa lakini pia inaonekana inafanya kazi vizuri na Samsung Smartthings na njia zingine za kudhibiti wakati inaleta safu kadhaa za soketi za Belkin Wemo.
Kuna mifano mingi kulingana na nambari bora ya FAUXMO lakini hii ilimaanisha kujifunza chatu na haikunipa udhibiti wa kina niliohitaji kwa vifaa vyangu na kwa hivyo niliamua kuunda tena kutoka mwanzoni kwa kutumia C kama lugha yangu ya msingi ya kuweka alama.
Sikutaka pia kwenda kwa kina cha nambari ya lambda kwenye Amazon.com kwa hivyo nimeiweka rahisi sana.
Nimechapisha chanzo na maelezo kwenye Github:
github.com/Switchdoctorstu/StuPiMo
Mafunzo ni kweli kufunika jinsi ya kuifanya iweze kufanya kazi na kuchapisha maelezo yangu iwapo itasaidia wengine.
Hatua ya 1: Ugavi na Uunganisho
Vitu unavyohitaji vinapatikana kwa urahisi kwenye Amazon / EBay:
- Raspberry PI *
- Ugavi wa umeme wa Pi
- Viunganisho vya Dupont
- Bodi ya Kupeleka
- Uongozi wa zamani wa USB ndogo (kukata nusu kwa nguvu kwa kadi ya kupokezana)
Pi yoyote ya rasipberry itafanya kazi, nimejaribu hii kwenye Model B na Zero.
* Ikiwa unatumia Pi Zero utahitaji adapta ya Mtandao ya OTG (isipokuwa ununue toleo la 'W' na buit katika WiFi)
Utahitaji kuunganisha Pi kwenye mtandao.
Tumia dontont connetors kuunganisha kadi ya kupeleka kwa Pi.
Kumbuka kuwa kadi ya relay inapaswa kutumia nguvu ya nje (ondoa kiunga na unganisha kwa 5v ya nje). Itafanya kazi kwa kutumia PI lakini haishauriwi kwa utengenezaji wa uzalishaji.
Kwa usanidi wangu nilitumia USB HUB inayotumiwa nje. Hii inatoa nguvu kwa PI.
Pia nilikata mwisho wa kebo ya zamani ya USB na nikapeana relay kutoka unganisho la 2 la USB kwenda kwenye kitovu ili kukaa salama. Toleo langu la 'uzalishaji' hutumia usambazaji mdogo wa hali ya kubadili 5V 5A. Tena nilikata tu risasi ya USB kwa nusu ili kuwezesha Pi kupitia Micro-USB na kukata viungio viwili vya dupont kuwezesha bodi ya kupeleka tena. Kuna waya 4 kwenye risasi ya USB, nyingi hutumia nyekundu / nyeusi kuashiria usambazaji wa 5v lakini ikiwa kwa shaka tumia mita kuhakikisha unapata waya sahihi.
Pini za kupeleka kwenye ubao zimeunganishwa na pini zinazofaa za GPIO kwenye kichwa cha PI.
Nambari hukuruhusu kuchagua pini za GPIO lakini chaguo-msingi nilichotumia ni:
- Peleka tena 1 - Ground
- Peleka tena 2 - Peleka 1 - GPIO 0
- Peleka tena 3 - Pitisha 2 - GPIO 1
- Peleka tena 4 - Peleka tena 3 - GPIO 2
- Peleka tena 5 - Peleka tena 4 - GPIO 3
- Peleka tena 6 - Peleka tena 5 - GPIO 4
- Peleka tena 7 - Peleka tena 6 - GPIO 5
- Peleka tena 8 - Peleka tena 7 - GPIO 6
- Peleka tena 9 - Peleka tena 8 - GPIO 7
- Peleka tena Pin 10 - + 5v kwa mantiki
Hatua ya 2: Usanidi wa PI
Sitaunda tena mafunzo juu ya jinsi ya kupata PI yako na kuendesha na kushikamana na mtandao.
Kuna miongozo mingi pamoja na inayofaa kufundishwa kwa:
www.instructables.com/id/Ultimate-Raspberr…
Utahitaji kujifikia mahali ambapo PI inaonekana kwenye mtandao na unaweza kuiunganisha.
Haijalishi ikiwa hii ni kupitia Ethernet au Wireless.
Mradi huu unaweza kukamilika na Raspberry PI tu kwa kutumia Mhariri wa Wahandisi wa Geany lakini mimi mwenyewe nirahisi kufanya utayarishaji wa nambari yangu kwenye PC kwa kutumia Studio ya Visual au Eclipse (au hata Notepad ++) na kisha kuipakia kwa PI kwa utatuaji kwa kutumia Uunganisho wa VNC. Tena sitashughulikia hiyo hapa kwani kuna mafundisho mengi bora juu ya kuanzisha VNC kwenye RPi.
Unachohitaji ni kufika mahali ambapo unaweza kupakia na kukusanya nambari hiyo.
Ujumbe mmoja ambao ni muhimu ni kwamba kwa kuwa mshughulikiaji wa UPNP anahitaji UDP multicast, viungio vilivyotumika lazima viwekwe kwa modi ya 'Uasherati'.
Hii inaweza kufanywa kwenye mstari wa amri:
pi @ raspberrypi: ~ $ ifconfig eth0 promisc
na / au
pi @ raspberrypi: ~ $ ifconfig wlan0 promisc
Hii inahitaji kufanywa ya kudumu kwa hivyo nilihariri /etc/rc.local
sudo nano / n / rc.local
kujumuisha laini:
Sudo ifconfig eth0 promisc
baada ya seti ya kwanza ya mabango # mistari ili kuhakikisha kuwa viungio viliwekwa wakati wa kuanza.
Hatua ya 3: Kupakua na Kukusanya Nambari
Nambari yenyewe inakaa katika eneo langu la Github;
github.com/Switchdoctorstu/StuPiMo/blob/ma…
wakati kuna njia "sahihi" za kuweka kumbukumbu. niliona ni rahisi tu kufungua mhariri wa Geany kwenye eneo-kazi la Pi na kubandika nambari hiyo ndani.
Vivyo hivyo, ikiwa unatumia laini ya amri;
Unda saraka mpya
mkdir Stu
Badilisha kwa hiyo
cd Stu
Tengeneza faili mpya ya maandishi
nano StuPiMo.c
Nakili nambari kutoka kwa mbichi ya Github na ibandike kwenye faili mpya
Hifadhi na uondoke.
Mara baada ya kuwa na faili kama kitu cha msimbo wa chanzo C unaweza kukusanya kwa kutumia
gcc -o StuPiMo StuPiMo.c -l wiringPi
kumbuka "-l wiringPi" inahitajika ili kuhakikisha kuwa viunganishi vya kiunganishi kwenye maktaba ya wiringPi inayohitajika.
Nambari inaweza kuendeshwa kwa kutumia
./StuPiMo
Tena, ikiwa unataka hii ianze, tumia amri:
Sudo nano /etc/rc.local
kuongeza laini ifuatayo
sudo / nyumbani / pi / Stu / StuPiMo &
kwa faili yako /etc/rc.local. Usisahau kuhifadhi faili yako wakati wa kutoka.
Kumbuka '&' ni muhimu kuhakikisha kuwa mchakato mdogo umewekwa ili kuhakikisha kuwa hati haijazuiliwa wakati huu.
Hatua ya 4: Kutumia
Mara tu msimbo unapoendeshwa, muulize alexa ili 'Kugundua Vifaa' na anapaswa kupata vifaa vyote 8 vya Wemo.
Halafu ni kesi tu ya kusema: "Alexa washa tundu 1" au "Alexa imezima tundu 6" nk na relay husika itabadilishwa.
Hatua ya 5: Jinsi Kanuni inavyofanya kazi
Nambari inafanya kazi kwa kuiga mfululizo wa vifaa vya tundu la Belkin Wemo.
Ili kushughulikia hii inapaswa kushughulikia kazi mbili kuu
- mshughulikiaji wa matangazo ya ugunduzi wa UPNP
- 'kifaa cha kushughulikia' (moja kwa kila kifaa halisi) kudhibiti maagizo yaliyotumwa kwa kifaa na majibu yanayotakiwa.
Kipengele cha 'ziada' ni kwamba pia inachapisha ukurasa wa wavuti kuruhusu utaftaji wa vifaa.
Mshughulikiaji wa UPNP
Mshughulikiaji wa UPNP anafungua tundu kufuatilia pakiti za itifaki za SSDP kwenye bandari ya 239.255.255.250 1900.
Inajibu maswali yoyote ya 'M-SEARCH' yanayokuja na pakiti ya majibu ya ugunduzi ambayo inawapa emulators wa kibinafsi wa wemo kwa mtu yeyote anayeuliza.
Mshughulikiaji wa Kifaa
Vishikiliaji vya kifaa (moja kwa kila kifaa halisi) hufuatilia safu ya bandari za IP na hujibu maombi.
Itatumika jibu la setup.xml ulipoulizwa
Itatumika faili ya maelezo ya tukio ukiulizwa
Itajibu ombi la GETBINARYSTATE
Itashughulikia na kujibu ombi la SETBINARYSTATE
Seva ya Wavuti
Seva ya wavuti ni kawaida rahisi ambayo huunda fomu ya HTML iliyo na kitufe kwa kila relay.
Itajibu vifungo vinavyobanwa na kugeuza hali ya relay ipasavyo.
Hatua ya 6: Ugeuzaji kukufaa na Majina ya Kirafiki
Sijaenda wazimu na nambari kuifanya iwe rahisi na inayoweza kuhaririwa.
Misingi inaweza kubadilishwa na ufafanuzi mwanzoni mwa nambari:
// ufafanuzi wa ulimwengu # fafanua WEBPORT 5353 // bandari ya kuendesha seva ya wavuti
#fafanua NUMDEVICES 8 // Idadi ya vifaa halisi vya kuunda
#fafanua PORTBASE 43450 // bandari ya IP ya msingi ili kuongezeka kutoka
WEBPORT ni nambari ya bandari ambayo seva ya wavuti iliyojengwa inaendesha. Hii inaweza kufanywa kukaa 80 ili kufanya mambo iwe rahisi lakini nimeona kuwa inapingana na tomcat au huduma zingine zinazoendesha ndani.
NUMDEVICES inafafanua idadi ya emulators ya WEMO ya kibinafsi kuzindua. Ikiwa una kadi ya kupitisha bandari 2 kisha weka hii kuwa 2, 4 bandari = 4 nk.
Majina ya kirafiki ya vifaa yamewekwa katika utaratibu unaoitwa setup_names:
majina ya usanidi_ni (char friendly [NUMDEVICES] [NAMELEN]) {int i = 0;
// tumia kitanzi hiki
kwa (i = 0; i <NUMDEVICES; i ++) {
sprintf (kirafiki , "Soketi% d", i + 1);
}
// au meza ifuatayo ya mwongozo ili kujaza majina ya vifaa
/*
strcpy (rafiki [0], "Chumba cha kulala");
strcpy (rafiki [1], "Blangeti ya Umeme");
strcpy (rafiki [2], "Taa ya Chumba cha kulala");
strcpy (rafiki [3], "Soketi 4");
strcpy (rafiki [4], "Soketi 5");
strcpy (rafiki [5], "Soketi 6");
strcpy (rafiki [6], "Tundu 7");
strcpy (rafiki [7], "Tundu 8");
*/
kurudi i;
}
Nilitumia kitanzi kuita kila moja ya vifaa 'Socket n' lakini unaweza kufuta kitanzi hiki na kuongeza majina yako ya urafiki badala yake (hakikisha tu unaongeza nambari sawa na NUMDEVICES) ikiwa utafuta / * * /
Kumbuka kukusanya tena nambari ikiwa utafanya mabadiliko yoyote.
Ilipendekeza:
Sonoff Basic Wifi Extender - MQTT Relay Relay Relay - 5v DC Low Voltage: 6 Hatua
Sonoff Basic Wifi Extender - MQTT Dry Relay Relay - 5v DC Low Voltage: Ok nilikuwa na vifaa vya msingi vya kizazi cha kwanza cha Sonoff na sitaki kuzitumia na 220v kwani hazikuwa salama bado katika toleo hilo. Walikuwa wamelala karibu kwa muda wakisubiri kufanya kitu nao. Kwa hivyo nilijikwaa kwenye kijeshi cha martin-ger
Mdhibiti wa Deepcool AIO RGB Arduino Mdhibiti: 6 Hatua
Mdhibiti wa Deepcool Castle AIO RGB Arduino: Niligundua kuchelewa sana kuwa ubao wangu wa mama haukuwa na kichwa cha kichwa cha rgb kinachoweza kushughulikiwa kwa hivyo niliboresha kutumia mafunzo kama hayo. Mafunzo haya ni ya mtu aliye na Deepcool Castle AIOs lakini inaweza kutumika kwa vifaa vingine vya rgb pc. KANUSHO: Ninajaribu
Intro kwa Mdhibiti Mdhibiti wa CloudX: Hatua 3
Intro kwa Microcontroller ya CloudX: Mdhibiti mdogo wa CloudX ni vifaa vya kufungua na programu-kompyuta ndogo ambayo hukuruhusu kuunda miradi yako ya maingiliano. CloudX ni bodi ndogo ya chip ambayo inaruhusu watumiaji kuiambia nini cha kufanya kabla ya kuchukua hatua yoyote, inakubali k tofauti
Mdhibiti wa Mchezo bila waya na Arduino na NRF24L01 + (msaada kwa Mdhibiti mmoja au Wawili): Hatua 3
Mdhibiti wa Mchezo bila waya na Arduino na NRF24L01 + (msaada kwa Mdhibiti mmoja au Wawili): Unaweza kupata mradi kamili kutoka kwa wavuti yangu (iko katika Kifini): https://teukka.webnode.com/l/langaton-ohjain-atmega-lla- ja-nrf24l01-radiomoduulilla / Huu ni mkutano mfupi sana kuhusu mradi huo. Nilitaka tu kuishiriki ikiwa mtu angesema
Mdhibiti mdogo wa AVR. Pulse Modulation Upana. Mdhibiti wa DC Motor na Mwangaza wa Mwanga wa LED.: 6 Hatua
Mdhibiti mdogo wa AVR. Pulse Modulation Upana. Mdhibiti wa DC Motor na Uzito wa Mwanga wa LED. Halo kila mtu! Pulse Modding Width (PWM) ni mbinu ya kawaida sana katika mawasiliano ya simu na udhibiti wa nguvu. ni kawaida kutumika kudhibiti nguvu inayolishwa kwa kifaa cha umeme, iwe ni motor, LED, spika, n.k kimsingi ni modu