உங்கள் சொந்த ராஸ்பெர்ரி பை வானிலை நிலையத்தை உருவாக்குங்கள்

Build Your Own Raspberry Pi Weather Station



ராஸ்பெர்ரி பை சென்ஸ் ஹாட் என்பது ராஸ்பெர்ரி பை சிங்கிள் போர்டு கம்ப்யூட்டர்களுடன் பயன்படுத்தக்கூடிய ஒரு ஆன்-ஆன் போர்டு ஆகும். ராஸ்பெர்ரி பை சென்ஸ் தொப்பியில் 8 × 8 எல்இடி டிஸ்ப்ளே மற்றும் 5-பட்டன் ஜாய்ஸ்டிக் உள்ளது, மேலும் இது பின்வரும் சென்சார்களுடன் பொருத்தப்பட்டுள்ளது:

  1. கைரோஸ்கோப்
  2. முடுக்கமானி
  3. காந்த அளவி
  4. வெப்ப நிலை
  5. காற்றழுத்த அழுத்தம்
  6. ஈரப்பதம்

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







  1. நெட்வொர்க் இணைப்புடன் ஒரு ராஸ்பெர்ரி பை 3 அல்லது ராஸ்பெர்ரி பை 4.
  2. ஒரு ராஸ்பெர்ரி பை சென்ஸ் தொப்பி தொகுதி.
  3. மைக்ரோ-யூஎஸ்பி (ராஸ்பெர்ரி பை 3) அல்லது யூஎஸ்பி டைப்-சி (ராஸ்பெர்ரி பை 4) பவர் அடாப்டர்.
  4. ராஸ்பெர்ரி பை ஓஎஸ் கொண்ட 16 ஜிபி அல்லது 32 ஜிபி மைக்ரோ எஸ்டி கார்டு.
  5. விஎன்சி ரிமோட் டெஸ்க்டாப் அணுகல் அல்லது ராஸ்பெர்ரி பைக்கு எஸ்எஸ்ஹெச் அணுகலுக்கான லேப்டாப் அல்லது டெஸ்க்டாப் கணினி.

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



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



ராஸ்பெர்ரி பை சென்ஸ் தொப்பியை ராஸ்பெர்ரி பை உடன் இணைக்கிறது

ராஸ்பெர்ரி பை சென்ஸ் ஹாட் கிட் ராஸ்பெர்ரி பை சென்ஸ் ஹாட் ஆட்-ஆன் போர்டு, 40-முள் ஆண்-பெண் தலைப்பு மற்றும் சில திருகுகள் மற்றும் ஸ்பேசர்களுடன் வருகிறது.





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



ராஸ்பெர்ரி பை சிங்கிள் போர்டு கம்ப்யூட்டர்களில் 4 துளைகள் உள்ளன, அவை ஆட்-ஆன் போர்டுகள் அல்லது ஒரு கேஸை இணைக்கப் பயன்படுகிறது. துணைப் பலகையை இணைக்க, கீழே உள்ள படங்களில் காட்டப்பட்டுள்ளபடி, ராஸ்பெர்ரி பை பின்புறத்திலிருந்து திருகுகளைச் செருகவும்.

பின்னர், ஒரு ஸ்பேசரை திருகுடன் இணைக்கவும்.

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

கீழே உள்ள படங்களில் காட்டப்பட்டுள்ளபடி, ராஸ்பெர்ரி பை சென்ஸ் தொப்பியை ராஸ்பெர்ரி பியின் 40-முள் GPIO ஆண் தலைப்போடு இணைக்கவும்.

குறிப்பு: ராஸ்பெர்ரி Pi GPIO இன் ஊசிகளை வளைப்பதைத் தவிர்க்க ராஸ்பெர்ரி Pi 40-pin GPIO தலைப்பிலிருந்து ராஸ்பெர்ரி பை சென்ஸ் தொப்பியைத் துண்டிக்கும் போது கவனமாக இருங்கள்.

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

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

இப்போது ராஸ்பெர்ரி பை சென்ஸ் ஹாட் ராஸ்பெர்ரி பை உடன் இணைக்கப்பட்டுள்ளது, ராஸ்பெர்ரி பை ஓஎஸ் உடன் மைக்ரோ எஸ்டி கார்டை ராஸ்பெர்ரி பை மைக்ரோ எஸ்டி கார்டு ஸ்லாட்டில் செருகவும், பவர் கேபிளை ராஸ்பெர்ரி பைவுடன் இணைக்கவும், அதை இயக்கவும்.

ராஸ்பெர்ரி பை சென்ஸ் ஹாட் பைதான் நூலகத்தை நிறுவுதல்

ராஸ்பெர்ரி பை மீது ராஸ்பெர்ரி பை சென்ஸ் தொப்பியைப் பயன்படுத்த, தி உணர்வு-தொப்பி பைதான் நூலகம் ராஸ்பெர்ரி பை OS இல் நிறுவப்பட வேண்டும். தி உணர்வு-தொப்பி ராஸ்பெர்ரி பை OS இன் அதிகாரப்பூர்வ தொகுப்பு களஞ்சியத்தில் நூலகம் கிடைக்கிறது.

ராஸ்பெர்ரி பை நிறுவ உணர்வு-தொப்பி ராஸ்பெர்ரி பை OS இல் உள்ள பைதான் நூலகம், முதலில் பின்வரும் கட்டளையுடன் APT தொகுப்பு களஞ்சியத்தை புதுப்பிக்கவும்:

$ sudo apt அப்டேட்

பின்னர், பின்வரும் கட்டளையை இயக்கவும்:

$ sudo apt நிறுவு உணர்வு -தொப்பி -y

ஃபிளாஸ்க் மைக்ரோ வலை கட்டமைப்பின் பைதான் நூலகத்தை நிறுவுதல்

எங்கள் வானிலை பயன்பாட்டை உருவாக்க ஃப்ளாஸ்க் பைதான் கட்டமைப்பைப் பயன்படுத்துவோம். பின்வரும் கட்டளையுடன் ராஸ்பெர்ரி பை OS இன் அதிகாரப்பூர்வ தொகுப்பு களஞ்சியத்திலிருந்து ஃப்ளாஸ்கை நிறுவலாம்:

$ sudo apt python3 -flask -y ஐ நிறுவவும்

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

உங்கள் திட்டக் கோப்புகளை ஒழுங்கமைக்க ஒரு திட்டக் கோப்பகத்தை உருவாக்குவது நல்லது. ஒரு திட்ட கோப்பகத்தை உருவாக்க ~/வேலை பின்வரும் கட்டளையைப் பயன்படுத்தவும்:

$ mkdir ~/வேலை

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

$ cd ~/வேலை

ராஸ்பெர்ரி பை சென்ஸ் தொப்பியை சோதித்தல்

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

$ நானோ test.py

பின்வரும் குறியீட்டை உள்ளிடவும் test.py கோப்பு. வரி 1 இறக்குமதி சென்ஸ்ஹேட் இருந்து உணர்வு_அது தொகுதி, வரி 3 உருவாக்குகிறது சென்ஸ்ஹேட் பொருள் மற்றும் ஒரு குறிப்பை சேமிக்கிறது உணர்வு மாறி, மற்றும் 5-6 வரிகள் அனைத்து 8 × 8 LED களின் நிறத்தையும் சிவப்பு நிறமாக அமைக்கிறது. நீங்கள் முடித்தவுடன், அழுத்தவும் + எக்ஸ் தொடர்ந்து மற்றும் மற்றும் .

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

$ python3 test.py

கீழே உள்ள படத்தில் காட்டப்பட்டுள்ளபடி 8 × 8 LED மேட்ரிக்ஸ் சிவப்பு நிறத்தில் ஒளிர வேண்டும்.

சென்ஸ் தொப்பியின் LED களை அணைக்க, இயக்கவும் தெளிவான () எந்த வண்ண மதிப்பும் இல்லாத முறை test.py கீழே உள்ள ஸ்கிரீன்ஷாட்டில் காட்டப்பட்டுள்ளபடி பைதான் ஸ்கிரிப்ட் மற்றும் அதை இயக்கவும் test.py மீண்டும் பைதான் ஸ்கிரிப்ட்.

கீழே உள்ள படத்தில் காட்டப்பட்டுள்ளபடி, சென்ஸ் தொப்பியின் எல்.ஈ.டி இப்போது அணைக்கப்பட வேண்டும்.

சென்ஸ் தொப்பி சரியாக வேலை செய்தால், அடுத்த பகுதிக்கு செல்லவும்.

சென்ஸ் தொப்பியில் இருந்து வானிலை தரவைப் பெறுதல்

சென்ஸ் ஹேட்டிலிருந்து சென்சார் தரவைப் பயன்படுத்தி மிக எளிதாகப் பெறலாம் உணர்வு-தொப்பி பைதான் நூலகம். சென்ஸ் தொப்பியில் இருந்து சென்சார் தரவை மீட்டெடுக்க, நீங்கள் ஒரு புதிய பைதான் ஸ்கிரிப்டை உருவாக்கலாம் read_sensor_data.py பின்வருமாறு:

$ நானோ read_sensor_data.py

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

இருந்துஉணர்வு_அதுஇறக்குமதிசென்ஸ்ஹேட்
இருந்து நேரம் இறக்குமதிதூங்கு
உணர்வு=சென்ஸ்ஹேட்()
உணர்வு.தெளிவான()
போது உண்மை:
tempC=உணர்வு.வெப்பநிலை_பெறுக()
tempF=tempC *(9/5)+32
அழுத்தம்=உணர்வு.அழுத்தம்_ கிடைக்கும்()
ஈரப்பதம்=உணர்வு.ஈரப்பதம் கிடைக்கும்()

அச்சு('வெப்பநிலை: %.2f ° C/ %. 2f ° F n'%(tempC,tempF))
அச்சு(அழுத்தம்: %.2f எம்பி n'%(அழுத்தம்))
அச்சு(ஈரப்பதம்:%.2f %% n n'%(ஈரப்பதம்))
தூங்கு(5)

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

மேலே உள்ள குறியீட்டில், கோடுகள் 1 மற்றும் 2 தேவையான அனைத்து நூலகங்களையும் இறக்குமதி செய்கின்றன, வரி 4 a ஐ உருவாக்குகிறது சென்ஸ்ஹேட் பொருள், மற்றும் வரி 5 சென்ஸ் தொப்பியின் அனைத்து எல்.ஈ தெளிவான () முறை வரி 7 இல் உள்ள வளையம் எல்லையற்ற வளையமாகும், இது குறியீட்டை 8-16 வரிகளில் என்றென்றும் இயக்கும்.

வரி 8 இல், தி get_ வெப்பநிலை () சென்ஸ் தொப்பியின் ஈரப்பதம் சென்சாரிலிருந்து வெப்பநிலை தரவை (டிகிரி செல்சியஸில்) படிக்க இந்த முறை பயன்படுத்தப்படுகிறது. வரி 9 இல், வெப்பநிலை தரவு டிகிரி செல்சியஸிலிருந்து டிகிரி பாரன்ஹீட்டாக மாற்றப்படுகிறது. வரி 10 ல், தி அழுத்தம்_) சென்ஸ் தொப்பியின் அழுத்தம் சென்சாரிலிருந்து காற்று அழுத்தம் தரவை (மில்லிபாரில்) படிக்க இந்த முறை பயன்படுத்தப்படுகிறது. வரி 11 இல், தி ஈரப்பதம் கிடைக்கும் () சென்ஸ் ஹேட்டின் ஈரப்பதம் சென்சாரிலிருந்து ஈரப்பதம் தரவை ( %இல்) படிக்க இந்த முறை பயன்படுத்தப்படுகிறது.

சென்சார் தரவை கன்சோலுக்கு அச்சிட 13-15 வரிகள் பயன்படுத்தப்படுகின்றன, மேலும் சென்சார் தரவை மீண்டும் படிக்க முன் வரி 16 5 விநாடிகள் காத்திருக்க பயன்படுகிறது.

நீங்கள் இயக்கலாம் read_sensor_data.py பைதான் ஸ்கிரிப்ட் பின்வருமாறு:

$ python3 read_sensor_data.py

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

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

வானிலை நிலைய வலை பயன்பாட்டை உருவாக்குதல்

இந்த பிரிவில், வானிலை ஏபிஐ மற்றும் வானிலை பயன்பாட்டை உருவாக்க பைதான் ஃப்ளாஸ்க் வலை கட்டமைப்பை எவ்வாறு பயன்படுத்துவது என்பதை நாங்கள் உங்களுக்குக் காண்பிப்போம். வானிலை பயன்பாடு வானிலை தரவு API ஐ அணுகும் மற்றும் வானிலை தரவை உண்மையான நேரத்தில் காண்பிக்கும். இந்த பிரிவில் விவாதிக்கப்பட்ட அனைத்து குறியீடும் GitHub இல் கிடைக்கிறது shovon8 / ராஸ்பெர்ரி-பை-உணர்வு-தொப்பி-வானிலை-பயன்பாடு .

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

$ நானோ server.py

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

இருந்துகுடுவைஇறக்குமதிபிளாஸ்க்
இருந்துகுடுவைஇறக்குமதிjsonify
இருந்துகுடுவைஇறக்குமதிரெண்டர்_ டெம்ப்ளேட்
இருந்துகுடுவைஇறக்குமதிurl_for
இருந்துஉணர்வு_அதுஇறக்குமதிசென்ஸ்ஹேட்
செயலி=பிளாஸ்க்(__ பெயர்__)
செயலி.கட்டமைப்பு['SEND_FILE_MAX_AGE_DEFAULT'] = 0
உணர்வு=சென்ஸ்ஹேட்()
உணர்வு.தெளிவான()
உடன்செயலி.test_request_context():
url_for('நிலையான',கோப்பு பெயர்='style.css')
url_for('நிலையான',கோப்பு பெயர்='app.js')
@செயலி.பாதை('/தீ')
டெஃப்தீ():
tempC=உணர்வு.வெப்பநிலை_பெறுக()
tempF=tempC *(9/5)+32
அழுத்தம்=உணர்வு.அழுத்தம்_ கிடைக்கும்()
அழுத்தம் Psi=அழுத்தம் *0.0145038
அழுத்தம் பி=அழுத்தம் *100
ஈரப்பதம்=உணர்வு.ஈரப்பதம் கிடைக்கும்()

திரும்பjsonify({
'வெப்ப நிலை':{ 'சி': tempC, 'எஃப்': tempF},
'அழுத்தம்':{ 'எம்பி': அழுத்தம், 'hPa': அழுத்தம்,
'psi': அழுத்தம் பிஎஸ்ஐ, 'பி': அழுத்தம் பி},
'ஈரப்பதம்': ஈரப்பதம்
})
@செயலி.பாதை('/')
டெஃப்வீடு():
திரும்பரெண்டர்_ டெம்ப்ளேட்('./home.html')

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

மேலே உள்ள குறியீட்டில், 1-5 வரிகள் தேவையான அனைத்து நூலகங்களையும் இறக்குமதி செய்கின்றன, வரி 7 ஒரு பிளாஸ்க் பயன்பாட்டை உருவாக்குகிறது, வரி 11 ஒரு சென்ஸ்ஹாட் பொருளை உருவாக்குகிறது, மற்றும் வரி 12 சென்ஸ் ஹேட்டின் அனைத்து எல்இடிகளையும் அணைக்கிறது. வரி 8 ஃபிளாஸ்க் பயன்பாட்டிற்கான வலை கேச்சிங்கை முடக்குகிறது. இந்த ஆப் லேசானது என்பதால், கேச்சிங் தேவையில்லை. நீங்கள் பயன்பாட்டை மாற்ற விரும்பினால், இணைய கேச்சிங் முடக்கப்பட்டிருப்பது சோதனையை மிகவும் எளிதாக்கும்.

சென்ஸ் ஹேட்டிலிருந்து சென்சார் தரவை 18-31 வரிகள் படித்து, HTTP GET கோரிக்கையில் APS தரவை JSON வடிவத்தில் திருப்பித் தரவும். /தீ வலை சேவையகத்தின் இறுதிப்புள்ளி. 37-39 வரிகள் வானிலை வலை பயன்பாட்டின் முகப்புப்பக்கத்தை திரும்ப வழங்குகிறது / வலை சேவையகத்தின் இறுதிப்புள்ளி. முகப்புப்பக்கம் இருந்து வழங்கப்படுகிறது வீட்டில். html கோப்பு, இதில் இருக்க வேண்டும் வார்ப்புருக்கள்/ திட்ட கோப்பகத்தின் அடைவு.

அணுகலை அனுமதிக்க 14-16 வரிகள் பயன்படுத்தப்படுகின்றன style.css மற்றும் app.js நிலையான கோப்புகள். இந்த கோப்புகள் அதில் இருக்க வேண்டும் நிலையான/ திட்ட கோப்பகத்தின் அடைவு. தி style.css கோப்பு பாணியில் பயன்படுத்தப்படுகிறது வீட்டில். html முகப்புப்பக்கம் மற்றும் app.js கோப்பு ஏபிஐ தரவைக் கோர பயன்படுகிறது /தீ இறுதிப் புள்ளி மற்றும் வானிலை தரவைப் புதுப்பிக்கவும் வீட்டில். html ஒவ்வொரு 5 வினாடிக்கும் பக்கம்.

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

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

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

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

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


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

< div வர்க்கம்='தரவு-உள்ளடக்கம்'>
< h2 >வெப்ப நிலை</ h2 >
< div வர்க்கம்='தரவு வரிசை'>
< div வர்க்கம்='தரவு செல்' ஐடி='tempC'>
...
</ div >
< div வர்க்கம்='தரவு செல்' ஐடி='tempF'>
...
</ div >
</ div >
</ div >

< div வர்க்கம்='தரவு-உள்ளடக்கம்'>
< h2 >அழுத்தம்</ h2 >
< div வர்க்கம்='தரவு வரிசை'>
< div வர்க்கம்='தரவு செல்' ஐடி='அழுத்தம் எம்பி'>
...
</ div >
< div வர்க்கம்='தரவு செல்' ஐடி='அழுத்தம் பிஎஸ்ஐ'>
...
</ div >
</ div >
< div வர்க்கம்='தரவு வரிசை'>
< div வர்க்கம்='தரவு செல்' ஐடி='அழுத்தம் Hpa'>
...
</ div >
< div வர்க்கம்='தரவு செல்' ஐடி='அழுத்தம் பி'>
...
</ div >
</ div >
</ div >

< div வர்க்கம்='தரவு-உள்ளடக்கம்'>
< h2 >ஈரப்பதம்</ h2 >
< div வர்க்கம்='தரவு வரிசை'>
< div வர்க்கம்='தரவு செல்' ஐடி='ஈரப்பதம்'>
...
</ div >
</ div >
</ div >
</ div >

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

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

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

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

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

@இறக்குமதி URL('https://fonts.googleapis.com/css2?family=Roboto&display=swap');
* {
திணிப்பு: 0;
விளிம்பு: 0;
எழுத்துரு குடும்பம்: 'ரோபோ', சான்ஸ்-செரிஃப்;
}
உடல்{
பின்னணி: # 737373;
}
h1{
காட்சி: தொகுதி;
நிறம்: #79DC7B;
உரை சீரமைப்பு: மையம்;
எழுத்துரு-எடை: 400;
பின்னணி: # 000;
திணிப்பு: 0.5 எம் 0;
}
h2{
காட்சி: தொகுதி;
பின்னணி: # 000;
நிறம்: #fff;
உரை சீரமைப்பு: மையம்;
எழுத்துரு-எடை: 400;
எழுத்துரு அளவு: 1em;
}
.தகவல்-உள்ளடக்கம் {
விளிம்பு: 10px;
எல்லை: 2px திட கருப்பு;
எல்லை-ஆரம்: 5px;
பின்னணி நிறம்: #79DC7B;
}
. தரவு வரிசை {
காட்சி:நெகிழ்வு;
நெகிழ்வு-திசை:வரிசை;
}
.தகவல்-செல் {
அகலம்: 100%;
உயரம்: 80px;
காட்சி:நெகிழ்வு;
சீரமை-உருப்படிகள்: மையம்;
நியாயப்படுத்த-உள்ளடக்கம்: மையம்;
எழுத்துரு-எடை: தைரியமான;
எழுத்துரு அளவு: 1.5 மு;
நிறம்: # 006902;
}
.தகவல்-செல்:வட்டமிடும் {
பின்னணி: # FFE891;
நிறம்: # AA8600;
கர்சர்: சுட்டிக்காட்டி;
}

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

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

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

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

ஜன்னல்.addEventListener('சுமை',முக்கிய);
செயல்பாடுமுக்கிய() {
செயல்பாடுgetAPIData() {
எங்கேhttp= புதியXMLHttpRequest();

http.ஆன்ரெடிஸ்டேட் சேஞ்ச் = செயல்பாடு() {
என்றால்(இந்த.தயார் நிலை === 4 && இந்த.நிலை === 200) {
புதுப்பி(JSON.பகுப்பு(இந்த.பதில் உரை));
}
}

http.திறந்த('பெறு', '/தீ', உண்மை);
http.அனுப்பு();
}


செயல்பாடுபுதுப்பி(apiData) {
எங்கேtempC=ஆவணம்.getElementById('tempC');
எங்கேtempF=ஆவணம்.getElementById('tempF');
எங்கேஅழுத்தம் எம்பி=ஆவணம்.getElementById('அழுத்தம் எம்பி');
எங்கேஅழுத்தம் Psi=ஆவணம்.getElementById('அழுத்தம் பிஎஸ்ஐ');
எங்கேஅழுத்தம் Hpa=ஆவணம்.getElementById('அழுத்தம் Hpa');
எங்கேஅழுத்தம் பி=ஆவணம்.getElementById('அழுத்தம் பி');
எங்கேஈரப்பதம்=ஆவணம்.getElementById('ஈரப்பதம்');

tempC.உள் HTML =parseFloat(apiData.வெப்ப நிலை.சி).சரி செய்யப்பட்டது(2) + '° C';
tempF.உள் HTML =parseFloat(apiData.வெப்ப நிலை.எஃப்).சரி செய்யப்பட்டது(2) + '° F';

அழுத்தம் எம்பி.உள் HTML =parseFloat(apiData.அழுத்தம்.எம்பி).சரி செய்யப்பட்டது(2) + 'எம்பி';
அழுத்தம் Psi.உள் HTML =parseFloat(apiData.அழுத்தம்.psi).சரி செய்யப்பட்டது(2) + 'psi';
அழுத்தம் Hpa.உள் HTML =parseFloat(apiData.அழுத்தம்.hPa).சரி செய்யப்பட்டது(2) + 'hPa';
அழுத்தம் பி.உள் HTML =parseFloat(apiData.அழுத்தம்.பி).சரி செய்யப்பட்டது(2) + 'பி';

ஈரப்பதம்.உள் HTML =parseFloat(apiData.ஈரப்பதம்).சரி செய்யப்பட்டது(2) + '%';
}


செயல்பாடுசெயலி() {
ஜன்னல்.இடைவெளி(செயல்பாடு() {
getAPIData();
}, 5000);
}

செயலி();
}

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

இங்கே, வரி 1 இயங்குகிறது முக்கிய () வலைப்பக்கம் ஏற்றப்பட்டதும் செயல்பாடு. இல் முக்கிய () செயல்பாடு, தி getAPIData () செயல்பாடு அஜாக்ஸைப் பயன்படுத்தி வானிலை ஏபிஐ தரவைப் பெறுகிறது மற்றும் அழைக்கிறது மேம்படுத்தல் () தரவு வெற்றிகரமாகப் பெறப்பட்டவுடன் செயல்பாடு (வரி 10 இல்). தி மேம்படுத்தல் () செயல்பாடு API தரவைப் பயன்படுத்தி வலைப்பக்க உறுப்பைப் புதுப்பிக்கிறது.

வரி 20 இல், தி document.getElementById () ஐடியுடன் வலைப்பக்க உறுப்பின் குறிப்பைப் பெற இந்த முறை பயன்படுத்தப்படுகிறது tempC . ஐடி கொண்ட வலைப்பக்க உறுப்பின் உள்ளடக்கத்தை மாற்ற வரி 28 பயன்படுத்தப்படுகிறது tempC API இலிருந்து வெப்பநிலையுடன் (செல்சியஸில்). அதே வழியில், அனைத்து வலை உறுப்புகளின் உள்ளடக்கங்களும் (வரிகள் 21–26) அந்தந்த API தரவுடன் மாற்றப்படுகின்றன.

இல் செயலி() செயல்பாடு, தி getAPIData () வானிலை பயன்பாட்டில் வானிலை தரவைப் புதுப்பித்த நிலையில் வைத்திருக்க ஒவ்வொரு 5 வினாடிக்கும் (5000 மில்லி விநாடிகள்) அழைக்கப்படுகிறது. இறுதியாக, வரி 46 இல், தி செயலி() செயல்பாடு செயல்படுத்தப்படுகிறது.

வலை பயன்பாட்டை சோதிக்க, பின்வரும் கட்டளையை உள்ளிடவும்:

$ FLASK_APP = server.py flask run --host = 0.0.0.0

வானிலை பயன்பாடு போர்ட் 5000 இல் இயங்க வேண்டும் (இயல்பாக).

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

$ சுருட்டை -s http: // Localhost: 5000/api | json_pp

நீங்கள் பார்க்க முடியும் என, வானிலை ஏபிஐ தரவு கன்சோலில் அச்சிடப்படுகிறது. எனவே, ஏபிஐ வேலை செய்கிறது.

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

சில வினாடிகளுக்குப் பிறகு, வானிலை பயன்பாடு API இலிருந்து வானிலைத் தரவைப் பெற்று முடிக்க வேண்டும்.

எந்த நேரத்திலும், நீங்கள் அழுத்தலாம் + சி வலை சேவையகத்தை நிறுத்த.

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

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

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

$ நானோ வானிலை நிலையம். சேவை

பின்வரும் குறியீட்டின் வரிகளை உள்ளிடவும் வானிலை நிலையம். சேவை கோப்பு.

[அலகு]
விளக்கம் = ராஸ்பெர்ரி பை சென்ஸ் தொப்பியைப் பயன்படுத்தி ராஸ்பெர்ரி பை வானிலை நிலைய வலை பயன்பாடு
பிறகு = network. இலக்கு

[சேவை]
WorkingDirectory =/home/pi/work
சூழல் = FLASK_APP = server.py
சூழல் = FLASK_ENV = உற்பத்தி
ExecStart =/usr/bin/flask run --host = 0.0.0.0
StandardOutput = மரபுரிமை
StandardError = மரபுரிமை
மறுதொடக்கம் = எப்போதும்
பயனர் = பை

[நிறுவு]
WantedBy = multi-user.target

பிறகு, அழுத்தவும் + எக்ஸ் தொடர்ந்து மற்றும் மற்றும் காப்பாற்ற வானிலை நிலையம். சேவை கோப்பு.

நகலெடுக்கவும் வானிலை நிலையம். சேவை க்கு கோப்பு /etc/systemd/system/ பின்வரும் கட்டளையுடன் அடைவு:

$ sudo cp -v வானிலை நிலையம். சேவை/etc/systemd/system/

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

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

தி வானிலை நிலையம் கீழே உள்ள ஸ்கிரீன்ஷாட்டில் காட்டப்பட்டுள்ளபடி systemd சேவை தற்போது செயலற்றதாக இருக்க வேண்டும்.

$ sudo systemctl நிலை வானிலை நிலையம். சேவை

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

$ sudo systemctl வானிலை-நிலையம்.சேவை தொடங்குகிறது

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

$ sudo systemctl நிலை வானிலை நிலையம். சேவை

இப்போது அந்த வானிலை நிலையம் சேவை செயல்படுகிறது, பின்வரும் கட்டளையுடன் ராஸ்பெர்ரி பை OS இன் கணினி தொடக்கத்தில் இதைச் சேர்க்கலாம்:

$ sudo systemctl weather-station.service ஐ இயக்குகிறது

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

$ sudo மறுதொடக்கம்

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

$ sudo systemctl நிலை வானிலை நிலையம். சேவை

பிற சாதனங்களிலிருந்து வானிலை பயன்பாட்டை அணுகுதல்

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

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

$ புரவலன் பெயர் -I

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

முடிவுரை

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