தரவு ஒரு விரிதாளில் சேமிக்கப்படுகிறது dataGPS.csv, அதன் வடிவம் சேவையின் தேவைகளுக்கு ஒத்திருக்கும் Google My Maps.

    நிரலாக்க மொழி: Arduino (C++)

வீடியோ அறிவுறுத்தல்

உங்களுக்கு என்ன தேவை

எப்படி கூட்டுவது

gps-tracker.ino // SPI வழியாக சாதனங்களுடன் பணிபுரியும் நூலகம்#சேர்க்கிறது // SD கார்டுடன் பணிபுரியும் நூலகம்#சேர்க்கிறது // ஜிபிஎஸ் சாதனத்துடன் பணிபுரியும் நூலகம்#சேர்க்கிறது // GPS வகுப்பின் ஒரு பொருளை உருவாக்கி, அதற்கு Serial1 பொருளை அனுப்பவும்ஜிபிஎஸ் ஜிபிஎஸ்(சீரியல்1) ; // LED முள்#எல்இடி_பின் A0 // பொத்தான் பின்னை வரையறுக்கவும் #BUTTON_PIN 13ஐ வரையறுக்கவும் // சிஎஸ் மைக்ரோ எஸ்டி கார்டை பின் செய்யவும்#CHIP_SELECT_PIN 9ஐ வரையறுக்கவும் // அட்டையில் தரவை எழுதுவதற்கான நேர இடைவெளி#இடைவேளை 5000ஐ வரையறுக்கவும் // நேரம், தேதி, அட்சரேகை மற்றும் தீர்க்கரேகைக்கான வரிசை அளவை அமைக்கவும்#MAX_SIZE_MASS 16ஐ வரையறுக்கவும் // தற்போதைய நேரத்தைச் சேமிப்பதற்கான வரிசைசார் நேரம்[MAX_SIZE_MASS]; // பதிவு நிலை bool stateRec = பொய் ; // தற்போதைய நேரத்தை நினைவில் கொள்கிறதுநீண்ட ஸ்டார்ட்மில்லிஸ் = மில்லிஸ்() ; வெற்றிட அமைப்பு() ( // நிரலில் உள்ள செயல்களைக் கண்காணிக்க தொடர் போர்ட்டைத் திறக்கவும் Serial.begin(115200); // தொடர் போர்ட் மானிட்டர் திறக்கும் வரை காத்திருங்கள் // நிரலில் உள்ள அனைத்து நிகழ்வுகளையும் கண்காணிக்கும் பொருட்டு// while (!Serial) ( // ) Serial.print ("Serial init சரி \r\n") ; // GPS தொகுதியுடன் தொடர் இணைப்பைத் திறக்கவும் Serial1.begin(115200); // LED ஐ வெளியீட்டு பயன்முறைக்கு அமைக்கவும்பின்முறை (LED_PIN, அவுட்புட்) ; // உள்நுழைவு பயன்முறையில் பொத்தானை அமைக்கவும்பின்முறை(BUTTON_PIN, INPUT_PULLUP) ; // தொடர் போர்ட்டில் துவக்கம் பற்றிய வெளியீடு தகவல் Serial.println("SD கார்டை துவக்குகிறது...") ; // SD கார்டை துவக்கவும்அதே நேரத்தில் (! SD.begin (CHIP_SELECT_PIN) ) ( Serial.println ("கார்டு தோல்வியடைந்தது, அல்லது இல்லை" ) ; தாமதம்(1000 ) ; ) // தொடர் போர்ட்டுக்கு தகவல் வெளியீடு Serial.println("கார்டு துவக்கப்பட்டது"); // கோப்புகளுடன் வேலை செய்ய கோப்பு வகுப்பின் டேட்டாஃபைல் பொருளை உருவாக்கவும்கோப்பு தரவுக் கோப்பு = SD.open("dataGPS.csv" , FILE_WRITE) ; // கோப்பு இருந்தால்என்றால் (தரவு கோப்பு) ( // எதிர்காலத் தரவின் பெயரை மெமரி கார்டில் எழுதவும் dataFile.println("நேரம், ஒருங்கிணைப்புகள், வேகம்"); // கோப்பை மூடவும் dataFile.close(); Serial.println("சரி சேமி"); ) வேறு (Serial.println ("test.csv திறப்பதில் பிழை" ) ;) ) void loop() ( // பட்டனை அழுத்தி பதிவு செய்யவும்என்றால் (! டிஜிட்டல் ரீட்(BUTTON_PIN) ) ( // "பதிவு" / "எழுதவில்லை" நிலையை மெமரி கார்டுக்கு மாற்றவும்மாநில ரெக் = ! மாநில ரெக்; // எல்இடி அறிகுறியின் நிலையை மாற்றவும்டிஜிட்டல் ரைட்(LED_PIN, stateRec) ; ) // ஜிபிஎஸ் தொகுதியிலிருந்து தரவு வந்திருந்தால்என்றால் (gps.available()) ( // தரவைப் படித்து பாகுபடுத்தவும் gps.readParsing(); // ஜிபிஎஸ் தொகுதியின் நிலையைச் சரிபார்க்கவும்சுவிட்ச் (gps.getState () ) ( // எல்லாம் சரி GPS_OK: Serial.println ("GPS சரி" ) ; // குறிப்பிட்ட நேர இடைவெளி கடந்துவிட்டால்என்றால் (millis() - startMillis > INTERVAL && stateRec) ( // மெமரி கார்டில் தரவைச் சேமிக்கவும் saveSD(); // தற்போதைய நேரத்தை நினைவில் கொள்க startMillis = millis() ; ) முறிவு ; // தரவு பிழை வழக்கு GPS_ERROR_DATA: Serial.println ("GPS பிழை தரவு" ) ; முறிவு ; // செயற்கைக்கோள்களுடன் தொடர்பு இல்லைவழக்கு GPS_ERROR_SAT: Serial.println ( "செயற்கைக்கோள்களுடன் ஜிபிஎஸ் இணைப்பு இல்லை"); முறிவு ; ))) // மெமரி கார்டில் தரவைச் சேமிப்பதற்கான செயல்பாடு void saveSD() ( File dataFile = SD.open("dataGPS.csv" , FILE_WRITE) ; // கோப்பு உள்ளது மற்றும் திறக்கப்பட்டிருந்தால்என்றால் (தரவு கோப்பு) ( // தற்போதைய நேரத்தைப் படிக்கிறது gps.getTime(நேரம், MAX_SIZE_MASS); // மெமரி கார்டில் நேரத்தை எழுதவும் dataFile.print(" \" " ); dataFile.print(நேரம்); dataFile.print(" \" " ); dataFile.print ("," ); dataFile.print(" \" " ) ; // மெமரி கார்டில் அட்சரேகை மற்றும் தீர்க்கரேகை ஒருங்கிணைப்புகளைப் படிக்கவும் எழுதவும் dataFile.print(gps.getLatitudeBase10(), 6); dataFile.print ("," ); dataFile.print(gps.getLongitudeBase10(), 6); dataFile.print(" \" " ); dataFile.print ("," ); dataFile.print(gps.getSpeedKm()); dataFile.println("கிமீ/ம"); dataFile.close(); Serial.println("சரி சேமி"); ) வேறு (Serial.println ("Error opening test.csv") ;) )

ஜிபிஎஸ் உலகளாவிய பொருத்துதல் அமைப்பு ஏற்கனவே நம் வாழ்வின் ஒரு பகுதியாக மாறிவிட்டது. உள்ளமைக்கப்பட்ட ஜிபிஎஸ் தொகுதி இல்லாத மொபைல் ஃபோனை இன்று கற்பனை செய்வது கடினம். இந்த செயற்கைக்கோள் வழிசெலுத்தல் அமைப்பு எந்தவொரு பொருளையும் கண்காணிக்கவும், அவற்றின் ஒருங்கிணைப்புகள் மற்றும் இயக்கத்தின் வேகத்தை தீர்மானிக்கவும் உங்களை அனுமதிக்கிறது. இப்போது GPS ஆனது தொடர்புடைய உபகரணங்களை உருவாக்கும் நிறுவனங்களுக்கு மட்டுமல்ல, பிரபலமான Arduino பலகைகளை ஏற்கனவே தங்கள் முழு திறனுக்கும் பயன்படுத்தும் சாதாரண ரேடியோ அமெச்சூர்களுக்கும் கிடைக்கிறது. இந்த பொருள் ஒரு மினியேச்சர் ஜிபிஎஸ் டிராக்கரை Arduino Pro Mini போர்டுடன் இணைப்பது பற்றி விவாதிக்கும். PG03 MiniGPS டிராக்கர் சோதனைப் பொருளாகப் பயன்படுத்தப்படுகிறது.



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


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




டிராக்கரின் இதயம் வீனஸ்638எஃப்எல்பி ஜிபிஎஸ் சிப் ஆகும். அதன் 44வது முள் UART இடைமுகத்தின் (TxD) வெளியீடு ஆகும். இந்த முள் நேரடியாக கம்பியை சாலிடர் செய்யலாம் அல்லது இந்த முள் இணைக்கப்பட்டுள்ள போர்டில் சோதனை முள் ஒன்றைக் காணலாம். மைக்ரோ சர்க்யூட்டின் பின் இடங்கள் மற்றும் விரும்பிய பின்னுடன் எவ்வாறு இணைப்பது என்பதற்கான படங்கள் கீழே உள்ளன.





இப்போது NMEA நெறிமுறை தரவைப் பதிவுசெய்ய ஒரு சிறிய Arduino Pro Mini போர்டு மற்றும் SD கார்டு தொகுதியை எடுத்துக்கொள்வோம். Arduino Pro Mini மற்றும் SD கார்டு தொகுதிக்கான இணைப்பு வரைபடம் பின்வருமாறு:



SD கார்டுகளுக்கான மாட்யூல் பின்களை இணைக்கிறது:


GND முதல் GND வரை
VCC க்கு 3.3V
பின் 12க்கு MISO
MOSI க்கு பின் 11
பின் 13க்கு SCK
பின் 10க்கு CS

ஜிபிஎஸ் டிராக்கர் பின்களை இணைக்கிறது:


GND முதல் GND வரை
பின் 2 (Arduino) முதல் பின் 44 (GPS)

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


இப்போது நீங்கள் TinyGPS நூலகத்தைப் பதிவிறக்க வேண்டும், SD கார்டுகளுடன் பணிபுரிய ஒரு நூலகம் மற்றும் Arduino நூலகங்களில் காணப்படும் SoftwareSerial நூலகமும் உங்களுக்குத் தேவைப்படும்.



பின்வரும் குறியீட்டில் எந்தத் தரவை எழுத வேண்டும் என்பதை நீங்கள் தேர்வு செய்யலாம்:


void gpsdump(TinyGPS &gps) (ஃப்ளோட் பிளாட், ஃப்ளான்; // லேட், லாங் ஃப்ளோட் fkmph = gps.f_speed_kmph (); // வேகம் கிமீ/மணி ஃப்ளோட் ஃபால்ட் = gps.f_altitude(); // +/- உயரம் மீட்டரில் (உண்மையில் உயரமாகத் தெரிகிறது) float fc = gps.f_course(); // டிகிரிகளில் கையொப்பமிடாத நீண்ட வயது; gps.f_get_position(&flat, &flon, &age); Serial.print(" lat "); தொடர் .print (flat, 4); Serial.print("lon "); Serial.print(flon, 4); Serial.print(" kms "); Serial.print(fkmph); Serial.print(" course ") ; Serial .print(fc); Serial.print(" elevation "); Serial.println(falt); //////////////////////// //////////////////////////////////////////// //////////////

ஸ்கெட்சை Arduino இல் பதிவேற்றவும், FAT32 இன் படி வடிவமைக்கப்பட்ட SD கார்டைச் செருகவும் மற்றும் ரூட்டில் log.txt கோப்பை வைத்திருக்கவும். சீரியல் மானிட்டரைத் தொடங்கவும், SD கார்டில் தரவு எழுதப்படுவதைக் காண்பீர்கள்.



அர்டுயினோவுடன் பல சோதனைகளுக்குப் பிறகு, சேவையகத்திற்கு ஜிபிஆர்எஸ் வழியாக அனுப்பப்பட்ட ஆயத்தொலைவுகளுடன் எளிமையான மற்றும் மிகவும் விலையுயர்ந்த ஜிபிஎஸ் டிராக்கரை உருவாக்க முடிவு செய்தேன்.
Arduino Mega 2560 (Arduino Uno), SIM900 - ஜிஎஸ்எம்/ஜிபிஆர்எஸ் தொகுதி (சேவையகத்திற்கு தகவல் அனுப்ப), ஜிபிஎஸ் ரிசீவர் எஸ்கேஎம்53 ஜிபிஎஸ் பயன்படுத்தப்பட்டது.

எல்லாம் ebay.com இல் வாங்கப்பட்டது, மொத்தம் சுமார் 1500 ரூபிள் (arduino க்கு சுமார் 500 ரூபிள், GSM தொகுதிக்கு கொஞ்சம் குறைவாக, GPS க்கு இன்னும் கொஞ்சம்).

ஜிபிஎஸ் ரிசீவர்

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

Arduino உடன் இணைக்கப்பட்ட சாதனங்களின் முக்கியமான அளவுரு ஆற்றல் நுகர்வு ஆகும். நீங்கள் Arduino மாற்றியை ஓவர்லோட் செய்தால், அது எரிந்து போகலாம். பயன்படுத்தப்படும் ரிசீவருக்கு, அதிகபட்ச மின் நுகர்வு 45mA @ 3.3v ஆகும். தேவையான மின்னழுத்தத்தில் (5V) மின்னோட்ட வலிமையை ஏன் குறிப்பிட வேண்டும் என்பது எனக்கு ஒரு புதிராக உள்ளது. இருப்பினும், Arduino மாற்றி 45 mA ஐ தாங்கும்.

இணைப்பு
RX முள் இருந்தாலும் GPS கட்டுப்படுத்தப்படவில்லை. எந்த நோக்கத்திற்காக தெரியவில்லை. இந்த ரிசீவருடன் நீங்கள் செய்யக்கூடிய முக்கிய விஷயம், TX பின்னிலிருந்து NMEA நெறிமுறை வழியாக தரவைப் படிப்பதாகும். நிலைகள் - 5V, அர்டுயினோவிற்கு மட்டும், வேகம் - 9600 பாட். நான் VIN ஐ arduino இன் VCC க்கும், GND க்கு GND க்கும், TX க்கு RX க்கும் தொடர்புடைய சீரியலை இணைக்கிறேன். நான் முதலில் தரவை கைமுறையாகப் படித்தேன், பின்னர் TinyGPS நூலகத்தைப் பயன்படுத்துகிறேன். ஆச்சரியம் என்னவென்றால், எல்லாம் படிக்கக்கூடியது. யூனோவுக்கு மாறிய பிறகு, நான் மென்பொருள் சீரியலைப் பயன்படுத்த வேண்டியிருந்தது, பின்னர் சிக்கல்கள் தொடங்கியது - சில செய்தி எழுத்துக்கள் தொலைந்துவிட்டன. இது மிகவும் முக்கியமானதல்ல, ஏனெனில் TinyGPS தவறான செய்திகளைத் துண்டிக்கிறது, ஆனால் இது மிகவும் விரும்பத்தகாதது: 1Hz அதிர்வெண்ணைப் பற்றி நீங்கள் மறந்துவிடலாம்.

SoftwareSerial பற்றிய விரைவான குறிப்பு: Uno இல் ஹார்டுவேர் போர்ட்கள் இல்லை (USB சீரியலுடன் இணைக்கப்பட்டவை தவிர), எனவே நீங்கள் மென்பொருளைப் பயன்படுத்த வேண்டும். எனவே, போர்டு குறுக்கீடுகளை ஆதரிக்கும் பின்னில் மட்டுமே தரவைப் பெற முடியும். யூனோவைப் பொறுத்தவரை, இவை 2 மற்றும் 3 ஆகும். மேலும், அத்தகைய ஒரு போர்ட் மட்டுமே ஒரு நேரத்தில் தரவைப் பெற முடியும்.

இது "சோதனை பெஞ்ச்" போல் தெரிகிறது.

ஜிஎஸ்எம் ரிசீவர்/டிரான்ஸ்மிட்டர்


இப்போது மிகவும் சுவாரஸ்யமான பகுதி வருகிறது. ஜிஎஸ்எம் தொகுதி - சிம்900. இது GSM மற்றும் GPRS ஐ ஆதரிக்கிறது. EDGE அல்லது குறிப்பாக 3G ஆதரிக்கப்படவில்லை. ஒருங்கிணைப்பு தரவை அனுப்ப, இது அநேகமாக நல்லது - முறைகளுக்கு இடையில் மாறும்போது தாமதங்கள் அல்லது சிக்கல்கள் இருக்காது, மேலும் ஜிபிஆர்எஸ் இப்போது கிட்டத்தட்ட எல்லா இடங்களிலும் கிடைக்கிறது. இருப்பினும், சில சிக்கலான பயன்பாடுகளுக்கு இது போதுமானதாக இருக்காது.

இணைப்பு
தொகுதி சீரியல் போர்ட் வழியாகவும் கட்டுப்படுத்தப்படுகிறது, அதே நிலை - 5 வி. இங்கே நமக்கு RX மற்றும் TX இரண்டும் தேவைப்படும். தொகுதி கவசம், அதாவது, இது Arduino இல் நிறுவப்பட்டுள்ளது. மேலும், இது மெகா மற்றும் யூனோ இரண்டிற்கும் இணக்கமானது. இயல்புநிலை வேகம் 115200 ஆகும்.

நாங்கள் அதை மெகாவில் அசெம்பிள் செய்கிறோம், இங்கே முதல் விரும்பத்தகாத ஆச்சரியம் நமக்குக் காத்திருக்கிறது: தொகுதியின் TX முள் மெகாவின் 7 வது முள் மீது விழுகிறது. மெகாவின் 7 வது பின்னில் குறுக்கீடுகள் இல்லை, அதாவது நீங்கள் 7 வது பின்னை 6 வது பின்னுடன் இணைக்க வேண்டும், அதில் குறுக்கீடுகள் சாத்தியமாகும். இவ்வாறு, நாம் ஒரு Arduino முள் வீணாக்குவோம். சரி, ஒரு மெகாவிற்கு இது மிகவும் பயமாக இல்லை - எல்லாவற்றிற்கும் மேலாக, போதுமான ஊசிகள் உள்ளன. ஆனால் யூனோவிற்கு இது ஏற்கனவே மிகவும் சிக்கலானது (குறுக்கீடுகளை ஆதரிக்கும் 2 ஊசிகள் மட்டுமே உள்ளன என்பதை நான் உங்களுக்கு நினைவூட்டுகிறேன் - 2 மற்றும் 3). இந்த சிக்கலுக்கு ஒரு தீர்வாக, Arduino இல் தொகுதியை நிறுவ வேண்டாம், ஆனால் கம்பிகளுடன் இணைக்க பரிந்துரைக்கிறோம். நீங்கள் Serial1 ஐப் பயன்படுத்தலாம்.

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

எனவே, சீரியல் போர்ட்களுக்கு இடையே தரவை முன்னனுப்புவதற்கும், Atz ஐ அனுப்புவதற்கும், பதில் அமைதி பெறுவதற்கும் பழமையான குறியீட்டை எழுதுகிறோம். என்ன நடந்தது? ஆ, கேஸ் சென்சிடிவ். ATZ, நாங்கள் சரியாகிவிட்டோம். ஹர்ரே, தொகுதி நம்மைக் கேட்கிறது. ஆர்வத்துடன் எங்களை அழைக்க வேண்டுமா? ATD +7499... லேண்ட்லைன் ஃபோன் ஒலிக்கிறது, ஆர்டுயினோவிலிருந்து புகை வருகிறது, மடிக்கணினி அணைக்கப்படுகிறது. Arduino மாற்றி எரிந்தது. 6 முதல் 20V வரை செயல்பட முடியும் என்று எழுதப்பட்டிருந்தாலும், 7-12V பரிந்துரைக்கப்படுகிறது. GSM தொகுதிக்கான தரவுத்தாள் சுமையின் கீழ் மின் நுகர்வு பற்றி எங்கும் கூறவில்லை. சரி, மேகா உதிரி பாகங்கள் கிடங்கிற்கு செல்கிறாள். மூச்சுத் திணறலுடன், நான் மடிக்கணினியை இயக்குகிறேன், இது USB இலிருந்து +5V வரி வழியாக +19V பெற்றது. இது வேலை செய்கிறது, யூ.எஸ்.பி கூட எரியவில்லை. எங்களைப் பாதுகாத்த லெனோவாவுக்கு நன்றி.

மாற்றி எரிந்த பிறகு, தற்போதைய நுகர்வுக்காக நான் தேடினேன். எனவே, உச்சம் - 2A, வழக்கமான - 0.5A. இது Arduino மாற்றியின் திறன்களுக்கு அப்பாற்பட்டது. தனி உணவு தேவை.

நிரலாக்கம்
தொகுதி விரிவான தரவு பரிமாற்ற திறன்களை வழங்குகிறது. குரல் அழைப்புகள் மற்றும் எஸ்எம்எஸ் ஆகியவற்றிலிருந்து தொடங்கி ஜிபிஆர்எஸ் உடன் முடிவடைகிறது. மேலும், பிந்தையவற்றிற்கு AT கட்டளைகளைப் பயன்படுத்தி HTTP கோரிக்கையை இயக்க முடியும். நீங்கள் பலவற்றை அனுப்ப வேண்டும், ஆனால் அது மதிப்புக்குரியது: நீங்கள் உண்மையில் ஒரு கோரிக்கையை கைமுறையாக உருவாக்க விரும்பவில்லை. GPRS வழியாக தரவு பரிமாற்ற சேனலை திறப்பதில் சில நுணுக்கங்கள் உள்ளன - கிளாசிக் AT+CGDCONT=1, “IP”, “apn” நினைவிருக்கிறதா? எனவே, இங்கே அதே விஷயம் தேவை, ஆனால் இன்னும் கொஞ்சம் தந்திரம்.

ஒரு குறிப்பிட்ட URL இல் ஒரு பக்கத்தைப் பெற, நீங்கள் பின்வரும் கட்டளைகளை அனுப்ப வேண்டும்:
AT+SAPBR=1,1 //ஓப்பன் கேரியர் (கேரியர்) AT+SAPBR=3,1,"CONTYPE","GPRS" //இணைப்பு வகை - GPRS AT+SAPBR=3,1,"APN","internet" //APN, Megafon க்கான - இணையம் AT+HTTPINIT //HTTP AT+HTTPPARA="CID",1 //பயன்படுத்த கேரியர் ஐடியை துவக்கவும். AT+HTTPPARA=0 // GET முறையைப் பயன்படுத்தி தரவைக் கோரவும் //பதிலுக்காக காத்திருக்கவும் AT+HTTPTERM //நிறுத்து HTTP

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

ஊட்டச்சத்து
Arduino மாற்றியில் இருந்து GSM மாட்யூலை இயக்குவது தவறான யோசனை என்பதால், அதே ஈபேயில் 12v->5v, 3A மாற்றி வாங்க முடிவு செய்யப்பட்டது. இருப்பினும், தொகுதி 5V மின்சாரம் பிடிக்கவில்லை. ஒரு ஹேக்கிற்கு செல்வோம்: 5V ஐ arduino இலிருந்து வரும் பின்னுடன் இணைக்கவும். தொகுதியின் உள்ளமைக்கப்பட்ட மாற்றி (Arduino மாற்றி, MIC 29302WU ஐ விட மிகவும் சக்தி வாய்ந்தது) தொகுதிக்கு தேவையானதை 5V இலிருந்து உருவாக்கும்.

சேவையகம்

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

கள சோதனைகள்

வழக்கு இல்லாமல், கூடியிருந்த சாதனம் இப்படித்தான் இருக்கும்:

பவர் கன்வெர்ட்டரை நிறுவி, இறந்த டிஎஸ்எல் மோடமிலிருந்து கேஸில் வைத்த பிறகு, கணினி இதுபோல் தெரிகிறது:

நான் கம்பிகளை கரைத்து, Arduino தொகுதிகளில் இருந்து பல தொடர்புகளை அகற்றினேன். அவை இப்படி இருக்கும்:

நான் காரில் 12V ஐ இணைத்தேன், மாஸ்கோவைச் சுற்றி ஓட்டி, பாதையைப் பெற்றேன்:


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

ஒரு காரின் பயணிகள் இருக்கையில் செயற்கைக்கோள்களைத் தேடும் நேரம் இரண்டு நிமிடங்கள் ஆகும்.

முடிவுரை

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

சரி, டிராக்கர் ஏற்கனவே முக்கிய பணியைச் செய்தாலும், ஒரு மென்மையான பாதைக்கான குறியீட்டை சரி செய்ய வேண்டும்.

பயன்படுத்திய சாதனங்கள்

  • அர்டுயினோ மெகா 2560
  • Arduino Uno
  • ஜிபிஎஸ் ஸ்கைலேப் எஸ்கேஎம்53
  • SIM900 அடிப்படையிலான GSM/GPRS ஷீல்டு
  • DC-DC 12v->5v 3A மாற்றி

அர்டுயினோவுடன் பல சோதனைகளுக்குப் பிறகு, சேவையகத்திற்கு ஜிபிஆர்எஸ் வழியாக அனுப்பப்பட்ட ஆயத்தொலைவுகளுடன் எளிமையான மற்றும் மிகவும் விலையுயர்ந்த ஜிபிஎஸ் டிராக்கரை உருவாக்க முடிவு செய்தேன்.
Arduino Mega 2560 (Arduino Uno), SIM900 - ஜிஎஸ்எம்/ஜிபிஆர்எஸ் தொகுதி (சேவையகத்திற்கு தகவல் அனுப்ப), ஜிபிஎஸ் ரிசீவர் எஸ்கேஎம்53 ஜிபிஎஸ் பயன்படுத்தப்பட்டது.

எல்லாம் ebay.com இல் வாங்கப்பட்டது, மொத்தம் சுமார் 1500 ரூபிள் (arduino க்கு சுமார் 500 ரூபிள், GSM தொகுதிக்கு கொஞ்சம் குறைவாக, GPS க்கு இன்னும் கொஞ்சம்).

ஜிபிஎஸ் ரிசீவர்

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

Arduino உடன் இணைக்கப்பட்ட சாதனங்களின் முக்கியமான அளவுரு ஆற்றல் நுகர்வு ஆகும். நீங்கள் Arduino மாற்றியை ஓவர்லோட் செய்தால், அது எரிந்து போகலாம். பயன்படுத்தப்படும் ரிசீவருக்கு, அதிகபட்ச மின் நுகர்வு 45mA @ 3.3v ஆகும். தேவையான மின்னழுத்தத்தில் (5V) மின்னோட்ட வலிமையை ஏன் குறிப்பிட வேண்டும் என்பது எனக்கு ஒரு புதிராக உள்ளது. இருப்பினும், Arduino மாற்றி 45 mA ஐ தாங்கும்.

இணைப்பு

RX முள் இருந்தாலும் GPS கட்டுப்படுத்தப்படவில்லை. எந்த நோக்கத்திற்காக தெரியவில்லை. இந்த ரிசீவருடன் நீங்கள் செய்யக்கூடிய முக்கிய விஷயம், TX பின்னிலிருந்து NMEA நெறிமுறை வழியாக தரவைப் படிப்பதாகும். நிலைகள் - 5V, அர்டுயினோவிற்கு மட்டும், வேகம் - 9600 பாட். நான் VIN ஐ arduino இன் VCC க்கும், GND க்கு GND க்கும், TX க்கு RX க்கும் தொடர்புடைய சீரியலை இணைக்கிறேன். நான் முதலில் தரவை கைமுறையாகப் படித்தேன், பின்னர் TinyGPS நூலகத்தைப் பயன்படுத்துகிறேன். ஆச்சரியம் என்னவென்றால், எல்லாம் படிக்கக்கூடியது. யூனோவுக்கு மாறிய பிறகு, நான் மென்பொருள் சீரியலைப் பயன்படுத்த வேண்டியிருந்தது, பின்னர் சிக்கல்கள் தொடங்கியது - சில செய்தி எழுத்துக்கள் தொலைந்துவிட்டன. இது மிகவும் முக்கியமானதல்ல, ஏனெனில் TinyGPS தவறான செய்திகளைத் துண்டிக்கிறது, ஆனால் இது மிகவும் விரும்பத்தகாதது: 1Hz அதிர்வெண்ணைப் பற்றி நீங்கள் மறந்துவிடலாம்.

SoftwareSerial பற்றிய விரைவான குறிப்பு: Uno இல் வன்பொருள் போர்ட்கள் இல்லை, எனவே நீங்கள் மென்பொருளைப் பயன்படுத்த வேண்டும். எனவே, போர்டு குறுக்கீடுகளை ஆதரிக்கும் பின்னில் மட்டுமே தரவைப் பெற முடியும். யூனோவைப் பொறுத்தவரை, இவை 2 மற்றும் 3 ஆகும். மேலும், அத்தகைய ஒரு போர்ட் மட்டுமே ஒரு நேரத்தில் தரவைப் பெற முடியும்.

இது "சோதனை பெஞ்ச்" போல் தெரிகிறது.


ஜிஎஸ்எம் ரிசீவர்/டிரான்ஸ்மிட்டர்


இப்போது மிகவும் சுவாரஸ்யமான பகுதி வருகிறது. ஜிஎஸ்எம் தொகுதி - சிம்900. இது GSM மற்றும் GPRS ஐ ஆதரிக்கிறது. EDGE அல்லது குறிப்பாக 3G ஆதரிக்கப்படவில்லை. ஒருங்கிணைப்பு தரவை அனுப்ப, இது அநேகமாக நல்லது - முறைகளுக்கு இடையில் மாறும்போது தாமதங்கள் அல்லது சிக்கல்கள் இருக்காது, மேலும் ஜிபிஆர்எஸ் இப்போது கிட்டத்தட்ட எல்லா இடங்களிலும் கிடைக்கிறது. இருப்பினும், சில சிக்கலான பயன்பாடுகளுக்கு இது போதுமானதாக இருக்காது.

இணைப்பு

தொகுதி சீரியல் போர்ட் வழியாகவும் கட்டுப்படுத்தப்படுகிறது, அதே நிலை - 5 வி. இங்கே நமக்கு RX மற்றும் TX இரண்டும் தேவைப்படும். தொகுதி கவசம், அதாவது, இது Arduino இல் நிறுவப்பட்டுள்ளது. மேலும், இது மெகா மற்றும் யூனோ இரண்டிற்கும் இணக்கமானது. இயல்புநிலை வேகம் 115200 ஆகும்.

நாங்கள் அதை மெகாவில் அசெம்பிள் செய்கிறோம், இங்கே முதல் விரும்பத்தகாத ஆச்சரியம் நமக்குக் காத்திருக்கிறது: தொகுதியின் TX முள் மெகாவின் 7 வது முள் மீது விழுகிறது. மெகாவின் 7 வது பின்னில் குறுக்கீடுகள் இல்லை, அதாவது நீங்கள் 7 வது பின்னை 6 வது பின்னுடன் இணைக்க வேண்டும், அதில் குறுக்கீடுகள் சாத்தியமாகும். இவ்வாறு, நாம் ஒரு Arduino முள் வீணாக்குவோம். சரி, ஒரு மெகாவிற்கு இது மிகவும் பயமாக இல்லை - எல்லாவற்றிற்கும் மேலாக, போதுமான ஊசிகள் உள்ளன. ஆனால் யூனோவிற்கு இது ஏற்கனவே மிகவும் சிக்கலானது (குறுக்கீடுகளை ஆதரிக்கும் 2 ஊசிகள் மட்டுமே உள்ளன என்பதை நான் உங்களுக்கு நினைவூட்டுகிறேன் - 2 மற்றும் 3). இந்த சிக்கலுக்கு ஒரு தீர்வாக, Arduino இல் தொகுதியை நிறுவ வேண்டாம், ஆனால் கம்பிகளுடன் இணைக்க பரிந்துரைக்கிறோம். நீங்கள் Serial1 ஐப் பயன்படுத்தலாம்.

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

எனவே, சீரியல் போர்ட்களுக்கு இடையே தரவை முன்னனுப்புவதற்கும், Atz ஐ அனுப்புவதற்கும், பதில் அமைதி பெறுவதற்கும் பழமையான குறியீட்டை எழுதுகிறோம். என்ன நடந்தது? ஆ, கேஸ் சென்சிடிவ். ATZ, நாங்கள் சரியாகிவிட்டோம். ஹர்ரே, தொகுதி நம்மைக் கேட்கிறது. ஆர்வத்துடன் எங்களை அழைக்க வேண்டுமா? ATD +7499... லேண்ட்லைன் ஃபோன் ஒலிக்கிறது, ஆர்டுயினோவிலிருந்து புகை வருகிறது, மடிக்கணினி அணைக்கப்படுகிறது. Arduino மாற்றி எரிந்தது. 6 முதல் 20V வரை செயல்பட முடியும் என்று எழுதப்பட்டிருந்தாலும், 7-12V பரிந்துரைக்கப்படுகிறது. GSM தொகுதிக்கான தரவுத்தாள் சுமையின் கீழ் மின் நுகர்வு பற்றி எங்கும் கூறவில்லை. சரி, மேகா உதிரி பாகங்கள் கிடங்கிற்கு செல்கிறாள். மூச்சுத் திணறலுடன், நான் மடிக்கணினியை இயக்குகிறேன், இது USB இலிருந்து +5V வரி வழியாக +19V பெற்றது. இது வேலை செய்கிறது, யூ.எஸ்.பி கூட எரியவில்லை. எங்களைப் பாதுகாத்த லெனோவாவுக்கு நன்றி.


மாற்றி எரிந்த பிறகு, தற்போதைய நுகர்வுக்காக நான் தேடினேன். எனவே, உச்சம் - 2A, வழக்கமான - 0.5A. இது Arduino மாற்றியின் திறன்களுக்கு அப்பாற்பட்டது. தனி உணவு தேவை.

நிரலாக்கம்

தொகுதி விரிவான தரவு பரிமாற்ற திறன்களை வழங்குகிறது. குரல் அழைப்புகள் மற்றும் எஸ்எம்எஸ் ஆகியவற்றிலிருந்து தொடங்கி ஜிபிஆர்எஸ் உடன் முடிவடைகிறது. மேலும், பிந்தையவற்றிற்கு AT கட்டளைகளைப் பயன்படுத்தி HTTP கோரிக்கையை இயக்க முடியும். நீங்கள் பலவற்றை அனுப்ப வேண்டும், ஆனால் அது மதிப்புக்குரியது: நீங்கள் உண்மையில் ஒரு கோரிக்கையை கைமுறையாக உருவாக்க விரும்பவில்லை. GPRS வழியாக தரவு பரிமாற்ற சேனலை திறப்பதில் சில நுணுக்கங்கள் உள்ளன - கிளாசிக் AT+CGDCONT=1, “IP”, “apn” நினைவிருக்கிறதா? எனவே, இங்கே அதே விஷயம் தேவை, ஆனால் இன்னும் கொஞ்சம் தந்திரம்.

ஒரு குறிப்பிட்ட URL இல் ஒரு பக்கத்தைப் பெற, நீங்கள் பின்வரும் கட்டளைகளை அனுப்ப வேண்டும்:

AT+SAPBR=1,1 //ஓப்பன் கேரியர் (கேரியர்) AT+SAPBR=3,1,"CONTYPE","GPRS" //இணைப்பு வகை - GPRS AT+SAPBR=3,1,"APN","internet" //APN, Megafon க்கான - இணையம் AT+HTTPINIT //HTTP AT+HTTPPARA="CID",1 //பயன்படுத்த கேரியர் ஐடியை துவக்கவும். AT+HTTPPARA=0 // GET முறையைப் பயன்படுத்தி தரவைக் கோரவும் //பதிலுக்காக காத்திருக்கவும் AT+HTTPTERM //நிறுத்து HTTP

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

ஊட்டச்சத்து

Arduino மாற்றியில் இருந்து GSM மாட்யூலை இயக்குவது தவறான யோசனை என்பதால், அதே ஈபேயில் 12v->5v, 3A மாற்றி வாங்க முடிவு செய்யப்பட்டது. இருப்பினும், தொகுதி 5V மின்சாரம் பிடிக்கவில்லை. ஒரு ஹேக்கிற்குச் செல்லலாம்: Arduino இலிருந்து 5V வரும் பின்னுடன் 5V ஐ இணைக்கவும். தொகுதியின் உள்ளமைக்கப்பட்ட மாற்றி (Arduino மாற்றி, MIC 29302WU ஐ விட மிகவும் சக்தி வாய்ந்தது) தொகுதிக்கு தேவையானதை 5V இலிருந்து உருவாக்கும்.

சேவையகம்

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

கள சோதனைகள்

வழக்கு இல்லாமல், கூடியிருந்த சாதனம் இப்படித்தான் இருக்கும்:


பவர் கன்வெர்ட்டரை நிறுவி, இறந்த டிஎஸ்எல் மோடமிலிருந்து கேஸில் வைத்த பிறகு, கணினி இதுபோல் தெரிகிறது:

நான் கம்பிகளை கரைத்து, Arduino தொகுதிகளில் இருந்து பல தொடர்புகளை அகற்றினேன். அவை இப்படி இருக்கும்:

நான் காரில் 12V ஐ இணைத்தேன், மாஸ்கோவைச் சுற்றி ஓட்டி, பாதையைப் பெற்றேன்:


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

தனிப்பட்ட ஜிபிஎஸ் டிரான்ஸ்மிட்டர்கள்

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

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

அடிப்படையில், இவை ஒரே ஜிபிஎஸ் டிராக்கர்கள், வாகனத்தில் அல்ல, அன்றாட வாழ்வில் ஒருவரால் மட்டுமே பயன்படுத்த வடிவமைக்கப்பட்டுள்ளது.

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

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

ஜிபிஎஸ் டிரான்ஸ்மிட்டர்களின் செயல்பாடு

செயல்பாடு அதிகரிக்கும் போது, ​​சாதனத்தின் பின்வரும் திறன்கள் தோன்றும்:


ஜிபிஎஸ் டிரான்ஸ்மிட்டர்களுக்கான விருப்பங்கள்

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

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

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

ஜிபிஎஸ் டிராக்கர்கள் பற்றிய கட்டுரைகள்

இந்தக் கட்டுரையில் sim800L ஐப் பயன்படுத்தி arduino உடன் gsm தொகுதியை எவ்வாறு பயன்படுத்துவது என்பதைக் காண்பிப்பேன். அதே வழிமுறைகள் வேறு எந்த ஜிஎஸ்எம் தொகுதிக்கூறுகளையும் பயன்படுத்த மிகவும் பொருத்தமானவை, எடுத்துக்காட்டாக, சிம்900, முதலியன, ஏனெனில் அனைத்து தொகுதிகளும் ஏறக்குறைய ஒரே மாதிரியாக செயல்படுகின்றன - இது போர்ட் மூலம் AT கட்டளைகளின் பரிமாற்றமாகும்.

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

Arduino நானோவின் 2 மற்றும் 3 டிஜிட்டல் பின்களில் இயங்கும் மென்பொருள் தொடர் போர்ட்டின் UART இடைமுகம் மூலம் தொகுதி Arduino உடன் இணைக்கப்பட்டுள்ளது.

ஜிஎஸ்எம் தொகுதிகளுடன் Arduino உடன் பணிபுரிதல்

தொகுதியை இயக்க, 3.6V முதல் 4.2V வரையிலான மின்னழுத்தம் தேவைப்படுகிறது, இதன் பொருள் நீங்கள் கூடுதல் மின்னழுத்த நிலைப்படுத்தியைப் பயன்படுத்த வேண்டும், ஏனெனில் Arduino இல் 3.3 வோல்ட் நிலைப்படுத்தி நிறுவப்பட்டுள்ளது, இது தொகுதியை இயக்குவதற்கு ஏற்றதல்ல. , கூடுதல் நிலைப்படுத்தியை நிறுவுவதற்கான இரண்டாவது காரணம், ஜிஎஸ்எம் தொகுதி தீவிரமான சுமையாகும், ஏனெனில் இது செல்லுலார் நிலையத்துடன் நிலையான தொடர்பை வழங்கும் பலவீனமான டிரான்ஸ்மிட்டரைக் கொண்டுள்ளது. Arduino நானோவிற்கான சக்தி VIN பின்னுக்கு வழங்கப்படுகிறது - இது Arduino இல் கட்டமைக்கப்பட்ட ஒரு நிலைப்படுத்தி, இது தொகுதி பரந்த மின்னழுத்த வரம்பில் (6-10V) இயங்குவதை உறுதி செய்கிறது. ஆர்டுயினோ நானோவின் பின் 10 க்கு கொடுக்கப்பட்ட நிரல் உரையின்படி ரிலே தொகுதி இணைக்கப்பட்டுள்ளது மற்றும் டிஜிட்டல் வெளியீட்டாக செயல்படும் மற்றவற்றுக்கு எளிதாக மாற்றலாம்.

இது இப்படிச் செயல்படுகிறது: ஜிஎஸ்எம் தொகுதியில் சிம் கார்டை நிறுவி, பவரை ஆன் செய்து, சிம் கார்டு எண்ணுக்கு “1” என்ற உரையுடன் எஸ்எம்எஸ் அனுப்புகிறோம். "0" என்ற உரையுடன்.

#சேர்க்கிறது
SoftwareSerial gprsSerial(2, 3); // மென்பொருள் போர்ட்டிற்கு பின்கள் 2 மற்றும் 3 ஐ அமைக்கவும்
int LedPin = 10; // ரிலேவுக்கு

வெற்றிட அமைப்பு()
{
gprsSerial.begin(4800);
பின்முறை (லெட்பின், அவுட்புட்);

// செய்தி வரவேற்பை அமைத்தல்

gprsSerial.print("AT+CMGF=1\r");
gprsSerial.print("AT+IFC=1, 1\r");
தாமதம்(500);
gprsSerial.print("AT+CPBS=\"SM\"\r");
தாமதம்(500); // கட்டளை செயலாக்கத்திற்கான தாமதம்
gprsSerial.print("AT+CNMI=1,2,2,1,0\r");
தாமதம்(700);
}

சரம் currStr = "";
// இந்த வரி ஒரு செய்தியாக இருந்தால், மாறியானது True மதிப்பை எடுக்கும்
boolean isStringMessage = பொய்;

வெற்றிட வளையம்()
{
என்றால் (!gprsSerial.available())
திரும்ப;

char currSymb = gprsSerial.read();
என்றால் ('\r' == currSymb) (
என்றால் (isStringMessage) (
// தற்போதைய வரி ஒரு செய்தியாக இருந்தால், பிறகு...
என்றால் (!currStr.compareTo("1")) (
டிஜிட்டல் ரைட் (LedPin, HIGH);
) இல்லையெனில் (!currStr.compareTo("0")) (
டிஜிட்டல் ரைட் (LedPin, LOW);
}
isStringMessage = பொய்;
) வேறு (
என்றால் (currStr.startsWith("+CMT")) (
// தற்போதைய வரி “+CMT” என்று தொடங்கினால், அடுத்த செய்தி
isStringMessage = true;
}
}
currStr = "";
) இல்லையெனில் (‘\n’ != currSymb) (
currStr += சரம்(currSymb);
}
}

கட்டுரையின் வீடியோ பதிப்பு:

குறிச்சொற்கள்: #Arduino, #SIM800L

உங்கள் குறி:

இந்த கட்டுரையில் பயன்படுத்தப்படும் தயாரிப்புகள்:

← ஆர்டுயினோவில் ஜிபிஎஸ் லாகர் | COM போர்ட் வழியாக ரிலே கட்டுப்பாடு →

RTL-SDR இல் GSM ஸ்கேனர்

| வீடு| ஆங்கிலம் | வளர்ச்சி | அடிக்கடி கேட்கப்படும் கேள்விகள் |

ஸ்கேனரின் முக்கிய பண்புகள்

ஜிஎஸ்எம் ஸ்கேனர் கீழ்நிலை ஜிஎஸ்எம் சேனல்களை ஸ்கேன் செய்து, சிக்னல் அளவைப் பற்றிய தகவல்களைக் காட்டுகிறது மற்றும் அந்த சேனல் மூன்று முக்கிய செல்லுலார் ஆபரேட்டர்களான எம்டிஎஸ், பீலைன் மற்றும் மெகாஃபோன் ஆகியவற்றில் ஒன்றிற்கு சொந்தமானதா என்பதை காட்டுகிறது. அதன் வேலையின் முடிவுகளின் அடிப்படையில், ஸ்கேனர் அனைத்து ஸ்கேன் செய்யப்பட்ட சேனல்களுக்கும் MCC, MNC, LAC மற்றும் CI அடிப்படை நிலைய அடையாளங்காட்டிகளின் பட்டியலைச் சேமிக்க உங்களை அனுமதிக்கிறது.
ஜிஎஸ்எம் சிக்னலின் அளவை மதிப்பிடுவதற்கும், வெவ்வேறு ஆபரேட்டர்களின் சிக்னல் தரத்தை ஒப்பிடுவதற்கும், ரேடியோ கவரேஜை மதிப்பிடுவதற்கும், செல்லுலார் சிக்னல் பெருக்கிகளை நிறுவுவது மற்றும் அவற்றின் அளவுருக்களை சரிசெய்வது, கல்வி நோக்கங்களுக்காக போன்றவற்றுக்கு ஜிஎஸ்எம் ஸ்கேனரைப் பயன்படுத்தலாம்.
ஸ்கேனர் விண்டோஸின் கீழ் இயங்குகிறது மற்றும் எளிய மற்றும் மலிவான ரிசீவரைப் பயன்படுத்துகிறது - RTL-SDR. RTL-SDR பற்றி நீங்கள் இங்கு படிக்கலாம்:
RTL-SDR (RTL2832U) மற்றும் மென்பொருள் வரையறுக்கப்பட்ட வானொலி செய்திகள் மற்றும் திட்டங்கள்,
RTL-SDR - OsmoSDR,
ரஷ்ய மொழியில் RTL-SDR.
RTL-SDR அளவுருக்கள் ஸ்கேனரின் முக்கிய பண்புகளை தீர்மானிக்கிறது. நிச்சயமாக, ஒரு ஜிஎஸ்எம் ஸ்கேனர் சாதாரண அளவீட்டு கருவிகளுக்கு மாற்றாக இல்லை.
ஸ்கேனர் பயன்பாட்டில் எந்த தடையும் இல்லாமல் இலவசமாக விநியோகிக்கப்படுகிறது.
தற்போதைய பதிப்பு GSM 900 இசைக்குழுவை ஆதரிக்கிறது மற்றும் GSM 1800 ஐ ஆதரிக்காது. R820T ட்யூனருடன் கூடிய RTL-SDR இன் இயக்க அதிர்வெண் 1760 மெகா ஹெர்ட்ஸ் வரை வரையறுக்கப்பட்டுள்ளது என்பதன் மூலம் இது தீர்மானிக்கப்படுகிறது. சோதனை RTL-SDR இயக்கியின் பயன்பாடு குறைந்தபட்சம் 1800 MHz வரம்பில் செயல்பட அனுமதிக்கும் என்ற நம்பிக்கை உள்ளது.

ஸ்கேனரை இயக்குகிறது

ஸ்கேனரின் சமீபத்திய பதிப்பை இந்த இணைப்பிலிருந்து பதிவிறக்கம் செய்யலாம். ஒரு வசதியான இடத்திற்கு கோப்பை அன்சிப் செய்து gsmscan.exe ஐ இயக்கவும்.
ஸ்கேனரின் முந்தைய பதிப்புகள், ஆதாரங்களுடன் களஞ்சியத்திற்கான இணைப்பு மற்றும் வளர்ச்சி தொடர்பான பிற தகவல்கள் ஆகியவை மேம்பாட்டுப் பக்கத்தில் அமைந்துள்ளன.
ஸ்கேனர் செயல்பட, RTL-SDR இயக்கிகளின் நிறுவல் தேவை; அவை ஏற்கனவே நிறுவப்படவில்லை என்றால், நிறுவல் செயல்முறையை விவரிக்க Zadig நிரலைப் பயன்படுத்தி இதை வசதியாகச் செய்யலாம்.

ஸ்கேனரைப் பயன்படுத்துதல்

ஸ்கேனர் நிரல் சாளரத்தின் பார்வை கீழே உள்ளது:

கிடைமட்ட அச்சு GSM சேனல் எண்ணை ARFCN அல்லது MHz வடிவில் காட்டுகிறது, மேலும் செங்குத்து அச்சு dBm இல் சமிக்ஞை அளவைக் காட்டுகிறது. கோட்டின் உயரம் சமிக்ஞை வலிமையைக் காட்டுகிறது.

ஜிஎஸ்எம் தொகுதி NEOWAY M590 Arduino உடன் தொடர்பு

BS அடையாளங்காட்டிகள் வெற்றிகரமாக டிகோட் செய்யப்பட்டு, அவை மூன்று முக்கிய தொலைத்தொடர்பு ஆபரேட்டர்களின் அடையாளங்காட்டிகளுடன் ஒத்திருந்தால், கோடுகள் தொடர்புடைய வண்ணங்களில் வண்ணத்தில் இருக்கும்.
திரையின் மேற்புறத்தில் உள்ள கீழ்தோன்றும் பட்டியல்கள் SDR பெறுநரைத் தேர்ந்தெடுக்க அனுமதிக்கின்றன, பல இணைக்கப்பட்டிருந்தால், இயக்க வரம்பு GSM 900 அல்லது GSM 1800 மற்றும் கிடைமட்ட அச்சில் ARFCN அல்லது MHz அளவீட்டு அலகுகள்.
டிகோட் செய்யப்பட்ட அடிப்படை நிலையங்களின் பட்டியலின் வடிவத்தில் ஸ்கேனரின் செயல்பாடு குறித்த அறிக்கையைச் சேமிக்கவும், BS டிகோடிங்கின் முடிவுகளை அழிக்கவும் மற்றும் நிரலைப் பற்றிய தகவலைப் பெறவும் பொத்தான்கள் உங்களை அனுமதிக்கின்றன.

வேலையின் கொள்கைகள் மற்றும் அம்சங்கள்.

செயல்பாட்டின் போது, ​​நிரல் இயக்க அதிர்வெண் வரம்பை 2.0 மெகா ஹெர்ட்ஸ் (10 ஜிஎஸ்எம் சேனல்கள்) படி ஸ்கேன் செய்கிறது மற்றும் 2.4 மெகா ஹெர்ட்ஸ் மாதிரி அதிர்வெண்ணுடன் சிக்னலை டிஜிட்டல் மயமாக்குகிறது. ஸ்கேனிங் செயல்முறையானது சிக்னல் வலிமையை அளக்க முழு வீச்சில் வேகமான பாஸ் மற்றும் BS ஐடிகளை டிகோட் செய்வதற்கான மெதுவான பாஸ் ஆகியவற்றைக் கொண்டுள்ளது.

சக்தியை அளவிட முழு வரம்பையும் கடந்து சென்ற பிறகு ஒரு டிகோடிங் படி செய்யப்படுகிறது. இவ்வாறு, GSM 900 வரம்பில், சிக்னல் நிலை தோராயமாக ஒவ்வொரு 2 வினாடிக்கும் ஒருமுறை புதுப்பிக்கப்படும், மேலும் முழுமையான டிகோடிங் பாஸ் 1 நிமிடம் ஆகும்.
RTL-SDR இலிருந்து பெறப்பட்ட சிக்னலின் மோசமான தரம் காரணமாக, BS ஒளிபரப்பு கட்டுப்பாட்டு சேனலின் (BCCH) கணினி தகவலை (SI) சரியாக டிகோடிங் செய்வதற்கான நிகழ்தகவு அதிகமாக இல்லை. மல்டிபாத் பரவலின் விளைவாக சிக்னல் நிலை ஏற்ற இறக்கங்கள் கணினித் தகவலை டிகோடிங் செய்வதற்கான வாய்ப்பையும் குறைக்கின்றன. இந்தக் காரணங்களுக்காக, BS அடையாளங்காட்டிகளைப் பெற, ஸ்கேனர் சுமார் 10 நிமிடங்களுக்குள் தகவல்களைக் குவிப்பது அவசியம். ஆனால் இந்த விஷயத்தில் கூட, அனைத்து சேனல்களும் போதுமான சிக்னல் நிலை மற்றும் தரத்தை கொடுக்கப்பட்ட இடத்தில் மிகவும் சிறந்த பெறுநரால் கூட டிகோடிங்கிற்கு வழங்குவதில்லை. கூடுதலாக, அனைத்து ஜிஎஸ்எம் சேனல்களும் ஜிஎஸ்எம் தரநிலையின்படி வேலை செய்யப் பயன்படுவதில்லை, மேலே உள்ள படத்தில் காணலாம், யுஎம்டிஎஸ் தரநிலையின்படி வேலை செய்வதற்காக 975 - 1000 சேனல்கள் மெகாஃபோனால் ஆக்கிரமிக்கப்பட்டுள்ளன.
செயல்பாட்டின் போது, ​​ஸ்கேனர் புதிய டிகோட் செய்யப்பட்ட சேனல்கள் பற்றிய கணினி தகவலை சேனல்களில் உள்ள தகவல்களின் பொதுவான வரிசையில் சேர்க்கிறது. ஆனால் இந்த கட்டத்தில் கணினித் தகவல் டிகோட் செய்யப்படாமல் இருக்கும் போது, ​​முன்பு டிகோட் செய்யப்பட்ட சேனல்கள் பற்றிய தகவல்கள் அழிக்கப்படாது, மேலும் அவை வரிசையில் இருக்கும். இந்தத் தகவலை அழிக்க, BS டிகோடிங் முடிவுகளை அழிக்க பொத்தானைப் பயன்படுத்தவும்.
சேமி ரிப்போர்ட் பொத்தானைக் கிளிக் செய்தால், திரட்டப்பட்ட முடிவுகள், நிரலின் பெயர், தரவு சேமிக்கப்பட்ட தேதி மற்றும் நேரம் ஆகியவற்றைக் கொண்ட ஒரு உரைக் கோப்பில் சேமிக்கப்படும். அறிக்கை கோப்பின் ஒரு பகுதியின் எடுத்துக்காட்டு கீழே உள்ளது:
ஸ்கேனர் விண்டோஸ் 7, 8.1 மற்றும் 10 இன் கீழ் வேலை செய்ய வடிவமைக்கப்பட்டுள்ளது. R820T ட்யூனருடன் RTL-SDR இன் மூன்று நகல்களுடன் வேலை சோதிக்கப்பட்டது; மற்ற வகை ட்யூனர்கள் சோதிக்கப்படவில்லை.
நிரலின் சிறப்பு பதிப்பு Windows XP இன் கீழ் வேலை செய்ய தொகுக்கப்பட்டுள்ளது; இது நிலையான பதிப்பை விட பல மடங்கு மெதுவாக இயங்கும்.

வளர்ச்சி.

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