Orodha ya maudhui:
- Hatua ya 1: Angalia Video
- Hatua ya 2: Kabla ya kuanza
- Hatua ya 3: API zisizo za Umma (Spoiler: Maagizo Ina Moja!)
- Hatua ya 4: Kufuta Takwimu moja kwa moja
- Hatua ya 5: Kuondoa Data Kutumia Seva ya nje:
- Hatua ya 6: Mipaka ya Matumizi
- Hatua ya 7: Asante kwa Kusoma
Video: Kuondoa Takwimu na ESP8266 / ESP32: Hatua 7
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:50
Je! Umewahi kutaka kupata data ya miradi yako ya Arduino, lakini hakuna API ya umma kwa hiyo? Au katika hali kama Instagram API ambapo mchakato wa usanidi wa sio rahisi sana?
Katika Agizo hili tutatazama chaguo mbili tofauti za kufuta data kutoka kwa wavuti kwa miradi yako ya ESP8266 au ESP32.
Hatua ya 1: Angalia Video
Nimefanya video ambayo inashughulikia kitu sawa na hii inayoweza kufundishwa, kwa hivyo ikiwa una nia, tafadhali angalia!
Hatua ya 2: Kabla ya kuanza
Vichwa tu kwamba data ambayo nitazungumza juu ya kufuta ni data inayokabiliwa na umma na haiitaji uthibitishaji wowote. Kwa hivyo sema kwa mfano, hesabu yangu halisi ya mteja wa YouTube inapatikana kwangu tu ndani ya studio ya waundaji, kwa hivyo kifaa kitalazimika kutoa ombi ambalo lilithibitishwa kama mimi kuipakia. Aina hizi za maombi zitakuwa nje ya wigo wa video hii. Jaribio la haraka la kuangalia ikiwa litafunikwa ni kujaribu kupakia ukurasa huo kwenye dirisha la hali fiche kwani hiyo haitakuingiza kiotomatiki kwenye tovuti zozote.
Kwa mbinu zilizofunikwa katika Agizo hili tutalazimika kutumia zana zingine za msanidi programu ambazo zinapatikana kwenye vivinjari. Nitawaonyesha na Firefox, lakini najua kwa Chrome fulani ina zana sawa na nina hakika vivinjari vingine vinavyo pia.
Hatua ya 3: API zisizo za Umma (Spoiler: Maagizo Ina Moja!)
Njia ya kwanza tutakayoangalia ni kutumia API isiyo ya umma. Hii haitapatikana kila wakati, lakini ikiwa ni hii ndiyo njia ambayo unapaswa kulenga kutumia. Kile ninachokiita "API isiyo ya umma" kimsingi ni mahali ambapo tovuti hutumia API isiyotangazwa kwenye wavuti yao nyuma ya pazia kuchukua data tunayotafuta kupata.
Kuna sababu chache kwa nini hii itakuwa chaguo unayopendelea kutumia.
- Faida kubwa ni kwamba haiwezekani kubadilika mara nyingi kama ukurasa wa wavuti, ikiwa unafuta data moja kwa moja kutoka kwa ukurasa wa wavuti HTML, kila wakati wanapofanya mabadiliko kwenye wavuti, kuchambua kwako kunaweza kuvunjika.
- Kwa kawaida ni ufanisi zaidi wa data. Unapokuwa unafuta ukurasa wa wavuti kimsingi unapakua ukurasa wote wa HTML ili kutoa vipande vya maelezo kutoka kwao, APIs zitarudisha tu nukta za data kwa hivyo kwa kawaida itakuwa maombi madogo sana.
- Kawaida ni rahisi kuchanganua. Kawaida API hurejesha data katika muundo wa JSON ambayo ni moja kwa moja kuchanganua, hii ni kweli haswa ikiwa unatoa data nyingi.
Kwanza lazima tujue ikiwa ukurasa wa wavuti unatumia usanidi kama huu. Kidokezo kikubwa ni ikiwa tovuti inasasisha thamani kwa wakati halisi kama inavyofanya kwenye Kickstarter, lakini hata ikiwa haipo bado kuna matumaini kwamba inaweza kutumia usanidi huu. Maagizo hutumia API isiyo ya umma kwa kuchota data kwa wavuti yao ingawa haionyeshi kwa wakati halisi.
Kuangalia ikiwa wavuti inatumia usanidi huu, ingiza hali ya msanidi programu ya kivinjari chako, naona njia rahisi ya kufanya hivyo ni bonyeza kulia kwenye ukurasa na uchague "kukagua kipengee".
Kisha utataka kwenda kwenye kichupo cha mtandao, hii itaonyesha maombi ambayo ukurasa wa wavuti hufanya nyuma, kumbuka kuwa unaweza kuhitaji kupakia tena ukurasa baada ya kufungua kichupo hiki kwa sababu itaonyesha tu maombi yaliyotolewa kuanzia sasa.
Kawaida unataka kutafuta zile zilizo na aina ya "json". Kunaweza kuwa na maombi mengi hapa, kwa hivyo inaweza kusaidia kupanga kwa aina. Unaweza kuona ni dhahiri kwenye ukurasa wa kampeni ya kickstarter kwamba inatumia usanidi huu kwani unaweza kuona maombi ya kila wakati yakitolewa kwa mwisho wa "stats.json". Kwenye ukurasa wa waandishi wa Maagizo (kwa mfano yangu ni "https://www.instructables.com/member/witnessmenow/"), hawaombi maombi mara kwa mara, lakini unaweza kuona ombi lililofichwa kati ya wengine ombi la kuonyesha "mwishoAuthorStats".
Ili kupata habari zaidi juu ya ombi hili, unaweza kubofya. Unapaswa kuwa na uwezo wa kupata habari zote unazohitaji kutoka hapa ili kuiga ombi. Lakini kabla ya kufanya hivyo unataka kwanza kuangalia mara mbili kuwa ina data unayotaka. Bonyeza, kwenye kichupo cha majibu na uone ikiwa data iko.
Ikiwa ina data unayohitaji, mmekaa wote! Basi unaweza kutumia njia zile zile zilizojadiliwa kwenye video yangu ya awali juu ya kuungana na APIs. Toleo fupi la hiyo ni kuhakikisha kuwa ombi linafanya kazi kama inavyotarajiwa kwenye zana kama Postman kwanza na kisha utumie mradi huu wa mfano kujaribu kuwa inafanya kazi kwenye kifaa chako.
Kwa kuchanganua data ya JSON ningependekeza utumie ArudinoJSON katika hali nyingi, ikiwa hii ni jambo ambalo ungependa kuelimishwa juu, nijulishe tu!
Hatua ya 4: Kufuta Takwimu moja kwa moja
Ifuatayo tutaangalia kufuta data moja kwa moja kutoka kwa wavuti, hii inaomba ukurasa kamili wa wavuti kwenye kifaa na kuchanganua data tunayotaka kutoka. Nilishasema faida za API isiyo ya umma ina njia hii, lakini wakati mwingine mahitaji lazima!
Jambo moja ambalo ni muhimu kutambua hapa, ikiwa unajua maendeleo ya wavuti unaweza kutumiwa kutumia kipengee cha kukagua kipengee kupata habari juu ya kitu fulani na jinsi imeundwa. Hii inapaswa kuepukwa kwa njia hii, kwa sababu kurasa za wavuti kawaida hubadilishwa kwa nguvu kwa kutumia Javascript, ambayo haitatokea kwenye kifaa chako. Nambari ya HTML ambayo inapatikana kwenye kifaa chako itakuwa ukurasa wa wavuti halisi ambao unapakuliwa. Mfano mzuri wa hii ni ukurasa wa Miti ya Timu, hesabu ya sasa ya michango huanza kama 0 na kupakiwa kwenye ukurasa baadaye na uhuishaji huu, lakini tofauti na mifano miwili ambayo tumeona hapo awali, haipakia data nyuma, kwa hivyo data sahihi lazima iwe mahali pengine.
Ili kuona nambari asili ya ukurasa wa wavuti unaweza kubofya kulia kwenye ukurasa na uchague "Tazama Chanzo". Halafu unataka kutafuta data fulani unayotaka, kwa hivyo katika mfano wa Timu ya miti tunapotafuta hesabu ya sasa ya michango, tunaweza kuona hesabu halisi imehifadhiwa katika mali ya hesabu ya data ya kipengele cha kuhesabu, hapa ndipo tunapohitaji futa data kutoka.
Unahitaji kupata kamba ya utaftaji ambayo inakuongoza kwenye data yako, Ni rahisi sana kugundua hii kabla ya kuweka alama kwa kifaa. Kwa mfano huu, kutafuta "hesabu ya data" kunanileta hadi kwenye data tunayotaka, ambayo ni kamilifu. Hatuna haja ya kuwa na wasiwasi kuwa inalingana pia katika sehemu zingine kwenye ukurasa, kwa sababu itagonga kilele kwanza. Ikiwa ulihitaji kugonga ile ya tatu, unaweza kuipanga ili kupuuza 2 ya kwanza uliyopiga.
Ikiwa tutatazama mfano wa Mti wa Timu, kama kabla hatujaruka vichwa vya majibu na sasa tunaangalia mwili wa majibu (ambayo ni ukurasa wa wavuti). Kinachorudi kutoka kwa mteja ni mtiririko wa data. Hatujali chochote juu ya hoja yetu ya utaftaji, kwa hivyo tunafanya mteja kupata. Ikiwa itapata swala la utaftaji itarudi kweli na itahamisha mkondo hadi mwisho wa swala. Jambo linalofuata linalopatikana kutoka kwa mtiririko huo litakuwa data tunayotafuta, lakini katika kesi hii hatujui data hiyo itakuwa ya muda gani, lakini tunajua ni habari yote kati ya mahali tulipo sasa kwenye mkondo na koma iliyofuata iliyogeuzwa.. Tunaweza kufanikisha hili kwa kutumia "mteja.readBytesUntil" ambayo inafanya kile inachosema, inasoma baiti ndani ya bafa mpaka itakapogonga swali maalum. Hakikisha tu bafa unayoisoma ni kubwa ya kutosha kushikilia data zote, nadhani tuko salama hapa na 32!
Ikiwa una data yote unayohitaji, basi hauitaji kusoma data zaidi. Sikufunga unganisho hapa kwa sababu haikuonekana kusababisha shida kwenye ESP8266, ilionekana kusababisha shida na ESP32, kwa hivyo niliongeza mteja.stop (). Kuwa mkweli kabisa, sina hakika kwanini niliiweka juu ya njia, ningefikiria itakuwa busara kuifunga mara tu unapokuwa na data unayotaka.
Hatua ya 5: Kuondoa Data Kutumia Seva ya nje:
Mada moja tu ya kugusa, kuna zana bora zaidi za kuchanganua mazingira ya kawaida ya kompyuta kama NodeJS kuliko kwa mdhibiti mdogo, kwa hivyo wakati mwingine inaweza kuwa na maana kufanya huduma ambayo inachukua data kutoka kwa wavuti na hutoa rahisi mwisho wa ESP8266 yako au ESP32. Mfano mmoja wa hii ilikuwa kufuta ukurasa wa CrowdSupply kupata hesabu ya moja kwa moja TinyPICO ngapi iliuzwa. Inawezekana ikawezekana kuifikia moja kwa moja kwenye ESP8266 au ESP32, lakini kwa kuwa ilikuwa ikichanganya vidokezo tofauti vya data kwenye vitu kadhaa tofauti, kwa hivyo ingekuwa ngumu.
Niliishia kuunda mradi wa NodeJS na kuchanganua data kutumia maktaba inayoitwa cheerio na ilifanya kazi vizuri sana. Nilikaribisha mradi huu kwenye seva ya wingu nilikuwa nayo tayari, lakini unaweza kuendesha mradi wa aina hii kwenye pi ikiwa haukuwa na kitu kama hicho cha kusanidi.
Hatua ya 6: Mipaka ya Matumizi
Jambo moja ambalo linaweza kuathiri njia hizi zote ni kupiga mipaka ya utumiaji wa wavuti. Katika API za kawaida kawaida imeandikwa vizuri ni maombi ngapi unaweza kufanya kwa dakika au kwa siku na unaweza kupunguza maombi yako ya miradi kulingana na hii. Unapofuta, haujui ni nini mipaka hii kwa hivyo una hatari ya kuzipiga na uwezekano wa kuzuiwa. Siwezi kutoa ushauri wowote halisi juu ya kuizuia ili ubaki kwenye vitabu vyao vyema, lakini ningefikiria kila kitu chini ya kila dakika kitakuwa mara nyingi, isipokuwa kesi kama kickstarter ambapo wanaonekana kutoa maombi kila sekunde chache.
Hatua ya 7: Asante kwa Kusoma
Tunatumahi video hii ilisaidia ikiwa una nia ya kuchanganua data moja kwa moja kutoka kwa kurasa za wavuti kwenye ESP8266 yako au ESP32. Je! Una maswali mengine yoyote juu ya mada ambayo sikuyashughulikia? Tafadhali nijulishe katika maoni hapa chini, au ujiunge nami na kundi la watengenezaji wengine kwenye seva yangu ya Discord, ambapo tunaweza kujadili mada hii au nyingine yoyote inayohusiana na mtengenezaji, watu wanasaidia sana hapo kwa hivyo ni mahali pazuri pa kutundika nje
Ningependa pia kutoa shukrani kubwa kwa Wadhamini wangu wa Github ambao wanasaidia kuunga mkono kile ninachofanya, ninaithamini sana. Ikiwa haujui, Github inalinganisha udhamini kwa mwaka wa kwanza, kwa hivyo ukifanya udhamini watalingana na 100% kwa miezi michache ijayo.
Asante kwa kusoma!
Ilipendekeza:
Fanya Viwanja Vizuri kutoka kwa Takwimu za Arduino za Moja kwa moja (na Hifadhi Takwimu kwa Excel): Hatua 3
Tengeneza Viwanja Vizuri kutoka kwa Takwimu za Arduino za Moja kwa Moja (na Hifadhi Takwimu kwa Excel): Sote tunapenda kucheza na kazi yetu ya P … lotter katika IDE ya Arduino. Walakini, wakati inaweza kuwa na faida kwa matumizi ya msingi, data inafutwa zaidi vidokezo vinaongezwa na sio kupendeza macho. Mpangaji wa Arduino IDE hana
JINSI YA KUONDOA NYUMA YA PICHA KWA KUTUMIA MS NENO KWA URAHISI: Hatua 12
JINSI YA KUONDOA NYUMA YA PICHA KWA KUTUMIA MS NENO KWA URAHISI: habari zangu !! nimerudi!!!!! i missss ninyi nyote :) nina mpya inayoweza kufundishwa ambayo ni rahisi sana !!! ulijua unaweza kuhariri picha katika neno la microsoft? ndio unaweza kuondoa nyuma au kuiboresha picha ,,, ikiwa haujajaribu programu zingine unaweza kutumia
Jinsi ya Kuondoa Raspberry Pi isiyo na kichwa: Hatua 4
Jinsi ya Kuondoa Raspberry Pi isiyo na kichwa: Je! Umechanganyikiwa juu ya jinsi ya kuanzisha Raspberry Pi kwa mbali bila kuwa na mfuatiliaji au kibodi? Usijali! Kwa kweli, tunaweza kuifanya. Katika mafunzo haya, nitaenda kwa mbali kupitia SSH yangu raspberry pi sifuri na OS mpya ya raspbian ndani
Kusoma Takwimu za Ultrasonic (HC-SR04) Takwimu kwenye LCD ya 128 × 128 na kuiona kwa kutumia Matplotlib: Hatua 8
Kusoma Takwimu za Utambuzi wa Ultrasonic (HC-SR04) kwenye LCD ya 128 × 128 na Kuiona Ukitumia Matplotlib: Katika hii inayoweza kufundishwa, tutatumia MSP432 LaunchPad + BoosterPack kuonyesha data ya sensa ya ultrasonic (HC-SR04) kwenye 128 × 128 LCD na tuma data kwa PC mfululizo na uione kwa kutumia Matplotlib
Sayansi ya Takwimu ya IoT PiNet ya Takwimu za Smart Screen za Viz: Hatua 4
Sayansi ya Takwimu ya IoT PiNet ya Takwimu za Smart Screen Viz: Unaweza kuweka kwa urahisi mtandao wa IoT wa maonyesho mazuri kwa taswira ya data ili kuongeza juhudi zako za utafiti katika Sayansi ya Takwimu au uwanja wowote wa upimaji. Unaweza kupiga " kushinikiza " ya viwanja vyako kwa wateja kutoka ndani yako