EdgeTX மற்றும் Betaflight இடையே பேலோட் தகவல்தொடர்பு மாஸ்டரிங்
நீங்கள் எப்போதாவது விமானத்தில் FPV ட்ரோனை உற்றுப் பார்த்து, உங்கள் டிரான்ஸ்மிட்டருக்கும் ஃப்ளைட் கன்ட்ரோலருக்கும் இடையில் தரவு எவ்வாறு தடையின்றி பாய்கிறது என்று யோசித்திருக்கிறீர்களா? EdgeTX Lua ஸ்கிரிப்டிங்கை ஆராய்வோருக்கு, ExpressLRS (ELRS) டெலிமெட்ரி மூலம் Betaflight-இயங்கும் ஃப்ளைட் கன்ட்ரோலருக்கு பேலோடுகளை அனுப்புவது முதலில் மிகவும் சிரமமாக இருக்கும். 📡
நான் முதலில் தொடங்கியபோது, கிராஸ்ஃபயர் டெலிமெட்ரி புஷ் செயல்பாடு ஒரு மர்மமாகத் தோன்றியது. நிச்சயமாக, அங்கு மிதக்கும் உதாரணங்கள் இருந்தன, ஆனால் பைட்-நிலை தகவல்தொடர்புகளைப் புரிந்துகொள்வது உண்மையான சவாலாக இருந்தது. ஒரு எளிய ஸ்கிரிப்ட் உங்கள் ட்ரோனின் மூளைக்கு எவ்வாறு கட்டளைகளை அனுப்ப முடியும்? நான் அதே படகில், தெளிவு தேடினேன்.
இதை கற்பனை செய்து பாருங்கள்: நீங்கள் உங்கள் வானொலியைப் பிடித்துக் கொண்டிருக்கிறீர்கள், பட்டன்களை அழுத்துகிறீர்கள் மற்றும் விமானக் கட்டுப்படுத்தி உடனடியாகப் பதிலளிப்பதைப் பார்க்கிறீர்கள். நீங்கள் எல்.ஈ.டிகளைக் கட்டுப்படுத்தினாலும், டெலிமெட்ரி தரவைக் கோரினாலும் அல்லது எம்எஸ்பி அளவுருக்களை சரிசெய்தாலும் சரி, நீங்கள் பேலோட் உருவாக்கத்தில் தேர்ச்சி பெறும்போது EdgeTX ஸ்கிரிப்டிங்கின் ஆற்றல் உயிர்ப்புடன் இருக்கும். 🚀
இந்தக் கட்டுரையில், எல்ஆர்எஸ் டெலிமெட்ரிஐப் பயன்படுத்தி பேலோடுகளை உருவாக்கி அனுப்புவதில் கவனம் செலுத்தி, FPV டெலிமெட்ரிக்கான Lua ஸ்கிரிப்டிங்கைப் படிப்படியாகப் பிரிப்போம். சிக்கலான வாசகங்கள் இல்லை - நீங்கள் தொடங்குவதற்கு எளிதான உதாரணங்களைப் பின்பற்றலாம். முடிவில், Betaflight உடன் பேசும் ஸ்கிரிப்ட்களை நம்பிக்கையுடன் எழுதுவீர்கள், உங்கள் ட்ரோன் மீது புதிய கட்டுப்பாட்டை திறக்கலாம். உள்ளே நுழைவோம்!
| கட்டளை | விளக்கம் |
|---|---|
| crossfireTelemetryPush | ரேடியோவிலிருந்து டெலிமெட்ரி பேலோடை ரிசீவருக்கு அனுப்புகிறது. செயல்பாடு ஒரு சட்ட வகை மற்றும் கட்டமைக்கப்பட்ட தரவு வரிசையை ஏற்றுக்கொள்கிறது. |
| CONST table | முகவரிகள் (எ.கா., பீட்டாஃப்லைட்) மற்றும் ஃப்ரேம் வகைகள் போன்ற நிலையான மதிப்புகளைச் சேமிக்கிறது. ஸ்கிரிப்டை மாடுலராகவும் பராமரிக்க எளிதாகவும் வைத்திருக்கிறது. |
| buildPayload | முகவரிகள், கட்டளை பைட்டுகள் மற்றும் விருப்பத் தரவுகளை ஒரு வரிசையில் இணைப்பதன் மூலம் டெலிமெட்ரி சட்டத்தை உருவாக்குகிறது. |
| debugPayload | பிழைத்திருத்தம் மற்றும் பைட்-நிலை தகவல்தொடர்புகளை சரிபார்ப்பதற்கு பேலோடை ஹெக்ஸாடெசிமல் வடிவத்தில் அச்சிடுகிறது. |
| table.insert | பேலோட் கட்டமைப்பை உருவாக்கும்போது லுவா அணிவரிசையில் தரவு பைட்டுகளை மாறும் வகையில் சேர்க்கிறது. |
| if data ~= nil | பேலோடில் சேர்ப்பதற்கு முன் கூடுதல் தரவு உள்ளதா எனச் சரிபார்க்கிறது. தகவல்தொடர்புகளில் பூஜ்ய பிழைகளைத் தவிர்க்கிறது. |
| print() | டெலிமெட்ரி டிரான்ஸ்மிஷனின் வெற்றி அல்லது தோல்வி போன்ற பிழைத்திருத்தத்திற்கான நிலை செய்திகளை வெளியிடுகிறது. |
| string.format | பிழைத்திருத்த நோக்கங்களுக்காக பேலோட் தரவை படிக்கக்கூடிய ஹெக்ஸாடெசிமல் சரங்களாக வடிவமைக்கிறது. |
ELRS டெலிமெட்ரியைப் பயன்படுத்தி EdgeTX Lua ஸ்கிரிப்ட்களில் இருந்து Betaflight க்கு பேலோடுகளை அனுப்புகிறது
எக்ஸ்பிரஸ்எல்ஆர்எஸ் வழியாக பீட்டாஃப்லைட் ஃப்ளைட் கன்ட்ரோலருடன் தொடர்புகொள்வதன் மூலம், எஃப்பிவி ட்ரோன் டெலிமெட்ரிக்கான எட்ஜ்டிஎக்ஸ் லுவா ஸ்கிரிப்ட்களைப் பயன்படுத்தி பேலோடை உருவாக்குவது மற்றும் அனுப்புவது எப்படி என்பதை இந்த எடுத்துக்காட்டு விளக்குகிறது. ஸ்கிரிப்ட் மட்டு, கருத்துரை மற்றும் உகந்த நடைமுறைகளைப் பின்பற்றுகிறது.
--[[ Lua Script for EdgeTX to send payloads via ELRS telemetry to Betaflight Communication is established using the 'crossfireTelemetryPush' function Example 1: Basic payload structure with error handling and modular functions ]]local CONST = {address = { betaflight = 0xEE, transmitter = 0xDF },frameType = { displayPort = 0x2D }}-- Function to prepare and send the payload to Betaflightlocal function sendPayloadToBetaflight(cmd, data)local payloadOut = { CONST.address.betaflight, CONST.address.transmitter, cmd }-- Add additional data to the payload if providedif data ~= nil thenfor i = 1, #data dopayloadOut[3 + i] = data[i]endend-- Send the telemetry framelocal success = crossfireTelemetryPush(CONST.frameType.displayPort, payloadOut)if success thenprint("Payload successfully sent to Betaflight!")elseprint("Error: Payload failed to send.")endend-- Example usagelocal command = 0x05 -- Example commandlocal data = { 0x01, 0x02, 0x03, 0x04 } -- Example payload datasendPayloadToBetaflight(command, data)--[[ Notes: - The CONST table defines addresses and frame types to keep the script modular. - Error handling ensures feedback on successful or failed transmissions.]]
மாடுலர் கட்டளைகள் மற்றும் பிழைத்திருத்தத்துடன் மேம்பட்ட பேலோட் அனுப்புதல்
EdgeTX Lua ஸ்கிரிப்ட்களைப் பயன்படுத்தி மேம்படுத்தப்பட்ட டெலிமெட்ரி தகவல்தொடர்புக்கான பிழைத்திருத்த பதிவுகள் மற்றும் டைனமிக் பேலோட் உருவாக்கம் ஆகியவை இந்த அணுகுமுறையில் அடங்கும்.
--[[ Advanced Example: Modular functions, dynamic payload generation, and debugging output for sending data via ELRS telemetry.]]local CONST = {betaflightAddress = 0xEE,txAddress = 0xDF,frameType = 0x2D}-- Debug function to print payloads in hex formatlocal function debugPayload(payload)local debugString = "Payload: "for i = 1, #payload dodebugString = debugString .. string.format("0x%02X ", payload[i])endprint(debugString)end-- Function to dynamically build payloadslocal function buildPayload(command, data)local payload = { CONST.betaflightAddress, CONST.txAddress, command }if data thenfor i, value in ipairs(data) dotable.insert(payload, value)endendreturn payloadend-- Function to send telemetry payloadlocal function sendTelemetry(command, data)local payload = buildPayload(command, data)debugPayload(payload) -- Print the payload for debugginglocal success = crossfireTelemetryPush(CONST.frameType, payload)if success thenprint("Telemetry sent successfully.")elseprint("Telemetry failed to send.")endend-- Example usagelocal testCommand = 0x10 -- Example command IDlocal testData = { 0x0A, 0x0B, 0x0C }sendTelemetry(testCommand, testData)--[[ Debugging output will print the exact bytes being sent, making it easier to verify payload structure and troubleshoot issues.]]
EdgeTX Lua உடன் ELRS தொடர்புக்கான பேலோடுகளை உருவாக்குதல்
இந்த எடுத்துக்காட்டுகளில், ஸ்கிரிப்ட்கள் பேலோடை உருவாக்கி எல்ஆர்எஸ் டெலிமெட்ரி மூலம் பீட்டாஃப்லைட் ஃப்ளைட் கன்ட்ரோலர் மூலம் தொடர்புகொள்வதில் கவனம் செலுத்துகிறது. இது போன்ற குறிப்பிட்ட Lua செயல்பாடுகளைப் பயன்படுத்தி செய்யப்படுகிறது கிராஸ்ஃபயர் டெலிமெட்ரி புஷ், இது ரேடியோ டிரான்ஸ்மிட்டரை கட்டமைக்கப்பட்ட டெலிமெட்ரி பிரேம்களை அனுப்ப அனுமதிக்கிறது. பேலோட், அதன் எளிமையான வடிவத்தில், குறிப்பிட்ட முகவரிகள் மற்றும் கட்டளைகளை ஒரு வரிசையில் வடிவமைக்கப்பட்டுள்ளது. ஸ்கிரிப்ட்டின் ஒவ்வொரு பகுதியும் EdgeTX ரேடியோ மற்றும் Betaflight ஆகியவற்றுக்கு இடையேயான தகவல்தொடர்புகளை மேம்படுத்தும் வகையில் வடிவமைக்கப்பட்டுள்ளது. 🛠️
தொடங்குவதற்கு, தி CONST ஃப்ளைட் கன்ட்ரோலர் மற்றும் டிரான்ஸ்மிட்டரின் முகவரிகளையும், தகவல் தொடர்புக்கு பயன்படுத்தப்படும் பிரேம் வகையையும் சேமித்து வைப்பதன் மூலம் அட்டவணை முக்கிய பங்கு வகிக்கிறது. எடுத்துக்காட்டாக, Betaflight முகவரி 0xEE ஆக அமைக்கப்படலாம், இது ட்ரோனின் விமானக் கட்டுப்பாட்டைக் குறிக்கிறது. நிலையான அட்டவணையைப் பயன்படுத்துவது மட்டுத்தன்மையை உறுதி செய்கிறது, எனவே குறியீட்டின் பெரிய பகுதிகளை மீண்டும் எழுதாமல் முகவரிகளை எளிதாகப் புதுப்பிக்க முடியும். தி பில்ட் பேலோட் செயல்பாடு ஒரு லுவா வரிசையில் முகவரி, கட்டளை மற்றும் தரவு புலங்களைச் சேர்ப்பதன் மூலம் டெலிமெட்ரி சட்டகத்தை மாறும் வகையில் உருவாக்குகிறது. இந்த மட்டு அணுகுமுறை வெவ்வேறு கட்டளைகள் அல்லது டெலிமெட்ரி செயல்பாடுகளில் குறியீட்டை சுத்தமாகவும் மீண்டும் பயன்படுத்தக்கூடியதாகவும் வைத்திருக்கிறது.
இங்கே மிகவும் முக்கியமான கூறுகளில் ஒன்று கிராஸ்ஃபயர் டெலிமெட்ரி புஷ் செயல்பாடு. ரேடியோவிலிருந்து பேலோடை ரிசீவருக்கு அனுப்பும் பாலமாக இந்தக் கட்டளை செயல்படுகிறது, அங்கு பீட்டாஃப்லைட் ஃப்ளைட் கன்ட்ரோலர் அதைச் செயல்படுத்த முடியும். எடுத்துக்காட்டாக, LED களை இயக்குதல் அல்லது டெலிமெட்ரி தரவை வினவுதல் போன்ற குறிப்பிட்ட கட்டளைகளுடன் `0x2D` போன்ற பிரேம் வகையை செயல்பாடு தள்ளும். நம்பகத்தன்மையை உறுதிப்படுத்த, பேலோட் வெற்றிகரமாக அனுப்பப்பட்டதா என்பதை உறுதிப்படுத்த பிழை கையாளுதல் செயல்படுத்தப்படுகிறது. இல்லையெனில், பிழைத்திருத்த நோக்கங்களுக்காக ஸ்கிரிப்ட் ஒரு பிழை செய்தியை வெளியிடுகிறது, இது உண்மையான விமான காட்சிகளில் ஸ்கிரிப்ட்களை சோதிக்கும் போது உதவியாக இருக்கும். 🚁
இறுதியாக, தி பிழைத்திருத்தம் செலுத்துதல் செயல்பாடு டெலிமெட்ரி தரவு அனுப்பப்படுவதைக் காட்சிப்படுத்துவதற்கான வழியை வழங்குகிறது. இது எளிதாக பிழைத்திருத்தத்திற்காக பேலோடின் ஒவ்வொரு பைட்டையும் ஹெக்ஸாடெசிமல் வடிவமாக மாற்றுகிறது. பைட்-நிலை தகவல்தொடர்புகளை கையாளும் போது இந்த படி முக்கியமானது, ஏனெனில் நீங்கள் பேலோடின் கட்டமைப்பை நேரடியாக சரிபார்க்கலாம். இந்த கூறுகளை இணைப்பதன் மூலம் - மட்டு செயல்பாடுகள், பிழைத்திருத்த பயன்பாடுகள் மற்றும் டைனமிக் பேலோட் உருவாக்கம் - இந்த ஸ்கிரிப்டுகள் மேம்பட்ட டெலிமெட்ரி தகவல்தொடர்புக்கான உறுதியான அடித்தளத்தை வழங்குகின்றன. சிறிது பயிற்சியின் மூலம், எல்.ஈ.டிகளைக் கட்டுப்படுத்த, அலாரங்களைத் தூண்ட அல்லது உங்கள் ட்ரோனின் விமானக் கட்டுப்படுத்திக்கு தனிப்பயன் கட்டளைகளை அனுப்ப இந்த அணுகுமுறையை நீங்கள் நீட்டிக்கலாம்.
EdgeTX Lua உடன் மேம்பட்ட டெலிமெட்ரி தொடர்பைத் திறக்கிறது
EdgeTX இல் ELRS டெலிமெட்ரி வழியாக பேலோடுகளை அனுப்புவதில் அடிக்கடி கவனிக்கப்படாத ஆனால் முக்கியமான அம்சம் தரவு வடிவமைப்பு தகவல்தொடர்பு நம்பகத்தன்மையை பாதிக்கிறது. நீங்கள் பேலோடை அனுப்பும்போது, கட்டளை மற்றும் தரவை வெறுமனே தொகுத்தால் போதாது; பைட் அமைப்பு, சட்ட தலைப்புகள் மற்றும் பிழை சரிபார்ப்பு வழிமுறைகளைப் புரிந்துகொள்வது மென்மையான தகவல்தொடர்புக்கு உறுதியளிக்கிறது. ஒவ்வொரு டெலிமெட்ரி சட்டத்திற்கும் ஒரு குறிப்பிட்ட வரிசை உள்ளது: அனுப்புநர் முகவரி, பெறுநர் முகவரி, கட்டளை ஐடி மற்றும் விருப்பத் தரவு. இதைச் சரியாகக் கட்டமைத்தால் விமானக் கட்டுப்படுத்தி உங்கள் வழிமுறைகளை எவ்வாறு செயல்படுத்துகிறது என்பதை கணிசமாக மேம்படுத்தலாம். ✈️
சென்சார் தரவைப் படிப்பது, விமான அளவுருக்களை மாற்றுவது அல்லது எல்இடிகளைத் தூண்டுவது போன்ற பணிகளுக்கு சரியான கட்டளை ஐடிகளை தேர்ந்தெடுப்பது மற்றொரு முக்கிய அம்சமாகும். எடுத்துக்காட்டாக, Betaflight இன் MSP (MultiWii Serial Protocol) இந்த பணிகளுடன் ஒத்துப்போகும் சில கட்டளைகளை வரையறுக்கிறது. EdgeTX Lua ஸ்கிரிப்ட்கள் மூலம் இதை செயல்படுத்த, நீங்கள் போன்ற செயல்பாடுகளை இணைக்கலாம் கிராஸ்ஃபயர் டெலிமெட்ரி புஷ் மற்றும் பைட்டுகளின் சரியான வரிசையை அனுப்ப அட்டவணை கட்டும் தர்க்கம். Betaflight MSP ஆவணங்களைக் குறிப்பிடுவதன் மூலம், துல்லியமான கட்டுப்பாட்டிற்காக ஒவ்வொரு டெலிமெட்ரி கட்டளையையும் உங்கள் லுவா ஸ்கிரிப்ட்டில் ஒரு குறிப்பிட்ட செயல்பாட்டிற்கு வரைபடமாக்கலாம்.
கூடுதலாக, நிஜ உலக சூழல்களில் இந்த ஸ்கிரிப்ட்களை சோதிப்பது கோட்பாடு மற்றும் நடைமுறைக்கு இடையே உள்ள இடைவெளியைக் குறைக்க உதவுகிறது. எடுத்துக்காட்டாக, பிழைத்திருத்தத்தின் போது, தரவு தவறான சீரமைப்பு அல்லது பரிமாற்ற தாமதங்களை நீங்கள் சந்திக்கலாம். `அச்சு()` போன்ற பதிவுச் செயல்பாடுகளைப் பயன்படுத்துதல் அல்லது ஒரு எளிய எல்.ஈ.டி மறுமொழி சோதனையை உருவாக்குவதன் மூலம், உங்கள் பேலோடுகள் சரியாக வடிவமைக்கப்பட்டு ட்ரோன் மூலம் பெறப்பட்டதா என்பதைச் சரிபார்க்கலாம். காலப்போக்கில், நீங்கள் ஸ்கிரிப்ட்களை உருவாக்குவீர்கள், அது கட்டளைகளை அனுப்புவது மட்டுமல்லாமல் பிழைகளை அழகாகக் கையாளும், மென்மையான பறக்கும் அனுபவத்தை உறுதி செய்கிறது. 🚀
EdgeTX Lua Payloads பற்றி அடிக்கடி கேட்கப்படும் கேள்விகள்
- எப்படி செய்கிறது crossfireTelemetryPush செயல்பாடு வேலை?
- தி crossfireTelemetryPush செயல்பாடு ஒரு டெலிமெட்ரி சட்டத்தை டிரான்ஸ்மிட்டரிலிருந்து ஃப்ளைட் கன்ட்ரோலருக்கு அனுப்புகிறது. இது ஒரு சட்ட வகை மற்றும் பேலோட் தரவைக் குறிக்கும் வரிசையை ஏற்றுக்கொள்கிறது.
- டெலிமெட்ரி பேலோடின் முக்கிய கூறுகள் யாவை?
- டெலிமெட்ரி பேலோடில் அனுப்புநர் முகவரி, பெறுநர் முகவரி, கட்டளை ஐடி மற்றும் விருப்பத் தரவு பைட்டுகள் உள்ளன. இவை ஒரு வரிசையாக இணைக்கப்பட்டு டெலிமெட்ரி வழியாக அனுப்பப்படுகின்றன.
- ஏன் உள்ளது CONST table EdgeTX Lua ஸ்கிரிப்ட்களில் பயன்படுத்தப்பட்டதா?
- தி CONST table முகவரிகள் மற்றும் சட்ட வகைகள் போன்ற நிலையான மதிப்புகளை சேமிக்கிறது. இது குறியீட்டை மட்டு, தூய்மையான மற்றும் மாற்றங்கள் ஏற்படும் போது பராமரிக்க எளிதாக்குகிறது.
- டெலிமெட்ரி தகவல்தொடர்புகளின் போது பேலோட் சிக்கல்களை எவ்வாறு பிழைத்திருத்துவது?
- பயன்படுத்தவும் print() பிழைத்திருத்தத்திற்கான பேலோட் தரவைக் காண்பிக்க. நீங்கள் பைட்டுகளை ஹெக்ஸாடெசிமல் வடிவத்திற்கு மாற்றலாம் string.format() தெளிவுக்காக.
- ஒரு லுவா ஸ்கிரிப்டைப் பயன்படுத்தி பல கட்டளைகளை அனுப்ப முடியுமா?
- ஆம், போன்ற செயல்பாடுகளைப் பயன்படுத்தி வெவ்வேறு பேலோடுகளை மாறும் வகையில் உருவாக்குவதன் மூலம் பல கட்டளைகளை அனுப்பலாம் table.insert() மற்றும் அவற்றை வரிசையாக அனுப்புகிறது.
EdgeTX Lua உடன் டெலிமெட்ரி கட்டுப்பாட்டை மாஸ்டரிங் செய்தல்
EdgeTX இல் Lua ஐப் பயன்படுத்தி பேலோடை எவ்வாறு அனுப்புவது என்பதைப் புரிந்துகொள்வது FPV ட்ரோன்களுக்கான புதிய அளவிலான கட்டுப்பாட்டைத் திறக்கிறது. ELRS டெலிமெட்ரியை மேம்படுத்துவதன் மூலம், நீங்கள் Betaflight உடன் திறமையாக தொடர்பு கொள்ளலாம், நிகழ்நேர சரிசெய்தல் மற்றும் தனிப்பயன் செயல்பாட்டை செயல்படுத்தலாம். 🚁
தரவை வினவுவது அல்லது ட்ரோன் கட்டளைகளைத் தூண்டுவது என எதுவாக இருந்தாலும், இங்கு வழங்கப்பட்டுள்ள மட்டு ஸ்கிரிப்ட்கள் மேலும் ஆராய்வதற்கும் புதுமைப்படுத்துவதற்கும் வலுவான அடித்தளத்தை உங்களுக்கு வழங்குகிறது. பயிற்சியின் மூலம், எந்தவொரு டெலிமெட்ரி பயன்பாட்டு வழக்கிற்கும் ஏற்ப ஸ்கிரிப்ட்களை உருவாக்குவதற்கான நம்பிக்கையைப் பெறுவீர்கள், இது உங்கள் ஒட்டுமொத்த பறக்கும் அனுபவத்தை மேம்படுத்துகிறது. ✈️
மேலும் வாசிப்பு மற்றும் குறிப்புகள்
- EdgeTX Lua ஸ்கிரிப்டிங்கிற்கான ஆவணங்களை இங்கு ஆராயலாம் EdgeTX அதிகாரப்பூர்வ ஆவணம் .
- Betaflight MSP தொடர்பு பற்றிய விரிவான தகவல்கள் இதில் கிடைக்கின்றன Betaflight MSP விக்கி .
- லுவா ஸ்கிரிப்ட்களில் பயன்படுத்தப்படும் கிராஸ்ஃபயர் டெலிமெட்ரி செயல்பாடுகளுக்கான குறிப்பைக் காணலாம் எக்ஸ்பிரஸ்எல்ஆர்எஸ் விக்கி .
- FPV ட்ரோன்களுக்கான லுவா டெலிமெட்ரி ஸ்கிரிப்ட்களின் எடுத்துக்காட்டுகள் வழங்கப்பட்டுள்ளன எக்ஸ்பிரஸ்எல்ஆர்எஸ் கிட்ஹப் களஞ்சியம் .
- கூடுதல் எடுத்துக்காட்டுகள் மற்றும் சமூக விவாதங்களுக்கு, பார்வையிடவும் RC குழுக்கள் மன்றம் .