Სარჩევი:

გაიყვანეთ და ამბიციურად აჩვენეთ მონაცემები ნებისმიერი ვებ გვერდიდან Wifi– ზე (ჩრდილოეთის შუქების მაჩვენებელი) NodeMcu– ით: 6 ნაბიჯი
გაიყვანეთ და ამბიციურად აჩვენეთ მონაცემები ნებისმიერი ვებ გვერდიდან Wifi– ზე (ჩრდილოეთის შუქების მაჩვენებელი) NodeMcu– ით: 6 ნაბიჯი

ვიდეო: გაიყვანეთ და ამბიციურად აჩვენეთ მონაცემები ნებისმიერი ვებ გვერდიდან Wifi– ზე (ჩრდილოეთის შუქების მაჩვენებელი) NodeMcu– ით: 6 ნაბიჯი

ვიდეო: გაიყვანეთ და ამბიციურად აჩვენეთ მონაცემები ნებისმიერი ვებ გვერდიდან Wifi– ზე (ჩრდილოეთის შუქების მაჩვენებელი) NodeMcu– ით: 6 ნაბიჯი
ვიდეო: აიზეკ აზიმოვი - "მე, რობოტი" - აუდიო წიგნი 2024, დეკემბერი
Anonim
გაიყვანეთ და ამბიციურად აჩვენეთ მონაცემები ნებისმიერი ვებ გვერდიდან Wifi– ზე (ჩრდილოეთის შუქების მაჩვენებელი) NodeMcu– ით
გაიყვანეთ და ამბიციურად აჩვენეთ მონაცემები ნებისმიერი ვებ გვერდიდან Wifi– ზე (ჩრდილოეთის შუქების მაჩვენებელი) NodeMcu– ით

ჩემი მოტივაცია: მე ვნახე უამრავი ინსტრუქცია NodeMCU (ESP8266 მოდულზე აგებული) შექმნის/ გამოყენების შესახებ IoT (ნივთების ინტერნეტი) პროექტების შესაქმნელად. თუმცა, ამ გაკვეთილებს ძალიან ცოტას გააჩნდა ყველა დეტალი/ კოდი/ დიაგრამა, რომლითაც დამწყები ადამიანი უნდა დაიცვას თავიდან ბოლომდე და არცერთმა არ გააკეთა ზუსტად ის, რაც მე მინდოდა.

რას მოიცავს ეს ?: ეს მოიცავს ყველაფერს რაც თქვენ უნდა იცოდეთ (და რაც მე არ ვიცი), მათ შორის:

  1. მასალები (რაც მე გამოვიყენე, კონკრეტულად)
  2. Arduino, NodeMcu, ESP8266, რა განსხვავებაა?
  3. დაიწყეთ NodeMcu– ით

    1. პროგრამული უზრუნველყოფის დაყენება (Arduino IDE)
    2. LED მოციმციმე
    3. პარამეტრები NodeMcu- ს ჩართვისთვის
    4. ინტერნეტთან დაკავშირება
  4. როგორ ამოიღოთ მონაცემები ვებგვერდიდან

    1. ვებგვერდზე "მიუთითეთ" თქვენთვის სასურველი ინფორმაცია
    2. Thingspeak/ ThingHTTP/ API (ნუ შეგეშინდებათ, კოდირება არ არის საჭირო)
    3. ამ მონაცემებზე წვდომა NodeMCU– დან
  5. მონაცემების ჩვენება

    1. რა გამოვიყენე (როგორ დავაკავშიროთ 7 სეგმენტის ეკრანი)
    2. ზოგიერთი იდეა/ რამ მე გავაკეთებდი მეტი დროით
  6. ვფიქრობ, როგორ ავაშენოთ ყუთი

უარყოფა: მე ვუყურე უამრავ ვიდეოს, რომ ვისწავლო როგორ გავაკეთო ეს და თითქმის ყველა კოდი სხვა წყაროებიდან არის შედგენილი და ყველა მათგანი არ მახსოვს. მთავარი შთაგონების წყარო იყო ეს ბიჭი, რომელიც არსებითად იმავეს აკეთებს, რასაც მე აღვწერ, მაგრამ მე აღმოვაჩინე ის, რაც სენსორულ ეკრანზე იყო და რაც არ იყო დამაბნეველი. მე ვთვლი, რომ ეს არის უფრო შესავალი NodeMcu და kinda IoT პროექტები, ვიდრე კონკრეტული ობიექტი, მაგრამ ამ კონკრეტული (ჩრდილოეთის შუქის) ინდიკატორის შთაგონება იყო 2008 წლიდან. მე მომეწონა ის, როგორც ის აღწერილი იყო როგორც „ღარიბი“ადამიანის გარემომცველი ორბი”, აჩვენებს გარემოს ინფორმაციას, როგორიცაა აქციები, youtube ხედები ან ამინდი ტელეფონების ან სხვა შემტევი საშუალებების გამოყენების გარეშე.

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

მასალები
მასალები
მასალები
მასალები

თქვენ დაგჭირდებათ ეს:

1. NodeMcu დაფა

2. მიკრო USB კაბელი კოდის ატვირთვაზე დაფაზე და საბოლოო პროდუქტის ჩართვა, თუ თქვენ ასე აირჩევთ.

3. LED- ები, ჯუმბერის მავთულები (მამაკაცი-მამაკაცი, კაცი-ქალი) და პურის დაფა ნივთების დასაკავშირებლად … ეს არის გარკვეული მოცემულობა, მაგრამ რაც გსურთ "გამოაქვეყნოთ" (მონაცემებზე დამოკიდებული ჩვენება ან გაკეთება) საჭიროებს ტექნიკას. თუ გსურთ ხელახლა შექმნათ ატმოსფერული ორბი, ან გააკეთოთ ზუსტად ის, რაც მე გავაკეთე, 7 სეგმენტის დისპლეი ან ზოგიერთი LED არის დახვეწილი. პურის დაფა აუცილებელია "პროტოტიპირებისთვის" მანამ, სანამ რამეს რეალურად დაუკავშირებ მე 4 -ს და მე ავხსნი როგორ მუშაობს ისინი/ როგორ არის დაკავშირებული ნივთები შესაბამის განყოფილებაში. თუ თქვენ ჯერ დამწყები ხართ, უბრალოდ მიიღეთ arduino შემქმნელის ნაკრები, რადგან მასში არის ბევრი პატარა რამ (მათ შორის ყველაფერი რაც მე გამოვიყენე), ასევე arduino uno სხვა პროექტისათვის.

ის რაც შეიძლება დაგჭირდეთ:

4. პურის დაფის კვების ბლოკი სრულიად უკაბელო, მაშინ, რა თქმა უნდა, დაგჭირდებათ ბატარეის პაკეტი, მაგრამ მე ამას მივმართავ ენერგიის განყოფილებაში.

5. 1/4 ფიჭვი ლილის ყუთისთვის (თუ გსურთ)

6. ზოგიერთი ვინირი დაფარავს თქვენს ყუთს და/ან მოქმედებს როგორც დიფუზორი თქვენი LED ან ეკრანისთვის

7. სუპერ (CA) და/ან ხის წებო 5. და 6 – ის დასაფიქსირებლად.

ნაბიჯი 2: რა არის Node MCU?

რა არის Node MCU?
რა არის Node MCU?
რა არის Node MCU?
რა არის Node MCU?

თუ თქვენ ნამდვილად დამწყები ხართ ელექტრონიკაში, როგორც მე ვიყავი, ალბათ გაინტერესებთ რა განსხვავებაა Arduino დაფასა და NodeMcu დაფას შორის და შესაძლოა თქვენ გსმენიათ ESP8266- ის შესახებ … რა განსხვავებაა მათ შორის?!?

ეს არავითარ შემთხვევაში არ არის ტექნიკური, მაგრამ ეს არის ის, რაც თქვენ უნდა იცოდეთ.

Arduino– ს აქვს უნარი წაიკითხოს ქინძისთავების სერია, „გააკეთოს საქმეები“ამ საშუალებების გამოყენებით, შემდეგ კი გამოაქვეყნოს ქინძისთავების სერია. ეს არის პატარა კომპიუტერი. არდუინო ამზადებს უამრავ სხვადასხვა დაფას და უამრავ "ფარს", რომლებიც ჩართულია დაფებში დამატებითი საქმის გასაკეთებლად. პროდუქტები, რომლებსაც ისინი ამჟამად ყიდიან და რომლებიც ინტერნეტთან არის დაკავშირებული, ძალიან ძვირია და მათგან ბევრი საზოგადოება არ სარგებლობს. კოდი იწერება და იტვირთება დაფებზე "Arduino IDE" პროგრამული უზრუნველყოფიდან, რომელიც მხარს უჭერს C და C ++, სხვა სპეციალური ფორმატირებისას. თქვენ არ გჭირდებათ იცოდეთ როგორ დაპროგრამდეს C ან C ++ პროგრამაში, რადგან არსებობს ასეთი გიჟური სიმრავლე, რომელიც ხელმისაწვდომია ინტერნეტში, მაგრამ პროგრამირების გარკვეული გაცნობა (განსაკუთრებით ისეთ საკითხებში როგორიცაა: Arduino IDE ასევე იძლევა ერთ ადგილს სხვადასხვა დაფებისათვის საჭირო ბიბლიოთეკების ჩამოსატვირთად (უფრო მეტს მოგვიანებით, NodeMcu- ს დაყენებისას).

ESP8266 არის უკიდურესად იაფი WiFi მოდული, რამაც ძირითადად მოძველებული გახადა ინტერნეტით ჩართული arduino ფარები (თუმცა თქვენ მაინც ხედავთ arduino დაფებს, რომლებსაც ჩაშენებული აქვს wifi). ESP8266- ის მიმდებარე წვრილმანი საზოგადოება იმდენად დიდია, რომ ის თითქმის ერთადერთი ლოგიკური არჩევანია ინტერნეტით ჩართული მოწყობილობების შესაქმნელად. ხშირად ის გამოიყენება არდუინოს დაფასთან ერთად სერიული ქინძისთავების საშუალებით (Rx და Tx), თუმცა ვხვდები, რომ ზოგი იყენებს მათ „მარტოდმარტო“, მაგრამ ვინაიდან მიკროჩიპი იმდენად პატარაა და ძნელია მასთან დაკავშირება (მას ძირითადად 6 ქინძისთავი აქვს): 2 სერიალისთვის (საგნებთან საუბარი), 2 სიმძლავრისთვის (მიწა და VCC) და 2 GPIO (ზოგადი დანიშნულების შეყვანის გამომუშავება), პლუს ის მუშაობს 3.3 ვ -ზე და ასე 5V გაანადგურებს მას), რომ იგი სწრაფად ჩაანაცვლა…

NodeMcu, რომელიც არის ღია კოდის შემუშავების დაფა, ისევე როგორც Arduino, გარდა ESP8266- ის აშენებისა. თქვენ ნამდვილად ხედავთ ESP8266 ჩაშენებულ NodeMcu დაფაზე, რომელიც შემოხაზულია ჩემს მიერ მიმაგრებულ სურათებში. ეს დაფა შესანიშნავად მეგობრულია პროგრამასთან და ინტერფეისთან, და ძირითადად შედარებულია არდუინო ნანოსთან. მას აქვს კიდევ ბევრი ქინძისთავები და მისი დაპროგრამება შესაძლებელია USB– ის საშუალებით პირდაპირ თქვენი კომპიუტერიდან, სხვა დაფის გავლის გარეშე. ასევე, მიუხედავად იმისა, რომ დაფა ჯერ კიდევ ტექნიკურად მუშაობს 3.3V ლოგიკაზე და არა 5V ლოგიკაზე, მას აქვს ჩამონტაჟებული ჩიპები ამ ძაბვის მართვისთვის, ასე რომ ის შეიძლება იკვებებოდეს ისევე როგორც თქვენი არდუინო, USB- ით თუ VCC (ძაბვა) ქინძისთავებით რა ძირითადად, ნებისმიერი IoT– ისთვის, NodeMcu არის კარგი, მარტივი, ერთჯერადი დაფა გამოსაყენებლად და ჩართულია WiFi– ით … თუმცა ეს კარგი არჩევანია არა – wifi პროექტებისთვისაც. ტექნიკურად NodeMcu- ს "ყუთის გარეთ" ენა არის LUA, მაგრამ Arduino IDE- ში 1-ჯერ დაყენების შემდეგ, თქვენ შეძლებთ პროგრამირებას ისევე, როგორც სხვა Arduino- ს.

ნაბიჯი 3: დავიწყოთ NodeMcu– ით

შემდეგი ვიდეო გამოვიყენე NodeMcu– ით პირველად დასაწყებად და თუ მის ყველა მითითებას ზუსტად მიჰყვებით, ყველაფერი კარგად უნდა მუშაობდეს.

1. პროგრამული უზრუნველყოფის დაყენება (Arduino IDE)

  • ჩამოტვირთეთ Arduino IDE ზემოაღნიშნული ბმულიდან და შეარჩიეთ "უბრალოდ გადმოტვირთე" თუ შემოწირულობის გაკეთება არ შეგიძლია
  • გახსენით Arduino IDE პროგრამა
  • ფაილში -> პარამეტრები, დამატებითი დაფების მენეჯერის URL, ჩასვით შემდეგი ბმული "https://arduino.esp8266.com/versions/2.5.0-beta2/package_esp8266com_index.json"
  • ინსტრუმენტებში -> დაფა -> დაფების მენეჯერი (ზედა) გადაახვიეთ ქვემოთ, ან მოძებნეთ ESP8266 და დააწკაპუნეთ ინსტალაციაზე
  • თქვენ შეიძლება დაგჭირდეთ Arduino IDE გადატვირთვა ამის გამოსაჩენად, მაგრამ ახლა დააწკაპუნეთ Tools-> Board და შეარჩიეთ დაფა, რომელიც გაქვთ, ანუ NodeMcu 1.0 ESP12-E მოდული
  • შეიძლება არ დაგჭირდეთ ამ ნაბიჯის გაკეთება, მაგრამ შეაერთეთ usb თქვენს კომპიუტერს თქვენი NodeMcu– დან (განათება აციმციმდება) და გადადით Control Panel–> Device Manager -> Ports -> და შემდეგ გააკეთეთ შენიშვნა COM პორტის შესახებ "სილიკონის ლაბორატორიები …" ეს არის COM პორტი, რომელსაც NodeMcu იყენებს
  • დაბრუნდით Arduino IDE– ში და Tools-> Port: და დარწმუნდით, რომ ეს პორტი არჩეულია
  • ყველაფერი კარგად უნდა იყოს, მაგრამ დარწმუნდით, რომ Tools– ში, ფლეშის ზომაა 4 (არ ინერვიულოთ SPIFFS– ზე, რაც არ უნდა იყოს, კარგია) და რომ ატვირთვის სიჩქარეა 115200 მგონი… NodeMcu რეალურად იყენებს baud– ის სიჩქარეს 9600 ინფორმაციის სერიულ მონიტორზე დასაბრუნებლად (თუ არ იცით რას ნიშნავს არ ინერვიულოთ, ის გამოჩნდება მაგალითში), მაგრამ თუ კოდში და შემდეგ მონიტორში გაქვთ 9600, კარგია.

2. LED მოციმციმე

ეს ჰგავს პროგრამის "Hello World" (ანუ ბავშვი $ h1t) პროგრამას, მაგრამ ის გეცოდინებათ, რომ დაფაზე ყველაფერი კარგადაა და დაგეხმარებათ გაეცნოთ Arduino IDE- ს. ეს არ აჩვენებს დაფის WiFi შესაძლებლობებს (ჩვენ ამას ვაკეთებთ შემდეგ მაგალითში), უბრალოდ დარწმუნდით, რომ ის დაკავშირებულია და შეუძლია ფუნქციონირება და ა.

  • გახსენით arduino IDE, ჩართეთ თქვენი NodeMcu
  • სანამ რამეს გააკეთებთ, გაითვალისწინეთ, რომ არსებობს ჩარჩო ყველაზე ძირითადი კოდისთვის, რომელიც შეგიძლიათ ჩაწეროთ თქვენს არდუინოში, კონფიგურაციის () მარყუჟით, რომელიც მუშაობს ერთხელ და სხვა მარყუჟს (), რომელიც გაგრძელდება მუდმივად სამუდამოდ. ჩვენი საბოლოო კოდი იქნება ასე სტრუქტურირებული, ზემოთ რამდენიმე რამ არის დამატებული და ბოლოში განსაზღვრული ფუნქცია
  • ფაილი-> მაგალითები-> (NodeMcu 1.0 განყოფილების ქვეშ) ESP8266-> დახუჭვა
  • ეს გახსნის კოდს ფანჯარაში. თავისუფლად შეინახე სადმე.
  • ამ კოდში, setup () მარყუჟი შეიცავს დაფაზე ჩაშენებული LED- ის განმარტებას, როგორც გამომავალი, ხოლო მარყუჟი ამ LED- ზე მაღალი და დაბალია. გაითვალისწინეთ, რომ დაფაზე ჩამონტაჟებული LED (მხოლოდ! ეს არ არის ტიპიური შემთხვევა), "LOW" გამომავალი (0 ვოლტი) გახდის მას ჩართული, რადგან ის ნაგულისხმევია და "HIGH" (3.3V ეს საქმე მგონი), გამორთულია
  • თუ ყველაფერი სწორად არის დაყენებული, როგორც ზემოთ იყო ნათქვამი, თქვენ უნდა შეგეძლოთ დააწკაპუნოთ "გადამოწმება" (შემოხაზული წრე ზედა მარცხენა კუთხეში), რათა დარწმუნდეთ, რომ შეცდომები არ არის (ამას არ ექნება შეცდომები მას შემდეგ რაც არ გააკეთეთ " არ დაწერო, მაგრამ შენი!), და როცა ყველაფერი კარგადაა, "ატვირთე" მის გვერდით
  • მას შემდეგ რაც დააწკაპუნებთ ატვირთვაზე, თქვენ იხილავთ ნივთებს, რომლებიც იკითხება შავ რეგიონში ბოლოში და წერტილები/ % სრულდება
  • არ ინერვიულოთ, რომ ნათქვამია, რომ იგი დაიკავებს მეხსიერების 33% -ს … ეს არის ძირითადად "ფიქსირებული" თანხა, რომელსაც უმარტივესი კოდიც კი იღებს, რაც მე დავწერე მხოლოდ დამატებით 1% ადგილს იკავებს
  • თქვენ დაინახავთ, რომ დაფაზე აციმციმდება შუქდიოდური შუქი (რასაც ის უკვე აკეთებდა უკვე), ასე რომ თქვენ შეგიძლიათ შეცვალოთ წამის მეათასედის ოდენობა (მილიწამი) სკრიპტის დაგვიანებულ ნაწილში. თუ ეს არის თქვენი პირველად პროგრამირება, LED– ის მოციმციმე ოდნავ განსხვავებული სიხშირით ყურება, ალბათ, ნამდვილი მღელვარება იქნება

3. NodeMcu- ს ჩართვის პარამეტრები

მე არ ვარ დარწმუნებული, რატომ ვერ მივხვდი ამას თავიდან, მაგრამ კოდი, რომელსაც თქვენ ატვირთავთ დაფაზე, დარჩება იქ და იმუშავებს სამუდამოდ და სამუდამოდ, როგორც კი/ რამდენადაც მას მიეწოდება ძალა. მაგალითად, მე –2 ნაბიჯის დასრულების შემდეგ, თუ თქვენ გათიშავდით მას კომპიუტერიდან, შემდეგ სხვაგან ამუშავებდით, ის კვლავ დაიწყებდა ციმციმებას. NodeMcu– ს გასააქტიურებლად უმარტივესი გზაა მხოლოდ მიკრო USB მასში შეყვანა და შემდეგ დამტენი ბლოკის მსგავსად, როგორც თქვენ იყენებთ მობილურისთვის კედელში (5V 1A ბლოკი ან რაც არ უნდა იყოს ის). მოგერიდებათ გადახედოთ ჩემს სხვა ინსტრუქციურ ინფორმაციას იმის შესახებ, თუ როგორ უნდა იკვებოთ საგნები, DC ჯეკების პოლარობა და ა.შ. ვიდრე ბევრი ამ დაფისა და ნებისმიერი LED- ისთვის, რომელსაც იყენებთ, მაგალითად), მაგრამ ძაბვა უნდა იყოს ძალიან მჭიდრო დიაპაზონში, რომ ყველაფერი სწორად იმუშაოს. NodeMcu– ზე შეგიძლიათ უსაფრთხოდ გამოიყენოთ 3.3V– დან 20V– მდე ნებისმიერი ძაბვის ელექტრომომარაგება, რადგან დაფაზე არის მარეგულირებელი, რომელიც ამცირებს ამ ძაბვას (ეს სასიამოვნო თვისებაა). ამპერიაზე, გადასვლა ნორმალურია, რადგან დაფა უბრალოდ მიაპყრობს იმას, რაც მას სჭირდება, მაგრამ ძაბვისას, ზოგადად უფრო უსაფრთხოა გამოიყენოს ძაბვები საჭირო #ახლოს, დაქვეითების გარეშე, ასე რომ ნაკლები სამუშაოა გასაკეთებელი/ ენერგია იკარგება ძაბვის შემცირება. თუ თქვენ არ გსურთ გამოიყენოთ ბატარეის პაკეტი, ან გსურთ გამოიყენოთ DC დენის ჯეკი (შესაძლოა ასე რომ თქვენ გქონდეთ ლამაზი გრძელი კაბელი), ქინძისთავები გამოიყენებენ VIN– ს მიმდებარე Ground ქინძისთავებს.

4. ინტერნეტთან დაკავშირება

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

გახსენით arduino კოდის ფაილი სახელწოდებით "Wifi_connect" და შეცვალეთ SSID და პაროლი თქვენით, შემდეგ კი წადით

  • გაითვალისწინეთ, რომ მარყუჟების ზემოთ არის #ჩართვა ხაზი, რომელიც ეუბნება არდუინოს, რომ შეიცავდეს ბიბლიოთეკას, რომელიც სავსეა WiFi ნივთებით ESP8266– ისთვის. ეს არის ძირითადად რამოდენიმე სახის კომუნალური და საგნები, რომლებიც გაერთიანებულია ერთად და გაძლევთ საშუალებას გააკეთოთ კონკრეტული საქმეები შედარებით მარტივად, ბიბლიოთეკაში შემავალი წინასწარ დაწერილი ნივთების გამოყენებით. მაგალითად, თუ თქვენ იყიდეთ ფარი ან დაფის დამატება, მას, სავარაუდოდ, აქვს ბიბლიოთეკები, ასე რომ თქვენ უფრო ადვილად შეძლებთ მასთან ურთიერთობას.
  • ინსტრუმენტები-> სერიული მონიტორი
  • დარწმუნდით, რომ სერიული მონიტორი უნდა იყოს წაკითხული 9600 -ზე. თუ ის არ არის სწორი სიჩქარით, სერიული მონიტორი აფურთხებს გარუჯულ არეულობას, ასე რომ ეს კარგი მაჩვენებელია იმისა, რომ თქვენი სერიული მონიტორი არ არის იმავე სიჩქარით, როგორც სერიალი განსაზღვრულია კოდში
  • დააწკაპუნეთ გადამოწმებაზე და გაშვებაზე და უყურეთ სერიულ მონიტორს, როდესაც ის სრულდება … ის გეტყვით რამოდენიმე დეტალს კავშირის შესახებ, თუ ის მუშაობდა და აჩვენებს, რომ ESP8266 NodeMcu– ს შეუძლია დაუკავშირდეს თქვენს WiFi– ს! ეს არაფერს აკეთებს, მაგრამ თუ მიდიხართ და ეს დაფა კედელზე მიამაგრეთ, შეგიძლიათ დაელოდოთ 30 წამს და დარწმუნებული იყოთ, რომ მან დაამყარა კავშირი ინტერნეტთან, რომელიც ასევე მომაჯადოებელი უნდა იყოს.
  • საკუთარი თავის შესამოწმებლად, სცადეთ შეაერთოთ "bllink" კოდი და "wifi_connect" კოდი, რათა ჩართოთ საბორტო LED, ან დახუჭოთ თვალები ინტერნეტთან დაკავშირებისთანავე. ეს არის სწავლის შესანიშნავი გზა!

თუ თქვენ გააკეთეთ ყველა ზემოთ ჩამოთვლილი საქმე, გილოცავთ! თქვენ აჩვენეთ, რომ თქვენ შეგიძლიათ ატვირთოთ კოდი NodeMCU– ზე და რომ NodeMcu– ს შეუძლია დაუკავშირდეს თქვენს WiFi– ს. ჩვენ რეალურად ვიყენებთ WiFi– სთან დაკავშირების ოდნავ განსხვავებულ მეთოდს, ვიყენებთ MultiWifi ბიბლიოთეკას და არა ჩვეულებრივ Wifi ბიბლიოთეკას, რადგან ის საშუალებას გაძლევთ მარტივად დაამატოთ WiFis– ის სია და შევეცადოთ დაკავშირება რომელთანაც შესაძლებელია.

ნაბიჯი 4: როგორ ამოიღოთ მონაცემები ვებ გვერდიდან

როგორ ამოიღოთ მონაცემები ვებ გვერდიდან
როგორ ამოიღოთ მონაცემები ვებ გვერდიდან

ვებგვერდებზე მონაცემები ინახება ძალიან საშინლად. ამის გაფილტვრა თქვენთვის სასურველ ნივთებად, ან "გაანალიზება" მისთვის ერთნაირად საშინელებაა და ამის მცდელობა HTML- ის მნიშვნელოვანი ცოდნის გარეშე შეიძლება შემაძრწუნებელი იყოს … ასე რომ, მიზანი არის თქვენთვის სასურველი მონაცემების ამოღება საშინელი ადგილიდან ძალიან სუფთა და ბედნიერი ადგილი. ფუნქციურად რას ნიშნავს ეს, გადადის იმ URL– დან, რომელიც აჩვენებს მთელ ვებსაიტს, იმ URL– მდე, რომელიც აჩვენებს მხოლოდ თქვენთვის სასურველ მონაცემს.

1. ვებგვერდზე თქვენთვის სასურველი ინფორმაციის "მითითება"

გადადით თქვენთვის საინტერესო ვებგვერდზე, მაგალითად აქ

www.timeanddate.com/worldclock/canada/edmonton

შემდეგ გადადით თქვენთვის სასურველ მონაცემებზე, დააწკაპუნეთ მასზე მარჯვენა ღილაკით და აირჩიეთ "შემოწმება". ის გახსნის HTML დამთვალიერებელს თქვენს ბრაუზერში და გაჩვენებთ იმ ხის ბოლო ფილიალს, საიდანაც მოდის თქვენი მონაცემები. მე ვთვლი, რომ უმარტივესი ბრაუზერი არის ქრომი, მაგრამ აშკარად firefox– ს აქვს რამდენიმე გაფართოება, რაც მას უკეთესს ხდის… მაგრამ idk ვგრძნობ, რომ ეს მხოლოდ კლასიკური firefox– ის სათქმელია?

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

2. Thingspeak/ ThingHTTP/ API (ნუ შეგეშინდებათ, კოდირება არ არის საჭირო)

მე არც კი ვისაუბრებ იმაზე, თუ რა არის API და როგორ ქმნი მათ, მაგრამ შეგიძლია წარმოიდგინო ისინი, როგორც რეალური კავშირი ან გადაცემა თქვენს შორის (თქვენი მოთხოვნები) და სად არის ის, რასაც ითხოვთ. კლასიკური ანალოგია არის მიმტანი რესტორანში. ყოველგვარი კოდირების გარეშე, თქვენ გამოიყენებთ უფასო სერვისს სახელწოდებით "ThingSpeak" და კონკრეტულად მათ აპლიკაციას "ThingHTTP". უბრალოდ შექმენით ანგარიში და შემდეგ გადადით აპლიკაციებზე და ბოლოში გზა, thinghttp და შექმენით ერთი.

ერთადერთი რაც თქვენ უნდა გააკეთოთ არის ვებ – გვერდის URL– ის კოპირება და ჩასმა, მაგალითად თარიღი და დრო ვებ – გვერდი ზემოთ და შემდეგ გადაახვიეთ ბოლო ველში „Parse String“. ეს არის გზა თქვენთვის სასურველი მონაცემებისკენ.

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

მას შემდეგ რაც დაასრულებთ, სცადეთ გადადით თქვენთვის შექმნილ URL- ზე და ნახეთ შეიცავს თუ არა ის მონაცემებს, რომლებიც გსურთ რაიმე ფორმით, რომელთანაც მინიმუმ მუშაობა შეიძლება. მაგალითად, ჩემი ამბობს ტემპერატურა "XX F" ცელსიუსის გრადუსების ნაცვლად, მაგრამ ერთეულები და ბოლოს F ადვილად შეიძლება შეიცვალოს კოდში. უკიდურესად ხშირია შეცდომის დადგენა, რომ მისი გაანალიზება შეუძლებელია. თუ ეს ასეა, სცადეთ წაშალოთ ზოგიერთი სათაური xpath– ში, ნახეთ თუ შეგიძლიათ სხვაგან მოიძიოთ მონაცემები, ან გაიარეთ კონსულტაცია ფორუმზე, სადაც მათ შეუძლიათ თქვენი გარჩევის სტრიქონის „კორუმპირებული“ასპექტების იდენტიფიცირება. ეს მეთოდი ნამდვილად არ იმუშავებს ვებგვერდზე, რომელიც არ გადმოტვირთავს სასურველ მონაცემებს ვებსაიტთან, არამედ (თავისთავად) იძენს გარე წყაროდან, რომლის ჩატვირთვას ცოტა დრო სჭირდება. თუმცა, ის კარგად უნდა მუშაობდეს როგორიცაა youtube- ის პერსონალი, ამინდი და ა.

3. ამ მონაცემებზე წვდომა NodeMCU– დან

მე უკვე ბევრი დავწერე, ასე რომ იხილეთ თანდართული კოდი, რომელსაც აქვს ბევრი კომენტარი და ამჟამად შექმნილია წაკითხვისთვის aurora borealis ალბათობით ედმონტონ AB- სთვის, კანადა (მხოლოდ!). პირველი შესწორება, რომლის გაკეთებაც მოგიწევთ, არის მხოლოდ URL- ის შეცვლა (ფაქტობრივად, URL– ის მხოლოდ 16 ციფრიანი api საკვანძო ნაწილი) თქვენს საკუთარ ნივთზე.

მეორე რაც თქვენ უნდა შეცვალოთ არის მარყუჟში (), სადაც ფაქტობრივი "მნიშვნელობა" შემოტანილია და ინახება როგორც ცვლადი "თქვენი მნიშვნელობა", რომელიც არის სტრიქონი (ტექსტი). ის შეიძლება გამოყენებულ იქნას ნებისმიერი ფორმით, რაც გსურთ იქიდან. მე ამოვიღე პროცენტის სიმბოლო, გავყავი % –ის 2 ციფრი 2 ცვლადად (მაგალითად 14 % 1 -ში, 4 -ში) და ეს თითოეული შენახული იყო როგორც მთელი რიცხვები, მაგრამ Google– ის რამდენიმე სწრაფი ძიებით ან კომენტარით აქ თქვენ უნდა შეგეძლოთ ამოიღოთ ზუსტად ის ნომრები, რაც გჭირდებათ http გენერირებული სტრიქონიდან. თქვენ დაგჭირდებათ რიცხვები, რომ შეძლოთ ისეთი რამის გაკეთება, როგორიცაა გადაწყვიტოთ ეს არის დიდი თუ პატარა, თუ იყოფა რაღაცაზე, რაც საკმარისია საგნების ჩართვის ან გამორთვის ან ჩვენებისათვის. დანარჩენი კოდი იმ მომენტიდან, ქვედა ფუნქციის ჩათვლით, რომელსაც ეწოდება heftseg (), გამოიყენება 2 რიცხვის საჩვენებლად.

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

ნაბიჯი 5: მონაცემების ჩვენება

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

1. რა გამოვიყენე (როგორ დავაკავშიროთ 7 სეგმენტის ეკრანი)

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

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

ყველა ქვემოთ აღწერილი იქნება თანდართულ დიაგრამასთან მიმართებაში: პურის დაფა შეიძლება დაიყოს ჰორიზონტალურად 2 განმეორებით ნახევარში, თითოეულს 2 განსხვავებული სეგმენტი: ჰორიზონტალური - და + რიგები, რომლებიც აგრძელებენ პურის დაფის სიგრძეს (გამოიყენება ძალაუფლებისთვის) და ვერტიკალურ სვეტებს, რომლებიც დანომრილია და შედგება 5 წერტილისგან თითო სვეტზე, რომლებიც გამოიყენება კავშირების მარკირებისთვის. შემდეგ არის პატარა უფსკრული და შემდეგ იგივე თვისებები გაორმაგდა წარმოსახვითი გამყოფი ხაზის მეორე მხარეს. ჰორიზონტალური + რიგის ყველა ლაქა ერთმანეთთან არის დაკავშირებული და ყველა ჰორიზონტალური - მწკრივის ლაქა ერთმანეთთან არის დაკავშირებული. ეს გაძლევთ საშუალებას შეაერთოთ დენის ერთი ბოლო ბოლოში და შემდეგ შეძლოთ შეაერთოთ ნივთები ნებისმიერ ადგილას + დენის გასასვლელად, ისევე როგორც კვების ბლოკების გრძელი დენი. იგივე ეხება რიგს, რომელიც გამოიყენება საგნების დასაბინძურებლად. დანომრილი სვეტებისათვის დანომრილი სვეტის თითოეული ლაქა დაკავშირებულია დანარჩენ 4 წერტილთან. გაითვალისწინეთ, რომ სვეტში არსებული ხუთი ლაქა არ არის დაკავშირებული ხუთეულს წარმოსახვითი ნახევარმხრივი ხაზის მოპირდაპირედ. პურის დაფის სიგრძე შეიძლება გაჭრილიყო და არანაირი ელექტრული კავშირი არ გაწყვეტილიყო.

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

  1. NodeMcu– დან დაფქვილი მიმაგრებულია სვეტში 2
  2. მავთული სვეტიდან მე –2 –მდე ჰორიზონტალური დენის მწკრივამდე (დანიშნულია კონვენციის საფუძველზე)
  3. სახმელეთო რიგიდან (სვეტის ნომერი შეუსაბამოა, ვინაიდან მთელი რიგი დაკავშირებულია) 22 სვეტამდე რეზისტორის საშუალებით
  4. 7 სეგმენტის ჩვენების "გრუნტის" პინში, რომელიც ასევე ჩართულია 22 სვეტში

დიაგრამაზე რეზისტორის დანიშნულება ძირითადად არის LED- ების ზედმეტი ენერგიის "შეწოვა", რომელიც ფუნქციურად მუშაობს ეკრანის დაბნელებაზე. თქვენ დაინახავთ, რომ როდესაც "1" განათებულია "8" -ის წინააღმდეგ, 1 გაცილებით კაშკაშაა, ვინაიდან ნაკლები LED- ები არის ჩართული. რაც უფრო ნაკლები ნათურა გაუშვებთ LED- ს, მით უფრო დიდხანს გასტანს ის, ამიტომ რეზისტორი აუცილებელია. დიაგრამების უმეტესობა 7 სეგმენტის ეკრანზე ფაქტობრივად აჩვენებს, რომ თითოეულ ცალკეულ სეგმენტთან ერთად არსებობს რეზისტორი, მაგრამ ეს კარგად მუშაობს. მე გამოვიყენე 1K ohm რეზისტორი.

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

2. ზოგიერთი იდეა/ რამ მე გავაკეთებდი მეტი დროით

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

  • rgb LED, რომელიც იცვლის ფერს ღირებულებიდან გამომდინარე, ან ფარავს გრადიენტს, მწვანედან წითელზე მაგალითად
  • სრული LED ჩვენება
  • ლოგიკური ჩართვა/გამორთვა/ჭეშმარიტი/ყალბი LED- ის ქვეშ, რომელიც უბრალოდ ჩართულია ან გამორთულია რაღაცის მითითების მიზნით
  • ძრავა, რომელიც ბრუნავს დღის კონკრეტულ დროს, როგორიცაა სარქველი სარწყავ სისტემაზე ან თქვენი ძაღლისთვის სამკურნალო საშუალების გამოშვებაზე … დარწმუნებული ვარ, ამის უფრო ეფექტური გზები არსებობს, ვიდრე დროის ინტერპრეტაცია wifi– ით, მაგრამ ეს არის ვარიანტი!

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

ნაბიჯი 6: ყუთის შექმნა

ყუთის მშენებლობა
ყუთის მშენებლობა
ყუთის მშენებლობა
ყუთის მშენებლობა
ყუთის მშენებლობა
ყუთის მშენებლობა
ყუთის მშენებლობა
ყუთის მშენებლობა

ყველა კავშირი, რომელიც დამზადებულია პურის დაფაზე, შეიძლება იყოს მუდმივი ან მავთულის შედუღებით დაფასა და გამომავალს შორის (LED- ის მსგავსად), ან ბევრად უფრო მცირე ზომის დაფის გამოყენებით, ან PCB იმ კავშირების შესაქმნელად, რომელიც შეიძლება მოთავსდეს შენი პროექტი მე ავირჩიე გამოვიყენო პატარა პურის დაფა, რომელიც მოვიდა ნაკრებში და მე მხოლოდ დამჭირდა რეზისტორის შემაგრება მავთულის ბოლოზე … არც ისე ძლიერი, მაგრამ ფუნქციონალური!

მე დავჭრა 4 ცალი 1/4 "x 3.5" ფიჭვი 3,5 "(გვერდებზე) და ერთი 4" (ზედა), და უბრალოდ დავამტვრიე და წებოვანა ერთმანეთში, დარწმუნებული ვარ რომ ყველა სახე კვადრატული იყოს შეძლებისდაგვარად ისე, რომ თითოეული სახე მაქსიმალურად გაფითრებულიყო. წინა ან უკანა ნაწილების წებოვნების წინ მე გამოვუშვი ეკრანის ადგილები და დაფა ისე გამყარდა, რომ შესაბამისად გამოჩნდეს/ იყოს ჩართული. პატარა პურის დაფაზე მე მქონდა წებოვანი ლენტი უკანა მხარეს, ასე რომ იგი შეიძლება დამონტაჟებულიყო ერთ -ერთ გვერდით კედელზე, ხოლო მე -7 სეგმენტის ჩვენება შეიძლებოდა ყოფილიყო ნაჭრის შესაფუთი ლენტით მოთავსებით, ამ ფირზე ჩვენების განთავსებით, და შემდეგ დაასხით გამაფხვიერებელი ყველა ხარვეზში. შემდეგ მე ჩავასხი CA (სუპერ) წებო ამ ხარვეზებში, რომელიც საცხობ სოდასთან კონტაქტისას მყისიერად გამკვრივდა ეკრანის ადგილზე შესანარჩუნებლად, წინა ნაწილის წინა მხარეს. შესაფუთი ლენტი უნდა აეცილებინა რაიმე წებოს შეღწევა ჩვენებასა და ზედაპირს შორის, რომელსაც იგი პირისპირ ეწინააღმდეგებოდა და გამუქებულიყო მას შემდეგ, რაც გაშრეს.

ფიჭვის ვინირი დავაწებე ყველა მხარეს (CA წებოს გამოყენებით, რომელიც ჩემი აზრით ხის წებოზე უკეთესად მუშაობს) და თითოეული ნაჭრის ნაჭრებით დავამსხვრიე კიდეები, რათა ის ერთიანად გამოიყურებოდეს/ დაიმალოს კონდახის სახსრები/ იმოქმედოს როგორც დიფუზორი აჩვენე როგორც ამ ვიდეოში.

გირჩევთ: