சோனாஃப் பேசிக்கிற்கான விஷுவல் புரோகிராமிங்

சோனாஃப் பேசிக்கிற்கான விஷுவல் புரோகிராமிங்
மலிவான சீன சாதனத்திலிருந்து நிரல்படுத்தக்கூடிய லாஜிக் கன்ட்ரோலரை எவ்வாறு உருவாக்குவது என்பது பற்றிய கட்டுரை. அத்தகைய சாதனம் வீட்டு ஆட்டோமேஷன் மற்றும் பள்ளி கணினி அறிவியலில் நடைமுறை வகுப்புகள் இரண்டிலும் அதன் பயன்பாட்டைக் கண்டறியும்.
குறிப்புக்கு, முன்னிருப்பாக, சீன கிளவுட் சேவை மூலம் மொபைல் பயன்பாட்டுடன் Sonoff Basic நிரல் வேலை செய்கிறது; முன்மொழியப்பட்ட மாற்றத்திற்குப் பிறகு, இந்தச் சாதனத்துடனான அனைத்து தொடர்புகளும் உலாவியில் சாத்தியமாகும்.

பிரிவு I. சோனாப்பை MGT24 சேவையுடன் இணைக்கிறது

படி 1: ஒரு கட்டுப்பாட்டுப் பலகத்தை உருவாக்கவும்

தளத்தில் பதிவு செய்யவும் mgt24 (ஏற்கனவே பதிவு செய்யவில்லை என்றால்) மற்றும் உங்கள் கணக்கைப் பயன்படுத்தி உள்நுழையவும்.
உள்நுழையசோனாஃப் பேசிக்கிற்கான விஷுவல் புரோகிராமிங்

புதிய சாதனத்திற்கான கட்டுப்பாட்டுப் பலகத்தை உருவாக்க, "+" பொத்தானைக் கிளிக் செய்யவும்.
பேனலை உருவாக்குவதற்கான எடுத்துக்காட்டுசோனாஃப் பேசிக்கிற்கான விஷுவல் புரோகிராமிங்

பேனல் உருவாக்கப்பட்டவுடன், அது உங்கள் பேனல்களின் பட்டியலில் தோன்றும்.

உருவாக்கப்பட்ட பேனலின் "அமைவு" தாவலில், "சாதன ஐடி" மற்றும் "அங்கீகார விசை" புலங்களைக் கண்டறியவும்; எதிர்காலத்தில், சோனாஃப் சாதனத்தை அமைக்கும் போது இந்தத் தகவல் தேவைப்படும்.
தாவல் உதாரணம்சோனாஃப் பேசிக்கிற்கான விஷுவல் புரோகிராமிங்

படி 2. சாதனத்தை புதுப்பிக்கவும்

பயன்பாட்டைப் பயன்படுத்துதல் XTCOM_UTIL மென்பொருள் பதிவிறக்க பிஎல்சி சோனாஃப் அடிப்படை சாதனத்திற்கு, இதற்கு உங்களுக்கு USB-TTL மாற்றி தேவைப்படும். இங்கே அறிவுறுத்தல் и வீடியோ அறிவுறுத்தல்.

படி 3. சாதன அமைப்பு

சாதனத்திற்கு சக்தியைப் பயன்படுத்துங்கள், எல்இடி ஒளிர்ந்த பிறகு, பொத்தானை அழுத்தி, எல்இடி அவ்வப்போது சமமாக ஒளிரத் தொடங்கும் வரை அதை அழுத்திப் பிடிக்கவும்.
இந்த நேரத்தில், "PLC Sonoff Basic" என்ற புதிய வைஃபை நெட்வொர்க் தோன்றும், உங்கள் கணினியை இந்த நெட்வொர்க்குடன் இணைக்கவும்.
LED குறிகாட்டியின் விளக்கம்

LED அறிகுறி
சாதனத்தின் நிலை

அவ்வப்போது இரட்டை ஒளிரும்
திசைவிக்கு இணைப்பு இல்லை

தொடர்ந்து பிரகாசிக்கிறது
திசைவியுடன் இணைக்கப்பட்ட இணைப்பு

கால சீரான ஒளிரும்
வைஃபை அணுகல் புள்ளி பயன்முறை

அணைக்கப்படும்
மின்சாரம் இல்லை

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

புலங்களை பின்வருமாறு நிரப்பவும்:

  • "நெட்வொர்க் பெயர்" மற்றும் "கடவுச்சொல்" (சாதனத்தை உங்கள் வீட்டு வைஃபை ரூட்டருடன் இணைக்க).
  • "சாதன ஐடி" மற்றும் "அங்கீகார விசை" (MGT24 சேவையில் சாதனத்தை அங்கீகரிக்க).

சாதன நெட்வொர்க் அளவுருக்களை அமைப்பதற்கான எடுத்துக்காட்டுசோனாஃப் பேசிக்கிற்கான விஷுவல் புரோகிராமிங்

அமைப்புகளைச் சேமித்து சாதனத்தை மறுதொடக்கம் செய்யுங்கள்.
இது வீடியோ அறிவுறுத்தல்.

படி 4. சென்சார்களை இணைத்தல் (விரும்பினால்)

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

பிரிவு II. காட்சி நிரலாக்கம்

படி 1: ஸ்கிரிப்ட்களை உருவாக்கவும்

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

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

சுமையை (1Hz) சுழற்சி முறையில் ஆன் மற்றும் ஆஃப் செய்வதற்கான எடுத்துக்காட்டு காட்சி:
சோனாஃப் பேசிக்கிற்கான விஷுவல் புரோகிராமிங்

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

தெர்மோஸ்டாட்டிற்கான காட்சி (ஹிஸ்டெரிசிஸ் இல்லாமல்):
சோனாஃப் பேசிக்கிற்கான விஷுவல் புரோகிராமிங்

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

படி 2: ஸ்கிரிப்ட்களின் வரிசை

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

படி 3: ஸ்கிரிப்ட்களை பிழைத்திருத்துதல்

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

பிழைத்திருத்த பயன்முறையில் காரணிகளைக் கணக்கிடுவதற்கான காட்சி:
சோனாஃப் பேசிக்கிற்கான விஷுவல் புரோகிராமிங்

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

ஆர்வமுள்ளவர்களுக்கான பகுதி. பேட்டைக்குக் கீழே என்ன இருக்கிறது?

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

இதன் விளைவாக வரும் பைட்கோட் மிகவும் கச்சிதமானது. உதாரணமாக, அதே காரணியைக் கணக்கிடுவதற்கான பைட்கோடு 49 பைட்டுகள் மட்டுமே. இது அதன் காட்சி வடிவம்:
சோனாஃப் பேசிக்கிற்கான விஷுவல் புரோகிராமிங்

இது அவரது அசெம்பிளர் திட்டம்:

shift -1
ldi 10
call factorial, 1
print
exit
:factorial
ld_arg 0
ldi 1
gt
je 8
ld_arg 0
ld_arg 0
ldi 1
sub
call factorial, 1
mul
ret
ldi 1
ret

பிரதிநிதித்துவத்தின் சட்டசபை வடிவம் எந்த நடைமுறை மதிப்பையும் கொண்டிருக்கவில்லை என்றால், "ஜாவாஸ்கிரிட்" தாவல், மாறாக, காட்சித் தொகுதிகளை விட மிகவும் பழக்கமான தோற்றத்தை அளிக்கிறது:

function factorial(num) {
  if (num > 1) {
    return num + factorial(num - 1);
  }
  return 1;
}

window.alert(factorial(10));

செயல்திறன் குறித்து. நான் எளிமையான ஃப்ளாஷர் ஸ்கிரிப்டை இயக்கியபோது, ​​அலைக்காட்டி திரையில் (47 மெகா ஹெர்ட்ஸ் செயலி கடிகார வேகத்தில்) 80 கிலோஹெர்ட்ஸ் சதுர அலை கிடைத்தது.
சோனாஃப் பேசிக்கிற்கான விஷுவல் புரோகிராமிங்சோனாஃப் பேசிக்கிற்கான விஷுவல் புரோகிராமிங்
இது ஒரு நல்ல முடிவு என்று நான் நினைக்கிறேன், குறைந்தபட்சம் இந்த வேகம் கிட்டத்தட்ட பத்து மடங்கு வேகமானது எடுத்து и எஸ்ப்ருயினோ.

இறுதி பகுதி

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

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

ஆதாரம்: www.habr.com

கருத்தைச் சேர்