ராஸ்பெர்ரி பை ஹோம் ஆட்டோமேஷனை அமைக்கவும்

Set Up Raspberry Pi Home Automation



வீட்டு ஆட்டோமேஷனுக்கு மிக முக்கியமான ஒன்று, குறைந்த மின்னழுத்த டிசியைப் பயன்படுத்தி உயர் மின்னழுத்த ஏசியைக் கட்டுப்படுத்துவது. ராஸ்பெர்ரி பை இருந்து உயர் மின்னழுத்த ஏசி கட்டுப்படுத்த, நீங்கள் ஒரு 5V ரிலே சுவிட்ச் வேண்டும். ராஸ்பெர்ரி Pi இன் GPIO ஊசிகளைப் பயன்படுத்தி ரிலே சுவிட்சை நீங்கள் கட்டுப்படுத்தலாம். ரிலே சுவிட்ச் பின்னர் ராஸ்பெர்ரி பை மூலம் ஏசி வீட்டு உபகரணங்களை கட்டுப்படுத்தலாம்.

ராஸ்பெர்ரி பை மற்றும் 5V ரிலே சுவிட்சை உங்கள் மொபைல் சாதனத்தில் இருந்து ஒரு விளக்கை ஆன் மற்றும் ஆஃப் செய்ய எப்படி பயன்படுத்துவது என்பதை இந்த கட்டுரை காண்பிக்கும். கட்டுரை உங்கள் நெட்வொர்க்கில் உள்ள எந்த சாதனத்திலிருந்தும் அணுகக்கூடிய மற்றும் உங்கள் வீட்டில் உள்ள எந்த ஏசி வீட்டு உபகரணங்களையும் கம்பியில்லாமல் கட்டுப்படுத்தக்கூடிய ஒரு இணைய பயன்பாட்டை உள்ளடக்கியது. எனவே, எங்கள் எளிய ராஸ்பெர்ரி பை வீட்டு ஆட்டோமேஷன் பரிசோதனையுடன் தொடங்குவோம்.







உங்களுக்கு தேவையான விஷயங்கள்

உங்கள் ராஸ்பெர்ரி பை ஹெட்லெஸ் (SSH அல்லது VNC வழியாக) பயன்படுத்த விரும்பினால், உங்களுக்கு பின்வரும் விஷயங்கள் தேவைப்படும்:



1) ராஸ்பெர்ரி பை 3 அல்லது ராஸ்பெர்ரி பை 4.
2) 5 வி ரிலே சுவிட்ச்.
3) மின் கம்பிகள்.
4) 3 பெண்-பெண் இணைக்கும் கம்பிகள்.
5) ஏசி விளக்கு.
6) ஏசி விளக்கு வைத்திருப்பவர்.
7) ஏசி பிளக்.
8) வயர்கேட்டர் மற்றும் ஸ்ட்ரிப்பர் கருவி.
9) சிஆர்-வி 3 ஸ்க்ரூடிரைவர்.
10) மைக்ரோ- USB (Raspberry Pi 3) அல்லது USB Type-C (Raspberry Pi 4) பவர் அடாப்டர்.
11) ராஸ்பெர்ரி பை ஓஎஸ் கொண்ட 16 ஜிபி அல்லது 32 ஜிபி மைக்ரோ எஸ்டி கார்டு ஒளிரும்.
12) ராஸ்பெர்ரி பை நெட்வொர்க் இணைப்பு.
13) VNC ரிமோட் டெஸ்க்டாப் அணுகல் அல்லது ராஸ்பெர்ரி Pi க்கான SSH அணுகலுக்கான லேப்டாப் அல்லது டெஸ்க்டாப் கணினி.



நீங்கள் SSH அல்லது VNC வழியாக ராஸ்பெர்ரி Pi யை தொலைவிலிருந்து அணுக விரும்பவில்லை என்றால், உங்களுக்கு பின்வருபவை தேவைப்படும்:





14) ஒரு மானிட்டர்.
15) HDMI அல்லது மைக்ரோ-HDMI கேபிள்.
16) ஒரு விசைப்பலகை.
17) ஒரு சுட்டி.

மைக்ரோ எஸ்டி கார்டில் ராஸ்பெர்ரி பை ஓஎஸ் படத்தை ஒளிரச் செய்ய உங்களுக்கு உதவி தேவைப்பட்டால், ராஸ்பெர்ரி பை இமேஜரை எப்படி நிறுவுவது மற்றும் பயன்படுத்துவது என்ற கட்டுரையைப் பார்க்கவும்.



நீங்கள் ராஸ்பெர்ரி பை தொடக்கக்காரராக இருந்தால், ராஸ்பெர்ரி பை மீது ராஸ்பெர்ரி பை ஓஎஸ் நிறுவுவதில் உங்களுக்கு உதவி தேவைப்பட்டால், கட்டுரையைப் பாருங்கள் ராஸ்பெர்ரி பை 4 இல் ராஸ்பெர்ரி பை ஓஎஸ் நிறுவுவது எப்படி.

மேலும், ராஸ்பெர்ரி பை யின் தலையற்ற அமைப்பிற்கு உங்களுக்கு உதவி தேவைப்பட்டால், ராஸ்பெர்ரி பை 4 இல் வெளிப்புற மானிட்டர் இல்லாமல் ராஸ்பெர்ரி பை OS ஐ எவ்வாறு நிறுவுவது மற்றும் கட்டமைப்பது என்ற கட்டுரையைப் பார்க்கவும்.

தேவையான அனைத்து கருவிகளின் படங்களும் கீழே கொடுக்கப்பட்டுள்ளன.

ராஸ்பெர்ரி பை மீது சக்தி

அடுத்து, மின் கேபிளை ராஸ்பெர்ரி பை மற்றும் ராஸ்பெர்ரி பை மீது மின்சாரம் இணைக்கவும்.

ராஸ்பெர்ரி பை இயக்கப்பட்டவுடன், நீங்கள் VNC அல்லது SSH வழியாக ராஸ்பெர்ரி பையுடன் இணைக்கலாம். அல்லது, நேரடியாக விசைப்பலகை, சுட்டி மற்றும் மானிட்டரை ராஸ்பெர்ரி பைக்கு இணைக்கலாம்.

5V ரிலே பின்அவுட்கள்

ஒரு ரிலே அடிப்படையில் ஒரு சுவிட்ச் ஆகும். ஆனால், பாரம்பரிய சுவிட்சைப் போலல்லாமல், ரிலேவை ஒரு சிறிய அளவு டிசி மின்னழுத்தத்தால் கட்டுப்படுத்த முடியும்.

5V ரிலே பயன்படுத்த மிகவும் எளிதானது. இது இரண்டு பக்கங்களைக் கொண்டுள்ளது: ஒரு பக்கம் குறைந்த மின்னழுத்த டிசி (ராஸ்பெர்ரி பை) வழியாக ரிலேவைக் கட்டுப்படுத்தவும், மறுபுறம் ரிலேவின் நிலையைப் பொறுத்து உயர் மின்னழுத்த ஏசியைக் கட்டுப்படுத்தவும் (அதாவது லைட்பல்ப்) பயன்படுத்தப்படுகிறது. .


ஒரு பக்கத்தில், ரிலே இரண்டு எல்இடி (ஒரு சிவப்பு மற்றும் ஒரு பச்சை) மற்றும் மூன்று ஊசிகளையும் கொண்டுள்ளது ( IN, GND, மற்றும் விசிசி ) இந்த மூன்று ஊசிகளும் ராஸ்பெர்ரி பையிலிருந்து ரிலேவைக் கட்டுப்படுத்தப் பயன்படுத்தப்படுகின்றன.

மறுபுறம் உள்ள முதல் இரண்டு ஊசிகளும் ஏசி வீட்டு உபயோகப் பொருளைக் கட்டுப்படுத்தப் பயன்படுகின்றன.

ராஸ்பெர்ரி Pi உடன் 5V ரிலேவை இணைக்கிறது

ராஸ்பெர்ரி Pi உடன் 5V ரிலேவை இணைக்க, உங்களுக்கு மூன்று பெண்-பெண் இணைக்கும் கம்பிகள் தேவைப்படும்.

இணைக்கும் கம்பிகளின் ஒரு பக்கத்தை செருகவும் IN (மஞ்சள் கம்பி), ஜிஎன்டி (கருப்பு கம்பி), மற்றும் விசிசி (சிவப்பு கம்பி) 5V ரிலேவில் உள்ள பின்ஸ், கீழே காட்டப்பட்டுள்ளபடி.


கம்பிகளின் மறுபுறம் கீழே உள்ள படத்தில் காட்டப்பட்டுள்ளபடி, ராஸ்பெர்ரி பியின் GPIO தலைப்பு ஊசிகளுக்குள் செல்கிறது.

சிவப்பு கம்பி உள்ளே செல்ல வேண்டும் பின் 2 (VCC) ராஸ்பெர்ரி பை.
கருப்பு கம்பி உள்ளே செல்ல வேண்டும் பின் 6 (ஜிஎன்டி) ராஸ்பெர்ரி பை.
மஞ்சள் கம்பி உள்ளே செல்ல வேண்டும் பின் 7 (ஜிபிஐஓ 4) ராஸ்பெர்ரி பை.


ராஸ்பெர்ரி Pi உடன் 5V ரிலே இணைக்கப்பட்டவுடன், அது கீழே உள்ள படத்தில் காட்டப்பட்டுள்ளபடி இருக்க வேண்டும்.

உள்நுழைவு பயனருக்கு GPIO அணுகலை அனுமதித்தல்

GPIO ஊசிகளுக்கான அணுகலை அனுமதிக்க, ராஸ்பெர்ரி Pi OS இன் இயல்புநிலை உள்நுழைவு பயனர் பை உடன் சேர்க்கப்பட வேண்டும் gpio குழு.

நீங்கள் சேர்க்கலாம் பை பயனர் gpio பின்வரும் கட்டளையுடன் குழு:

$சூடோபயனர் மாதிரி-ஏஜிgpio $(நான் யார்)


மாற்றங்கள் நடைமுறைக்கு வர, பின்வரும் கட்டளையுடன் Raspberry Pi ஐ மறுதொடக்கம் செய்யுங்கள்:

$சூடோமறுதொடக்கம்

திட்ட கோப்பகத்தை உருவாக்குதல்

அனைத்து திட்டக் கோப்புகளையும் ஒழுங்காக வைத்திருப்பது நல்லது.

திட்ட கோப்புகளை ஒழுங்கமைக்க, திட்ட கோப்பகத்தை உருவாக்கவும் ~/www பின்வரும் கட்டளையுடன் தேவையான துணை அடைவுகள்:

$mkdir -பிவி/www/{வார்ப்புருக்கள், நிலையான}


திட்டக் கோப்பகம் உருவாக்கப்பட்டவுடன், திட்டக் கோப்பகத்திற்கு பின்வருமாறு செல்லவும்:

$குறுவட்டு/www

ராஸ்பெர்ரி Pi இலிருந்து 5V ரிலேவை மாற்றுகிறது

இப்போது நீங்கள் 5V ரிலேவை ராஸ்பெர்ரி பை உடன் இணைத்துள்ளீர்கள், பைதான் நிரலாக்க மொழியைப் பயன்படுத்தி ராஸ்பெர்ரி பைவிலிருந்து ரிலேவை மாற்றுவீர்கள்.

குறிப்பு: மாறுதல் மின்னணுவியலில் பயன்படுத்தப்படும் சொல். மாறுதல் என்பது ஒரு குறிப்பிட்ட மின்னணு சாதனத்தைக் கட்டுப்படுத்துதல் (அதாவது ஆன்/ஆஃப்).

பைதான் நிரலாக்க மொழியைப் பயன்படுத்தி ரிலேவை மாற்ற முயற்சிக்க, திட்டக் கோப்பகத்தில் புதிய பைதான் ஸ்கிரிப்ட் test.py ஐ பின்வருமாறு உருவாக்கவும்:

$நானோtest.py


சோதனையில் பின்வரும் குறியீடுகளின் வரிகளை தட்டச்சு செய்யவும். பைதான் ஸ்கிரிப்ட்.

இருந்துgpiozeroஇறக்குமதிLED
இருந்து நேரம் இறக்குமதிதூங்கு

போது உண்மை:
ரிலே=LED(4)
அச்சு('ரிலே: ஆன்')
தூங்கு(5)

ரிலே.நெருக்கமான()
அச்சு('ரிலே: ஆஃப்')
தூங்கு(5)

நீங்கள் முடித்தவுடன், அழுத்தவும் + எக்ஸ் தொடர்ந்து மற்றும் மற்றும் காப்பாற்ற test.py பைதான் ஸ்கிரிப்ட்.


இங்கே, வரி 1 இறக்குமதி LED இருந்து gpiozero நூலகம் மற்றும் வரி 2 இறக்குமதி செய்கிறது தூங்கு இருந்து செயல்பாடு நேரம் நூலகம்.


6-14 வரிகள் எல்லையற்ற வளையத்திற்குள் உள்ளன.


வரி 6 இல் ஒரு LED ஐ துவக்குகிறது GPIO 4 ராஸ்பெர்ரி பை, உடன் இணைக்கப்பட்டுள்ளது IN ரிலேவின் முள்.


வரிசை 8 ஐப் பயன்படுத்தி ரிலேவை இயக்குகிறது மீது () முறை

வரி 9 கன்சோலில் ஒரு செய்தியை அச்சிடுகிறது அச்சு () செயல்பாடு

வரி 10 அடுத்த குறியீட்டின் செயல்பாட்டை ஐந்து வினாடிகளுக்கு தாமதப்படுத்துகிறது தூங்கு() செயல்பாடு


வரிசை 12 ஐப் பயன்படுத்தி ரிலேவை அணைக்கிறது நெருக்கமான() முறை

அதே வழியில், வரி 9 கன்சோலில் ஒரு செய்தியை அச்சிடுகிறது அச்சு () செயல்பாடு மற்றும் வரி 10 ஐப் பயன்படுத்தி அடுத்த வரி குறியீட்டை 5 விநாடிகள் தாமதப்படுத்துகிறது தூங்கு() செயல்பாடு


அடுத்து, இயக்கவும் test.py பைதான் ஸ்கிரிப்ட் பின்வருமாறு:

$python3 test.py


தி test.py பைதான் ஸ்கிரிப்ட் 5V ரிலேவை மாற்றத் தொடங்க வேண்டும். ஒவ்வொரு ஐந்து வினாடிகளிலும் கிளிக் செய்யும் ஒலியை நீங்கள் கேட்க வேண்டும். ரிலே நிலை மாறும்போது (ஆன் ஆஃப் ஆஃப் அல்லது ஆஃப் ஆஃப் ஆஃப்), அது ஒரு க்ளிக் சத்தம் செய்கிறது. இதன் பொருள் ரிலே சரியாக செயல்படுகிறது.


ரிலே இனிய நிலையில் இருக்கும்போது (சாதாரண செயல்பாடு-ஏசி சுமை துண்டிக்கப்படுகிறது), மட்டுமே வலை கீழே உள்ள படத்தில் நீங்கள் பார்க்கிறபடி, LED ஒளிர வேண்டும்.


ரிலே ஆன்-ஸ்டேட்டில் இருக்கும்போது (ஏசி சுமை இணைக்கப்பட்டுள்ளது), இரண்டும் பச்சை LED மற்றும் தி வலை கீழே உள்ள படத்தில் நீங்கள் பார்க்கிறபடி, LED ஒளிர வேண்டும்.


சோதனை முடிந்ததும், அழுத்தவும் + சி நிறுத்த test.py கையால் எழுதப்பட்ட தாள்.

ஏசி லைட்பல்பை 5 வி ரிலேவுடன் இணைக்கிறது

5V ரிலே இப்போது சரியாக செயல்பட வேண்டும். இப்போது, ​​நீங்கள் உங்கள் ஏசி வீட்டு உபயோகத்தை (ஒரு விளக்கு பல்ப், இந்த வழக்கில்) 5 வி ரிலேவுடன் இணைப்பீர்கள்.

முதலில், மின்விளக்குடன் இணைக்கப்பட்ட கருப்பு மின் கம்பியை ஒரு வயர்கட்டர் மூலம் வெட்டுங்கள்.


மின்விளக்குடன் இணைக்கப்பட்ட கருப்பு மின் கம்பி கம்பி அறுப்பான் மூலம் வெட்டப்பட்டவுடன், கீழே உள்ள படத்தில் காட்டப்பட்டுள்ளபடி அது இருக்க வேண்டும்.


அடுத்து, கீழே உள்ள படத்தில் காட்டப்பட்டுள்ளபடி, சுமார் ½ அங்குல மின் கம்பியை வெளிப்படுத்த வெளிப்புற அடுக்கை அகற்றவும்.


பின்னர், கீழே உள்ள படத்தில் காட்டப்பட்டுள்ளபடி, வெளிப்படும் கம்பிகளை மடியுங்கள்.


CV-3 ஸ்க்ரூடிரைவர் மூலம் ரிலேவின் குறிக்கப்பட்ட திருகுகளை தளர்த்தவும்.


இரண்டு திருகு முனையங்களில் நீங்கள் அகற்றப்பட்ட மற்றும் மடிக்கப்பட்ட வெளிப்பட்ட கம்பிகளைச் செருகவும் மற்றும் CV-3 ஸ்க்ரூடிரைவர் மூலம் திருகுகளை இறுக்கவும்.

ஏசி சுமையை இணைத்த பிறகு ரிலே சுவிட்சை சோதிக்கிறது

ஏசி சுமை 5 வி ரிலேவுடன் இணைக்கப்பட்டவுடன், லைட்பல்ப் பிளக்கை சுவர் சாக்கெட்டுடன் இணைக்கவும்.


இயக்கவும் test.py திட்டக் கோப்பகத்திலிருந்து பைதான் ஸ்கிரிப்ட் பின்வருமாறு:

$python3 test.py


தி test.py பைதான் ஸ்கிரிப்ட் 5 வி ரிலேவை மாற்றத் தொடங்க வேண்டும், இது, உயர் மின்னழுத்த ஏசி மின்விளக்கை ஐந்து வினாடி இடைவெளியில் மாற்றும். ஏசி லைட் பல்ப் ஐந்து விநாடிகள் இருக்க வேண்டும், பிறகு ஐந்து விநாடிகள் இருக்க வேண்டும், மற்றும் பல.

கீழே உள்ள படத்தில் லைட்பல்ப் அணைக்கப்பட்டுள்ளது.


கீழே உள்ள படத்தில் விளக்கெண்ணெய் உள்ளது.


நீங்கள் பார்க்கிறபடி, நாம் ரிலேவை மாற்றலாம் மற்றும் பைத்தான் நிரலாக்க மொழியைப் பயன்படுத்தி உயர் மின்னழுத்த ஏசி விளக்கு கட்டுப்படுத்தலாம். எனவே, அழுத்தவும் + சி நிறுத்த test.py கையால் எழுதப்பட்ட தாள்.

இப்போது அடுத்த பகுதிக்கு செல்லலாம்.

வீட்டு ஆட்டோமேஷன் வலை பயன்பாட்டை எழுதுதல்

இந்த பிரிவில், பைதான் நிரலாக்க மொழியைப் பயன்படுத்தி ஒரு API அடிப்படையிலான வலை பயன்பாட்டை எப்படி எழுதுவது என்பதை நான் உங்களுக்குக் காண்பிப்பேன். வலை உலாவியில் இருந்து ரிலே மற்றும் ரிலேவுடன் இணைக்கப்பட்ட ஏசி வீட்டு உபயோகப்பொருள் (கள்) அல்லது மின் சாதனம் (கள்) ஆகியவற்றைக் கட்டுப்படுத்த நீங்கள் இணைய பயன்பாட்டைப் பயன்படுத்தலாம்.

குறிப்பு: இந்த பிரிவில் காட்டப்பட்டுள்ள அனைத்து குறியீடுகளும் எனது கிட்ஹப் களஞ்சியத்தில் கிடைக்கின்றன shovon8 / ராஸ்பெர்ரி-பை-ஹோம்-ஆட்டோமேஷன் . நீங்கள் விரும்பினால், நீங்கள் எனது கிட்ஹப் களஞ்சியத்தை குளோன் செய்து அனைத்து குறியீடுகளையும் தவிர்க்கலாம்.

திட்டக் கோப்பகத்தில் server.py பைதான் ஸ்கிரிப்டை பின்வருமாறு உருவாக்கவும்:

$நானோserver.py


பின்வரும் குறியீடுகளின் வரிகளை உள்ளிடவும் server.py பைதான் ஸ்கிரிப்ட்.

இருந்துகுடுவைஇறக்குமதிபிளாஸ்க்,jsonify,url_for,ரெண்டர்_ டெம்ப்ளேட்
இருந்துgpiozeroஇறக்குமதிLED
இருந்துuuidஇறக்குமதிuuid4
அறைகள்= {}
அறைகள்['அறை 1'] = [{
'id': uuid4(),
'பெயர்':'ஒளி 1',
'ஐகான்':'fa fa- லைட்பல்ப்',
'நிலை':பொய்,
'ரிலேபின்':4,
'ரிலே இன்ஸ்டன்ஸ்':பொய்
}, {
'id': uuid4(),
'பெயர்':'ரசிகர் 1',
'ஐகான்':'fa fa-fan',
'நிலை':பொய்,
'ரிலேபின்':6,
'ரிலே இன்ஸ்டன்ஸ்':பொய்
}]
அறைகள்['குளியலறை 1'] = [{
'id': uuid4(),
'பெயர்':'ஒளி 1',
'ஐகான்':'fa fa- லைட்பல்ப்',
'நிலை':பொய்,
'ரிலேபின்':5,
'ரிலே இன்ஸ்டன்ஸ்':பொய்
}]
செயலி=பிளாஸ்க்(__ பெயர்__)
செயலி.கட்டமைப்பு['SEND_FILE_MAX_AGE_DEFAULT'] = 0
@செயலி.பாதை('/')
டெஃப்வீடு():
திரும்பரெண்டர்_ டெம்ப்ளேட்('./index.html',அறைகள்=அறைகள்)
டெஃப்மாற்று_அபிலியன்ஸ்_ஸ்டேட்டஸ்(ஐடி):
க்கானஅறைஇல்அறைகள்:
க்கானசாதனம்இல்அறைகள்[அறை]:
என்றால் (சாதனம்['id']) == ஐடி:
என்றால்சாதனம்['ரிலே இன்ஸ்டன்ஸ்']:
சாதனம்['ரிலே இன்ஸ்டன்ஸ்'].நெருக்கமான()
சாதனம்['ரிலே இன்ஸ்டன்ஸ்'] = பொய்
வேறு:
சாதனம்['ரிலே இன்ஸ்டன்ஸ்'] =LED(சாதனம்['ரிலேபின்'])
சாதனம்['ரிலே இன்ஸ்டன்ஸ்'].அன்று()
சாதனம்['நிலை'] = இல்லைசாதனம்['நிலை']
திரும்ப உண்மை
திரும்ப பொய்
@செயலி.பாதை('/சாதனம்/மாற்று/')
டெஃப்appliance_toggle(ஐடி):
திரும்பjsonify({'நிலை': மாற்று_அபிலியன்ஸ்_ஸ்டாடஸ்(ஐடி)})

நீங்கள் முடித்தவுடன், அழுத்தவும் + எக்ஸ் தொடர்ந்து மற்றும் மற்றும் காப்பாற்ற server.py பைதான் ஸ்கிரிப்ட்.


இங்கே, 1-3 வரிகள் அந்தந்த நூலகங்களிலிருந்து தேவையான அனைத்து கூறுகளையும் இறக்குமதி செய்கின்றன.


வரி 5 ஒரு காலியை உருவாக்குகிறது அறைகள் அகராதி இந்த அகராதியில், நாம் இணைய பயன்பாட்டிலிருந்து கட்டுப்படுத்த விரும்பும் அனைத்து ஏசி சாதன விவரங்களையும் சேமிப்போம்.


தி அறைகள் விவரங்கள் 7-29 வரிகளில் சேமிக்கப்படும்.


அறைகளில் ஒன்றின் தரவு கட்டமைப்பைப் பற்றி விவாதிப்போம்.

இங்கே, அறையின் பெயர் இருக்கும் அறை 1. அதனால், அறை 1 என்பதற்கு முக்கியமாகும் அறைகள் அகராதி


தி அறை 1 விசை ஒரு வரிசையை மதிப்பாக வைத்திருக்கிறது. வரிசை கூறுகளின் எண்ணிக்கை அந்த அறையில் உள்ள ஏசி வீட்டு உபயோகப் பொருட்களின் எண்ணிக்கைக்கு சமம், நீங்கள் இணைய பயன்பாட்டிலிருந்து கட்டுப்படுத்த வேண்டும். இந்த வழக்கில், நாங்கள் கட்டுப்படுத்த விரும்பும் இரண்டு ஏசி வீட்டு உபகரணங்கள் எங்களிடம் உள்ளன: ஒளி 1 மற்றும் ரசிகர் 1 .


ஒவ்வொரு வீட்டு உபயோகப் பொருளுக்கும் ஒரு வரையறை உள்ளது ஐடி . தி ஐடி தோராயமாக உருவாக்கப்பட்ட UUID ஆகும். API ஐப் பயன்படுத்தி எந்த அறையை நாம் கட்டுப்படுத்த விரும்புகிறோம் என்பதை அடையாளம் காண இது பயன்படுகிறது.

வீட்டு உபயோகப் பொருட்களில் பின்வருபவை அனைத்தும் உள்ளன:

  • பெயர் (ஒளி 1 இந்த வழக்கில்)
  • ஐகான் (எழுத்துரு அற்புதமான ஐகான் வகுப்பு, நாங்கள் சின்னங்களுக்கு அற்புதமான எழுத்துருவைப் பயன்படுத்துவோம்)
  • நிலை (உண்மை என்றால் அன்று மற்றும் பொய் என்றால் ஆஃப் )
  • ரிலேபின் (ஏசி வீட்டு உபகரணத்துடன் இணைக்கப்பட்ட ரிலேவைக் கட்டுப்படுத்தப் பயன்படுத்தப்படும் ஜிபிஐஓ பின் எண்)
  • ரிலேஇன்ஸ்டன்ஸ் (துவக்கப்பட்டது LED பொருள் gpiozero அந்தந்த GPIO முள் கட்டுப்படுத்தும் பொறுப்பு நூலகம் - ரிலேபின் )


வரி 31 ஒரு பிளாஸ்க் பைதான் வலை சேவையகத்தைத் தொடங்குகிறது.

வரி 32 பிளாஸ்க் வலை சேவையகத்தை கட்டமைக்கிறது.


வரிகள் 34-36 index.html இலிருந்து கோப்பு வார்ப்புருக்கள்/ நீங்கள் வீட்டு ஆட்டோமேஷன் வலை பயன்பாட்டைப் பார்வையிடும்போது அடைவு.

பிளாஸ்க் பயன்படுத்துகிறது ஜிஞ்சா 2 டெம்ப்ளேட்டிங் மொழி index.html கோப்பு. எனவே, நான் தேர்ச்சி பெற்றேன் அறைகள் க்கு அகராதி index.html கோப்பு. ஜிஞ்சா 2 பயன்படுத்தி முகப்புப்பக்கத்தை வழங்குவார் அறைகள் தகவல்கள்.


செயல்பாடு மாற்று_அபிலியன்ஸ்_ஸ்டேடஸ் () 39-52 வரிகளில் வீட்டு உபயோகப் பொருளை ஆஃப் செய்தால் அதை இயக்கவும், வீட்டு உபயோகத்தை உபயோகித்தால் அதை அணைக்கவும் பயன்படுகிறது ஐடி .

அது திரும்பும் உண்மை மாற்று செயல்பாடு வெற்றிகரமாக இருந்தால். பிழை இருந்தால், அது திரும்பும் பொய் .


55-57 வரிகள் வீட்டு உபயோகப் பொருளை மாற்றுவதற்குப் பயன்படுத்தப்படுகின்றன /சாதனம்/மாற்று/ வெப் சர்வரின் ஏபிஐ இறுதிப்புள்ளி. இங்கே, ஐடி வீட்டு உபயோக சாதனத்தின் ஐடி ஆகும்.


உருவாக்கவும் index.html இல் உள்ள கோப்பு வார்ப்புருக்கள்/ உங்கள் திட்டத்தின் அடைவு பின்வருமாறு:

$நானோவார்ப்புருக்கள்/index.html

பின்வரும் குறியீடுகளின் வரிகளை உள்ளிடவும் index.html கையால் எழுதப்பட்ட தாள்.


< html மொழி='மீது'>
< தலை >
< மெட்டா charset='யுடிஎஃப் -8'>
< மெட்டா பெயர்='வியூ போர்ட்' உள்ளடக்கம்='அகலம் = சாதன அகலம், ஆரம்ப-அளவு = 1.0'>
< இணைப்பு rel='ஸ்டைல்ஷீட்' href='{{url_for (' static ', filename =' fontawesome/css/all.min.css ')}}'>
< இணைப்பு rel='ஸ்டைல்ஷீட்' href='{{url_for (' static ', filename =' style.css ')}}' '>
< தலைப்பு >ராஸ்பெர்ரி பை உடன் வீட்டு ஆட்டோமேஷன்</ தலைப்பு >
</ தலை >
< உடல் >
< div ஐடி='உள்ளடக்கம்'>
< h1 >ராஸ்பெர்ரி பை ஹோம் ஆட்டோமேஷன்</ h1 >

{அறைகளில் அறைக்கு % %}
< div வர்க்கம்='அறை'>
< h2 >{{அறை}}</ h2 >
< div வர்க்கம்='உபகரணங்கள்'>
{ % அறைகளில் உள்ள சாதனத்திற்கு [அறை] %}
< div வர்க்கம்='கருவி' ஐடி='{{appliance [' id ']}}'> ='செயலில்'>
< நான் வர்க்கம்='{{appliance [' icon ']}}'></ நான் >
< இடைவெளி >{{appliance ['name']}}</ இடைவெளி >
</ div >
{ % endfor %}
</ div >
</ div >
{ % endfor %}

</ div >

< கையால் எழுதப்பட்ட தாள் src='{{url_for (' static ', filename =' app.js ')}}' வகை='உரை/ஜாவாஸ்கிரிப்ட்'></ கையால் எழுதப்பட்ட தாள் >
</ உடல் >
</ html >

நீங்கள் முடித்தவுடன், அழுத்தவும் + எக்ஸ் தொடர்ந்து மற்றும் மற்றும் காப்பாற்ற index.html கோப்பு.


ஒன்றை உருவாக்கவும் style.css இல் உள்ள கோப்பு நிலையான/ உங்கள் திட்டத்தின் அடைவு பின்வருமாறு:

$நானோநிலையான/style.css


பின்வரும் குறியீடுகளின் வரிகளை உள்ளிடவும் style.css கோப்பு.

@இறக்குமதி URL('https://fonts.googleapis.com/css2?family=BenchNine: [மின்னஞ்சல் பாதுகாக்கப்பட்ட]; 400; 700 & காட்சி = இடமாற்று');

* {
விளிம்பு: 0;
திணிப்பு: 0;
எழுத்துரு குடும்பம்: 'பெஞ்ச்நைன்', சான்ஸ்-செரிஃப்;
}

#உள்ளடக்கம் >h1{
பின்னணி:நேரியல்-சாய்வு(க்குசரி, rgb(112, 24, 163), rgb(86, 127, 240));
நிறம்: #fff;
உரை சீரமைப்பு: மையம்;
திணிப்பு: .5 எம் 0;
}

div. அறை {
விளிம்பு: .5 எம்;
எல்லை: 2px திட rgb(112, 24, 163);
எல்லை-ஆரம்: 5px;
}

div. அறைh2{
/* பின்னணி: rgb (9, 76, 121); */
பின்னணி:நேரியல்-சாய்வு(க்குசரி, rgb(112, 24, 163), rgb(86, 127, 240));
திணிப்பு: 0 0 0 .5 எம்;
நிறம்: #fff;
}

div. உபகரணங்கள் {
விளிம்பு: .5 எம் .5 எம் 0 0;
காட்சி:நெகிழ்வு;
வளைவு-மடக்கு:மடக்கு;
}

div. பயன்பாடு {
எல்லை: 2px திட rgb(112, 24, 163);
எல்லை-ஆரம்: 5px;
அகலம்: 110px;
உயரம்: 120px;
உரை சீரமைப்பு: மையம்;
விளிம்பு: 0 0 .5 எம் .5 எம்;
காட்சி:நெகிழ்வு;
நெகிழ்வு-திசை:நெடுவரிசை;
}

div. பயன்பாடுநான்.fa {
எழுத்துரு அளவு: 4em;
வளைந்து வளரும்: 1;
திணிப்பு-மேல்: 0.3em;
நிறம்: rgb(204, ஐம்பது, ஐம்பது);
}

div. பயன்பாடு[தரவு செயலில்='செயலில்']நான்.fa {
நிறம்: rgb(32, 177, 51);
}

div. பயன்பாடுஇடைவெளி{
காட்சி: தொகுதி;
எழுத்துரு-எடை: தைரியமான;
பின்னணி: rgb(112, 24, 163);
நிறம்: #fff;
}

நீங்கள் முடித்தவுடன், அழுத்தவும் + எக்ஸ் தொடர்ந்து மற்றும் மற்றும் காப்பாற்ற style.css கோப்பு.


ஒன்றை உருவாக்கவும் app.js இல் உள்ள கோப்பு நிலையான/ உங்கள் திட்டத்தின் அடைவு பின்வருமாறு:

$நானோநிலையான/app.js


பின்வரும் குறியீடுகளின் வரிகளை உள்ளிடவும் app.js கோப்பு.

ஜன்னல்.addEventListener('சுமை',முக்கிய);

செயல்பாடுமுக்கிய() {
செயல்பாடுமாற்று பயன்பாடு நிலை(மற்றும்) {
எங்கேஐடி=மற்றும்.பாதை[1].ஐடி;

எங்கேhttp= புதியXMLHttpRequest();

http.ஆன்ரெடிஸ்டேட் சேஞ்ச் = செயல்பாடு() {
என்றால்(இந்த.தயார் நிலை === 4 && இந்த.நிலை === 200) {
என்றால்(JSON.பகுப்பு(இந்த.பதில் உரை).நிலை === உண்மை) {
என்றால்(மற்றும்.பாதை[1].பண்பு உள்ளது('தரவு செயலில்')) {
மற்றும்.பாதை[1].பண்பு நீக்க('தரவு செயலில்')
} வேறு {
மற்றும்.பாதை[1].தொகுப்பு பண்பு('தரவு செயலில்', 'செயலில்')
}
}
}
}

http.திறந்த('பெறு','/சாதனம்/மாற்று/${ஐடி}', உண்மை);
http.அனுப்பு();
}


எங்கேஉபகரணங்கள்=ஆவணம்.getElementsByClassName('கருவி');
க்கான(நான்=0;நான்<உபகரணங்கள்.நீளம்;நான்++) {
உபகரணங்கள்[நான்].addEventListener('கிளிக்',மாற்று பயன்பாடு நிலை);
}
}

நீங்கள் முடித்தவுடன், அழுத்தவும் + எக்ஸ் தொடர்ந்து மற்றும் மற்றும் காப்பாற்ற app.js கோப்பு.


இங்கே, வரி 1 இயங்குகிறது முக்கிய () வலைப்பக்கம் ஏற்றப்பட்டதும் செயல்பாடு.

இல் index.html கோப்பு, ஒவ்வொரு வீட்டு உபயோகப் பொருளும் ஒன்றில் இணைக்கப்பட்டுள்ளது சாதனம் வர்க்கம். வலைப்பக்கத்தில் இருந்து ஒவ்வொரு வீட்டு உபயோகப் பொருளையும் தேர்ந்தெடுத்து இணைப்பதற்கு 26-29 வரிகள் பயன்படுத்தப்படுகின்றன கிளிக் செய்யவும் சாதனத்திற்கு நிகழ்வு. இணையப் பக்கத்திலிருந்து வீட்டு உபயோகப் பொருளை யாராவது கிளிக் செய்யும்போது, ​​தி மாற்று பயன்பாடு நிலை () செயல்பாடு இயங்கும்.


4-23 வரிகளில், தி மாற்று பயன்பாடு நிலை () செயல்பாடு கோர பயன்படுத்தப்படுகிறது /சாதனம்/மாற்று/ கிளிக் செய்த வீட்டு உபயோகப் பொருளின் நிலையை மாற்ற இணைய சேவையகத்தின் இறுதிப்புள்ளி. கோரிக்கை அஜாக்ஸ் மூலம் பின்னணியில் செய்யப்படுகிறது. பதில் கிடைத்தவுடன், அதற்கேற்ப வலைப்பக்கம் புதுப்பிக்கப்படும்.


க்கு செல்லவும் நிலையான/ உங்கள் திட்டக் கோப்பகத்தில் உள்ள அடைவு பின்வருமாறு:

$குறுவட்டுநிலையான/


பின்வரும் கட்டளையுடன் Font Awesome ஐ பதிவிறக்கவும்:

$wgethttps://use.fontawesome.com/வெளியிடுகிறது/v5.15.1/fontawesome-free-5.15.1-web.zip


எழுத்துரு அற்புதம் பதிவிறக்கம் செய்யப்பட்டவுடன், நீங்கள் புதிய ஜிப் கோப்பைக் கண்டுபிடிக்க வேண்டும் fontawesome-free-5.15.1-web.zip இல் நிலையான/ அடைவு

$ls -lh


அன்சிப் செய்யவும் fontawesome-free-5.15.1-web.zip பின்வரும் கட்டளையுடன் கோப்பு:

$அன்சிப்fontawesome-free-5.15.1-web.zip


தி fontawesome-free-5.15.1-web.zip கோப்பு இப்போது நீக்கப்பட வேண்டும்.


புதிய அடைவு fontawesome-free-5.15.1-web/ நிலையான/ கோப்பகத்தில் உருவாக்கப்பட வேண்டும், கீழே உள்ள ஸ்கிரீன்ஷாட்டில் நீங்கள் பார்க்க முடியும்.

$ls -lh

கோப்பகத்திற்கு மறுபெயரிடுங்கள் fontawesome-free-5.15.1-web/ க்கு எழுத்துரு அற்புதம்/ பின்வரும் கட்டளையுடன்:

$எம்வி -விfontawesome-free-5.15.1-web fontawesome


இப்போது, ​​உங்களுக்கு இனி தேவையில்லை fontawesome-free-5.15.1-web.zip கோப்பு. எனவே, அகற்றவும் fontawesome-free-5.15.1-web.zip பின்வரும் கட்டளையுடன் கோப்பு:

$ஆர்எம் -விfontawesome-free-5.15.1-web.zip


தி நிலையான/ கீழே உள்ள ஸ்கிரீன்ஷாட்டில் காட்டப்பட்டுள்ளபடி அடைவு அமைப்பு இருக்க வேண்டும்.

$ls -lh


திட்ட கோப்பகத்திற்கு மீண்டும் செல்லவும் ~/www பின்வருமாறு:

$குறுவட்டு..

வீட்டு ஆட்டோமேஷன் வலை பயன்பாட்டை சோதிக்கிறது

வீட்டு ஆட்டோமேஷன் வலை பயன்பாட்டை சோதிக்க, உங்கள் திட்டக் கோப்பகத்தில் பின்வரும் கட்டளையை இயக்கவும்:

$FLASK_APP= server.py பிளாஸ்க் ரன்


வலை பயன்பாடு உங்கள் ராஸ்பெர்ரி பையின் போர்ட் 5000 இல் கிடைக்க வேண்டும்.


Chromium வலை உலாவியில் இருந்து, வருகை http: // Localhost: 5000 . வீட்டு ஆட்டோமேஷன் வலை பயன்பாடு ஏற்றப்பட வேண்டும்.

கீழே உள்ள படத்தில் சுட்டிக்காட்டப்பட்டுள்ள லைட்பல்ப் ஐகானைக் கிளிக் செய்யவும்.


ஏசி விளக்கு இப்போது இயக்கப்பட வேண்டும். ஐகான் நிறமும் பச்சை நிறமாக மாற வேண்டும், இது விளக்கு எரியும் என்பதைக் குறிக்கிறது.


எனவே, வீட்டு ஆட்டோமேஷன் வலை பயன்பாடு வேலை செய்கிறது. அச்சகம் + சி வலை சேவையகத்தை நிறுத்த.

முகப்பு ஆட்டோமேஷன் வலை பயன்பாட்டிற்கு Systemd சேவையை உருவாக்குதல்

இந்த பிரிவில், வீட்டு ஆட்டோமேஷன் வலை பயன்பாட்டிற்கான ஒரு systemd சேவை கோப்பை எவ்வாறு உருவாக்குவது என்பதை நான் காண்பிப்பேன், இதனால் அது தானாகவே துவக்கத்தில் தொடங்கும்.

முதலில், உருவாக்கவும் raspi-home-automation.service உங்கள் திட்டக் கோப்பகத்தில் கோப்பு பின்வருமாறு:

$நானோraspi-home-automation.service

பின்வரும் வரிகளை raspi-home-automation.service கோப்பில் தட்டச்சு செய்யவும்.

[அலகு]
விளக்கம்= ராஸ்பெர்ரி பை ஹோம் ஆட்டோமேஷன் வலை சேவை
பிறகு= network. இலக்கு
[சேவை]
பணி அடைவு=/வீடு/பை/www
சுற்றுச்சூழல்=FLASK_APP= server.py
சுற்றுச்சூழல்=FLASK_ENV= உற்பத்தி
ExecStart=/usr/நான்/பிளாஸ்க் ரன்--தொகுப்பாளர்= 0.0.0.0
நிலையான வெளியீடு= பரம்பரை
ஸ்டாண்டர்ட் பிழை= பரம்பரை
மறுதொடக்கம்= எப்போதும்
பயனர்= பை
[நிறுவு]
விரும்பியவர்= பல- பயனர் இலக்கு

நீங்கள் முடித்தவுடன், அழுத்தவும் + எக்ஸ் தொடர்ந்து மற்றும் மற்றும் காப்பாற்ற raspi-home-automation.service கோப்பு.


நகலெடுக்கவும் raspi-home-automation.service க்கு கோப்பு /etc/systemd/system/ பின்வரும் கட்டளையுடன் அடைவு:

$சூடோ cp -விraspi-home-automation.service/முதலியன/அமைப்பு/அமைப்பு/


பின்வருமாறு மாற்றங்கள் நடைமுறைக்கு வர systemd டீமன்களை மீண்டும் ஏற்றவும்:

$சூடோsystemctl டீமான்-ரீலோட்


சேர்க்கவும் ராஸ்பி-ஹோம்-ஆட்டோமேஷன் பின்வரும் கட்டளையுடன் ராஸ்பெர்ரி பை OS இன் கணினி தொடக்கத்திற்கான சேவை:

$சூடோsystemctlஇயக்குraspi-home-automation.service


பின்வரும் கட்டளையுடன் ராஸ்பெர்ரி பை மீண்டும் துவக்கவும்:

$சூடோமறுதொடக்கம்


ராஸ்பெர்ரி பை துவங்கியவுடன், தி ராஸ்பி-ஹோம்-ஆட்டோமேஷன் கீழே உள்ள ஸ்கிரீன்ஷாட்டில் நீங்கள் பார்க்க முடியும் என, சேவை செயலில்/இயங்க வேண்டும்.

$சூடோsystemctl நிலை raspi-home-automation.service

பிற சாதனங்களிலிருந்து வீட்டு ஆட்டோமேஷன் வலை பயன்பாட்டை அணுகுதல்

உங்கள் வீட்டு நெட்வொர்க்கில் உள்ள மற்ற சாதனங்களிலிருந்து வீட்டு ஆட்டோமேஷன் வலை பயன்பாட்டை அணுக, உங்கள் ராஸ்பெர்ரி பை சாதனத்தின் ஐபி முகவரியை நீங்கள் தெரிந்து கொள்ள வேண்டும்.

உங்கள் வீட்டு திசைவியின் இணைய மேலாண்மை இடைமுகத்திலிருந்து உங்கள் ராஸ்பெர்ரி பை 4 சாதனத்தின் ஐபி முகவரியை நீங்கள் காணலாம். என் விஷயத்தில், IP முகவரி 192.168.0.103. இது உங்களுக்கு வித்தியாசமாக இருக்கும். எனவே, இனிமேல் எனது ஐபியை உங்களுடையதாக மாற்றுவதை உறுதிப்படுத்திக் கொள்ளுங்கள்.


ராஸ்பெர்ரி பை கன்சோலை அணுகினால், ஐபி முகவரியைக் கண்டுபிடிக்க பின்வரும் கட்டளையை இயக்கலாம்.

$புரவலன் பெயர் -நான்


உங்கள் ராஸ்பெர்ரி பை சாதனத்தின் ஐபி முகவரியை அறிந்தவுடன், உங்கள் வீட்டு நெட்வொர்க்கில் உள்ள எந்த சாதனத்திலிருந்தும் அதை அணுகலாம்.

கீழே உள்ள ஸ்கிரீன்ஷாட்டில் நீங்கள் பார்க்க முடியும் என, எனது ஆண்ட்ராய்டு ஸ்மார்ட்போனிலிருந்து வீட்டு ஆட்டோமேஷன் வலை பயன்பாட்டை அணுகியுள்ளேன்.


லைட் பல்ப் பிளக்கை சுவர் பவர் அவுட்லெட்டில் செருக வேண்டும்.


விளக்கை இயல்பாக அணைக்க வேண்டும்.


ஹோம் ஆட்டோமேஷன் வலை பயன்பாட்டிலிருந்து லைட்பல்ப் ஐகானைத் தட்டினால், லைட்பல்ப் ஐகானின் நிறம் பச்சை நிறமாக மாற வேண்டும், இது விளக்கு எரியும் என்பதைக் குறிக்கிறது.


கீழே உள்ள படத்தில் நீங்கள் பார்க்க முடியும் என, மின்விளக்கு உள்ளது.

முடிவுரை

பைதான் நிரலாக்க மொழியைப் பயன்படுத்தி ராஸ்பெர்ரி பை இருந்து உயர் மின்னழுத்த ஏசி மின் சாதனத்தை கட்டுப்படுத்த 5 வி ரிலேவை எவ்வாறு பயன்படுத்துவது என்பதை இந்த கட்டுரை உங்களுக்குக் காட்டியது. வலை உலாவியில் இருந்து ரிலேவைக் கட்டுப்படுத்த ஏபிஐ அடிப்படையிலான பைதான் ஃப்ளாஸ்க் வலை பயன்பாட்டை எவ்வாறு எழுதுவது என்பதையும் கட்டுரை உங்களுக்குக் காட்டியது. இந்த கட்டுரை ராஸ்பெர்ரி பை பயன்படுத்தி வீட்டு ஆட்டோமேஷனுடன் தொடங்க உதவும்.