Სარჩევი:

ტვიტერის ამინდის სადგური: 8 ნაბიჯი (სურათებით)
ტვიტერის ამინდის სადგური: 8 ნაბიჯი (სურათებით)

ვიდეო: ტვიტერის ამინდის სადგური: 8 ნაბიჯი (სურათებით)

ვიდეო: ტვიტერის ამინდის სადგური: 8 ნაბიჯი (სურათებით)
ვიდეო: ლუკა და მარიამი 2024, ივლისი
Anonim
ტვიტერის ამინდის სადგური
ტვიტერის ამინდის სადგური

ოდესმე გსურდათ თქვენი ქალაქის ამჟამინდელი ამინდის პირობების, ნახშირბადის ნაკვალევის, ხმაურისა და დაბინძურების დონის მონიტორინგი? გსურთ იყოთ კლიმატის ცვლილების ჯვაროსანი ან შექმნათ თქვენი საკუთარი ტვიტერის ამინდის სადგური და გაუზიაროთ თქვენი ადგილობრივი ამინდის პირობები მსოფლიოს?

შეხვდით ტვიტერს ამინდის IoT სადგური aka TWIST - წვრილმანი, ღია კოდის გარემოს მონიტორინგისა და მეტეოროლოგიური მონაცემების მოპოვების პლატფორმა. TWIST– ის მიზანია ადამიანებმა და თემებმა შეაგროვონ მონაცემები იმის შესახებ, რაც სინამდვილეში ხდება მათ გარემოში და გაუზიარონ ეს მონაცემები სოციალურ მედიას, როგორიცაა Twitter.

  • TWIST არის ნივთების ინტერნეტით (IoT) პლატფორმა.
  • TWIST– ის ტვინი არის Intel Edison Board.
  • TWIST თავსებადია სხვადასხვა სენსორთან.
  • ყველა კოდი, დიზაინის ფაილი (სქემა და PCB განლაგება) ღიაა. ეს ნიშნავს, რომ ნებისმიერს შეუძლია წვლილი შეიტანოს TWIST პლატფორმაში სხვადასხვა სენსორების კოდისა და სქემების გაზიარებით.

TWIST შედგება სამი ტექნოლოგიური ფენისგან:

პირველი ფენა არის ტექნიკის დაფა, რომელიც შეიცავს ამინდისა და გარემოს ყველა სენსორს, რომელიც ცნობილია როგორც "სენსორული დაფა". როგორც სახელი გვთავაზობს, მას აქვს სენსორები, რომლებიც ზომავს ჰაერის შემადგენლობას, ტემპერატურას, ტენიანობას, წვიმას. ასევე შეიძლება დაემატოს სენსორები, როგორიცაა ლისეისმური აქტივობა, ულტრაიისფერი ინდექსი, ბარომეტრიული წნევა, სიმაღლე, ლუქსი (სიკაშკაშე), ხმის დონე, ქარის სიჩქარე და მიმართულება და სხვა. მას შემდეგ რაც შეიქმნება, სენსორულ დაფას შეუძლია სენსორებით გაზომილი მონაცემების გადატანა მეორე ფენაში. მეორე ფენა არის Intel Edison Board, რომელიც იღებს მონაცემებს სენსორული დაფისგან, ამუშავებს და აგზავნის შემდეგ ფენაში. მესამე ფენა აკავშირებს თქვენს Edison Board– ს ინტერნეტით Wi-Fi– ით, Edison– ის დაფაზე არსებული უკაბელო მოდულის გამოყენებით და Tweet– ის ამჟამინდელი ამინდი და გარემო პირობები.

მოწყობილობას ენერგია შეუძლია მიეწოდოს მზის პანელს ან AC ადაპტერს.

ვერსიით კონტროლირებადი საცავები

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

საკონკურსო მასალა

Intel IoT Invitational

მინდა მადლობა გადავუხადო Intel+Instructables– ს, რომ მომცა Intel Edison დაფა. ვგეგმავ კიდევ ბევრ IoT– სთან დაკავშირებული ინსტრუქციის შექმნას ედისონის დაფის გამოყენებით.

#iotweatherstn

თუ თქვენ აკეთებთ TWIST- ს, არ დაგავიწყდეთ ამინდის ტვიტი #iotweatherstn გამოყენებით. #iotweatherstn შეიძლება იყოს ჰეშტაგი, რომელსაც იყენებენ IoT– ით აღჭურვილი ყველა ტვიტერის ამინდის სადგურები.

ნაბიჯი 1: ნაწილები და მასალები

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

QuantityPartDetails 1

ინტელ ედისონი

Arduino Breakout Board- თან ერთად

1

MQ2 აალებადი გაზის სენსორი

1

YL-83

წვიმის სენსორი

1

SL-HS-220

ტემპერატურისა და ტენიანობის სენსორი

1

რეზისტორი

32K

4.7 ათასი

3 ლითონის დგომა 1 ინჩი

1

რეზისტორი

32K

4.7 ათასი

2

ხის ფურცელი A4 ზომა

მოგვიანებით შეიძლება ზომის მოჭრა

3

ლითონის დგომა

1 ინჩი

ნაბიჯი 2: ელექტრო დიზაინი

Ძალა

მთელი სისტემა იკვებება 5V 1A კვების ბლოკიდან. სენსორები (ტემპერატურა, ტენიანობა, წვიმა, გაზი) იძენს დაახლოებით 200 mA- ს, Edison- ს დაახლოებით 500 mA, ვინაიდან მთლიანი საჭირო დენი 1 amp- ზე ნაკლებია, 1 amp- ის მიწოდება კარგად უნდა მუშაობდეს. ჩაშენებული მწვანე LED ედისონის დაფის ციფრულ პინზე 13 გამოიყენება სიმძლავრის სტატუსის საჩვენებლად.

ControlAn Intel Edison აჩვენებს შოუს TWIST– ისთვის. ედისონი დამონტაჟებულია არდუინოს გარღვევის დაფაზე, რაც აადვილებს სენსორების ციფრული და ანალოგური სიგნალების კითხვას. ედისონი დაკავშირებულია 5V სარკინიგზო მიკრო USB კაბელის საშუალებით. ედისონს აქვს ჩაშენებული Wi-Fi რადიო, რომელიც საშუალებას აძლევს მას დაუკავშირდეს Twitter– ს დამატებითი აპარატურის საჭიროების გარეშე.

რეალური დროის საათი (RTC)

ვინაიდან Twitter- ის მიერ თითოეული ტვიტისთვის ავტომატურად განხორციელებული დროის მარკირებას აქვს რეზოლუცია შეზღუდული Tweeting– ის დღიდან მთლიანი დღეების რიცხვით, რეალურ დროში საათი გამოიყენება საათისა და წუთის თარიღისა და დროის ზუსტად დასაბეჭდად. მეორე ფორმატი. რეალურ დროში გამოყენებული საათი TWIST პლატფორმაზე არის DS-1307 RTC მოდული.

ამ სისტემის ყველაზე ძირითად პარამეტრს აქვს ოთხი სენსორი (ტემპერატურა, ტენიანობა, წვიმა, გაზი), რომლებიც უკავშირდება ედისონს. დამატებითი სენსორები შეიძლება დაემატოს, როგორიცაა ხმაური, ქარი და ა.შ. სენსორებს ასევე აქვთ მგრძნობელობის რეგულირების პოტენომეტრი, რომელიც დამონტაჟებულია თითოეულ სენსორულ დაფაზე; MQ-2 არის აალებადი გაზის სენსორი (თხევადი ნავთობის გაზი, პროპანი, წყალბადი და მეთანი), რომელიც აწარმოებს ანალოგურ ძაბვას პროპორციულად გაზების კონცენტრაციაში მილიონ ნაწილებში. SL-HS-220– ს აქვს თერმისტორი, რომელიც იძლევა ტემპერატურის მნიშვნელობას. ვინაიდან თერმისტორის გამომავალი არის არაწრფივი, შესაბამისი ტემპერატურის ცხრილი მოცემულია სენსორების საცავში. თერმისტორი მოითხოვს ძაბვის გამყოფ წრეს, როდესაც ედისონის დაფასთან არის დაკავშირებული, როგორც ეს ნაჩვენებია სქემის დიაგრამაში. SL-HS-220– ს ასევე აქვს ჩაშენებული ჰიგირომეტრი, რომელიც ზომავს ტენიანობას და გამოაქვს ანალოგური ძაბვა, რომელიც შეესაბამება ტენიანობის ფიქსირებულ მნიშვნელობას. ტენიანობა-ძაბვის ცხრილი ასევე მოცემულია სენსორების საცავში. SL-HS-220– ის საერთო შემცვლელი არის DHT11 სენსორი. წვიმის სენსორს/წყლის სენსორს აქვს პოტენომეტრი, რომელიც მორგებულია იმისთვის, რომ უზრუნველყოს ციფრული გამომუშავება გარკვეული რაოდენობის წვიმისთვის, რომლის მგრძნობელობა შეიძლება მორგებული იყოს მომხმარებლის მიერ.

ამინდის სადგური. Fzz

ნაბიჯი 3: მექანიკური დიზაინი

TWIST– ის სხეული დამზადებულია ხის ფურცლების ორი ფირფიტისგან. მიუხედავად იმისა, რომ მე გამოვიყენე 1/4 "პლაივუდი, დიზაინი შეიძლება შეიკრიბოს ნებისმიერი ფურცლის მასალისგან, რადგან ინტერვალი (შენარჩუნებულია 1" ალუმინის ჩამორჩენით) არის ერთადერთი კრიტიკული ელემენტი. მე დავამატე ვექტორული ფაილები ჩამოსატვირთად ზემოთ.

ლაზერული ჭრა

ყველასთვის, ვისაც ორი ფირფიტის ლაზერული მოჭრა სურს, მე ქვემოთ ვამაგრებ ლაზერული საჭრელის ფაილებს ჩამოსატვირთად. იგი ასევე მოიცავს დამატებით ჰაერის ხარისხის სენსორს მის დიზაინში. ასე რომ თქვენ შეგიძლიათ გამოიყენოთ MQ2 სენსორის მოდული ან ჰაერის ხარისხის სენსორის მოდული თქვენი არჩევანის მიხედვით.

ნაბიჯი 4: ჩარჩოს შეკრება: სახე და ბაზა

სახურავი

სენსორები ჯდება მათ შესატყვისი ხვრელებში და მათი დაფიქსირება შესაძლებელია ხრახნების ან წებოს გამოყენებით.

საბაზისო დაფა

ედისონის დაფის ჩამორჩენილები ხრახნიან ბაზის ფირფიტაზე. წვიმის სენსორთან დაკავშირებული ანალოგურ-ციფრული გადამყვანი (ADC) ასევე შეიძლება ხრახნიან ბაზაზე.

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

Baseplate და Faceplate ორივე გამოყოფილია 1 დგომით.

ნაბიჯი 5: ელექტრონიკა და სენსორების შეკრება

Ძალა

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

სენსორები

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

ნაბიჯი 6: Twitter კონფიგურაცია

Tweet– ის შესაბამისად, ჩვენ ვიყენებთ მესამე მხარის აპს, რომელიც შემუშავებულია NeoCat– ის მიერ და იღებს Twitter ნიშანს, რომელიც დაგჭირდებათ Tweet– ით თქვენი Edison დაფით. ნიშნები ასევე შეიძლება მოიპოვოს Twitter– ის დეველოპერების ვებ – გვერდიდან.

ასე რომ, დასაწყებად ეწვიეთ NeoCat– ის ვებსაიტს, მიჰყევით მის გაკვეთილს, რომ მიიღოთ Twitter ბიბლიოთეკა და თქვენი Twitter ნიშანი. როგორც NeoCat– მა აღნიშნა მათ საიტზე, გთხოვთ, ნუ ბოროტად გამოიყენებთ სერვისს. შეინახეთ თქვენი ტვიტები იშვიათი. თუ გჭირდებათ რაღაც, რაც ტვიტერს აკეთებს ყოველ 6 წამში, თქვენ უნდა შექმნათ თქვენი საკუთარი სერვერი და ტვიტერის აპლიკაცია და, შესაბამისად, კოდი, რომელიც მე დავწერე, უზრუნველყოფს იმას, რომ NeoCat– ის სერვერი არ გადატვირთოს (TWIST ტვიტები ყოველ 6 საათში).

ბიბლიოთეკა იყენებს ამ NeoCat ვებსაიტს, როგორც პროქსი სერვერს OAuth პერსონალისთვის. თქვენი ტვიტი შეიძლება არ იქნას გამოყენებული ამ NeoCat ვებსაიტის მოვლის დროს. როგორც ჩანს, Twitter უარყოფს იგივე შინაარსის განმეორებით ტვიტებს (აბრუნებს შეცდომას 403).

Twitter ტოკენი

Arduino Tweet ბიბლიოთეკა

ნაბიჯი 7: პროგრამული უზრუნველყოფა და კონფიგურაცია

დაიცავით Intel– ის დაყენების სახელმძღვანელო Intel Edsion– ისთვის, სანამ დაიწყებთ კოდირებას.

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

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

Tweet დაგვიანებით

მას შემდეგ, რაც ტვიტერი ანაწილებს ტვიტებს, რომლებსაც აქვთ ერთი და იგივე შინაარსი და ტვიტირებულია თითოეულ მათგანს შორის დროის მოკლე მონაკვეთში, თითოეულ ჩანაწერს შორის დადგინდა სტანდარტული 3 საათიანი (10800000 მილიწამიანი) შეფერხება.

tweetMessage ();

დაგვიანება (10800000);

ტიპი ჩამოსხმა

ბევრი კითხვა, რომელსაც ჩვენ ვიღებთ სენსორებიდან, არის "int" ან "float" მონაცემთა ტიპში. მაგრამ რადგან ჩვენ tweeting ამ ღირებულებების, ჩვენ უნდა გარდაქმნას მათ "სიმებიანი" datatype. ამისათვის ჩვენ ვიყენებთ სპეციალურ Type-casting ტექნიკას.

char *dtostrf (ორმაგი val, ხელმოწერილი char სიგანე, unsigned char prec, char *sout) {

char fmt [100]; sprintf (fmt, "%%% d.%df", width, prec); Sprintf (sout, fmt, val); დაბრუნება sout; }

Twitter ტოკენი

ტვიტერის ნიშანი შექმნილია NeoCat– ის ვებგვერდზე და უნდა იყოს ჩასმული აქ ნიშანთა სივრცეში.

void tweetMessage () {

Twitter twitter ("შეიყვანეთ TWITTER TOKEN აქ");

Tweeting Sensor Values

იმისათვის, რომ tweet სენსორის მნიშვნელობა ჩვენ პირველად მოიცავს Sensor ტიპის; მაგალითი: "ტენიანობა". ამას მოჰყვა სიმბოლოების დეკლარაცია და კოდის ხაზი, რომელიც საჭიროა აკრეფისათვის. შემდეგი ჩვენ დავამატებთ განცხადებას საზომი ერთეულისთვის; მაგალითი: "%RH". ჩვენ შეგვიძლია გავაგრძელოთ სხვა სენსორების მნიშვნელობების დამატება ანალოგიურად.

ტენიანობა (); float ტენიანი;

// Twitter შეტყობინება String stringMsg = "ტენიანობა:"; char tmp [10]; dtostrf (ტენიანი, 1, 2, tmp); stringMsg += tmp; stringMsg += "%RH";

ამინდის სადგურის მდებარეობა და წარწერა

შემდეგ ჩვენ მონიშნავთ ადგილმდებარეობას (ქალაქი, უბანი და სხვა) და სხვა ტეგები, როგორიცაა #iotweatherstn.

stringMsg += " #მუმბაი #ბანდრა #iotweatherstn";

რეალურ დროში საათი (RTC)

როგორც უკვე აღვნიშნეთ, TWIST– ს ასევე შეუძლია რეალურ დროში საათის მონაცემების ტვიტირება. ქვემოთ მოცემულია RTC– ის კოდის „დღის“პარამეტრის ბლოკის მაგალითი. რეალურ დროში საათის ფუნქცია არჩევითია TWIST პლატფორმაზე, რადგან მოდული ცალკე მოდის. ამრიგად, არსებობს ცალკე ფილიალი, რომელიც შეიქმნა TWIST საცავში რეალური დროის საათის ფილიალის კოდისა და სქემებისთვის.

TwistDateTime (); თარიღი ახლა = rtc.now (); int twistday, twistmonth, twistyear, twisthour, twistmin, twistsec; სიმებიანი stringMsg = ""; char ds1307day [10]; dtostrf (twistday, 1, 0ds1307day); stringMsg += ds1307day; stringMsg += "/";

140 პერსონაჟის შეზღუდვა

კოდის ეს ბლოკი ფარავს სტრიქონის მასივს 140 სიმბოლოს მასივისთვის, რომელიც მზად არის ტვიტირებისთვის.

char msg [140];

stringMsg.toCharArray (msg, 140);

შეტყობინებისა და კავშირის პრობლემების მოგვარება

კოდის ეს ბლოკი ბეჭდავს სერიულ მონიტორში ტექსტის რამდენიმე სტრიქონს, რომელიც დაეხმარება მომხმარებელს შეამოწმოს შეტყობინება და ტვიტის სტატუსი.

// ტვიტი იმ საწოვარზე!

if (twitter.post (msg)) {int სტატუსი = twitter.wait (); if (სტატუსი == 200) {Serial.println ("კარგი."); Serial.println ("შეტყობინება ტვიტერზე"); } else {// კავშირის ტესტი Serial.print ("ვერ: კოდი"); Serial.println ("შეტყობინება არ არის ტვიტირებული"); Serial.println (სტატუსი); }} სხვა {Serial.println ("კავშირი ვერ მოხერხდა."); Serial.println ("შეტყობინება არ არის ტვიტირებული"); }

კოდის ყველა სხვა ბლოკი უბრალოდ გარდაქმნის სენსორების ანალოგურ ან ციფრულ კითხვას გამოსაყენებელ მონაცემებად.

კოდის გადმოტვირთვა შესაძლებელია აქედან ან მთავარი საცავიდან:

ამინდის სადგური. Ino

ნაბიჯი 8: წვლილი შეიტანოთ სენსორულ საცავში

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

TWIST GitHub

Intel® IoT Invitational
Intel® IoT Invitational
Intel® IoT Invitational
Intel® IoT Invitational

მეორე პრიზი Intel® IoT Invitational– ში

გირჩევთ: