DIY: உங்கள் ஸ்மார்ட்போனுடன் மட்டுமே திறக்கும் உங்கள் வீட்டிற்கு ஸ்மார்ட்லாக் உருவாக்குதல்

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



இந்த பூட்டு செலவில் மிகக் குறைவாக இருக்கும், மேலும் இது சிறிய அளவில் சரியாக வேலை செய்யும். ஒரு Android பயன்பாடு இந்த பூட்டை இயக்க தேவைப்படும். இப்போது, ​​ESP32 ஐ அமைப்பதற்கும், தேவையான தொகுப்புகளை நிறுவுவதற்கும், சில வன்பொருள் மாற்றங்களைச் செய்வதற்கும் நாம் செல்லலாம்!

தானியங்கி டோர்லாக்



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



Android இயக்கப்படும் ஸ்மார்ட்லாக் செய்வது எப்படி?

படி 1: கூறுகளை சேகரித்தல்

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



  • ESP32
  • ஜம்பர் கம்பிகள்
  • சர்வோ மோட்டார்
  • திருகுகள்
  • பூட்டு
  • துரப்பணம் இயந்திரம்

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

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

பெயரிடப்பட்ட எங்கள் கட்டுரையைப் பார்க்கவும் உங்கள் கணினியில் வயர்லெஸ் ஆன் / ஆஃப் சுவிட்ச் சுவிட்சை உருவாக்குதல் ஸ்மார்ட் பூட்டை இயக்க பயன்படும் உங்கள் சொந்த Android பயன்பாட்டை உருவாக்க உதவி எடுக்க.

படி 3: கூறுகளை அசெம்பிளிங் செய்தல்

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



சர்வோ மோட்டாரை எடுத்து அதன் வி.சி.சி மற்றும் தரையை முறையே வி.சி.சி மற்றும் ஈ.எஸ்.பி போர்டின் தரையுடன் இணைக்கவும். உங்கள் சர்வோ மோட்டரின் PWM முள் உங்கள் முள் 34 உடன் இணைக்கவும் ESP32 போர்டு . இப்போது ஒரு சர்வோ மோட்டரில் கியர் வகை குமிழ் இருப்பதைப் பாருங்கள். பூட்டின் சுழற்சியின் கைப்பிடியை வெளியே எடுத்து, சில பசைகள் உதவியுடன் பூட்டில் கியர் மோட்டரின் குமிழியை சரிசெய்யவும்.

இப்போது, ​​துரப்பண இயந்திரத்தின் உதவியுடன், இந்த ஸ்மார்ட் பூட்டை வைக்க விரும்பும் கதவில் சில துளைகளை துளைக்கவும். பூட்டின் துளைகள் கதவின் துளைகளை ஒன்றுடன் ஒன்று இணைக்கும் வகையில் துளைகளை துளையிடுவதை உறுதிசெய்து, திருகு சரிசெய்ய வழி வகுக்கும்.

படி 4: வேலை

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

ESP32 இந்த திட்டத்தின் இதயம். இந்த போர்டுடன் ஒரு சர்வோ மோட்டார் இணைக்கப்பட்டுள்ளது மற்றும் இந்த மைக்ரோகண்ட்ரோலருக்கு ஃபயர்பேஸ் தரவுத்தளத்துடன் இணைப்பு உள்ளது. பூட்டைத் திறக்க பயன்பாட்டில் உள்ள பொத்தானை அழுத்தும்போது, ​​‘1’ ஃபயர்பேஸ் தரவுத்தளத்தில் தள்ளப்பட்டு, பூட்டை மூட பொத்தானை அழுத்தும்போது, ​​‘0’ ஃபயர்பேஸ் தரவுத்தளத்தில் தள்ளப்படுகிறது. ஈஎஸ்பி வாரியம் இந்த மதிப்பை ஃபயர்பேஸ் தரவுத்தளத்தில் தொடர்ந்து படித்து வருகிறது. 0 இருக்கும் வரை, ESP32 சர்வோ மோட்டாரை அதன் ஆரம்ப நிலையில் இருக்கும்படி வழிநடத்தும். ஃபயர்பேஸில் 1 வந்தவுடன், ஈஎஸ்பி போர்டு அதைப் படித்து, பூட்டைத் திறக்கும் ஒரு சுழற்சியைச் செய்ய சர்வோ மோட்டரிடம் சொல்லும்.

படி 5: ESP32 உடன் தொடங்குதல்

இதற்கு முன்பு நீங்கள் Arduino IDE இல் பணியாற்றவில்லை என்றால், கவலைப்பட வேண்டாம், ஏனெனில் Arduino IDE ஐ அமைப்பதற்கான படிப்படியாக கீழே காட்டப்பட்டுள்ளது.

  1. Arduino IDE இன் சமீபத்திய பதிப்பைப் பதிவிறக்கவும் அர்டுயினோ.
  2. உங்கள் Arduino போர்டை PC உடன் இணைத்து கண்ட்ரோல் பேனலைத் திறக்கவும். கிளிக் செய்யவும் வன்பொருள் மற்றும் ஒலி. தற்பொழுது திறந்துள்ளது சாதனங்கள் மற்றும் அச்சுப்பொறி உங்கள் போர்டு இணைக்கப்பட்டுள்ள துறைமுகத்தைக் கண்டறியவும். என் விஷயத்தில் அது COM14 ஆனால் இது வெவ்வேறு கணினிகளில் வேறுபட்டது.

    துறைமுகத்தைக் கண்டறிதல்

  3. கோப்பில் கிளிக் செய்து, முன்னுரிமைகள் என்பதைக் கிளிக் செய்க. இல் பின்வரும் இணைப்பை நகலெடுக்கவும் கூடுதல் வாரிய மேலாளரின் URL. “ https://dl.espressif.com/dl/package_esp32_index.json '

    விருப்பத்தேர்வுகள்

  4. இப்போது, ​​Arduino IDE உடன் ESP32 ஐப் பயன்படுத்த, ESP32 இல் குறியீட்டை எரிக்கவும் அதைப் பயன்படுத்தவும் அனுமதிக்கும் சிறப்பு நூலகங்களை நாம் இறக்குமதி செய்ய வேண்டும். இந்த இரண்டு நூலகங்களும் கீழே கொடுக்கப்பட்டுள்ள இணைப்பில் இணைக்கப்பட்டுள்ளன. நூலகத்தை சேர்க்க, கோட்டோ ஸ்கெட்ச்> நூலகத்தைச் சேர்க்கவும்> ஜிப் நூலகத்தைச் சேர்க்கவும் . ஒரு பெட்டி தோன்றும். உங்கள் கணினியில் ZIP கோப்புறையைக் கண்டுபிடித்து கோப்புறைகளைச் சேர்க்க சரி என்பதைக் கிளிக் செய்க.

    நூலகம் சேர்க்கவும்

  5. இப்போது கோட்டோ ஸ்கெட்ச்> நூலகத்தைச் சேர்க்கவும்> நூலகங்களை நிர்வகிக்கவும்.

    நூலகங்களை நிர்வகிக்கவும்

  6. ஒரு மெனு திறக்கும். தேடல் பட்டியில், தட்டச்சு செய்க Arduino JSON. ஒரு பட்டியல் தோன்றும். நிறுவு பெனாய்ட் பிளாஞ்சன் எழுதிய அர்டுயினோ JSON.

    Arduino JSON

  7. இப்போது கிளிக் செய்யவும் கருவிகள். கீழ்தோன்றும் மெனு தோன்றும். பலகையை அமைக்கவும் ESP தேவ் தொகுதி.

    அமைத்தல் வாரியம்

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

    துறைமுகத்தை அமைத்தல்

  9. இப்போது கீழேயுள்ள இணைப்பில் இணைக்கப்பட்டுள்ள குறியீட்டைப் பதிவேற்றி, பதிவேற்ற பொத்தானைக் கிளிக் செய்து ESP32 மைக்ரோகண்ட்ரோலரில் குறியீட்டை எரிக்கவும்.

    பதிவேற்றவும்

எனவே இப்போது நீங்கள் குறியீட்டைப் பதிவேற்றும்போது, ​​பிழை ஏற்படலாம். நீங்கள் Arduino IDE மற்றும் Arduino JSON இன் புதிய பதிப்பைப் பயன்படுத்தினால் ஏற்படக்கூடிய பொதுவான பிழை இது. பின்வருபவை நீங்கள் திரையில் காணக்கூடிய பிழைகள்.

C: ers பயனர்கள்  Pro  ஆவணங்கள்  Arduino  நூலகங்கள்  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, C இலிருந்து சேர்க்கப்பட்ட கோப்பில்:  பயனர்கள்  Pro  டெஸ்க்டாப்  ஸ்மார்ட்ஹோம்  குறியீடு  code.ino: 2: C : Ers பயனர்கள்  புரோ  ஆவணங்கள்  Arduino  நூலகங்கள்  IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 14: 11: பிழை: StaticJsonBuffer என்பது ArduinoJson 5 இலிருந்து ஒரு வகுப்பு. தயவுசெய்து உங்கள் நிரலை Arduinojson.org/upgrade ஐப் பார்க்கவும் பதிப்பு 6 StaticJsonBuffer jsonBuffer; C C: ers பயனர்கள்  Pro  ஆவணங்கள்  Arduino  நூலகங்கள்  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, C இலிருந்து சேர்க்கப்பட்ட கோப்பில்:  பயனர்கள்  Pro  டெஸ்க்டாப்  ஸ்மார்ட்ஹோம்  குறியீடு  code.ino: 2: சி: ers பயனர்கள்  புரோ  ஆவணங்கள்  அர்டுடினோ  நூலகங்கள்  IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 65: 11: பிழை: StaticJsonBuffer என்பது ArduinoJson 5 இன் ஒரு வகுப்பு. தயவுசெய்து உங்கள் நிரலை எவ்வாறு மேம்படுத்துவது என்பதை அறிய arduinojson.org/upgrade ஐப் பார்க்கவும் ArduinoJson பதிப்பு 6 திரும்ப StaticJsonBuffer (). ParseObject (_data); Wi 'WiFi.h' க்காக பல நூலகங்கள் காணப்பட்டன: C: ers பயனர்கள்  Pro  AppData  உள்ளூர்  Arduino15  தொகுப்புகள்  esp32  வன்பொருள்  esp32  1.0.2  நூலகங்கள்  WiFi பயன்படுத்தப்படவில்லை: C:  நிரல் கோப்புகள் ( x86)  Arduino  நூலகங்கள்  WiFi கோப்புறையில் பதிப்பு 1.0 இல் நூலக வைஃபை பயன்படுத்துதல்: C: ers பயனர்கள்  Pro  AppData  உள்ளூர்  Arduino15  தொகுப்புகள்  esp32  வன்பொருள்  esp32  1.0.2  நூலகங்கள்  WiFi நூலகத்தைப் பயன்படுத்துதல் IOXhop_FirebaseESP32-master கோப்புறையில்: சி: ers பயனர்கள்  புரோ  ஆவணங்கள்  அர்டுடினோ  நூலகங்கள்  IOXhop_FirebaseESP32- மாஸ்டர் (மரபு) நூலகத்தைப் பயன்படுத்தி HTTP கிளையன்ட் பதிப்பு 1.2 இல் கோப்புறையில்: சி: ers பயனர்கள்  புரோ  ஆப் டேட்டா  உள்ளூர்  அர்டுடினோ 15  தொகுப்புகள்  எஸ்பி 32  வன்பொருள்  esp32  1.0.2  நூலகங்கள்  HTTP கிளையண்ட் கோப்புறையில் பதிப்பு 1.0 இல் நூலக WiFiClientSecure ஐப் பயன்படுத்துகிறது: C: ers பயனர்கள்  Pro  AppData  உள்ளூர்  Arduino15  தொகுப்புகள்  esp32  வன்பொருள்  esp32  1.0.2  நூலகங்கள்  WiFiClientSecure நூலகத்தைப் பயன்படுத்தி ArduinoJson கோப்புறையில் பதிப்பு 6.12.0: சி: ers பயனர்கள்  புரோ  ஆவணங்கள்  அர்டுடினோ  நூலகங்கள்  அர்டுடினோஜ்சன் வெளியேறும் நிலை 1 போர்டு ESP32 தேவ் தொகுதிக்கு தொகுப்பதில் பிழை.

கவலைப்பட ஒன்றுமில்லை, ஏனென்றால் சில எளிய வழிமுறைகளைப் பின்பற்றுவதன் மூலம் இந்த பிழைகளை அகற்ற முடியும். Arduino JSON இன் புதிய பதிப்பிற்கு பதிலாக மற்றொரு வகுப்பு இருப்பதால் இந்த பிழைகள் எழுகின்றன நிலையான JsonBuffer. இது JSON 5 இன் வகுப்பு. ஆகவே, எங்கள் Arduino IDE இன் Arduino JSON இன் பதிப்பைக் குறைப்பதன் மூலம் இந்த பிழையை வெறுமனே அகற்றலாம். வெறுமனே செல்லுங்கள் ஸ்கெட்ச்> நூலகத்தைச் சேர்க்கவும்> நூலகங்களை நிர்வகிக்கவும். தேடுங்கள் பெனாய்ட் பிளாஞ்சன் எழுதிய அர்டுயினோ JSON நீங்கள் முன்பு நிறுவியிருக்கிறீர்கள். முதலில் அதை நிறுவல் நீக்கி அதன் பதிப்பை அமைக்கவும் 5.13.5. இப்போது நாம் Arduino JSON இன் பழைய பதிப்பை அமைத்துள்ளதால், அதை மீண்டும் நிறுவி குறியீட்டை மீண்டும் தொகுக்கலாம். இந்த நேரத்தில், உங்கள் குறியீடு வெற்றிகரமாக தொகுக்கப்படும்.

குறியீட்டைப் பதிவிறக்க, கிளிக் செய்க இங்கே.

படி 6: குறியீடு

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

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

# அடங்கும் // வைஃபை பயன்படுத்த நூலகத்தை உள்ளடக்குங்கள் # அடங்கும் // சேவையக மோட்டருக்கான நூலகத்தை உள்ளடக்கு / உங்கள் ஃபயர்பேஸ் அங்கீகாரத்தால் xxxxxxxxx ஐ மாற்றவும் # WIFI_SSID 'xx குறியீட்டை வரையறுக்கவும், xxxxxxx' // எங்கள் வைஃபை இணைப்பின் பெயரால் xxxxxxxxx ஐ மாற்றவும் # WIFI_PASSWORD 'xxxxxxxxx ஐ மாற்றவும்; // சர்வோ மோட்டார் இன்ட் போஸுக்கு பொருளை உருவாக்கு = 0; // மாறி எண்ணை நிலையை உருவாக்குதல்; // மாறியை உருவாக்குதல்

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

void setup () {Serial.begin (115200); // பாட் வீதத்தை அமைத்தல் myservo.attach (34); // சர்வோ மோட்டரின் பி.டபிள்யூ.எம் முள் ESP32 myservo.write (60) இன் pin34 உடன் இணைக்கவும்; தாமதம் (1000); // வைஃபை உடன் இணைக்கவும். WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.println ('இணைக்கும்'); (WiFi.status ()! = WL_CONNECTED) {Serial.print ('.'); தாமதம் (500); } Serial.println (); சீரியல்.பிரண்ட் ('இணைக்கப்பட்டுள்ளது:'); Serial.println (WiFi.localIP ()); ஃபயர்பேஸ்.பெஜின் (FIREBASE_HOST, FIREBASE_AUTH); }

3. வெற்றிட சுழற்சி () ஒரு சுழற்சியில் மீண்டும் மீண்டும் இயங்கும் ஒரு செயல்பாடு. இந்த செயல்பாட்டில், மைக்ரோகண்ட்ரோலரிடம், என்ன செயல்பாடுகளைச் செய்ய வேண்டும், எப்படி என்று சொல்கிறோம். இங்கே, ஃபயர்பேஸிலிருந்து தரவு படிக்கப்பட்டு, பெயரிடப்பட்ட மாறியை int இல் சேமிக்கிறது நிலை . மாநிலத்தில் ‘0’ மதிப்பு இருந்தால், சர்வோ மோட்டரின் நிலை 8 டிகிரிக்கு அமைக்கப்படுகிறது. மாறி நிலையில் உள்ள மதிப்பு ‘1’ க்கு சமமாக இருந்தால், சர்வோ மோட்டரின் நிலை 55 டிகிரிக்கு அமைக்கப்படும்.

void loop () {state = Serial.println (Firebase.getFloat ('motor')); // ஃபயர்பேஸிலிருந்து தரவைப் படியுங்கள் // நிலை '0' என்றால் டிசி மோட்டார் (மாநில == '0') if myservo.write (8) என்றால் அணைக்கப்படும்; // சர்வோ மோட்டார் தாமதத்தின் நிலை (1000); // onw second Serial.println ('கதவு பூட்டப்பட்டது') க்காக காத்திருங்கள்; } else if (state == '1') {myservo.write (55); // சர்வோ மோட்டார் தாமதத்தின் புதிய நிலையை அமைக்கவும் (1000); // ஒரு விநாடிக்கு காத்திருங்கள் Serial.println ('கதவு திறக்கப்படாதது'); Fire // ஃபயர்பேஸ் தோல்வியுற்றால் () பிழையைக் கையாளவும் {சீரியல்.பிரண்ட் ('அமைப்பு / எண் தோல்வியுற்றது:'); Serial.println (Firebase.error ()); திரும்ப; } தாமதம் (1000);