
Orodha ya maudhui:
- Hatua ya 1: Kusanya Sehemu
- Hatua ya 2: Sanidi Raspberry Pi Bila Monitor au Kinanda
- Hatua ya 3: Sakinisha Wiring Pi, Apache na PHP
- Hatua ya 4: Tovuti
- Hatua ya 5: Picha ya Wavuti
- Hatua ya 6: Udhibiti wa mbali wa Webserver
- Hatua ya 7: Funga Mzunguko kwa Raspberry Pi
- Hatua ya 8: Unda Huduma ya Kuanzisha
- Hatua ya 9: Ambatisha Raspberry Pi kwenye Gereji
- Hatua ya 10: Ambatisha Raspberry Pi kwa SECO-LARM
- Hatua ya 11: Tuma Arifa Ikiwa Mlango Uko wazi Wakati Unapaswa Kufungwa
- Hatua ya 12: Weka Raspberry Pi katika Kitabu cha Siri
- Hatua ya 13: Kiambatisho: Marejeo
- Hatua ya 14: Kiambatisho: Sasisho
- Hatua ya 15: Kiambatisho: Utatuzi wa maswali
2025 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2025-06-01 06:10

Niliunda hii inayoweza kufundishwa mnamo 2014. Mengi yamebadilika tangu wakati huo. Mnamo 2021, nilisasisha kopo la Smart Garage Door hapa.
Tumia Raspberry Pi na smartphone kufungua, kufunga na kufuatilia mlango wa karakana. Kufungua na kufunga mlango kunapatikana kwa kutumia vyeti vya kujisaini vilivyowekwa kwenye simu za rununu za familia. Ikiwa mlango wa karakana uko wazi wakati haipaswi kuwa, basi tuma ujumbe mfupi wa maandishi (SMS) kwa simu ya rununu.
Mlango wa karakana umekuwa ukitumika tangu mwisho wa 2014. Kwa miaka mingi, nimejaribu kuweka mabadiliko. Kuna kiambatisho kinachoelezea mabadiliko kwa yanayoweza kufundishwa.
Malengo ya mradi huu ni:
- Fanya kufundisha kwangu kwa kwanza - sikuwa na mpango wa kuchapisha hii, lakini nimepokea maombi mengi
- Fungua mlango wa karakana na rimoti ya kawaida
- Fungua mlango wa karakana na kopo iliyowekwa juu ya ukuta wa karakana ya mlango
- Fungua mlango wa karakana na SmartPhone
- Fuatilia hali ya mlango wa karakana kwa mbali kupitia simu ya rununu au kompyuta ndogo (iko wazi au imefungwa?)
- Tuma ujumbe mfupi kwa simu yangu ya mkononi ikiwa mlango uko wazi wakati unapaswa kufungwa
- Weka mlango wa karakana salama (kwa mfano, juu ya upotezaji wa umeme, mlango haupaswi kufunguliwa)
- Usiruhusu mtu mwingine yeyote kwenye wavu kufungua mlango (njia mbili za cheti cha SSL zilizosainiwa)
- Tumia WiFi badala ya unganisho la waya
- Tumia Raspberry Pi 3
Msingi wa utekelezaji huu wa kopo ya Mlango wa Garage ulitokana na Inayoweza kufundishwa: kopo ya Raspberry Pi Garage Door na quartarian. Hapo awali, nilitumia mfano B + Raspberry Pi, kisha nikahamia Raspberry Pi 2 mfano B, na sasa inatumia Raspberry Pi 3.
Nilitumia MacBook kuwasiliana na Raspberry Pi, lakini kompyuta yoyote inaweza kutumika.
Hakuna sababu ya kulazimisha kujenga kifaa hiki, lakini ilikuwa ya kufurahisha. Ni gharama nafuu zaidi kununua moja. Kifaa kama hicho kinaweza kununuliwa kwa karibu $ 130 USD.
- Inua bwana 828LM
- Chamberlain MyQ $ 129
- Lango la GoGo $ 179
- Fundi $ 100
Vidokezo:
- Maandishi yaliyofungwa katika jembe, kama hii ♣ badala-hii ♣ inapaswa kubadilishwa na thamani halisi
- Nakala ya bluu iliyosisitizwa na Arduino ni kiunga. Katika kesi hii, ni kiunga cha toleo la arduino la kopo ya karakana.
- Nimejaribu kutoa mikopo kwa kila chanzo kinachotumiwa. Samahani yangu kwa kuacha yoyote. Nyaraka nyingi zinategemea kazi za watu wengine.
- $ inaonyesha amri iliyotekelezwa kwenye dirisha la terminal kwenye MacBook na kawaida inatekelezwa kwenye Raspberry Pi
Hatua ya 1: Kusanya Sehemu
Nunua au kukusanya sehemu na zana (bei kwa Dola za Kimarekani).
- Raspberry Pi 3 Mfano B Newark Element14 $ 35
- 5.2V 2.5A Adapter ya Nguvu ya USB kutoka Amazon $ 9.99
- USB ndogo hadi USB cable 6ft kutoka Amazon $ 7.99
- Kesi kutoka Amazon $ 6.99
- Darasa la 10 la SanDisk Ultra 16 GB microSDHC na Adapter (SDSQUAN-016G-G4A) kutoka Amazon $ 8.99
- Moduli ya ShiFounder 2 Channel 5V Relay Shield ya Arduino UNO 2560 1280 ARM PIC AVR STM32 Raspberry Pi - $ 6.79
- 3x waya za Jumper za kike na kike. Imenunuliwa kwa Fry kwa $ 4.95.
- Dynamic DNS $ 40 kwa mwaka kwa majina 30 (dyn.com)
- 1-Kikundi 18 cu. Kazi ya zamani ya Kubadilisha Ukuta Mzito na Sanduku la Outlet, $ 3.12
- Sahani Nyeupe ya Brashi Nyeupe ya Pro Pro, $ 7.88
- SECO-LARM SM 226L, Sensor ya Mlango wa Garage, bei inatofautiana sana, $ 9.99 kwa Amazon na usafirishaji wa bure
- 50ft ya waya Solid thermostat, Home Depot au Lowe's, ~ $ 20
Jumla yangu: ~ $ 172.00
Nilikuwa na sehemu zifuatazo, zana na huduma:
- CAT5 kebo ya Ethernet
- Waya ndogo ya kupima, urefu wa 6 ft
- Bisibisi ya kichwa cha Phillips
- Koleo za pua za sindano
- Wakataji wa sanduku
- Jewelers flathead screw dereva, zinahitajika kulegeza screws kwenye relay
- MacBook (PC inaweza kutumika)
- AT & T GigaPower (mtoa huduma yoyote wa mtandao anaweza kutumika)
Hatua ya 2: Sanidi Raspberry Pi Bila Monitor au Kinanda

Miradi yote ya Raspberry Pi inahitaji aina fulani ya usanidi. Ninapenda kutumia seti hiyo ya maagizo na, inapobidi, kuwa na sehemu moja ya kusasisha maagizo hayo.
Sanidi Raspberry Pi kwa kutumia yafuatayo yafundishayo:
Sanidi Raspberry Pi bila Monitor au Kinanda
Inayoweza kufundishwa hapo juu ni pamoja na hatua za hiari katika kiambatisho. Hakikisha kufanya hatua:
Ongeza kificho cha mteja kwa seva za wavuti
Zima Raspberry Pi
$ sudo kuzima -h 0
Mara baada ya kuzima, ondoa
- kebo ya ethernet
- Cable ya serial ya USB
Hizi hazitahitajika zaidi. Tumia wifi, ssh na dirisha la terminal kwenye Kitabu cha Mac ili kutekeleza amri kwenye Raspberry Pi.
Chomoa nguvu na kuziba nguvu tena, na rasipberry pi inapaswa kuwasha tena.
Hatua ya 3: Sakinisha Wiring Pi, Apache na PHP
Sakinisha Wiring Pi
Fungua dirisha la terminal kwenye Kitabu cha Mac. Ingia kwenye Raspberry Pi, kisha upakue, ujumuishe na usakinishe Wiring Pi. Programu hii inaruhusu udhibiti wa pini za GPIO. Hapa kuna mwongozo wa hatua kwa hatua:
wiringpi.com/download-and-install/
Hapa kuna toleo lililofupishwa la maagizo:
$ ssh pi @ ♣ raspberry-pi-ip ♣
nywila: ♣ nywila sudo $ sudo apt-get install git-core $ git clone git: //git.drogon.net/wiringPi $ cd wiringPi $ git pull origin $./build
Endesha amri ya gpio kuangalia usanidi:
$ gpio -v
toleo la gpio: 2.29 Hakimiliki (c) 2012-2015 Gordon Henderson Hii ni programu ya bure na HAKUNA UHAKIKI KABISA. Kwa maelezo ya aina: gpio -warranty Raspberry Pi Maelezo: Aina: Model 2, Marekebisho: 1.1, Kumbukumbu: 1024MB, Muumba: Sony [OV] Mti wa kifaa umewezeshwa. Hii Raspberry Pi inasaidia ufikiaji wa kiwango cha mtumiaji wa GPIO. -> Tazama ukurasa wa mtu kwa maelezo zaidi $ gpio readall + ----- + ----- + --------- + ------ + --- + --- Pi 2 --- + --- + ------ + --------- + ----- + ----- + | BCM | wPi | Jina | Njia | V | Kimwili | V | Njia | Jina | wPi | BCM | + ----- + ----- + --------- + ------ + --- + ---- ++ ---- + --- + - ----- + --------- + ----- + ----- + | | | 3.3v | | | 1 || 2 | | | 5v | | | | 2 | 8 | SDA.1 | NDANI | 1 | 3 || 4 | | | 5V | | | | 3 | 9 | SCL.1 | NDANI | 1 | 5 || 6 | | | 0v | | | | 4 | 7 | GPIO. 7 | OUT | 1 | 7 || 8 | 1 | ALT0 | TxD | 15 | 14 | | | | 0v | | | 9 || 10 | 1 | ALT0 | RxD | 16 | 15 | | 17 | 0 | GPIO. 0 | NDANI | 0 | 11 || 12 | 0 | NDANI | GPIO. 1 | 1 | 18 | | 27 | 2 | GPIO. 2 | NDANI | 0 | 13 | 14 | | | 0v | | | | 22 | 3 | GPIO. 3 | NDANI | 0 | 15 || 16 | 1 | NDANI | GPIO. 4 | 4 | 23 | | | | 3.3v | | | 17 | 18 | 0 | NDANI | GPIO. 5 | 5 | 24 | | 10 | 12 | MOSI | NDANI | 0 | 19 || 20 | | | 0v | | | | 9 | 13 | MISO | NDANI | 0 | 21 || 22 | 0 | NDANI | GPIO. 6 | 6 | 25 | | 11 | 14 | SCLK | NDANI | 0 | 23 || 24 | 1 | NDANI | CE0 | 10 | 8 | | | | 0v | | | 25 || 26 | 1 | NDANI | CE1 | 11 | 7 | | 0 | 30 | SDA.0 | NDANI | 1 | 27 || 28 | 1 | NDANI | SCL.0 | 31 | 1 | | 5 | 21 | GPIO.21 | NDANI | 1 | 29 || 30 | | | 0v | | | | 6 | 22 | GPIO.22 | NDANI | 1 | 31 || 32 | 0 | NDANI | GPIO.26 | 26 | 12 | | 13 | 23 | GPIO.23 | NDANI | 0 | 33 | 34 | | | 0v | | | | 19 | 24 | GPIO.24 | NDANI | 0 | 35 | 36 | 0 | NDANI | GPIO.27 | 27 | 16 | | 26 | 25 | GPIO.25 | NDANI | 0 | 37 | 38 | 0 | NDANI | GPIO.28 | 28 | 20 | | | | 0v | | | 39 || 40 | 0 | NDANI | GPIO.29 | 29 | 21 | + ----- + ----- + --------- + ------ + --- + ---- ++ ---- + --- + - ----- + --------- + ----- + ----- + | BCM | wPi | Jina | Njia | V | Kimwili | V | Njia | Jina | wPi | BCM | + ----- + ----- + --------- + ------ + --- + --- Pi 2 --- + --- + --- --- + --------- + ----- + ----- +
Amri zilizo hapo juu zinapaswa kukupa ujasiri kwamba wiringPi inafanya kazi sawa.
Sakinisha Apache na PHP
Tumia amri zifuatazo:
$ cd..
$ sudo apt-kupata sasisho $ sudo apt-kupata kufunga apache2 php5 libapache2-mod-php5
Ili kudhibitisha seva ya wavuti inafanya kazi, fungua kivinjari, na kwenye sanduku la URL ingiza:
♣ raspberry-pi-ip ♣
Wavuti chaguo-msingi ya Apache hujibu na "Inafanya kazi!"
Hatua ya 4: Tovuti
Fungua dirisha la terminal kwenye Kitabu cha Mac. Ingia kwa Raspberry Pi, kisha uondoe faili chaguo-msingi ya index.html, badilisha ruhusa kwenye saraka ya wavuti, na uhariri faili inayoitwa index.php.
$ ssh pi @ ♣ raspberry-pi-ip ♣
nywila: ♣ nywila sudo $ sudo rm /var/www/index.html $ sudo chown pi: root / var / www $ sudo nano /var/www/index.php
Na ingiza nambari ifuatayo:
Kopo la karakana
Uendeshaji wa Nyumbani |
---|
Kopo ya mlango wa karakana | Mwongozo wa kopo ya mlango wa karakana | imefungwa 1 | fungua 0 |
CTRL-o na ENTER kuandika faili, na CTRL-x kutoka kwa mhariri.
Badilisha ruhusa kwenye faili
$ sudo chmod 664 /var/www/index.php
Hatua ya 5: Picha ya Wavuti


Shika kopo ya mlango wa karakana yenye azimio kubwa kutoka kwa wavuti. Rekebisha picha kama unavyopenda kutumia brashi ya rangi ya Mac. Katika picha hapo juu, azimio la juu la Genie Garage Opener lilitumika, nembo ya rasipberry pi iliongezwa na uongozi uliondolewa.
Picha moja ni ya nyuma (remote-background.jpg), na nyingine ni picha inayotumika (remote-press.jpg).
Mpango ulikuwa kwamba kwenye kitufe cha kushinikiza, badala ya kupepesa inayoongozwa, rasipberry ingeangaza. Nilirahisisha wavuti.
Nakili picha hizo kwenye raspberry pi:
$ scp *-j.webp
nywila: ♣ nywila ♣
Tovuti ina kitufe kimoja cha kushinikiza. Ili kudhibitisha, fungua kivinjari na ingiza ♣ raspberry-pi-ip ♣. Badala ya tovuti chaguomsingi ya Apache, ambayo inasema "Inafanya kazi!", Kitufe kinapaswa kuonekana. Bonyeza.
Hatua ya 6: Udhibiti wa mbali wa Webserver
Ili iwe rahisi kupata kopo ya Garage ya mlango kutoka eneo la mbali, ninatumia jina la nguvu la DNS. Kwa sababu sipendi kukumbuka anwani za IP.
Nikiwa na huduma hii, ninaingia name jina-mwenyeji la nguvu get.getmyip.com katika uwanja wa URL wa kivinjari. Kumbuka: IP kwenye ruta za nyumbani zinaweza kubadilika bila taarifa, lakini hii hufanyika mara chache. Nilichagua kutumia DynDNS. Utahitaji kujua anwani ya IP ya umma ya router yako.
IP-Verse Router IP: ♣ uverse-public-ip ♣
Unaweza kuona majina yako ya majina na maelezo ya akaunti ya DynDNS Pro. Hapa kuna vidokezo vichache vya kuanza:
-
Unda jina lako la mwenyeji la Dynamic DNS (1 kati ya 30):
- ♣ jina-mwenyeji la nguvu ♣
- Kitufe cha Kiboreshaji: ♣ nguvu-ip-sasisha-ufunguo ♣
-
Sakinisha mteja wa sasisho ili kuhakikisha kuwa jina lako la mwenyeji huelekezwa kwa anwani sahihi ya IP.
- Pakua na usakinishe kwenye MacBook
- IP & A U-aya IPs hubadilika mara chache, kwa hivyo kisasishaji hapo juu kinaweza kuendeshwa wakati wowote kinapobadilika
-
Fuata maelekezo:
- Ongeza akaunti
- Ingiza jina la mtumiaji na nywila: ♣ nguvu-ip-jina la mtumiaji ♣, nguvu-ip-password ♣
- Chagua jina la mwenyeji
- Bonyeza Sanidi Majeshi yaliyochaguliwa
- Mwenyeji anapaswa kuwa hai
-
Sanidi mtandao wako kuruhusu ufikiaji wa kifaa chako kutoka kwa mtandao. Unaweza kutumia mchawi wetu wa Dyn kwa maagizo ya jumla juu ya jinsi ya kufanya hivyo, tumia rasilimali kama vile PortForward.com, au wasiliana na mtengenezaji wa kifaa hicho kwa usaidizi.
- Mstari wa U-AT & T
- Usambazaji wa Bandari kwa waya-2 3801HGV - hii ndio router ya AT & T U-Verse niliyonayo. Tazama Sasisho katika Kiambatisho cha jinsi ya kusambaza mbele kwenye router ya AT&T U-aya 5268ac.
- Fungua kivinjari na nenda kwa ♣ raspberry-pi-ip ♣
- Nenosiri: ♣ nywila ♣
- Mipangilio
-
Firewall
- Chagua name jina raspberry-pi-mwenyeji ♣
- Seva
- Bandari ya Seva ya Mtandao 80
- Seva ya HTTPS - bandari 443
- Ongeza
- Okoa
Mara hii itakapomalizika, webserver itafanya kazi kutoka kwa wavuti. Ili kudhibitisha, ingiza ♣ jina-mwenyeji la nguvu ♣ na unapaswa kuona kitufe cha kufungua mlango wa karakana.
Hatua ya 7: Funga Mzunguko kwa Raspberry Pi

Kwa nambari iliyotolewa (hatua ya 4 na 6), nilitumia pini ya GPIO 7. Ni bahati mbaya kwamba GPIO 7 ni sawa na wiringPi pin 7. Katika nambari ya PHP, nambari za pini za pi hutumiwa na sio nambari za siri za GPIO. Unaweza kutumia yoyote unayotaka, lakini hakikisha ubadilishe nambari.
Nilijaribu kutumia waya iliyopotoka, lakini relay haishiki vizuri kwenye waya iliyopotoka. Waya imara ni bora.
Kwenye jaribio langu la kwanza, niliunda nyaya tatu za kuunganisha (kike-kwa-kiume).
- Tumia nyaya tatu za kike na za kike
-
Kata vipande vitatu vya waya thabiti hadi 1in.
Ukanda 1 / 4in kwenye ncha zote mbili za waya thabiti
- Ingiza waya mmoja thabiti kwenye kebo moja ya kuruka ya kike.
Hapa kuna njia bora ya kuunda nyaya za kuunganisha (kike-kwa-kiume):
- Tumia waya ngumu tu
- Kata vipande vitatu vya waya 4
- Ukanda 1 / 4in kwenye ncha zote mbili za waya thabiti
-
Tumia pini za kuunganisha wanawake
-
Telezesha pini moja ya kuunganisha ya kike upande mmoja wa waya thabiti na crimp
Pini ya kike haifai kutolewa, ikiwa ni lazima
- Slide strain strain juu ya kike kuunganisha pini au kufunika siri na mkanda umeme
-
Washa kupelekwa kwa pi kama inavyoonyeshwa kwenye mchoro:
- Unganisha waya wa mwisho wa kebo kwenye pini ya Raspberry Pi.
- Ingiza waya thabiti kwenye Relay.
Hatua ya 8: Unda Huduma ya Kuanzisha
Relays nyingi pamoja na ile iliyonunuliwa, hufanya kazi kama hii:
- Wakati ishara iko kwenye mzunguko hubaki mbali.
- Wakati ishara imezimwa basi mzunguko umewashwa.
Ikiwa Raspberry Pi inapoteza nguvu, relay ina utaratibu wa usalama ambao huweka mzunguko WA.
Shida inaweza kutokea wakati Rapberry Pi na relay inapata nguvu kurejeshwa, lakini kabla ya Raspberry Pi kumaliza kumaliza kuwasha ishara ON ambayo inahitaji kuzima mzunguko. Unaweza kuamka asubuhi na karakana yako kufunguliwa na uwezekano wa kuwa na marafiki wapya!
Walakini, upeanaji hauanzishi hadi hali ya pini ya GPIO iwekwe kupitia amri hii: gpio mode 7 nje. Kwa kuongezea, ikiwa pini ya GPIO hadi ON (gpio andika 7 1) kabla ya kuweka hali ya GPIO, relay itakaa mbali mara tu itakapoanzishwa.
Kufanya uanzishaji huu uanze kwa buti na usiamke kwa marafiki wapya, tumia hati ifuatayo ya kuanza.
$ ssh pi @ ♣ raspberry-pi-ip ♣
$ sudo nano /etc/init.d/garagerelay
Kisha weka hati hii:
#! / bin / bash
"1 # Anza Gpio / usr / mitaa / bin / gpio mode 7 nje;; stop) echo "Kuacha gpio";; *) echo "Matumizi: /etc/init.d/garagerelay {start | stop}" toka 1;; esac toka 0
Ili kuokoa: CTRL-o, ENTER
Ili kutoka nano, CTRL-x
Fanya faili iweze kutekelezwa:
$ sudo chmod + x /etc/init.d/garagerelay
Sasa mwambie pi yako kuendesha script hii kwenye boot:
$ sudo update-rc.d -f garagerelay kuanza 4
(Kumbuka: Unaweza kupuuza salama onyo la "vitambulisho vya LSB" vya usalama.)
Hakikisha hati ya kuanza inaendesha
$ sudo reboot
Fungua kivinjari na bonyeza kwenye kopo. Relay inapaswa kubonyeza.
Hatua ya 9: Ambatisha Raspberry Pi kwenye Gereji

Wakati wa kusonga Raspberry Pi, hakikisha kukimbia:
$ kuzima -h 0
Unaweza kutaka kuzima umeme kwenye karakana. Kwa hivyo, kopo ya mlango haina kukukamata kwa umeme:). Sababu halisi ni kila wakati unapofupisha waya, mlango utapanda na kushuka.
Tendua screws za ukuta kutoka kwa kopo ya kengele ya mlango, ambayo huunganisha kengele ya mlango.
Vuta shimo kupitia karakana nyuma ya kopo la mlango hadi ndani ya nyumba. Huko Texas, Raspberry Pi haipaswi kuwa kwenye karakana, tofauti ya joto katika karakana iko nje ya maelezo ya utendaji wa Raspberry Pi.
Tumia waya za kupeleka kupitia shimo (tumia kofia ya kanzu).
Fungua screws zote mbili nyuma ya kopo la mlango.
Piga ncha zote mbili za waya zinazopitishwa: 1) karibu inchi 1/8 "ya upande wa kupokezana, na inchi karibu ½" kwenye kengele ya mlango. Pindisha kengele ya mlango wa waya ndani ya kitanzi cha nusu kubwa ya kutosha kutoshea kwenye screw ya nyuma.
Unganisha waya moja ya kupeleka kwa kila screw kwenye upande wa nyuma wa kengele ya mlango, na kaza screw. Viunganisho vimeonyeshwa kwenye picha. Kwa kuwa relay hutenga mzunguko, mwelekeo haujalishi ni relay ipi iliyoambatanishwa na ambayo screw.
Hatua ya 10: Ambatisha Raspberry Pi kwa SECO-LARM


Kabla ya kumaliza nambari, familia yangu na mimi tulikuwa likizo na nilifungua kivinjari changu. Mtazamo wa mwisho wa kivinjari changu ulikuwa wa kufungua mlango wa karakana - ukurasa uliburudishwa na mlango wa karakana kufunguliwa. Siku chache baadaye jirani aliita na kuuliza ikiwa mlango wa karakana unapaswa kuwa wazi? Kwa bahati nzuri, ningeweza kuifunga kutoka maili 500 mbali.
Snafu hii ilinilazimisha kubadilisha nambari ili hii isitokee, na kuongeza sensorer na hali ya mlango wa karakana kwenye wavuti.
Hiki ni kiunga cha mafundisho ya asili ya kuongeza kitambuzi. Walakini, kutokana na kila kitu ambacho tayari kimekamilika, kusanikisha sensa inaweza kurahisishwa sana na badala ya kutumia chatu ongeza mistari kadhaa ya nambari kwa index.php.
Fatal error: Uncaught Error: Call to undefined function exec() in W:\www\langs\.php-gen-lang\v3-core\macros.php(127) : eval()'d code:511 Stack trace: #0 W:\www\langs\.php-gen-lang\v3-core\macros.php(127): eval() #1 W:\www\langs\.php-gen-lang\v3-core\index-global.php(232): Macros->macros_parse('<!DOCTYPE html>...') #2 W:\www\langs\howwhatproduce.com\sw.howwhatproduce.com\index.php(9): require_once('W:\\www\\langs\\.p...') #3 {main} thrown in W:\www\langs\.php-gen-lang\v3-core\macros.php(127) : eval()'d code on line 511