Სარჩევი:
- ნაბიჯი 1: მასალების შეძენა
- ნაბიჯი 2: მოწყობილობების დაყენება
- ნაბიჯი 3: Arduino- ს კოდირება მონაცემების ამოსაღებად
- ნაბიჯი 4: მოსმენის დამუშავების გამოყენება
- ნაბიჯი 5: მონაცემების ჩვენება Tableau Public- ზე
- ნაბიჯი 6: ვიზის დახვეწა
ვიდეო: გზის შემდგენელი: 6 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
ამ 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- ს კოდირება მონაცემების ამოსაღებად
ახლა, როდესაც ჩვენ გვაქვს მოწყობილობები, რომლებიც აგროვებენ 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- ზე
საბოლოო ნაბიჯი მოიცავს მონაცემების ვიზუალიზაციას. არსებობს მრავალი პროგრამა მონაცემთა ვიზუალიზაციის შესაქმნელად და საჩვენებლად, ანუ Plotly, მაგრამ ამ პროექტისთვის ჩვენ გამოვიყენებთ Tableau- ს. გახსენით Tableau Public და გახსენით შენახული Excel ფაილი, როგორც ტექსტური ფაილი. სამუშაო ფურცლის შესაქმნელად დააწკაპუნეთ ფურცელზე 1 ქვედა მარცხენა მხარეს.
ვინაიდან ჩვენ ვმუშაობთ GPS მონაცემებთან, ჩვენ გამოვიყენებთ რუკას ჩვენი ინფორმაციის გამოსახატავად. მარცხენა სვეტში, სადაც ნათქვამია ზომები, ჩვენ გავაგრძელებთ სიგრძეს სვეტებად და გრძედს მწკრივებად ზევით. Tableau ნაგულისხმევია ორივე ღონისძიების AVG, ასე რომ დააწკაპუნეთ ჩამოსაშლელ პირობებზე და შეცვალეთ ორივე განზომილებაში. ახლა რუქას უნდა ჰქონდეს გზა ნაჩვენები შეგროვებული გრძედისა და გრძედის მნიშვნელობების გამოყენებით.
თქვენი მონაცემების გასასუფთავებლად შეცდომებისთვის (რაც ასევე შეიძლება გაკეთდეს Tableau– ს გახსნამდე), შეგიძლიათ აირჩიოთ ზოგიერთი წრის გამორიცხვა მათზე დაწკაპუნებით და ვარიანტის არჩევით. ჩემი GPS მოდული არ არის 100% ზუსტი, რადგან ჩემი გზის ზოგიერთი ნაწილი არ არის განლაგებული, მაგრამ ზოგადი გზა ჩაწერილია.
ნაბიჯი 6: ვიზის დახვეწა
ბოლო ნაწილი არის ის, რომ ეს მონაცემები უფრო იკითხება. თუ გსურთ ქუჩის კონტექსტი, შეგიძლიათ გადახვიდეთ რუკაზე> რუქის ფენა> ქუჩები და გზატკეცილები. მოგერიდებათ ექსპერიმენტი სხვა ნიშნებთან. ჩავათრიე სიჩქარე ფერიზე, რათა მეჩვენებინა თუ როგორ იზრდება ფერის ინტენსივობა სიჩქარის მატებასთან ერთად. მე ასევე გამოვიყენე Detail კურსის ლეიბლის ნაცვლად, რადგან ლეიბლი აჩვენებს ნომრებს რუკაზე, მე კი მინდოდა ინფორმაცია გამოჩნდეს მხოლოდ მაშინ, როდესაც თქვენ გადაადგილდებით ადგილმდებარეობის წერტილებზე.
ახლა, როდესაც თქვენ განიცადეთ მონაცემთა შეგროვებისა და მონაცემების ვიზუალიზაციის ჩვენების მთელი პროცესი, შეგიძლიათ ეს სხვა პროექტებზეც გამოიყენოთ!
პინგდი ჰუანგის მიერ, 2018 წლის ზაფხული
გირჩევთ:
გზის ველოსიპედი დღისით და გვერდით ხილული 350mA მსუბუქი (ერთ საკანში): 11 ნაბიჯი (სურათებით)
გზის ველოსიპედით დღისით და გვერდით ხილული 350mA სინათლე (ერთ საკანში): ამ ველოსიპედის შუქს აქვს წინა და 45 ° მოპირკეთებული ქარვისფერი LED- ები 350mA- მდე. გვერდითი ხილვადობა აუმჯობესებს უსაფრთხოებას კვეთაზე. ქარვა შეირჩა დღის ხილვადობისთვის. შუქი დამონტაჟდა საჭის მარცხენა წვეთზე. მისი ნიმუშები შეიძლება განსხვავებული იყოს
მსუბუქი გზის კონსტრუქციები Semarang: 8 ნაბიჯი
მსუბუქი წონის საგზაო კონსტრუქციები სემარანგი: სასკოლო პროექტი როგორც როტერდამის გამოყენებითი მეცნიერების უნივერსიტეტის სასკოლო პროექტი, ჩვენ გვქონდა გამოსავალი, როგორც წყლის დონის ამაღლებისთვის, ასევე ინდონეზიაში, სემარანგში მიწის დაძირვისთვის. შემდეგი პროდუქტები მზადდება ამ p
შემდგენელი ბროსი (ინდი თამაშები): 3 ნაბიჯი
შემდგენელი ბროსი (ინდი თამაშები): შემდგენელი ბროსი: თამაში ძალიან სახალისოა …….. მაგრამ ამის გაკეთება ??? არის კითხვა Quora– სთვის :) თამაშის თამაში არის სრულყოფილი სავარჯიშო თქვენი კოდირების უნარებისა და ცოდნის გასაუმჯობესებლად და ყველა არ თამაშობს თამაშს … მე თვითონ ვისწავლე ერთიანობა
გზის მონიტორინგი: 15 ნაბიჯი
გზის მონიტორინგი: დღეს ჩვენ გაჩვენებთ, თუ როგორ შევქმენით გზის ანომალიების მონიტორინგის სისტემა ამაჩქარებლებზე, LoRaWAN, Amazon Web Services და Google Cloud API
იაფი გზის საქმე: 8 ნაბიჯი
იაფი გზის საქმე: მე მჭირდებოდა გზა, რომ გადამეყვანა ჩემი გამაძლიერებელი ისე, რომ ის არ გაეტეხა. მე ვაპირებდი ხისგან გამაძლიერებლის თაროს გაკეთებას, მასზე ხალიჩისა და ბორბლების დადებას … მაგრამ ეს ნამდვილად არ არის ის, რაც მინდოდა. მე მინდოდა ერთ-ერთი მაგარი როტო-ჩამოსხმული, რომელიც 100 $+ღირს. Ისე