பைத்தானுடன் உட்பொதிக்கப்பட்ட அமைப்புகளின் உலகத்தை ஆராயுங்கள். இந்த விரிவான வழிகாட்டி மைக்ரோபைதான், சர்க்யூட் பைதான், வன்பொருள் ஒருங்கிணைப்பு மற்றும் உலகளாவிய பார்வையாளர்களுக்கான நிஜ உலக திட்டங்களை உள்ளடக்கியது.
உலோகத்தில் பைதான்: உட்பொதிக்கப்பட்ட நிரலாக்கம் மற்றும் நுண்செயலிக் ஒருங்கிணைப்பில் ஒரு ஆழமான மூழ்கல்
பல தசாப்தங்களாக, உட்பொதிக்கப்பட்ட அமைப்புகளின் உலகம் - ஸ்மார்ட்வாட்ச்கள் முதல் தொழில்துறை இயந்திரங்கள் வரை அனைத்தையும் இயக்கும் சிறிய கணினிகள் - சி, சி ++ மற்றும் அசெம்பிளி போன்ற குறைந்த-நிலை மொழிகளின் பிரத்யேக களமாக இருந்தது. இந்த மொழிகள் இணையற்ற கட்டுப்பாடு மற்றும் செயல்திறனை வழங்குகின்றன, ஆனால் அவை செங்குத்தான கற்றல் வளைவு மற்றும் நீண்ட மேம்பாட்டு சுழற்சிகளுடன் வருகின்றன. பைத்தானை உள்ளிடவும், அதன் எளிமை, படிக்கக்கூடிய தன்மை மற்றும் பரந்த சுற்றுச்சூழல் அமைப்புக்காக அறியப்பட்ட மொழி. ஒரு காலத்தில் வலை சேவையகங்கள் மற்றும் தரவு அறிவியலுக்கு மட்டுப்படுத்தப்பட்ட பைதான், இப்போது வன்பொருளின் இதயத்திற்கு ஒரு சக்திவாய்ந்த உந்துதலை அளித்து வருகிறது, இது ஒரு புதிய தலைமுறை டெவலப்பர்கள், பொழுதுபோக்கு ஆர்வலர்கள் மற்றும் கண்டுபிடிப்பாளர்களுக்கான மின்னணுவியலை உலகளவில் ஜனநாயகப்படுத்துகிறது.
பைதான் உட்பொதிக்கப்பட்ட நிரலாக்கத்தின் அற்புதமான உலகத்திற்கான உங்கள் விரிவான அறிமுகம் இந்த வழிகாட்டி. பைதான் போன்ற உயர்-நிலை மொழி வன்பொருளை நேரடியாக எவ்வாறு கட்டுப்படுத்த முடியும் என்பதை நாங்கள் ஆராய்வோம், இதை சாத்தியமாக்கும் முக்கிய தளங்களை ஆராய்வோம், மேலும் மென்பொருளிலிருந்து சிலிக்கான் வரை உங்கள் பயணத்தைத் தொடங்க உங்களுக்கு உதவ நடைமுறை உதாரணங்கள் மூலம் நடப்போம்.
பைதான் உட்பொதிக்கப்பட்ட சுற்றுச்சூழல் அமைப்பு: சி பைத்தானை விட அதிகம்
உங்கள் மடிக்கணினியில் நீங்கள் பயன்படுத்தும் நிலையான பைத்தானை (சி பைதான் என்று அழைக்கப்படுகிறது) ஒரு பொதுவான நுண்செயலியில் நிறுவ முடியாது. இந்த சாதனங்களுக்கு மிகவும் வரையறுக்கப்பட்ட ஆதாரங்கள் உள்ளன-நாங்கள் கிலோபைட்டுகள் ரேம் மற்றும் மெகாஹெர்ட்ஸ் செயலாக்க சக்தி பற்றி பேசுகிறோம், இது ஒரு நவீன கணினியில் உள்ள ஜிகாபைட்டுகள் மற்றும் ஜிகாஹெர்ட்ஸுக்கு முற்றிலும் மாறுபட்டது. இந்த இடைவெளியைக் குறைக்க, பைத்தானின் சிறப்பு, மெலிதான செயலாக்கங்கள் உருவாக்கப்பட்டன.
மைக்ரோபைதான்: நுண்செயலிகளுக்கான பைதான்
மைக்ரோபைதான் என்பது பைதான் 3 நிரலாக்க மொழியின் முழுமையான மறு எழுதுதல் ஆகும், இது கட்டுப்படுத்தப்பட்ட வன்பொருளில் இயங்க உகந்ததாக உள்ளது. டேமியன் ஜார்ஜ் உருவாக்கிய இது, நிலையான பைத்தானுடன் முடிந்தவரை இணக்கமாக இருக்கவும், வன்பொருளுக்கு நேரடி, குறைந்த-நிலை அணுகலை வழங்கவும் நோக்கமாக உள்ளது.
- முக்கிய அம்சங்கள்: இது ஒரு ஊடாடும் ரீட்-ஈவால்-பிரிண்ட் லூப் (REPL) ஐ உள்ளடக்கியது, இது ஒரு பலகையில் இணைக்க மற்றும் ஒரு தொகுப்பு படி இல்லாமல் வரி வரியாக குறியீட்டை இயக்க உங்களை அனுமதிக்கிறது. இது மிகவும் திறமையானது, சிறிய நினைவக தடயத்தைக் கொண்டுள்ளது, மேலும் நேரடி வன்பொருள் கட்டுப்பாட்டிற்கு (GPIO, I2C, SPI, முதலியன)
இயந்திரம்போன்ற சக்திவாய்ந்த தொகுதிகளை வழங்குகிறது. - சிறந்தது: அதிகபட்ச செயல்திறன், வன்பொருள் மீதான சிறந்த கட்டுப்பாடு மற்றும் பரந்த அளவிலான நுண்செயலிகளில் இணக்கம் ஆகியவற்றை விரும்பும் டெவலப்பர்கள். இது "உலோகத்திற்கு" நெருக்கமானது மற்றும் பெரும்பாலும் அதிக செயல்திறன்-முக்கியமான பயன்பாடுகளுக்கு சாதகமானது.
சர்க்யூட் பைதான்: தொடக்க நட்பு ஆற்றல் மையம்
சர்க்யூட் பைதான் என்பது மைக்ரோபைத்தானின் ஒரு கிளை ஆகும், இது டூ-இட்-நீங்களே (DIY) எலக்ட்ரானிக்ஸ் இடத்தில் ஒரு முன்னணி நிறுவனமான Adafruit ஆல் உருவாக்கப்பட்டு பராமரிக்கப்படுகிறது. இது மைக்ரோபைத்தானுடன் ஒரு மையத்தைப் பகிர்ந்து கொண்டாலும், அதன் தத்துவம் பயன்பாட்டின் எளிமை மற்றும் கல்வியை மையமாகக் கொண்டது.
- முக்கிய அம்சங்கள்: மைக்ரோகண்ட்ரோலரை உங்கள் கணினிக்கு எவ்வாறு வழங்குகிறது என்பது மிக முக்கியமான அம்சமாகும். நீங்கள் ஒரு சர்க்யூட் பைதான் பலகையைச் செருகும்போது, அது ஒரு சிறிய யூ.எஸ்.பி டிரைவாகத் தோன்றும். இந்த இயக்ககத்தில் உங்கள்
code.pyகோப்பைத் திருத்தி சேமிக்கவும்; பலகை மீண்டும் ஏற்றப்பட்டு உங்கள் புதிய குறியீட்டை தானாக இயக்கும். இது அனைத்து ஆதரவு பலகைகளிலும் ஒரு ஒருங்கிணைந்த API ஐக் கொண்டுள்ளது, அதாவது ஒரு பலகையில் உள்ள சென்சாரைப் படிப்பதற்கான குறியீடு குறைந்தபட்ச மாற்றங்களுடன் வேறொரு பலகையில் வேலை செய்யும். - சிறந்தது: ஆரம்பநிலையினர், கல்வியாளர்கள் மற்றும் விரைவான முன்மாதிரியில் கவனம் செலுத்துபவர்கள். கற்றல் வளைவு மென்மையானது, மற்றும் Adafruit வழங்கும் விரிவான நூலக சுற்றுச்சூழல் அமைப்பு சென்சார்கள், காட்சிகள் மற்றும் பிற கூறுகளை நம்பமுடியாத அளவிற்கு எளிமையாக்குகிறது.
மைக்ரோபைதான் எதிராக சர்க்யூட் பைதான்: ஒரு விரைவான ஒப்பீடு
அவற்றுக்கிடையே தேர்ந்தெடுப்பது பெரும்பாலும் உங்கள் திட்ட இலக்குகள் மற்றும் அனுபவ அளவைப் பொறுத்தது.
- தத்துவம்: மைக்ரோபைதான் வன்பொருள் சார்ந்த அம்சங்கள் மற்றும் செயல்திறனுக்கு முன்னுரிமை அளிக்கிறது. சர்க்யூட் பைதான் எளிமை, நிலைத்தன்மை மற்றும் கற்றலின் எளிமைக்கு முன்னுரிமை அளிக்கிறது.
- பணிப்பாய்வு: மைக்ரோபைத்தானுடன், சாதனத்தின் REPL க்கு இணைக்க மற்றும் கோப்புகளைப் பதிவேற்ற நீங்கள் பொதுவாக Thonny போன்ற ஒரு கருவியைப் பயன்படுத்துகிறீர்கள். சர்க்யூட் பைத்தானுடன், யூ.எஸ்.பி டிரைவில்
code.pyகோப்பை இழுத்து விடுங்கள். - வன்பொருள் ஆதரவு: மைக்ரோபைதான் பல உற்பத்தியாளர்களிடமிருந்து பலவிதமான பலகைகளை ஆதரிக்கிறது. சர்க்யூட் பைதான் முக்கியமாக Adafruit மற்றும் தேர்ந்தெடுக்கப்பட்ட மூன்றாம் தரப்பு கூட்டாளர்களிடமிருந்து வரும் பலகைகளை ஆதரிக்கிறது, ஆனால் அதன் ஆதரவு ஆழமானது மற்றும் நன்கு ஆவணப்படுத்தப்பட்டுள்ளது.
- நூலகங்கள்: சர்க்யூட் பைதான் நிறுவுவதற்கு எளிதான பாரிய, க்யூரேட்டட் நூலகங்களின் தொகுப்பைக் கொண்டுள்ளது. மைக்ரோபைதான் நூலகங்களும் கிடைக்கின்றன, ஆனால் அவை துண்டு துண்டாக இருக்கலாம்.
இந்த வழிகாட்டிக்கு, கருத்துகள் மற்றும் பல குறியீடு எடுத்துக்காட்டுகள் சிறிய மாற்றங்களுடன் இரண்டிற்கும் பொருந்தும். அவை குறிப்பிடத்தக்க இடங்களில் வேறுபாடுகளை சுட்டிக்காட்டுவோம்.
உங்கள் வன்பொருளைத் தேர்ந்தெடுப்பது: நுண்செயலி போர்க்களம்
பைத்தானை இயக்கக்கூடிய நுண்செயலிகளின் (MCU கள்) எண்ணிக்கை சமீபத்திய ஆண்டுகளில் வெடித்துள்ளது. உலகளாவிய பார்வையாளர்களுக்கான மிகவும் பிரபலமான மற்றும் அணுகக்கூடிய விருப்பங்கள் சில இங்கே.
ராஸ்பெர்ரி பை பிகோ & RP2040
முழு அளவிலான ராஸ்பெர்ரி பை கணினியுடன் குழப்பமடையக்கூடாது, பிகோ என்பது தனிப்பயன் RP2040 சிப்பைச் சுற்றி கட்டப்பட்ட குறைந்த விலை, உயர் செயல்திறன் நுண்செயலி பலகை. வன்பொருளில் பைத்தானுக்கு இது ஒரு உலகளாவிய விருப்பமாகிவிட்டது.
- முக்கிய அம்சங்கள்: ஒரு சக்திவாய்ந்த இரட்டை மைய ARM Cortex-M0+ செயலி, தாராளமான 264 KB ரேம், மற்றும் தனிப்பயன் வன்பொருள் இடைமுகங்களை உருவாக்க அனுமதிக்கும் புரோகிராம் செய்யக்கூடிய I/O (PIO) எனப்படும் தனித்துவமான அம்சம். புதிய பிகோ W மாதிரி ஆன்-போர்டு Wi-Fi ஐ சேர்க்கிறது.
- பைத்தானுக்கு இது ஏன் சிறந்தது: இது மைக்ரோபைத்தானுக்கான அதிகாரப்பூர்வ, முதல்-வகுப்பு ஆதரவைக் கொண்டுள்ளது, மேலும் சர்க்யூட் பைத்தானால் நன்கு ஆதரிக்கப்படுகிறது. அதன் குறைந்த விலை புள்ளி (பெரும்பாலும் $10 அமெரிக்க டாலர்களுக்கு கீழ்) மற்றும் வலுவான செயல்திறன் அதை நம்பமுடியாத மதிப்பாக ஆக்குகிறது.
Espressif ESP32 & ESP8266
ஷாங்காய் சார்ந்த நிறுவனமான Espressif சிஸ்டம்ஸ் தயாரித்த ESP சிப் குடும்பம் IoT இன் மறுக்க முடியாத சாம்பியன்கள். அவை ஒருங்கிணைந்த Wi-Fi மற்றும் புளூடூத் திறன்களுக்காக அறியப்படுகின்றன, இது இணைக்கப்பட்ட திட்டங்களுக்கான இயல்புநிலை தேர்வாக அமைகிறது.
- முக்கிய அம்சங்கள்: சக்திவாய்ந்த ஒற்றை அல்லது இரட்டை-கோர் செயலிகள், உள்ளமைக்கப்பட்ட Wi-Fi மற்றும் (ESP32 இல்) புளூடூத். அவை உலகம் முழுவதிலுமிருந்து ஆயிரக்கணக்கான வெவ்வேறு மேம்பாட்டு பலகைகளில் கிடைக்கின்றன.
- பைத்தானுக்கு அவை ஏன் சிறந்தவை: சிறந்த மைக்ரோபைதான் ஆதரவு பைதான் குறியீட்டின் ஒரு சில வரிகளைக் கொண்டு இணைக்கப்பட்ட சாதனங்களை உருவாக்க உங்களை அனுமதிக்கிறது. அவற்றின் செயலாக்க சக்தி வலை சேவையகங்களை இயக்குவது அல்லது பல சென்சார்களிலிருந்து தரவைக் கையாளுவது போன்ற சிக்கலான பணிகளுக்கு போதுமானதாக உள்ளது.
Adafruit இறகு, ItsyBitsy, மற்றும் Trinket சுற்றுச்சூழல் அமைப்புகள்
Adafruit தரப்படுத்தப்பட்ட படிவ காரணிகளில் பரந்த அளவிலான பலகைகளை வழங்குகிறது. இவை குறிப்பிட்ட சில்லுகள் அல்ல, மாறாக சர்க்யூட் பைதான் சுற்றுச்சூழல் அமைப்பிற்குள் தடையின்றி செயல்பட வடிவமைக்கப்பட்ட தயாரிப்பு குடும்பங்கள்.
- முக்கிய அம்சங்கள்: இறகு குடும்பத்தில் உள்ள பலகைகள் ஒரு பொதுவான பின்அவுட்டைப் பகிர்ந்து கொள்கின்றன, அவை ஒன்றோடொன்று மாறக்கூடியதாக இருக்கும். பலவற்றில் உள்ளமைக்கப்பட்ட பேட்டரி சார்ஜிங் சுற்றுகள் மற்றும் இணைப்பிகள் உள்ளன. அவை RP2040, ESP32 மற்றும் பிற உள்ளிட்ட பல்வேறு நுண்செயலிகளுடன் கிடைக்கின்றன.
- பைத்தானுக்கு அவை ஏன் சிறந்தவை: அவை சர்க்யூட் பைத்தானுக்காக தரையிலிருந்து வடிவமைக்கப்பட்டுள்ளன. இந்த இறுக்கமான ஒருங்கிணைப்பு நூற்றுக்கணக்கான நூலகங்கள் மற்றும் பயிற்சிகளுக்கான அணுகலுடன் மென்மையான, பிளக்-அண்ட்-ப்ளே அனுபவத்தைக் குறிக்கிறது.
தொடங்குதல்: வன்பொருளில் உங்கள் முதல் "ஹலோ, வேர்ல்டு"
கோட்பாட்டிலிருந்து நடைமுறைக்கு நகர்வோம். உட்பொதிக்கப்பட்ட நிரலாக்கத்தின் பாரம்பரிய "ஹலோ, வேர்ல்ட்" ஒரு எல்.ஈ.டியை ஒளிரச் செய்கிறது. உங்கள் குறியீடு எடிட்டர் முதல் பலகையில் உள்ள நிலைப்பொருள் வரை உங்கள் முழு கருவி சங்கிலியும் சரியாக வேலை செய்கிறது என்பதை இந்த எளிய செயல் உறுதிப்படுத்துகிறது.
முன்தேவைகள்
- ஆதரவுள்ள நுண்செயலி பலகை (எ.கா., ராஸ்பெர்ரி பை பிகோ, ESP32 அல்லது Adafruit பலகை).
- தரவு பரிமாற்றத்தை ஆதரிக்கும் ஒரு யூ.எஸ்.பி கேபிள் (சார்ஜிங் மட்டும் அல்ல).
- ஒரு கணினி (விண்டோஸ், மேகோஸ் அல்லது லினக்ஸ்).
படி 1: நிலைப்பொருளை நிறுவுங்கள்
உங்கள் பலகைக்கு மைக்ரோபைதான் அல்லது சர்க்யூட் பைதான் மொழிபெயர்ப்பாளர் நிறுவப்பட வேண்டும். இது "நிலைப்பொருளை ஒளிரச் செய்தல்" என்று அழைக்கப்படுகிறது.
- சர்க்யூட் பைத்தானுக்கு: circuitpython.org ஐப் பார்வையிடவும், உங்கள் பலகையைக் கண்டுபிடித்து
.uf2கோப்பைப் பதிவிறக்கவும். உங்கள் பலகையை பூட்லோடர் பயன்முறையில் வைக்கவும் (இது வழக்கமாக ஒரு "BOOT" அல்லது "RESET" பொத்தானைப் பிடித்துக் கொண்டிருக்கும் போது அதைச் செருகும்). இது ஒரு யூ.எஸ்.பி டிரைவாகத் தோன்றும். பதிவிறக்கம் செய்யப்பட்ட.uf2கோப்பை அதில் இழுக்கவும். இயக்கி வெளியேற்றப்பட்டு மீண்டும் தோன்றும், இப்போது CIRCUITPY என்று பெயரிடப்பட்டது. - மைக்ரோபைத்தானுக்கு: micropython.org ஐப் பார்வையிடவும், உங்கள் பலகையைக் கண்டுபிடித்து நிலைப்பொருள் கோப்பைப் பதிவிறக்கவும் (பெரும்பாலும் ஒரு
.uf2அல்லது.binகோப்பு). செயல்முறை ஒத்திருக்கிறது: பலகையை பூட்லோடர் பயன்முறையில் வைத்து கோப்பை நகலெடுக்கவும்.
படி 2: உங்கள் எடிட்டரை அமைக்கவும்
எந்த உரை எடிட்டரையும் பயன்படுத்தலாம் என்றாலும், ஒரு பிரத்யேக IDE மேம்பாட்டை மிகவும் எளிதாக்குகிறது. Thonny IDE ஆரம்பநிலையாளர்களுக்கு மிகவும் பரிந்துரைக்கப்படுகிறது. இது இலவசம், குறுக்கு-தளம் மற்றும் மைக்ரோபைதான் மற்றும் சர்க்யூட் பைத்தானுக்கான உள்ளமைக்கப்பட்ட ஆதரவுடன் வருகிறது. இது உங்கள் பலகையை தானாகவே கண்டறிந்து, சாதனத்தின் REPL க்கு அணுகலை வழங்குகிறது மற்றும் கோப்புகளை பதிவேற்றுவதை எளிதாக்குகிறது.
படி 3: ஒளிரும் LED குறியீடு
இப்போது குறியீட்டிற்கு. மைக்ரோபைத்தானுக்கு main.py என்ற புதிய கோப்பை உருவாக்கவும் அல்லது சர்க்யூட் பைத்தானுக்கான இருக்கும் code.py கோப்பைத் திருத்தவும்.
ராஸ்பெர்ரி பை பிகோ டபிள்யூவில் மைக்ரோபைத்தானுக்கான எடுத்துக்காட்டு:
import machine
import utime
# பிகோ W இல் உள்ள போர்டு எல்.ஈ.டி ஒரு சிறப்பு பெயரின் மூலம் அணுகப்படுகிறது
led = machine.Pin("LED", machine.Pin.OUT)
while True:
led.toggle()
print("LED toggled!")
utime.sleep(0.5) # அரை விநாடி காத்திருக்கவும்
பெரும்பாலான Adafruit பலகைகளில் சர்க்யூட் பைத்தானுக்கான எடுத்துக்காட்டு:
import board
import digitalio
import time
# போர்டு எல்.ஈ.டி வழக்கமாக 'LED' என்ற பெயரிடப்பட்ட ஒரு பின்னுடன் இணைக்கப்பட்டுள்ளது
led = digitalio.DigitalInOut(board.LED)
led.direction = digitalio.Direction.OUTPUT
while True:
led.value = not led.value
print("LED toggled!")
time.sleep(0.5)
குறியீடு முறிவு:
import: வன்பொருளைக் கட்டுப்படுத்த (machine,digitalio,board) மற்றும் நேரத்தை நிர்வகிக்க (utime,time) நூலகங்களை இறக்குமதி செய்கிறோம்.- பின் அமைப்பு: எந்த உடல் ரீதியான பின்னை கட்டுப்படுத்த விரும்புகிறோம் (போர்டு எல்.ஈ.டி) என்பதை வரையறுத்து, அதை வெளியீடாக உள்ளமைக்கிறோம்.
- லூப்:
while True:லூப் என்றென்றும் இயங்குகிறது. சுழற்சிக்குள், எல்.ஈ.டியின் நிலையை (ஆன் ஆஃப், அல்லது ஆஃப் ஆன்) மாற்றி, சீரியல் கன்சோலுக்கு ஒரு செய்தியை அச்சிட்டு (தோன்னியில் தெரியும்), பின்னர் அரை விநாடிக்கு இடைநிறுத்துகிறோம்.
இந்த கோப்பை உங்கள் சாதனத்தில் சேமிக்கவும். போர்டு எல்.ஈ.டி உடனடியாக ஒளிரத் தொடங்க வேண்டும். வாழ்த்துகள், நீங்கள் பைத்தானை நேரடியாக ஒரு நுண்செயலியில் இயக்கியுள்ளீர்கள்!
ஆழமாக மூழ்குதல்: நுண்செயலிகளில் பைத்தானின் முக்கிய கருத்துக்கள்
ஒரு எல்.ஈ.டியை ஒளிரச் செய்வது ஆரம்பம் மட்டுமே. மேலும் சிக்கலான திட்டங்களை உருவாக்க நீங்கள் பயன்படுத்தும் அடிப்படைக் கருத்துகளை ஆராய்வோம்.
பொது நோக்க உள்ளீடு/வெளியீடு (GPIO)
GPIO பின்கள் உடல் ரீதியான இணைப்புகள், அவை உங்கள் நுண்செயலியை உலகத்துடன் தொடர்பு கொள்ள அனுமதிக்கின்றன. அவை உள்ளீடுகளாக (பொத்தான்கள் அல்லது சென்சார்களிலிருந்து தரவைப் படிக்க) அல்லது வெளியீடுகளாக (எல்.ஈ.டிகள், மோட்டார்கள் அல்லது ரிலேகளைக் கட்டுப்படுத்த) உள்ளமைக்கப்படலாம்.
ஒரு பொத்தான் அழுத்தத்தைப் படித்தல் (மைக்ரோபைதான்):
import machine
import utime
button = machine.Pin(14, machine.Pin.IN, machine.Pin.PULL_DOWN)
while True:
if button.value() == 1:
print("Button is pressed!")
utime.sleep(0.1)
இங்கே, பின் 14 ஐ உள் இழுக்கும் மின்தடையுடன் உள்ளீடாக உள்ளமைக்கிறோம். பொத்தானின் மதிப்பு 1 (உயரமானது) உள்ளதா என்பதை சுழற்சி தொடர்ந்து சரிபார்க்கிறது, அது அழுத்தப்பட்டிருப்பதைக் குறிக்கிறது.
சென்சார்களுடன் பணிபுரிதல்
மிகவும் சுவாரஸ்யமான திட்டங்களில் சென்சார்கள் உள்ளன. அனலாக் மற்றும் டிஜிட்டல் சென்சார்கள் இரண்டிலிருந்தும் படிக்க பைதான் எளிதாக்குகிறது.
- அனலாக் சென்சார்கள்: இந்த சென்சார்கள், ஒளிமின்தடையங்கள் (ஒளியை அளவிடுதல்) அல்லது மின்னழுத்தமானிகள் போன்றவை ஒரு மாறுபட்ட மின்னழுத்தத்தை வழங்குகின்றன. நுண்செயலியின் அனலாக்-டு-டிஜிட்டல் மாற்றி (ADC) இந்த மின்னழுத்தத்தைப் படித்து அதை ஒரு எண்ணாக மாற்றுகிறது.
- டிஜிட்டல் சென்சார்கள்: இந்த அதிக மேம்பட்ட சென்சார்கள் (வெப்பநிலை/ஈரப்பதம் சென்சார்கள், முடுக்கமானிகள் போன்றவை) குறிப்பிட்ட நெறிமுறைகளைப் பயன்படுத்தி தொடர்பு கொள்கின்றன. இரண்டு பொதுவானவை I2C (இன்டர்-இன்டகிரேட்டட் சர்க்யூட்) மற்றும் SPI (சீரியல் பெரிஃபெரல் இன்டர்ஃபேஸ்). இந்த நெறிமுறைகள் ஒரு சில பின்களைப் பயன்படுத்தி பல சாதனங்களை நுண்செயலியுடன் தொடர்பு கொள்ள அனுமதிக்கின்றன. அதிர்ஷ்டவசமாக, நீங்கள் குறைந்த-நிலை விவரங்களை அரிதாகவே தெரிந்து கொள்ள வேண்டும், ஏனெனில் நூலகங்கள் உங்களுக்காக தகவல்தொடர்புகளை கையாளுகின்றன.
BMP280 சென்சார் மூலம் வெப்பநிலையைப் படித்தல் (சர்க்யூட் பைதான்):
import board
import adafruit_bmp280
# ஒரு I2C பஸ் பொருளை உருவாக்கவும்
i2c = board.I2C() # இயல்புநிலை SCL மற்றும் SDA பின்களைப் பயன்படுத்துகிறது
# ஒரு சென்சார் பொருளை உருவாக்கவும்
bmp280 = adafruit_bmp280.Adafruit_BMP280_I2C(i2c)
# வெப்பநிலையைப் படிக்கவும்
temperature = bmp280.temperature
print(f"வெப்பநிலை: {temperature:.2f} C")
துடிப்பு அகல பண்பேற்றம் (PWM)
PWM என்பது டிஜிட்டல் பின்னில் அனலாக் வெளியீட்டை உருவகப்படுத்தப் பயன்படுத்தப்படும் ஒரு நுட்பமாகும். ஒரு பின்னை வேகமாக ஆன் மற்றும் ஆஃப் செய்வதன் மூலம், நீங்கள் சராசரி மின்னழுத்தத்தைக் கட்டுப்படுத்தலாம், இது எல்.ஈ.டியை மங்கச் செய்வதற்கும், ஒரு டிசி மோட்டாரின் வேகத்தைக் கட்டுப்படுத்துவதற்கும் அல்லது ஒரு சர்வா மோட்டாரை நிலைநிறுத்துவதற்கும் பயனுள்ளதாக இருக்கும்.
இணைப்பு மற்றும் இன்டர்நெட் ஆஃப் திங்ஸ் (IoT)
ESP32 மற்றும் Pico W போன்ற பலகைகள் உண்மையில் பிரகாசிக்கும் இடம் இதுதான். உள்ளமைக்கப்பட்ட Wi-Fi மூலம், IoT சாதனங்களை உருவாக்க பைதான் நம்பமுடியாத அளவிற்கு எளிதாக்குகிறது.
Wi-Fi உடன் இணைத்தல்
உங்கள் சாதனத்தை ஒரு பிணையத்துடன் இணைப்பதே முதல் படி. உங்கள் பிணைய நற்சான்றிதழ்களைப் பாதுகாப்பாகச் சேமிக்க ஒரு கோப்பை (பெரும்பாலும் சர்க்யூட் பைத்தானில் secrets.py என்று அழைக்கப்படுகிறது) உருவாக்க வேண்டும்.
ESP32 ஐ Wi-Fi உடன் இணைத்தல் (மைக்ரோபைதான்):
import network
SSID = "உங்களுடைய பிணைய பெயர்"
PASSWORD = "உங்களுடைய பிணைய கடவுச்சொல்"
station = network.WLAN(network.STA_IF)
station.active(True)
station.connect(SSID, PASSWORD)
while not station.isconnected():
pass
print("இணைப்பு வெற்றிகரமாக முடிந்தது")
print(station.ifconfig())
வலை கோரிக்கைகளை உருவாக்குதல்
இணைக்கப்பட்டதும், நீங்கள் இணையத்துடன் தொடர்பு கொள்ளலாம். நீங்கள் பயன்பாட்டு நிரலாக்க இடைமுகங்களிலிருந்து (API கள்) தரவைப் பெறலாம், சென்சார் தரவை வலை சேவைக்கு அனுப்பலாம் அல்லது ஆன்லைன் செயல்களைத் தூண்டலாம்.
API இலிருந்து JSON தரவைப் பெறுதல் (`urequests` நூலகத்தைப் பயன்படுத்தி):
import urequests
response = urequests.get("http://worldtimeapi.org/api/timezone/Etc/UTC")
data = response.json()
print(f"தற்போதைய UTC நேரம்: {data['datetime']}")
response.close()
MQTT: IoT இன் மொழி
HTTP பயனுள்ளதாக இருக்கும் அதே வேளையில், IoT தகவல்தொடர்புக்கான தங்கத் தரம் MQTT (செய்தி வரிசைப்படுத்துதல் தொலைதூர போக்குவரத்து). இது குறைந்த அலைவரிசை, அதிக தாமதமான பிணையங்களுக்காக வடிவமைக்கப்பட்ட ஒரு இலகுரக வெளியீடு-சந்தா நெறிமுறை. ஒரு சாதனம் ஒரு "தலைப்புக்கு" சென்சார் தரவை "வெளியிடலாம்", மேலும் அந்த தலைப்புக்கு "சந்தா" செய்த எந்தவொரு சாதனமும் (அல்லது சேவையகமும்) தரவை உடனடியாகப் பெறும். வலை சேவையகத்தை தொடர்ந்து வாக்கெடுப்பு செய்வதை விட இது மிகவும் திறமையானது.
மேம்பட்ட தலைப்புகள் மற்றும் சிறந்த நடைமுறைகள்
உங்கள் திட்டங்கள் வளரும்போது, நுண்செயலியின் வரம்புகளை நீங்கள் சந்திப்பீர்கள். வலுவான உட்பொதிக்கப்பட்ட பைதான் குறியீட்டை எழுதுவதற்கான சில சிறந்த நடைமுறைகள் இங்கே.
- நினைவக மேலாண்மை: ரேம் உங்கள் மிகவும் விலைமதிப்பற்ற ஆதாரம். சுழல்களில் பெரிய பொருள்கள் அல்லது நீண்ட சரங்களை உருவாக்குவதைத் தவிர்க்கவும். நினைவகத்தை விடுவிக்க
gcதொகுதியைப் பயன்படுத்தவும் (import gc; gc.collect()) குப்பை சேகரிப்பை கைமுறையாகத் தூண்டவும். - சக்தி மேலாண்மை: பேட்டரியில் இயங்கும் சாதனங்களுக்கு, மின் திறன் முக்கியமானது. பெரும்பாலான நுண்செயலிகளுக்கு ஒரு "டீப்லீப்" பயன்முறை உள்ளது, இது பெரும்பாலான சிப்பை மூடிவிட்டு மிகக் குறைந்த சக்தியை உட்கொள்கிறது, மேலும் ஒரு குறிப்பிட்ட நேரத்திற்குப் பிறகு அல்லது வெளிப்புற தூண்டுதலிலிருந்து எழுந்திருக்க முடியும்.
- கோப்பு முறைமை: வழக்கமான கணினியைப் போலவே, ஆன்-போர்டு ஃப்ளாஷ் நினைவகத்தில் கோப்புகளைப் படிக்கவும் எழுதவும் முடியும். தரவைப் பதிவு செய்வதற்கும் அல்லது உள்ளமைவு அமைப்புகளைச் சேமிப்பதற்கும் இது சரியானது.
- இடைமறிப்புகள்: சுழற்சியில் ஒரு பொத்தானின் நிலையை தொடர்ந்து சரிபார்ப்பதற்குப் பதிலாக (வாக்கெடுப்பு எனப்படும் ஒரு செயல்முறை), நீங்கள் ஒரு குறுக்கீட்டைப் பயன்படுத்தலாம். ஒரு இடைமறிப்பு கோரிக்கை (IRQ) என்பது ஒரு வன்பொருள் சமிக்ஞையாகும், இது ஒரு சிறப்பு செயல்பாட்டை இயக்க முக்கிய குறியீட்டை இடைநிறுத்துகிறது, பின்னர் மீண்டும் தொடங்குகிறது. இது மிகவும் திறமையானது மற்றும் பதிலளிக்கக்கூடியது.
நிகழ்நேர திட்ட யோசனை ஷோகேஸ்
கட்ட தயாராக இருக்கிறீர்களா? நாங்கள் விவாதித்த கருத்துக்களை ஒருங்கிணைக்கும் சில யோசனைகள் இங்கே:
- ஸ்மார்ட் வானிலை நிலையம்: வெப்பநிலை, ஈரப்பதம் மற்றும் அழுத்தத்தை அளவிட BME280 சென்சார் கொண்ட ESP32 ஐப் பயன்படுத்தவும். தரவை ஒரு சிறிய OLED திரையில் காண்பிக்கவும், மேலும் Adafruit IO அல்லது Home Assistant போன்ற ஒரு டாஷ்போர்டுக்கு MQTT வழியாக வெளியிடவும்.
- தானியங்கி தாவர நீர்ப்பாசன அமைப்பு: ஒரு ராஸ்பெர்ரி பை பிகோவுக்கு மண் ஈரப்பதம் சென்சாரை இணைக்கவும். மண் காய்ந்திருக்கும்போது, ஒரு சிறிய நீர் பம்பை சில விநாடிகள் இயக்க ஒரு ரிலேவை செயல்படுத்த GPIO பின்னைப் பயன்படுத்தவும்.
- தனிப்பயன் யூ.எஸ்.பி மேக்ரோ பேட்: பிகோ அல்லது பல Adafruit பலகைகள் போன்ற யூ.எஸ்.பி HID (மனித இடைமுக சாதனம்) ஐ ஆதரிக்கும் ஒரு சர்க்யூட் பைதான் பலகையைப் பயன்படுத்தவும். சிக்கலான விசைப்பலகை குறுக்குவழிகளை அனுப்ப அல்லது முன் வரையறுக்கப்பட்ட உரையைத் தட்டச்சு செய்ய பொத்தான்களை நிரல் செய்யவும், உங்கள் உற்பத்தித்திறனை அதிகரிக்கும்.
முடிவுரை: எதிர்காலம் பைத்தானில் உட்பொதிக்கப்பட்டுள்ளது
பைதான் உட்பொதிக்கப்பட்ட மேம்பாட்டின் நிலப்பரப்பை அடிப்படையில் மாற்றியுள்ளது. இது நுழைவுக்கான தடையை குறைத்துள்ளது, மென்பொருள் டெவலப்பர்கள் வன்பொருளைக் கட்டுப்படுத்தவும், வன்பொருள் பொறியியலாளர்கள் முன்னெப்போதையும் விட வேகமாக முன்மாதிரி செய்யவும் உதவுகிறது. ஒரு சென்சாரைப் படிப்பதன் அல்லது ஒரு சில வரிகளில் இணையத்துடன் இணைக்கப்படுவதன் எளிமை ஒரு விளையாட்டு மாற்றியாகும்.
ஒளிரும் எல்.ஈ.டியிலிருந்து முழு அம்சங்களுடன் கூடிய IoT சாதனம் வரை பயணம் நம்பமுடியாத அளவிற்கு பலனளிக்கிறது. உலகளாவிய சமூகம் மற்றும் திறந்த மூல நூலகங்களின் செல்வம் நீங்கள் ஒரு சவாலை எதிர்கொள்ளும்போது நீங்கள் உண்மையிலேயே தனியாக இல்லை என்று அர்த்தம். எனவே ஒரு பலகையைத் தேர்ந்தெடுத்து, நிலைப்பொருளை ஒளிரச் செய்து, பைதான் மற்றும் இயற்பியல் உலகின் அற்புதமான குறுக்குவெட்டில் உங்கள் சாகசத்தைத் தொடங்குங்கள். ஒரே வரம்பு உங்கள் கற்பனை மட்டுமே.