Სარჩევი:

დაკავშირებული ორიენტაციის სამაჯური: 6 ნაბიჯი
დაკავშირებული ორიენტაციის სამაჯური: 6 ნაბიჯი

ვიდეო: დაკავშირებული ორიენტაციის სამაჯური: 6 ნაბიჯი

ვიდეო: დაკავშირებული ორიენტაციის სამაჯური: 6 ნაბიჯი
ვიდეო: ეკჰარტ ტოლე - "აწმყოს ძალა" - აუდიო წიგნი - Audible Read Along 2024, ნოემბერი
Anonim
დაკავშირებული ორიენტაციის სამაჯური
დაკავშირებული ორიენტაციის სამაჯური

ეს აკადემიური პროექტი, დაკავშირებული ორიენტაციის სამაჯური, განახორციელეს ოთხი სტუდენტმა საინჟინრო სკოლის Polytech Paris-UPMC– დან: Sébastien Potet, Pauline Pham, Kevin Antunes და Boris Bras.

რა არის ჩვენი პროექტი?

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

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

ჩვენ გვქონდა 120 ევროს ფასი. დაკავშირებული ორიენტაციის სამაჯურის გასაცნობად, მიჰყევით ჩვენს გაკვეთილს!

ნაბიჯი 1: საჭირო მასალა

საჭირო მასალა
საჭირო მასალა
საჭირო მასალა
საჭირო მასალა
საჭირო მასალა
საჭირო მასალა

კომპონენტების სია:

- STM32L432KC-Nucleo ულტრა დაბალი სიმძლავრის

- SigFox მოდული TD1208

- RFID წამკითხველი 125 kHz

- ტემპერატურის/ტენიანობის სენსორი HTU21D

- აქსელერომეტრის მოდული 3 ღერძი ADXL345

- კომპასის მოდული 3 ღერძი HMC5883L

- ეკრანი OLED ADA938

- GPS მოდული Grove 31275

- ბატარეა 1.5 V LR6

- დაძაბულობის რეგულატორი Pololu 3.3V U1V11F3

- რამდენიმე საკონტროლო ღილაკი

ნაბიჯი 2: პროგრამირების ნაწილი

პროგრამირების ნაწილი
პროგრამირების ნაწილი

უპირველეს ყოვლისა, ჩვენ თითოეული კომპონენტი დავპროგრამეთ mbed დეველოპერის საიტით. ამისათვის ჩვენ გამოვიყენეთ მიკროკონტროლი STM32L476RG-Nucleo, რომელიც დაბალი მოხმარებაა.

ეკრანი, ტემპერატურის/ტენიანობის სენსორი და კომპასი მუშაობს I²C კომუნიკაციაში. RFID მკითხველი და ამაჩქარებელი მუშაობს სერიულ კომუნიკაციაში. თითოეული კომპონენტისთვის, თქვენ უნდა დაამატოთ საკუთარი ბიბლიოთეკა.

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

RFID მკითხველი მუშაობს სერიულ კომუნიკაციაზე, თქვენ უნდა გამოიყენოთ ფუნქცია "getc ()", რადგან ტეგი მონაცემებს უბრუნებს char- ში.

ყველა კოდი ხელმისაწვდომია ფაილის სახით, ეკრანის OLED კოდის გარდა.

ნაბიჯი 3: ელექტრონული შეკრება

ელექტრონული შეკრება
ელექტრონული შეკრება

თითოეული კომპონენტის პროგრამირების შემდეგ, ჩვენ ავიღეთ ლაბდეკის ფირფიტა და ჩავრთეთ ისინი STM32L432KC-Nucleo– ზე. დაიცავით გაყვანილობის დიაგრამა დანართში ყველა კომპონენტის ასაწყობად, ან თითოეული PIN აღწერილია კოდის შეკრებაზე.

ჩვენ დავამატეთ სამი ღილაკი სამი 10 კილოგრამიანი რეზისტენტობით: ერთი აგზავნის GPS პოზიციას საფრთხის შემთხვევაში, ერთი - ჩართვა/გამორთვა და ბოლო ერთი, რათა მორბენალმა მიანიჭოს წერტილი. ჩვენ დავამატეთ ზარი, როდესაც დააჭირეთ SOS ღილაკს.

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

ნაბიჯი 4: მონაცემთა მოპოვება

მონაცემთა მოპოვება
მონაცემთა მოპოვება
მონაცემთა მოპოვება
მონაცემთა მოპოვება
მონაცემთა მოპოვება
მონაცემთა მოპოვება

Actoboard

Actoboard არის დაფაზე დაფუძნებული ინსტრუმენტი. ის აჩვენებს Sigfox მოდულის მიერ გაგზავნილ ყველა მონაცემს. შემდეგ ის URL– ს საშუალებით გაგზავნის ამ მონაცემებს nodered– ში, რათა შეიტანოს მონაცემთა ბაზაში.

გაგზავნეთ მონაცემები:

თქვენი კოდის საშუალებით მონაცემების გასაგზავნად, პირველ რიგში თქვენ უნდა გამოაცხადოთ Sigfox მოდულის PIN (Tx, Rx) (შეგიძლიათ იხილოთ ჩვენს კოდში). ამის შემდეგ, ამ ბრძანების წყალობით: "sigfox.printf (" AT $ SF =%02X%02X%02X%02X%02X%02X / r / n ", lat_deg, long_deg, lat_10s, long_10s, lat_100s, long_100s);", ეს მაგალითი GPS– ის მონაცემებს აგზავნის Actoboard– ში.

მიიღეთ მონაცემები:

მას შემდეგ რაც შექმნით თქვენს მონაცემთა წყაროებს თქვენს Sigfox მოდულთან მიმართებაში, თქვენ უნდა დაადგინოთ თქვენი მონაცემთა ფორმატი თქვენი კოდის მონაცემების მისაღებად. იგივე მაგალითისთვის, ვიდრე ადრე (GPS) თქვენ უნდა დააყენოთ მონაცემთა ფორმატი ასე: "lat_deg:: uint: 8 long_deg:: uint: 8 lat_10s:: uint: 8 long_10s:: uint: 8 lat_100s:: uint: 8 long_100s:: uint: 8 ".

ფრთხილად იყავით ბიტების ტიპთან და რაოდენობასთან, თქვენ უნდა გქონდეთ ზუსტად იგივე სიგრძე. ამიტომ გირჩევთ თქვენი მონაცემები ჩაწეროთ თქვენს კოდში ასე: "lat_deg = (int8_t) lat_deg;".

ასევე ფრთხილად იყავით ციფრების რაოდენობასთან დაკავშირებით, ამ მაგალითში ჩვენ ვაგზავნით მონაცემებს მხოლოდ მაქსიმუმ 2 ციფრით. მაგრამ თუ გსურთ გადაიტანოთ უფრო დიდი მონაცემები, როგორიცაა "%04X", შეიძლება იცოდეთ, რომ Actoboard აპირებს შეცვალოს ეს ციფრი. მაგალითად, თუ თქვენ გადასცემთ 0x3040, Actoboard მიხვდება 0x4030. ასე რომ, თქვენ უნდა შეცვალოთ ციფრი, სანამ გაგზავნით მონაცემთა ფორმატს, რომელიც აღემატება 2 ციფრს.

საინფორმაციო დაფის რედაქტირება:

Actoboard– ზე Dashboard– ში თქვენი მონაცემების შესწორების მიზნით, თქვენ უბრალოდ უნდა დაამატოთ ვიჯეტი. არსებობს ვიჯეტის სია, თქვენ უნდა აირჩიოთ ის, ვინც საუკეთესოდ შეესაბამება თქვენს სისტემას. მას შემდეგ რაც თქვენ უბრალოდ უნდა აირჩიოთ რომელი მონაცემები შეავსებს რომელი ვიჯეტს.

გადაეცემა nodered:

Actoboard– ზე მიღებული ყველა მონაცემის გადასაყვანად URL– ის საშუალებით, თქვენ უბრალოდ უნდა შეავსოთ "გადაგზავნის url" ველი თქვენს პარამეტრებში თქვენი nodered პროექტის URL- ით. მაგალითად, ჩვენ შევავსეთ ყუთი "https://noderedprojet.mybluemix.net/projet".

ნაბიჯი 5: მონაცემთა ბაზა

Მონაცემთა ბაზა
Მონაცემთა ბაზა
Მონაცემთა ბაზა
Მონაცემთა ბაზა
Მონაცემთა ბაზა
Მონაცემთა ბაზა
Მონაცემთა ბაზა
Მონაცემთა ბაზა

ბლუემიქსი

  • კოდირებული:
  • მიიღეთ მონაცემთა ფორმა Actoboard

მონაცემთა ფორმის Actoboard მისაღებად, თქვენ უნდა დაამატოთ "websocket" შეყვანა, რომლითაც უნდა დააყენოთ მეთოდი "POST" - ით და მიუთითოთ თქვენი URL (მაგალითი ფოტოში).

მონაცემების ფორმატირება

თქვენ უნდა ამოიღოთ მონაცემები, რომელთა დამატებაც გსურთ თქვენს მონაცემთა ბაზაში (ღრუბელი) და მათი ფორმატირება. ამისათვის თქვენ უნდა დაამატოთ "ფუნქციის" ბლოკი. იხილეთ თანდართული ფოტო იმის გასაგებად, თუ როგორ უნდა გააკეთოთ ეს.

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

ღრუბელზე გაგზავნა

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

ნუ დაგავიწყდებათ "განლაგება" თქვენი nodered თქვენი სისტემის მუშაობა.

ღრუბელი:

თქვენს დაბინდულ მონაცემთა ბაზაში, ახლა თქვენ შეგიძლიათ ნახოთ ყველა მონაცემი, რომელიც გაგზავნეთ სიგფოქსთან ერთად და გაფორმება წითელ კვანძში. თქვენ შეგიძლიათ აირჩიოთ რომელი ინფორმაციის ნახვა გსურთ „თარიღი, მოწყობილობა, TAG RFID, GPS“.

და თქვენ შეგიძლიათ წარმოიდგინოთ ის გეომეტრიული საგნები, რომლებიც თქვენ შექმენით კვანძოვან ფუნქციაში მენიუში "gps Geospatial Indexes"

ნაბიჯი 6: დემონსტრაცია

მოკლედ რომ ვთქვათ, ჩვენ გვქონდა ოთხი ინტერფეისი ადამიანის მანქანა კონტროლირებადი ოთხი ღილაკით.

ძირითადი ინტერფეისი მიუთითებს ტემპერატურაზე, ტენიანობაზე, ეტიკეტის ნომერზე, ქრონომეტრზე და მაგნიტურ მიმართულებაზე.

ღილაკზე ერთ – ერთ მოქმედებაზე ნახავთ ნამდვილ ინტერფეისის კომპასს. ეკრანზე დაიხატება წრე, სადაც მიმართულება კარგად არის განლაგებული.

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

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

ჩვენი საათის ავტომატიკა დაახლოებით 4h30 (დაახლოებით 660mA/სთ). ეს დამოკიდებულია შემოწმებული ტეგის ნომერზე.

რბოლის დასრულების შემდეგ, თქვენ ნახავთ ყველა მორბენალ მოქმედებას ჩვენს მონაცემთა ბაზაზე bluemix.

გირჩევთ: