Talaan ng mga Nilalaman:

Hilahin at Ambiently Ipakita ang Data Mula sa Anumang Website Sa Paglipas ng Wifi (Tagapahiwatig ng Lights ng Hilagang) Sa NodeMcu: 6 na Hakbang
Hilahin at Ambiently Ipakita ang Data Mula sa Anumang Website Sa Paglipas ng Wifi (Tagapahiwatig ng Lights ng Hilagang) Sa NodeMcu: 6 na Hakbang

Video: Hilahin at Ambiently Ipakita ang Data Mula sa Anumang Website Sa Paglipas ng Wifi (Tagapahiwatig ng Lights ng Hilagang) Sa NodeMcu: 6 na Hakbang

Video: Hilahin at Ambiently Ipakita ang Data Mula sa Anumang Website Sa Paglipas ng Wifi (Tagapahiwatig ng Lights ng Hilagang) Sa NodeMcu: 6 na Hakbang
Video: Weekly Strange News - 86 | UFOs | Paranormal | Mysterious | Universe 2024, Hulyo
Anonim
Hilahin at Ambiently Ipakita ang Data Mula sa Anumang Website Sa Paglipas ng Wifi (Tagapahiwatig ng Lights ng Hilagang) Sa NodeMcu
Hilahin at Ambiently Ipakita ang Data Mula sa Anumang Website Sa Paglipas ng Wifi (Tagapahiwatig ng Lights ng Hilagang) Sa NodeMcu

Aking Pagganyak: Nakita ko ang maraming mga itinuturo sa pag-set up / paggamit ng isang NodeMCU (na binuo sa module na ESP8266) para sa paggawa ng mga proyekto ng IoT (internet ng mga bagay). Gayunpaman, napakakaunting mga tutorial na ito ang mayroong lahat ng mga detalye / code / diagram para sa isang napaka baguhang tao na susundan simula hanggang matapos, at wala sa kanila ang eksaktong ginawa ko.

Ano ang sasakupin nito ?: Saklaw nito ang lahat ng kailangan mong malaman (at na hindi ko alam), kasama ang:

  1. Mga Materyales (partikular ang ginamit ko)
  2. Arduino, NodeMcu, ESP8266, ano ang pagkakaiba?
  3. Pagsisimula sa NodeMcu

    1. Pagse-set up ng software (Arduino IDE)
    2. Paggawa ng isang LED blink
    3. Mga pagpipilian para sa pagpapatakbo ng NodeMcu
    4. Kumokonekta sa internet
  4. Paano kumuha ng data mula sa isang website

    1. "Pagturo" sa impormasyong nais mo sa website
    2. Thingspeak / ThingHTTP / API (huwag matakot, walang kinakailangang pag-coding)
    3. Pag-access sa data na ito mula sa NodeMCU
  5. Pagpapakita ng data
    1. Ano ang ginamit ko (kung paano mag-wire ng isang 7 segment na display)
    2. Ang ilang mga ideya / bagay na magagawa ko na may mas maraming oras
  6. Paano bumuo ng isang kahon sa palagay ko

DISCLAIMER: Nanood ako ng maraming mga video upang malaman kung paano ito gawin, at halos lahat ng code ay pinagsama mula sa iba pang mga mapagkukunan at hindi ko matandaan ang lahat sa kanila. Ang pangunahing mapagkukunan ng inspirasyon ng thinghttp ay ang taong ito na mahalagang ginagawa ang parehong bagay na inilalarawan ko, ngunit natagpuan ko ang pagsala sa kung ano ang mga bagay sa touch screen at kung ano ang hindi nakalilito. Isaalang-alang ko ang itinuturo na ito ng higit pa sa isang pagpapakilala sa mga proyekto ng NodeMcu at sorta kinda IoT sa halip na isang tukoy na bagay, ngunit ang inspirasyon para sa partikular na tagapagpahiwatig na ito (Northern Lights) ay itinuturo mula noong 2008. Gustung-gusto ko ang paraang ito ay inilarawan bilang isang "mahirap ambient orb ", nagpapakita ng impormasyon sa paligid tulad ng mga stock, view ng youtube, o panahon nang walang gamit na telepono o iba pang mapanghimasok na paraan.

Hakbang 1: Mga Kagamitan

Mga Kagamitan
Mga Kagamitan
Mga Kagamitan
Mga Kagamitan

KAILANGAN mo ang mga ito:

1. Isang board na NodeMcu

2. Isang micro USB cable para sa pag-upload ng code sa board, at pag-power ng pangwakas na produkto kung pipiliin mo.

3. Ang mga LED, wire ng jumper (lalaki-lalaki, lalaki-babae) at isang breadboard para sa pagkonekta ng mga bagay … ito ay isang uri ng isang naibigay, ngunit anuman ang nais mong "output" (ipakita o umaasa sa data) ay mangangailangan ng hardware. Kung nais mong muling likhain ang paligid ng orb, o gawin nang eksakto kung ano ang ginawa ko, ang isang 7 segment na display o ilang mga LED ay sapat na banayad lamang. Kailangan ang breadboard para sa "prototyping" bago mo talaga ikonekta ang mga bagay na 4 na totoo, at ipapaliwanag ko kung paano ito gumagana / kung paano kumonekta ang mga bagay sa seksyong nauugnay. Kung nagsisimula ka lamang, kumuha lamang ng isang arduino starter kit, dahil mayroon itong maraming maliliit na bagay sa loob nito (kasama ang lahat ng ginamit ko), kasama ang isang arduino uno para sa isa pang proyekto.

Mga bagay na MAAARI mong kailangan:

4. Isang module ng supply ng kapangyarihan ng breadboard (Kung nais mong paganahin ang NodeMcu na may isang karaniwang power adapter … Hindi ko ito gagawin dahil maaari mo lamang itong paganahin sa isang micro USB, na mas maginhawa. Kung nais mong gawin ang iyong proyekto ganap na wireless, kung gayon syempre kakailanganin mo ng isang pack ng baterya, ngunit tutugunan ko ito sa seksyon ng kuryente.

5. 1/4 pine para sa isang lil 'box (kung nais mo)

6. Ang ilang veneer upang masakop ang iyong kahon, at / o kumilos bilang isang diffuser para sa iyong LED o display

7. Super (CA) at / o kahoy na pandikit upang ikabit ang 5. at 6.

Hakbang 2: Ano ang isang Node MCU?

Ano ang isang Node MCU?
Ano ang isang Node MCU?
Ano ang isang Node MCU?
Ano ang isang Node MCU?

Kung ikaw ay isang tunay na nagsisimula sa electronics tulad ko, maaaring nagtataka ka kung ano ang pagkakaiba sa pagitan ng isang Arduino board at isang NodeMcu board, at marahil ay narinig mo rin ang tungkol sa ESP8266 … ano ang pagkakaiba sa pagitan ng mga ito?!?

Hindi ito teknikal, ngunit ito ang kailangan mong malaman.

Ang Arduino ay may kakayahang basahin ang mga input mula sa isang serye ng mga pin, "gawin ang mga bagay" gamit ang mga input na ito, at pagkatapos ay output sa isang serye ng mga pin. Mahalaga ito ay isang maliit na computer. Ang Arduino ay gumagawa ng maraming iba't ibang mga board, at maraming mga "kalasag" na naka-plug in sa mga board upang gumawa ng mga karagdagang bagay. Ang mga produktong kasalukuyang ipinagbibili nila na kumokonekta sa internet ay napakamahal at walang masyadong komunidad na sumusunod sa kanila. Ang code ay nakasulat at na-upload sa mga board mula sa "Arduino IDE" software, na sumusuporta sa C at C ++, kasama ang ilang iba pang mga espesyal na pag-format na sinabugan. Hindi mo kailangang malaman kung paano i-program ang C o C ++ sa programa, dahil mayroong isang nakatutuwang kasaganaan ng code na magagamit sa online, ngunit ang ilang pamilyar sa programa (partikular ang mga bagay tulad ng habang at para sa mga loop, variable na deklarasyon at saklaw atbp) ay makakatulong na mapabilis ang pag-unawa. Nagbibigay din ang Arduino IDE ng isang solong lokasyon para sa pag-download ng mga kinakailangang aklatan para sa iba't ibang mga board (higit pa sa paglaon, sa pag-set up ng NodeMcu).

Ang ESP8266 ay isang napaka murang module ng WiFi na karaniwang ginawa ang mga arduino na kalasag na pinagana ng internet na hindi na ginagamit (bagaman nakikita mo pa rin ang mga board ng arduino na naka-built in na wifi). Ang pamayanan ng DIY na nakapalibot sa ESP8266 ay napakalaki na halos ito lamang ang lohikal na pagpipilian para sa paggawa ng mga aparatong pinapagana ng internet. Kadalasan ginagamit ito kasabay ng isang arduino board sa pamamagitan ng mga serial pin (Rx at Tx), kahit na hulaan ko ang ilang mga tao ay gumagamit sa kanila ng "stand alone", ngunit dahil ang microchip ay napakaliit at mahirap makitungo (karaniwang mayroon itong 6 na pin: 2 para sa serial (pakikipag-usap sa mga bagay), 2 para sa power (ground at VCC), at 2 GPIO (pangkalahatang layunin ng output output), kasama ang pagpapatakbo nito sa 3.3V at kaya't sisirain ito ng 5V) na mabilis itong pinalitan ng…

Ang NodeMcu, na kung saan ay isang open source development board tulad ng Arduino, maliban sa pagbuo sa ESP8266. Talagang makikita mo ang ESP8266 na naka-built sa board ng NodeMcu na pinalibot sa mga larawang aking ikinabit. Ang board na ito ay perpektong magiliw sa programa at interface sa, at karaniwang maihahambing sa isang arduino nano. Marami pa itong mga pin, at maaaring mai-program sa pamamagitan ng isang USB nang direkta mula sa iyong computer, nang hindi na dumaan sa ibang board. Gayundin, kahit na ang pisara ay gumagana pa rin sa 3.3V lohika sa halip na 5V lohika, mayroon itong mga built-in na chips upang pamahalaan ang boltahe na ito, kaya maaari itong mapagana tulad ng iyong arduino, maging sa pamamagitan ng USB o ng mga VCC (boltahe) na mga pin. Talaga, para sa anumang IoT, ang NodeMcu ay isang mahusay, simple, solong board na gagamitin, at pinagana ang WiFi … kahit na ito ay isang mahusay na pagpipilian para sa mga hindi pang-wifi na proyekto din. Sa teknikal na wika ng "labas ng kahon" ng NodeMcu ay LUA, ngunit pagkatapos ng isang 1-oras na pag-setup sa loob ng Arduino IDE, magagawa mong i-program ito tulad ng gagawin mo sa ibang Arduino.

Hakbang 3: Pagsisimula Sa NodeMcu

Ginamit ko ang sumusunod na video upang gawin ang aking unang pagsisimula sa NodeMcu, at kung susundin mo nang eksakto ang lahat ng kanyang mga direksyon, dapat na gumana nang maayos ang lahat.

1. Pagse-set up ng software (Arduino IDE)

  • I-download ang Arduino IDE mula sa itaas na link, at piliin ang "i-download lang" kung hindi ka maaaring magbigay ng isang donasyon
  • Buksan ang Arduino IDE software
  • Sa ilalim ng File -> Mga Kagustuhan, Mga Karagdagang Mga URL ng Manager ng Boards, i-paste ang sumusunod na link na "https://arduino.esp8266.com/versions/2.5.0-beta2/package_esp8266com_index.json"
  • Sa ilalim ng Mga Tool -> Board -> Boards Manager (sa itaas) mag-scroll pababa sa ibaba, o maghanap para sa ESP8266, at i-click ang i-install
  • Maaaring kailanganin mong i-restart ang Arduino IDE upang maipakita ito, ngunit ngayon i-click ang Tools-> Board, at piliin ang board na nakuha mo, ibig sabihin, ang module ng NodeMcu 1.0 ESP12-E
  • Maaaring hindi mo kailangang gawin ang hakbang na ito, ngunit ikonekta ang usb sa iyong computer mula sa iyong NodeMcu (magkikislap ang mga ilaw), at pumunta sa Control Panel-> Device Manager -> Mga Port -> at pagkatapos ay GAWIN ANG TANDAAN sa port ng COM na may label. "Silicone Labs …" ito ang COM port na ginagamit ng NodeMcu
  • Bumalik sa Arduino IDE at sa Tools-> Port: at tiyakin na napili ang port na ito
  • Dapat maging mabuti ang lahat, ngunit tiyakin na sa ilalim ng Mga Tool, ang laki ng flash ay 4 (huwag mag-alala tungkol sa SPIFFS, anuman ang napili ay mabuti), at ang bilis ng pag-upload ay 115200 hulaan ko … Ang NodeMcu ay talagang gumagamit ng baud rate ng 9600 upang mai-relay ang impormasyon pabalik sa serial monitor (kung hindi mo alam kung ano ang ibig sabihin nito huwag mag-alala, lalabas ito sa halimbawa), ngunit kung sa code at pagkatapos ay sa monitor, mayroon kang 9600, buti naman.

2. Paggawa ng isang LED blink

Ito ay tulad ng "Hello World" (ibig sabihin, baby $ h1t) ng programa, ngunit ipinapaalam sa iyo na ang lahat ay mabuti sa board, at tutulong sa iyo na maging pamilyar sa Arduino IDE. HINDI nito ipinapakita ang mga kakayahan ng WiFi ng board (ginagawa namin iyon sa susunod na halimbawa), tinitiyak lamang na konektado ito at maaaring gumana atbp.

  • Buksan ang arduino IDE, i-plug in ang iyong NodeMcu
  • Bago gumawa ng anumang bagay, pansinin na may balangkas para sa pinaka pangunahing code na maaari mong isulat sa iyong arduino, na may isang setup () na loop na tumatakbo nang isang beses, at isa pang loop () na patuloy na tatakbo magpakailanman. Ang aming pangwakas na code ay mabubuo tulad nito, na may ilang mga bagay na idinagdag sa itaas, at isang pag-andar na tinukoy sa ibaba
  • File-> Mga halimbawa-> (sa ilalim ng seksyon ng NodeMcu 1.0) ESP8266 -> Blink
  • Bubuksan nito ang ilang code sa window. Huwag mag-atubiling i-save ito sa kung saan.
  • Sa code na ito, ang setup () loop ay naglalaman ng kahulugan ng builtin LED sa board bilang isang output, at ang loop outputs mataas at mababa sa LED na ito. Tandaan na para sa LED na naka-built in sa board (lamang! Hindi ito ang pangkaraniwang kaso), ang "LOW" na output (0 volts) ay magpapasara dito, dahil naka-on ito bilang default, at "TAAS" (3.3V sa ang kasong ito hulaan ko), ay naka-off
  • Kung ang lahat ay maayos na na-set up tulad ng nakabalangkas sa itaas, dapat mong i-click ang "I-verify" (ang checkmark sa bilog sa kaliwang sulok sa itaas) upang matiyak na walang mga error (ang isang ito ay hindi magkakaroon dahil hindi mo nagawa t isulat ito, ngunit ang iyo ay!), at kapag ang lahat ay mabuti, ang "I-upload" sa tabi mismo nito
  • Kapag na-click mo ang upload, makikita mo ang mga bagay na nagbabasa sa itim na rehiyon sa ibaba, at mga tuldok /% kumpletong pinupunan
  • Huwag mag-alala na sinasabi nito na kukuha ng 33% ng memorya … iyon talaga ang isang "nakapirming" halagang kinunan ng kahit na pinakasimpleng code, ang isinulat ko ay tumagal ng isang karagdagang 1% ng puwang
  • Makikita mo ang LED sa board na nagsisimulang kumurap (na maaaring nagawa na ng kaunti), kaya't huwag mag-atubiling baguhin ang dami ng mga libu-libo ng isang segundo (milliseconds) ay nasa naantala na bahagi ng script. Kung ito ang iyong kauna-unahang programa sa oras, ang panonood ng LED blink sa isang bahagyang naiibang dalas ay marahil ay isang tunay na pagsakay sa tuwa

3. Mga pagpipilian para sa pagpapatakbo ng NodeMcu

Hindi ako sigurado kung bakit hindi ko ito naintindihan sa una, ngunit ang code na iyong na-upload sa board ay mananatili doon, at tatakbo magpakailanman at kailan pa man / hangga't may kapangyarihan na ibinigay dito. Halimbawa, pagkatapos makumpleto ang hakbang 2, kung aalisin mo ito mula sa iyong computer, pagkatapos ay paganahin ito sa ibang lugar, magsisimulang kumurap muli. Ang pinakamadaling paraan upang mapagana ang NodeMcu ay ang plug lamang ng isang micro USB dito, at pagkatapos ay sa isang singilin na singilin tulad ng ginamit mo para sa iyong cellphone sa pader (isang 5V 1A block o anuman ito). Huwag mag-atubiling tingnan ang aking iba pang itinuro para sa impormasyon tungkol sa kung paano i-power ang mga bagay, polarity ng DC jacks, atbp. Ngunit ang mahalaga ay maaari mong gamitin ang anumang amperage na gusto mo, hangga't sapat na upang mapagana ang lahat ng mga bagay-bagay (1A ay higit pa kaysa sa marami para sa board na ito at anumang LED na ginagamit mo, halimbawa), ngunit ang boltahe ay dapat na nasa loob ng isang masikip na saklaw para sa lahat upang gumana nang tama. Sa NodeMcu, maaari mong gamitin ang isang supply ng kuryente na may anumang boltahe nang ligtas mula sa 3.3V hanggang 20V, dahil mayroong isang regulator sa board na throttles ang boltahe na ito pababa (ito ay isang magandang tampok). Sa amperage, ang pagpunta sa OK ay OK dahil iguhit lamang ng board kung ano ang kailangan nito, ngunit sa boltahe, sa pangkalahatan ay mas ligtas na gumamit ng mga voltages na malapit, nang walang pagpunta sa ilalim, ang kinakailangang #, kaya mas kaunting trabaho ang kailangang gawin / ang kapangyarihan ay nasayang pagbagsak ng boltahe pababa. Kung nais mong gumamit ng isang baterya pack, o nais na gumamit ng isang DC power jack (marahil maaari kang magkaroon ng isang magandang mahabang cable), ang mga pin na gagamitin ay ang mga katabing VIN na mga pin ng Ground.

4. Pagkonekta sa internet

Nag-attach ako bilang isang file (alang-alang sa posterity, kung sakaling mawala ang video) ang code mula sa video sa youtube sa itaas, ngunit mangyaring dumaan sa link sa youtube at bigyan siya ng isang view para sa code. Talagang nagkakahalaga ng iyong oras, ipinapaliwanag niya ang kasaysayan ng board na masayang masaya.

Buksan ang file ng arduino code na tinatawag na "Wifi_connect" at palitan ang SSID at password sa iyong sarili, pagkatapos ay pumunta

  • Pansinin na sa itaas ng mga loop ay mayroong isang linya na isama, na nagsasabi sa Arduino na magsama ng isang silid-aklatan na puno ng mga bagay na WiFi para sa ESP8266. Karaniwan ang mga ito ay isang pangkat ng mga kagamitan at mga bagay na pinagsama-sama at hayaan kang gumawa ng mga tukoy na bagay nang simple, gamit ang paunang nakasulat na mga bagay na nilalaman sa loob ng silid-aklatan. Halimbawa, kung bumili ka ng isang kalasag o karagdagan sa isang board, malamang na may mga library na nauugnay dito upang mas madali mong makaka-interface dito.
  • Mga tool-> Serial Monitor
  • Siguraduhin na ang serial monitor ay nakatakda upang basahin sa 9600. Kung hindi ito sa tamang bilis, ang serial monitor ay maglalabas ng isang garbled mess, kaya't ito ay isang mahusay na tagapagpahiwatig na ang iyong serial monitor ay hindi sa parehong rate tulad ng serial na tinukoy sa code
  • I-click ang patunayan at patakbuhin, at panoorin ang serial monitor habang nakumpleto ito … sasabihin nito sa iyo ang isang pulutong ng mga detalye tungkol sa koneksyon kung ito ay gumana, at ipinapakita na ang ESP8266 sa NodeMcu ay may kakayahang kumonekta sa iyong WiFi! Wala itong GINAGAWA, ngunit kung nagpunta ka at isinaksak ang board na ito sa dingding sa kung saan, maaari kang maghintay ng 30 segundo at medyo tiwala na nagtatag ito ng isang koneksyon sa internet na dapat ding maging kapanapanabik.
  • Upang masubukan ang iyong sarili, subukang kolin ang code na "bllink" at ang code na "wifi_connect" upang mai-on ang onboard LED, o magpikit kapag nakakonekta ito sa internet. Ito ay isang mahusay na paraan upang malaman!

Kung nagawa mo ang lahat ng bagay sa itaas, binabati kita! Ipinakita mo na maaari kang mag-upload ng code sa NodeMCU, at ang NodeMcu ay maaaring kumonekta sa iyong WiFi. Talagang gumagamit kami ng isang bahagyang magkaibang pamamaraan ng pagkonekta sa WiFi, gamit ang library ng MultiWifi kaysa sa regular na lumang silid-aklatan ng Wifi, dahil pinapayagan ka nitong madaling magdagdag ng isang listahan ng WiFis at subukang kumonekta sa alinman maaari.

Hakbang 4: Paano Kumuha ng Data Mula sa isang Website

Paano Kumuha ng Data Mula sa isang Website
Paano Kumuha ng Data Mula sa isang Website

Ang data sa mga website ay nakaimbak sa isang napaka-spooky na paraan. Ang pag-filter dito sa mga bagay na gusto mo, o "pag-parse" para sa ito ay pantay na nakakatuwa, at ang pagtatangka na gawin ito nang walang makabuluhang kaalaman sa HTML ay maaaring maging nakakatakot … kaya ang layunin ay upang makuha ang nais mong data mula sa nakakatakot na lugar sa isang napaka dalisay at masayang lugar. Functionally kung ano ang ibig sabihin nito ay pagpunta sa isang URL na nagpapakita ng buong website, sa isang URL na ipinapakita LANG ang solong piraso ng data na gusto mo.

1. "Pagturo" sa impormasyong nais mo sa website

Pumunta sa website na interesado ka, halimbawa dito

www.timeanddate.com/worldclock/canada/edmonton

pagkatapos ay pumunta sa data na gusto mo, i-right click ito, at piliin ang "siyasatin". Bubuksan nito ang manonood ng HTML sa iyong browser, at ipapakita sa iyo ang pangwakas na sangay ng puno kung saan nagmumula ang iyong data. Nalaman ko na ang pinakamadaling browser na gagamitin para dito ay chrome, ngunit tila ang firefox ay may ilang mga extension na ginagawang mas mahusay … ngunit idk sa palagay ko ito ay isang klasikong uri lamang ng firefox-person na sasabihin?

Doon nakatira ang data. Minsan mayroon itong isang ID na isinangguni, kung minsan nakasulat lamang ito nang tama sa. Kaya paano natin ito maiaalis?

2. Thingspeak / ThingHTTP / API (huwag matakot, walang kinakailangang pag-coding)

Hindi ko na rin pag-uusapan kung ano ang mga API at kung paano mo ito ginagawa, ngunit maaari mong isipin ang mga ito bilang ang tunay na koneksyon o paghahatid sa pagitan mo (iyong mga kahilingan) at kung nasaan ang mga bagay na hinihiling mo. Ang klasikong pagkakatulad ay isang waiter sa isang restawran. Upang maisakatuparan ito nang walang anumang pag-coding, gagamit ka ng isang libreng serbisyo na tinatawag na "ThingSpeak", at partikular ang kanilang aplikasyon na "ThingHTTP". Gumawa lamang ng isang account, at pagkatapos ay pumunta sa mga app, at paraan sa ibaba, thinghttp, at lumikha ng isa.

Ang tanging bagay na kakailanganin mong gawin ay kopyahin at i-paste ang URL ng website, halimbawa ang website ng petsa at oras sa itaas, at pagkatapos ay mag-scroll pababa sa huling patlang na "Parse String". Ito ang landas sa data na gusto mo.

Sa palagay ko ang landas na ito ay maaaring ibigay sa ilang mga paraan, ngunit ang pinakasimpleng at tanging paraan na alam ko ay sa pamamagitan ng pag-click sa kanang piraso ng data tulad ng inilarawan sa itaas, pag-iinspeksyon nito, at pagkatapos ay pag-right click sa linya na naka-highlight na naaayon sa data na iyon ang HTML viewer, at pagpunta sa Copy-> x path. Ipinapakita ito sa kalakip na larawan.

Kapag tapos ka na, subukang pumunta sa nabuong URL para sa iyo at tingnan kung naglalaman ito ng data na gusto mo sa ilang paraan na maaaring gumana kahit papaano. Halimbawa, sinabi ng minahan ang temperatura bilang "XX F" sa halip na bilang ng mga degree Celsius, ngunit ang mga unit at ang F sa dulo ay madaling mabago sa loob ng code. LALABANG-SOBRANG PANLABANG NA MAKUHA ANG KAMALI NA HINDI ITO MAARAL. Kung ito ang kaso, subukang tanggalin ang ilan sa mga header sa loob ng xpath, tingnan kung mahahanap mo ang data sa ibang lugar, o kumunsulta sa isang forum kung saan maaari nilang makilala ang mga "nasirang" aspeto ng iyong parse string. Ang pamamaraang ito ay tiyak na HINDI gagana sa isang website na hindi na-load ang nais na data sa website, ngunit sa halip (mismo) ay kumukuha mula sa ilang panlabas na mapagkukunan, na nangangailangan ng kaunting sandali upang mai-load. Gayunpaman, dapat itong gumana nang maayos para sa mga bagay tulad ng mga bagay-bagay sa youtube, panahon, atbp.

3. Pag-access sa data na ito mula sa NodeMCU

Marami na akong nai-type, kaya tingnan ang nakalakip na code, na maraming mga komento, at kasalukuyang naka-set up upang mabasa sa aurora borealis posibilidad para sa Edmonton AB, Canada (Tanging!). Ang unang tweak na kakailanganin mong gawin ay ang pagpapalit lamang ng URL (sa katunayan ang 16 digit api key na bahagi lamang ng URL) sa iyong sariling bagayhttp.

Ang pangalawang bagay na kakailanganin mong i-tweak ay nasa loop (), kung saan ang aktwal na "halaga" ay dinala at naimbak bilang variable na "yourvalue", na isang string (teksto). Maaari itong magamit sa anumang fashion na gusto mo mula doon. Inalis ko ang simbolo ng porsyento, hinati ang 2 na digit ng% sa 2 variable (halimbawa 14% sa 1, 4), at naimbak ang bawat isa bilang mga integer, ngunit sa ilang mabilis na paghahanap sa Google o mga komento dito, dapat mong magawa upang makuha ang eksaktong mga numero na nais mo mula sa bagay na nabuo na string. Kakailanganin mo ang mga numero upang magawa ang mga bagay tulad ng magpasya kung ito ay malaki o maliit o nahahati-sa-isang bagay na sapat upang i-on o i-off o ipakita ang mga bagay. Ang natitirang code mula sa puntong iyon, kasama ang pag-andar sa ilalim na tinatawag na sevenseg () ay ginagamit para sa pagpapakita ng 2 numero.

Huwag mag-atubiling magtanong tungkol sa code, o kung paano mo maaaring kunin o ipakita ang mga uri ng mga bagay na gusto mo, o kung paano mo magagamit ang mga numerong ito, halimbawa sa paghahati ng spectrum ng isang rgb LED at pagmamapa ng iba't ibang mga halaga sa iba't ibang mga kulay.

Hakbang 5: Pagpapakita ng Data

Pagpapakita ng Data
Pagpapakita ng Data

1. Ano ang ginamit ko (kung paano mag-wire ng isang 7 segment na display)

Nakuha ko ang naka-attach na diagram / sinundan ang mga kable na inilarawan ng ibang itinuturo na ito.

Ang mga kable ay medyo prangka, ngunit kung hindi ka pa nakakagamit ng isang breadboard, maaari itong malito kung ano ang nangyayari. Mahalaga ang isang breadboard ay inilaan upang gawing malinaw at pansamantala ang mga koneksyon.

Ang lahat ng mga sumusunod na paglalarawan ay magkakaugnay sa nakalakip na diagram: Ang isang breadboard ay maaaring hatiin nang pahalang sa 2 paulit-ulit na halves, bawat isa ay may 2 natatanging mga segment: pahalang - at + mga hilera na umaabot sa haba ng breadboard (ginamit para sa lakas) at mga patayong haligi, na kung saan ay may bilang, at binubuo ng 5 mga spot bawat haligi na ginagamit para sa pagmamarka ng mga koneksyon. Pagkatapos ay mayroong isang maliit na puwang, at pagkatapos ang mga parehong tampok na ito ay nadoble sa kabilang panig ng haka-haka na linya na naghahati. Ang lahat ng mga spot sa pahalang + hilera ay konektado magkasama, at lahat ng mga pahalang - hilera na mga spot ay magkakakonekta. Hinahayaan ka nitong mag-plug ng lakas sa isang dulo ng breadboard at pagkatapos ay mai-plug ang mga bagay sa anumang lugar sa kahabaan ng + upang mailabas ang kuryente, tulad ng isang mahabang power bar para sa mga outlet. Ang parehong napupunta para sa - hilera, na kung saan ay ginagamit sa ground bagay. Para sa mga may bilang na haligi, ang bawat lugar sa isang may bilang na haligi ay konektado sa iba pang 4 na mga spot. Tandaan na ang limang mga spot sa isang haligi ay HINDI nakakonekta sa limang kabaligtaran ng haka-haka na linya na kalahating daan. Maaaring i-cut ang breadboard ng pahaba at walang mga koneksyon sa kuryente ang mapuputol.

Ang NodeMcu straddles ang dalawang halves ng breadboard perpektong, sa bawat pin na naaayon sa kapangyarihan o input / output na may isang bilang na haligi sa kanyang sarili, upang maaari mong mai-plug ang mga wire sa natitirang naa-access na lugar at ikonekta ito sa ibang lugar sa breadboard. Ang parehong napupunta para sa pagpapakita ng 7 segment na ipinakita sa diagram. Halimbawa, sundin ang landas ng lupa mula sa board hanggang sa 7 segment na pagpapakita sa diagram.

  1. ang ground pin mula sa NodeMcu ay naka-plug sa haligi 2
  2. wire mula sa haligi 2 hanggang sa -ve pahalang na hilera ng kuryente (itinalaga ng ground ground ng kombensiyon)
  3. mula sa ground row (ang numero ng haligi ay hindi nauugnay, dahil ang buong hilera ay konektado) sa haligi 22 sa pamamagitan ng isang risistor
  4. sa "ground" na pin sa display ng 7 segment na naka-plug in din sa haligi 22

Ang layunin ng risistor sa diagram ay karaniwang "magbabad" ng ilan sa labis na output ng kuryente sa mga LED, na gumana nang functionally upang madilim ang display. Makikita mo na kapag ang isang "1" ay naiilawan kumpara sa isang "8", ang 1 ay mas maliwanag, dahil mas mababa ang mga LED. Ang hindi gaanong maliwanag na pinapatakbo mo ang LED, mas matagal ito, kaya kinakailangan ang resistor. Karamihan sa mga diagram para sa 7 na nagpapakita ng segment ay talagang nagpapakita ng pagkakaroon ng isang risistor sa serye sa bawat isa sa mga indibidwal na segment, ngunit mukhang maayos ito. Gumamit ako ng 1K ohm resistor.

Napakaalam ng mga aling mga pin ang tumutugma sa aling pin sa display, dahil ang mga ito ay nai-map sa code.

2. Ang ilang mga ideya / bagay na magagawa ko na may mas maraming oras

Ito ay mahalagang kung saan ako tumigil, ngunit maaari kang pumili ng maraming iba pang mga bagay na output batay sa halaga ng iyong data tulad ng:

  • isang rgb LED na nagbabago ng kulay na nakasalalay sa halaga, o sumasaklaw sa isang gradient, mula sa berde hanggang pula halimbawa
  • isang buong LED display
  • isang lohikal na on / off over / sa ilalim ng totoo / maling LED na naka-on o naka-off lamang upang ipahiwatig ang isang bagay
  • isang motor na lumiliko sa isang tukoy na oras ng araw, tulad ng para sa isang balbula sa isang sistema ng pagtutubig o upang palabasin ang paggamot para sa iyong aso … Sigurado ako na may mas mahusay na mga paraan ng paggawa nito kaysa sa pagbibigay kahulugan sa oras sa pamamagitan ng wifi ngunit ito ay isang pagpipilian!

Ang susunod na hakbang (kung saan may nakakagulat na marami pang mga tutorial para sa) ay ang pag-post ng data sa iyong sariling server (na maaari ring gawin sa pamamagitan ng mga bagay) at pagkatapos ay gamitin ang data na ito (tulad ng para sa isang awtomatikong hardin, o mga bagay sa matalinong bahay).

Hakbang 6: Pagbuo ng isang Kahon

Pagbuo ng isang Kahon
Pagbuo ng isang Kahon
Pagbuo ng isang Kahon
Pagbuo ng isang Kahon
Pagbuo ng isang Kahon
Pagbuo ng isang Kahon
Pagbuo ng isang Kahon
Pagbuo ng isang Kahon

Ang lahat ng mga koneksyon na ginawa sa pamamagitan ng breadboard ay maaaring gawing permanenteng sa pamamagitan ng alinman sa paghihinang ng mga wire nang direkta sa pagitan ng board at ng output (tulad ng LED), o sa pamamagitan ng paggamit ng isang mas maliit na breadboard, o PCB upang makakonekta sa isang sukat na maaaring magkasya sa ang iyong proyekto. Pinili kong gumamit ng isang maliit na tinapay na dumating sa kit na na-link ko, at kailangan lamang na maghinang ng isang risistor sa dulo ng isang kawad … hindi masyadong matatag, ngunit gumagana!

Pinutol ko ang 4 na piraso ng 1/4 "x 3.5" pine sa 3.5 "(ang mga gilid) at isa sa 4" (sa itaas), at pinagsama ko lamang sila at nakadikit, tinitiyak na makuha ang lahat ng mga mukha bilang parisukat hangga't maaari upang ang bawat mukha ay kasing mapula hangga't maaari. Bago idikit ang mga piraso sa harap o likod ay nagtala ako ng mga lugar para sa pagpapakita at ang board upang manatili ng sapat upang makita / isaksak ayon sa pagkakabanggit. Ang maliit na tinapay na nakuha ko ay may malagkit na tape sa likod upang maaari itong mai-mount sa isa sa mga dingding sa gilid, at ang 7 segment na pagpapakita ay maaaring gaganapin sa pamamagitan ng unang paghiga ng piraso sa packing tape, paglalagay ng display sa tape na ito, at pagkatapos ay iwiwisik ang baking pulbos sa / sa lahat ng mga puwang. Pagkatapos ay ibinuhos ko ang kola ng CA (super) sa mga puwang, kung saan, sa pakikipag-ugnay sa baking soda, agad na tumigas upang hawakan ang display, ilagay sa harap ng harap na piraso. Ang packing tape ay upang maiwasan ang anumang pandikit mula sa pag-seeping sa pagitan ng display at sa ibabaw ng mukha nito laban at takpan ito kapag natuyo.

Idinikit ko ang pine veneer sa lahat ng panig (gamit ang CA glue, na mas mahusay kaysa sa pandikit na kahoy sa aking palagay) at pinaso ang mga gilid sa bawat piraso na inilapat, upang magmukhang pare-pareho / itago ang mga butil na magkakasama / kumilos bilang isang diffuser para sa ipakita tulad ng sa video na ito.

Inirerekumendang: