Სარჩევი:

დაკავშირებული წამზომი: 5 ნაბიჯი
დაკავშირებული წამზომი: 5 ნაბიჯი

ვიდეო: დაკავშირებული წამზომი: 5 ნაბიჯი

ვიდეო: დაკავშირებული წამზომი: 5 ნაბიჯი
ვიდეო: არც ქმარი მყავს და არც მეუღლე - ნინიკო ნაცარაშვილი და „ლავასოღლი“ დაშორდნენ ▶️ TIA.GE 2024, ნოემბერი
Anonim
დაკავშირებული წამზომი
დაკავშირებული წამზომი
დაკავშირებული წამზომი
დაკავშირებული წამზომი
დაკავშირებული წამზომი
დაკავშირებული წამზომი

გამარჯობა! ამ გაკვეთილში თქვენ შეიტყობთ როგორ დაუკავშიროთ ნებისმიერი Arduino თავსებადი მოწყობილობა, აღჭურვილი WiFi- ით, REST API- ებთან! გამოიყენეთ GitKraken Glo Board webapp, რომ შექმნათ დაფები, სვეტები და ბარათები ნივთების ორგანიზებისთვის!

საჭიროა გარკვეული ცოდნა იმის შესახებ, თუ როგორ მუშაობს საზოგადოებრივი API. ეს პროექტი გულისხმობს GitKraken Glo– ის API– ს გამოყენებას, რათა თვალყური ადევნოთ თქვენს დავალებების შესრულების სიების დროს.

მაგალითად, თქვენ უნდა შეასრულოთ ეს ამოცანები:

- დალიე ყავა

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

ნაბიჯი 1: აშენება

აშენება
აშენება
აშენება
აშენება

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

ასე რომ მუყაოს და არკადული ღილაკები იყო გზა!

დაფა, რომელიც მე გამოვიყენე არის ESP8266 WeMos D1 Mini. ეს არის უფრო იაფი ვიდრე Arduino და აქვს WiFi ბორტზე!

ეკრანი არის Nokia 5110 LCD.

n

ნაწილების სია AliExpress– ზე:

  • Nokia 5110
  • 2 არკადული ღილაკი
  • ESP8266
  • ჯუმბერის მავთულები
  • მუყაოს ყუთი

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

მთლიანი გადასახადი: 5 € 86

ქინძისთავების კავშირები:

ESP8266 WeMos D1 მინი ↔ Nokia 5110 LCD

  • D2 (GPIO4) ↔ 0 RST
  • D1 (GPIO5) ↔ 1 CE
  • D6 (GPIO12) ↔ 2 DC
  • D7 (GPIO13) ↔ 3 DIN
  • D5 (GPIO14) ↔ 4 CLK
  • 3V3 ↔ 5 VCC
  • D0 (GPIO16) ↔ 6 BL
  • G (GND) ↔ 7 GND

ESP8266 WeMos D1 მინი c არკადული ღილაკები

D3 (GPI18) ↔ მარცხენა ღილაკი

D4 (GPI17) ↔ მარჯვენა ღილაკი

ღილაკის მეორე პინი მიწასთან არის დაკავშირებული (GND).

ნაბიჯი 2: კოდი

კოდი
კოდი
კოდი
კოდი
კოდი
კოდი

უბრალოდ მომეცი კოდი

სრული წყარო შეგიძლიათ იხილოთ აქ:

github.com/antoinech/glo-stopwatch

იმისათვის, რომ ის იმუშაოს თქვენთვის, თქვენ უნდა შეცვალოთ ეს ცვლადები:

// განათავსეთ თქვენი WiFi სერთიფიკატები აქ char* ssid = "-თქვენი-ssid--"; const char* პაროლი = "-შენი-პაროლი--"; // განათავსეთ თქვენი პერსონალური წვდომის ნიშანი (https://support.gitkraken.com/developers/pats/) const char *bearer = "მატარებელი XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

თქვენ ასევე დაგჭირდებათ ადაფრუტის 2 ბიბლიოთეკა:

github.com/adafruit/Adafruit-GFX-Library

github.com/adafruit/Adafruit-PCD8544-Nokia…

და ეს გასაოცარი არდუინო ჯსონი:

arduinojson.org/

განმარტებები

წყაროს კოდში შეიტყობთ:

  • როგორ დაუკავშირდეთ HTTPS საბოლოო წერტილს
  • როგორ გავაკეთოთ POST ან GET მოთხოვნა
  • როგორ გავააქტიუროთ JSON პასუხი ობიექტებისა და მასივების მისაღებად
  • როგორ აჩვენოთ ტექსტი და სურათები Nokia 5110 LCD– ში

თუ გსურთ გაიგოთ მეტი ამ API– ს შესახებ:

support.gitkraken.com/developers/overview/

ეს მოთხოვნა შეიძლება მუშაობდეს დისტანციურად ნებისმიერ API– სთან, რომელიც იყენებს POST და GET მოთხოვნებს:)

ნაბიჯი 3: დაუკავშირდით HTTPS ვებსაიტს

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

WiFiClient კლიენტი

მაგრამ გადამოწმების საფეხურით. თქვენ უნდა შეხვიდეთ API საბოლოო წერტილში, რომლის გადამოწმება გსურთ და შეამოწმოთ სერთიფიკატის SHA1 თითის ანაბეჭდი. დააკოპირეთ ჩასვით როგორც სტრიქონი თქვენს კოდში და დარეკეთ client.verify (თითის ანაბეჭდი, hosturl).

WiFiClientSecure კლიენტი;

// დაკავშირება WiFi WiFi.mode (WIFI_STA); WiFi.begin (ssid, პაროლი); while (WiFi.status ()! = WL_CONNECTED) {დაგვიანებით (500); Serial.print ("."); } if (! client.connect (მასპინძელი, httpsPort)) {Serial.println ("კავშირი ვერ მოხერხდა"); დაბრუნების; } if (client.verify (თითის ანაბეჭდი, მასპინძელი)) {Serial.println ("სერტიფიკატი ემთხვევა"); } else {Serial.println ("სერტიფიკატი არ ემთხვევა"); }

ნაბიჯი 4: გააკეთეთ POST / GET მოთხოვნები

პოსტი

ეს არის სინტაქსი POST მოთხოვნის შესაქმნელად:

სიმებიანი PostData = "{"; PostData += "\" ტექსტი / ": \" ჩემი შეტყობინება / ""; PostData += "}"; Serial.print (PostData); client.print (სიმებიანი ("POST") + url + "HTTP/1.1 / r / n" + "მასპინძელი:" + მასპინძელი + "\ r / n" + "ავტორიზაცია:" + მატარებელი + "\ r / n" + "მომხმარებლის აგენტი: BuildFailureDetectorESP8266 / r / n" + "cache-control: no-cache / r / n" + "Content-type: application/json / r / n" + "Content-Length:" + PostData. სიგრძე () + "\ r / n" + "\ r / n" + PostData + "\ n"); Serial.println ("მოთხოვნა გაიგზავნა");

PostData არის მონაცემები, რომელსაც თქვენ აგზავნით როგორც JSON, ამ შემთხვევაში:

{

"text": "ჩემი შეტყობინება"}

Url ცვლადი არის საბოლოო წერტილის url, მასპინძელი, ვებგვერდის url, მატარებელი არის API წვდომის ნიშანი.

მიიღეთ

ეს არის ფსევდო კოდი GET მოთხოვნისათვის:

client.print (სიმებიანი ("GET") + url + "HTTP/1.1 / r / n" + "მასპინძელი:" + მასპინძელი + "\ r / n" + "ავტორიზაცია:" + მატარებელი + "\ r / n" + "მომხმარებლის აგენტი: BuildFailureDetectorESP8266 / r / n" + "კავშირი: სიცოცხლისუნარიანი / r / n / r / n"); Serial.println ("მოთხოვნა გაიგზავნა"); while (client.connected ()) {String line = client.readStringUntil ('\ n'); if (line == "\ r") {Serial.println ("მიღებული სათაურები"); შესვენება; }} სიმებიანი ხაზი = client.readStringUntil ('\ n');

ამ ბრძანების შედეგი შეინახება ხაზის ცვლადში.

ნაბიჯი 5: JSON და NOKIA LCD

მსგავსი პროექტის მისაღწევად, თქვენ დაგჭირდებათ გამოსახულებების, ტექსტებისა და სიმბოლოების ჩვენება Nokia 5110 LCD– ში. თქვენ შეგიძლიათ გადახედოთ ამ სიღრმისეულ გაკვეთილს ბოლოინჟინერი ინჟინრებისგან.

იმისათვის, რომ გაუმკლავდეთ JSON– ს Arduino C ++ - ში, გამოიყენეთ ArduinoJson ვებ – გვერდი, რომელიც გეტყვით ყველაფერს ამის შესახებ!

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

გირჩევთ: