Სარჩევი:

გზის შემდგენელი: 6 ნაბიჯი
გზის შემდგენელი: 6 ნაბიჯი

ვიდეო: გზის შემდგენელი: 6 ნაბიჯი

ვიდეო: გზის შემდგენელი: 6 ნაბიჯი
ვიდეო: ლექსის ანალიზი - 6 ნაბიჯი 2024, ნოემბერი
Anonim
ბილიკის შემდგენელი
ბილიკის შემდგენელი
ბილიკის შემდგენელი
ბილიკის შემდგენელი
ბილიკის შემდგენელი
ბილიკის შემდგენელი

ამ IoT პროექტში, ჩვენ ვაფორმებთ NEO-6M (GPS მოდული), რომ Arduino– ს საშუალებით ლოკალური მონაცემები მივაწოდოთ Excel– ის ფურცელს, რომელიც შეინახება კომპიუტერში. ამის შემდეგ Tableau Public– თან ერთად, ჩვენ ვქმნით ამ მონაცემების მონაცემების ვიზუალიზაციას, რათა განვსაზღვროთ ის გზა, რომელიც ჩვენ ავიღეთ. მიუხედავად იმისა, რომ ეს არის რეალურ დროში მონაცემების შეგროვების და პრეზენტაციის ერთ-ერთი გზა უაღრესად კორელაციური მონაცემებით, ეს პროცესი შეიძლება გამოყენებულ იქნას სხვა მონაცემებზე ორიენტირებული პროექტებისთვისაც.

ნაბიჯი 1: მასალების შეძენა

მასალების შეძენა
მასალების შეძენა

ამ პროექტისთვის დაგჭირდებათ შემდეგი:

  • NEO-6M GPS მოდული
  • არდუინო უნო
  • მამაკაცი/მამაკაცი მხტუნავი მავთულები (დაგჭირდებათ 4 მავთული)
  • USB 2.0 კაბელი ტიპი A– დან B– მდე
  • კომპიუტერი ამ პროგრამებით: Tableau Public, Arduino IDE (TinyGPS ++ - ით) და დამუშავება

ნაბიჯი 2: მოწყობილობების დაყენება

მოწყობილობების დაყენება
მოწყობილობების დაყენება
მოწყობილობების დაყენება
მოწყობილობების დაყენება

ჩვენ ჯერ უნდა დავაყენოთ GPS მოდული Arduino UNO– სთან, რათა Arduino– მ მოგვცეს ინტერფეისი მონაცემების საჩვენებლად. NEO-6M- თან დაკავშირებული ოთხი მავთულიდან თითოეული შეესაბამება კონკრეტულ პორტებს. თუ თქვენი NEO-6M არ მოყვება მავთულხლართებს, თქვენ მოგიწევთ მისი პირდაპირ მავთულხლართებით მიმაგრება. ზემოთ მოცემულ დიაგრამაში წითელი შეესაბამება ენერგიას (VCC), შავი მიწას (GND), ყვითელს გადასცემს მონაცემებს (TxD) და თეთრი იღებს მონაცემებს (RxD). ჩვენ ვაკავშირებთ ამ მავთულხლართებს მამრობითი/მამრობითი ჯუმბერის მავთულხლართებთან, რათა შევძლოთ მათი დაკავშირება არდუინოსთან. ზემოთ მოყვანილი დიაგრამის შემდეგ, ჩვენ ვუკავშირდებით გრუნტის მავთულს Arduino– ს GND ციფრულ პინთან, TxD მავთულს 4 – ზე, RxD მავთულს ~ 3 –ზე და VCC მავთულს ძაბვისთვის 5V– ზე. მომდევნო ეტაპზე, ჩვენ უნდა განვსაზღვროთ TxD და RxD სწორი რიცხვებით SoftwareSerial– ში.

მას შემდეგ, რაც ორი მოწყობილობა ერთმანეთთან იქნება დაკავშირებული, ჩვენ გვჭირდება ენერგიის წყარო. შეაერთეთ USB 2.0 კაბელი თქვენს ლეპტოპთან და NEO-6M- ის შუქი უნდა აინთოს.

ნაბიჯი 3: Arduino- ს კოდირება მონაცემების ამოსაღებად

Arduino– ს კოდირება მონაცემების ამოსაღებად
Arduino– ს კოდირება მონაცემების ამოსაღებად

ახლა, როდესაც ჩვენ გვაქვს მოწყობილობები, რომლებიც აგროვებენ GPS მონაცემებს თანამგზავრებიდან, ჩვენ დავწერთ კოდს, რომ გავაანალიზოთ ის GPS მონაცემები, რაც გვსურს. თუ ვივარაუდებთ, რომ თქვენ აიღეთ სიგნალი (ჩემი GPS მოდული ლურჯად აციმციმდება), NEO-6M სტანდარტულად ბეჭდავს სერიულ მონიტორზე ნედლეულ მონაცემებს NMEA შეტყობინებების სახით, რომლებიც $ GP– ს ჰგავს, რასაც მოჰყვება მეტი ასო და სერია რიცხვების. ზემოთ მოყვანილი სურათი იძლევა ზოგად წარმოდგენას იმის შესახებ, თუ რა უნდა იყოს ნაჩვენები თქვენს სერიულ მონიტორზე მას შემდეგ, რაც ძირითადი Arduino კოდი შეიყვანება.

კოდის ასახსნელად, რომელიც მე დავამატე (ან თუ გსურთ თავად სცადოთ მისი კოდირება), თქვენ ჯერ უნდა ჩართოთ როგორც SoftwareSerial, ასევე TinyGPS ++ ბიბლიოთეკები (ამ უკანასკნელისთვის ესკიზი> ჩართვა> დამატება. ZIP ბიბლიოთეკა). SoftwareSerial საშუალებას გვაძლევს გვქონდეს სერიული კავშირი; TinyGPS ++ გვაძლევს მარტივ ინსტრუმენტს მიზნობრივი ინფორმაციის დასაკითხად დასაბეჭდად. დარწმუნდით, რომ თქვენ ინიციალიზირებთ SoftwareSerial ობიექტს Arduino– ს შესაბამის ქინძისთავებზე. კონფიგურაციის ფუნქციაში ჩვენ ვიყენებთ 9600 ბოდის სიჩქარეს.

ამ ინსტრუქციის მიზნებისათვის, ჩვენ დავბეჭდავთ მონაცემთა შვიდ ტიპს მარყუჟის ფუნქციაში: გრძედი (გრადუსი), გრძედი (გრადუსი), სიჩქარე (კმ), კურსი (გრადუსი), სიმაღლე (კმ), თანამგზავრების რაოდენობა გამოყენება და hdop. თქვენ შეგიძლიათ მოძებნოთ სინტაქსი ამ ინფორმაციის დასაბეჭდად Arduiniana ბიბლიოთეკაში. ზოგადი ფორმაა Serial.print (). მაგალითად, გრძედის დასაბეჭდად, ჩვენ ვწერთ Serial.print (gps.location.lng (), 6). 6 წარმოადგენს რამდენ ციფრს გვინდა ათწილადის მარჯვნივ.

ჩემს კოდს აქვს დამატებითი სიმბოლოები დაბეჭდილი ადვილად ფორმატირებული რეგექსის გულისთვის მომდევნო ეტაპზე. თუ გსურთ შეჩერდეთ ამ ნაბიჯზე, მოგერიდებათ მონაცემების სხვაგვარად ფორმატირება სერიულ მონიტორზე ხილვის სიმარტივისთვის.

ნაბიჯი 4: მოსმენის დამუშავების გამოყენება

მოსმენის დამუშავების გამოყენება
მოსმენის დამუშავების გამოყენება

სანამ გვაქვს Arduino IDE კოდი დაყენებული, ჩვენ გვაქვს პრობლემა ამ მონაცემების შენახვისას. ჯერჯერობით, ჩვენ შეგვიძლია მხოლოდ სერიული მონიტორის მონაცემების ნახვა, როდესაც ჩვენ ვაგროვებთ მას. ამ მონაცემების ჩაწერის მრავალი გზა არსებობს, მაგრამ მე შევარჩიე დამუშავება ძირითადად იმიტომ, რომ მისი ინტერფეისი ასახავს Arduino IDE- ს და ის იყენებს Java- ს, ჩემთვის ნაცნობ ენას (გაითვალისწინეთ, რომ თქვენ ასევე შეგიძლიათ გააკონტროლოთ Arduino დაფა დამუშავების შემთხვევაში, თუ ჩამოტვირთავთ ფირმას). დამუშავება უსმენს Arduino– სთან დაკავშირებულ პორტს და აქვს უნარი მოახდინოს მონაცემების მანიპულირება სერიულ მონიტორზე. ამ პორტის სახელის საპოვნელად დაუბრუნდით თქვენს Arduino IDE ფაილს და შეამოწმეთ ინსტრუმენტები> პორტი.

მე მოგაწოდეთ დამუშავების კოდი, მაგრამ აქ არის სწრაფი მიმოხილვა, თუ როგორ მუშაობს კოდი.

დაყენების ფუნქციის დაწყებამდე დარწმუნდით, რომ თქვენ გაქვთ ცვლადები პორტისთვის, ცხრილი, რიგი, რომელთანაც ჩვენ ვიმუშავებთ და ფაილის სახელი. შემდეგ კონფიგურაციის ფუნქციაში არის პარამეტრები თქვენი ფანჯრის ზომის დასადგენად, მაგრამ ეს რიცხვები გავლენას არ ახდენს ჩვენს ფუნქციურობაზე (მაგალითად, დააყენეთ ისინი (500, 500)). პორტის ინიციალიზაციისას გამოიყენეთ პორტის სახელი სიმებიანი ფორმით და 9600 baud განაკვეთი. დაბოლოს, შექმენით ცხრა სვეტი (შვიდი GPS კატეგორიისთვის, დრო და თარიღი) ცხრილის დასაწყებად.

გათამაშების ფუნქციაში ჩვენ ვიყენებთ ჩამონტაჟებულ თარიღისა და დროის ფუნქციებს, რათა თვალყური ვადევნოთ, როდის ხდება GPS მონაცემების თითოეული ნაკრების ამოღება. ახლა არდუინოს მონაცემების ნაკადის წასაკითხად და სათანადო სათაურების ქვეშ ჩასასმელად სწორი დროითა და თარიღით, ჩვენ ვიყენებთ რეგულარულ გამონათქვამებს.

მე ვიყენებ regex– ს ზუსტი მონაცემების შესატყვისი matchAll ფუნქციისთვის, რომელიც ეძებს რაიმე გამოთქმას თანაბარი ნიშნისა და მძიმით (გამყოფები, რომლებიც ჩავსვი ჩემს არდუინოს კოდში). ეს შემდგომში ათავსებს ყველა შესატყვისი ტეგს, რიცხვით მონაცემებს, ორგანზომილებიან მასივში. შემდეგ შეგვიძლია მოვუწოდოთ ამ მასივის ინდექსებს, რომ განათავსონ ისინი Excel ფურცლის სათაურებში.

ახალი.csv ფაილის შესანახად, ჩვენ ვიყენებთ ღილაკზე დაჭერით Run ფანჯრის დახურვას. რაც უფრო დიდხანს ელოდებით ღილაკის დაჭერას, მით მეტ მონაცემს შეაგროვებთ. სხვა გზამკვლევის წესის დაცვით, მე ასევე გადავწყვიტე ფაილის შენახვა მონაცემთა საქაღალდეში თარიღისა და დროის სახელით.

ნაბიჯი 5: მონაცემების ჩვენება Tableau Public- ზე

Tableau Public მონაცემების ჩვენება
Tableau Public მონაცემების ჩვენება
Tableau Public მონაცემების ჩვენება
Tableau Public მონაცემების ჩვენება
Tableau Public მონაცემების ჩვენება
Tableau Public მონაცემების ჩვენება

საბოლოო ნაბიჯი მოიცავს მონაცემების ვიზუალიზაციას. არსებობს მრავალი პროგრამა მონაცემთა ვიზუალიზაციის შესაქმნელად და საჩვენებლად, ანუ Plotly, მაგრამ ამ პროექტისთვის ჩვენ გამოვიყენებთ Tableau- ს. გახსენით Tableau Public და გახსენით შენახული Excel ფაილი, როგორც ტექსტური ფაილი. სამუშაო ფურცლის შესაქმნელად დააწკაპუნეთ ფურცელზე 1 ქვედა მარცხენა მხარეს.

ვინაიდან ჩვენ ვმუშაობთ GPS მონაცემებთან, ჩვენ გამოვიყენებთ რუკას ჩვენი ინფორმაციის გამოსახატავად. მარცხენა სვეტში, სადაც ნათქვამია ზომები, ჩვენ გავაგრძელებთ სიგრძეს სვეტებად და გრძედს მწკრივებად ზევით. Tableau ნაგულისხმევია ორივე ღონისძიების AVG, ასე რომ დააწკაპუნეთ ჩამოსაშლელ პირობებზე და შეცვალეთ ორივე განზომილებაში. ახლა რუქას უნდა ჰქონდეს გზა ნაჩვენები შეგროვებული გრძედისა და გრძედის მნიშვნელობების გამოყენებით.

თქვენი მონაცემების გასასუფთავებლად შეცდომებისთვის (რაც ასევე შეიძლება გაკეთდეს Tableau– ს გახსნამდე), შეგიძლიათ აირჩიოთ ზოგიერთი წრის გამორიცხვა მათზე დაწკაპუნებით და ვარიანტის არჩევით. ჩემი GPS მოდული არ არის 100% ზუსტი, რადგან ჩემი გზის ზოგიერთი ნაწილი არ არის განლაგებული, მაგრამ ზოგადი გზა ჩაწერილია.

ნაბიჯი 6: ვიზის დახვეწა

ვიზის დახვეწა
ვიზის დახვეწა

ბოლო ნაწილი არის ის, რომ ეს მონაცემები უფრო იკითხება. თუ გსურთ ქუჩის კონტექსტი, შეგიძლიათ გადახვიდეთ რუკაზე> რუქის ფენა> ქუჩები და გზატკეცილები. მოგერიდებათ ექსპერიმენტი სხვა ნიშნებთან. ჩავათრიე სიჩქარე ფერიზე, რათა მეჩვენებინა თუ როგორ იზრდება ფერის ინტენსივობა სიჩქარის მატებასთან ერთად. მე ასევე გამოვიყენე Detail კურსის ლეიბლის ნაცვლად, რადგან ლეიბლი აჩვენებს ნომრებს რუკაზე, მე კი მინდოდა ინფორმაცია გამოჩნდეს მხოლოდ მაშინ, როდესაც თქვენ გადაადგილდებით ადგილმდებარეობის წერტილებზე.

ახლა, როდესაც თქვენ განიცადეთ მონაცემთა შეგროვებისა და მონაცემების ვიზუალიზაციის ჩვენების მთელი პროცესი, შეგიძლიათ ეს სხვა პროექტებზეც გამოიყენოთ!

პინგდი ჰუანგის მიერ, 2018 წლის ზაფხული

გირჩევთ: