Orodha ya maudhui:

Kudhibiti Arduino yako na HTML / Javascript Njia rahisi: Hatua 8
Kudhibiti Arduino yako na HTML / Javascript Njia rahisi: Hatua 8

Video: Kudhibiti Arduino yako na HTML / Javascript Njia rahisi: Hatua 8

Video: Kudhibiti Arduino yako na HTML / Javascript Njia rahisi: Hatua 8
Video: How to Speed Up Your WordPress Website with WP Rocket ⚡Tutorial 2024 2024, Septemba
Anonim
Kudhibiti Arduino yako na HTML / Javascript Njia rahisi
Kudhibiti Arduino yako na HTML / Javascript Njia rahisi

Mafunzo haya yanaonyesha jinsi ya kudhibiti arduino na simu ya ajax kutoka kwa adafruit Huzzah ukitumia kazi za javascript tu. Kimsingi unaweza kutumia javascript kwenye ukurasa wa html ambayo itakuruhusu kuandika kwa urahisi viungio vya html na kazi rahisi za javascript ambazo hutumia kupigiwa simu kwa ajax. Kuruhusu ESP8266 kuwasiliana na arduino. Kwa hivyo, pini zote zinaweza kuwekwa kutoka kwa kazi ya javascript. Vivyo hivyo, tunaweza pia kusoma thamani kutoka kwa pini yoyote kutumia kazi ya javascript. Natumahi kuwa hii inasaidia kurahisisha kudhibiti arduino kutoka hati ya html. Nilidhani kuwa kuna watu wengi huko nje ambao wanaweza kuandika html. Wengi wao hawataki kujisumbua kujaribu kutengeneza programu ya simu ya rununu na java au xcode au mfumo mwingine. Hii itafanya iwe rahisi sana kwa watu kwa sababu wanachohitaji kufanya ni kutumia kazi ya javascript kuweka na kusoma maadili kutoka kwa pini. Kwa mfano, sio rahisi sana kuandika

Washa

Ili kuwasha kitufe. Uzuri ni kwamba hakuna programu nyingine ya arduino inayohusika badala ya kutangaza pinMode (12, INPUT); Katika kazi yako ya usanidi. Kwa muda mrefu kama pini imetangazwa kuliko javascript inaweza kutumika kwa kila kitu kingine.

hati.pakua = {

GetJSON ('A0', 1 'kurudi_json')

}

Hii ndio yote unahitaji kufanya ili kupata thamani ya pini ya analog 0 na kurudisha matokeo kwenye div. Kwa hivyo hii inapaswa kuwa njia rahisi kwa watu kuweza kuunda kurasa za html zinazodhibiti arduino. Pamoja na kuunda kiolesura ili pini za arduino ziweze kuweka na kusoma na javascript.

Hatua ya 1: Nini Utahitaji

Niliunda mradi huu kwa watumiaji ambao wanataka kudhibiti arduino yao na ukurasa wa html kwenye ESP8266. Lengo la mradi huu ni kuunda njia rahisi ya kuweka maadili ya pini kwenye arduino yako na kazi ya javascript. For examplelate onclick = "SetPin (12, 1, 0)" itaweka Pin 12 kwenye arduino yako hadi High.

Kwa mafunzo haya utahitaji vitu vifuatavyo ili kufuata haswa. Walakini, nadhani kwamba inapaswa kufanya kazi kwenye mchanganyiko mwingi wa arduino na ESP8266. Walakini, kufuata pamoja na kile nilicho nacho hapa utahitaji vifaa vifuatavyo.

Arduino Uno - Inapaswa kufanya kazi na yoyote inayoweza kukidhiana ambayo ina serial Rx TxAdafruit Huzzah Breakout Board USB To Serial Cable 4 low power LED's Analog Turpidity testor - sensor yoyote ya analog inayotoa pato la analog itafanya waya ya Wifi Router ya Simu ya Mkondoni na Kivinjari cha rununu Maktaba za Arduino.

Hatua ya 2: Kuandaa Kitambulisho cha Arduino

Mradi huu unahitaji maktaba mpya za arduino na usanidi fulani na kwa muda. Sitakuwa na kuweka picha ya skrini ya kila skrini na nitakwenda tu kupitia kile utahitaji kusanidi hii na kuifanya ifanye kazi. Nilijaribu kuifanya iwe rahisi iwezekanavyo kwa mtumiaji.

Nambari hutumia maktaba kadhaa kufanya kazi. Kwanza tutazingatia kuanzisha arduino kwa ESP8266 ninayotumia Adafruit Huzzah katika mfano huu, kwa sababu ninaona bidhaa za adafruit kuwa za kuaminika zaidi na zina msaada bora. Kwa muda mrefu usijaribu kupata msaada kutoka kwa seva ya Adafruit Discord. Utakuwa na bahati nzuri zaidi kupata msaada katika mabaraza ya msaada.

Kwa njia yoyote, ninatumia maktaba zifuatazo kwenye ESP8266

ESP8266WiFi Wateja wa Wateja ESP8266WebServer ArduinoJSONTHii sio mafunzo ya jinsi ya kupakua na kusanikisha maktaba hata hivyo, hizi ni maktaba zinazotumiwa kwenye HUZZAH. Kwa hivyo tafadhali wape na usanikishe. Utahitaji pia kusanidi ufafanuzi wa bodi kwa HUZZAH kwa hivyo ukienda kwenye FILE> Mapendeleo Kwenye sanduku linalosema URL za Meneja wa Bodi za Ziada tafadhali ongeza zifuatazohttps://arduino.esp8266.com/stable/package_esp8266c… ikiwa tayari kitu katika uwanja huu, kuliko kuhakikisha kuwa unaongeza koma huko ili kuongeza url ya bodi ya ziada. Bonyeza sawa kwenda

Zana> Bodi> Meneja wa Bodi Kuliko kutafuta ESP8266 kuliko kusakinisha ESP8266 na Jumuiya ya ESP8266.

Kubwa sasa inahakikisha tuna kila kitu tunachohitaji ili kufanya nambari ya arduino ifanye kazi. Moja ya upande wa arduino arduino yenyewe hutumia tu maktaba 2 kwa mafunzo haya.

SoftwareSerialArduinoJSON Ambayo unapaswa kuwa nayo tayari.

Hatua ya 3: Kuandaa ESP8266

Kuandaa ESP8266
Kuandaa ESP8266

Sasa tutaweka nambari kwenye ESP8266 (Adafruit HUZZAH) na kuiandaa kwa kuungana na Arduino. Fungua msimbo wa HUZZAH na ufungue mchoro. Kwenye laini ya 11 na 12 badilisha ssid na nywila kuwa ile ya unganisho lako la WIFI kwenye mtandao wako. Utaona kwamba kuna faili 2 faili ya mchoro na faili ya index.h. Faili ya index.h ni ambapo html imehifadhiwa ambayo itaonyeshwa kwenye simu yako.

Baada ya kuweka SSID na nywila sahihi kwa wifi yako unaweza kukusanya nambari hiyo na kuipakia kwenye ESP8266 yako. Kwenye HUZZAH lazima ushikilie kitufe kilichoitwa GPIO0 kisha bonyeza kitufe kingine, kuliko kuachilia kitufe cha GPIO0 ili kuweka chip kwenye hali ya bootloader. Ikiwa chip imewekwa vizuri kwenye hali ya bootloader taa nyekundu itawasha ikionyesha chip iko katika hali ya boot loader.

Ili kuungana na ESP8266 utahitaji kebo ya serial au USB kwa adapta ya Serial, au chip ya FDTI. Katika kesi hii ninatumia kebo ya adafruit kama ilivyoonyeshwa katika maagizo. Walakini, unaweza kushikamana na chip kwa njia kadhaa, ukitumia TTL kwenye pini za Tx na Rx. Ambayo ninatumahi kuwa watu wanaotazama hii wanajua jinsi ya kushikamana na chip ili kupakia nambari juu yake. Kwa njia yoyote endelea na uangaze chip na nambari kwenye faili ya zip ambayo imeambatishwa na hatua hii.

Hatua ya 4: Kuandaa Arduino

Ili kupakia nambari kwenye arduino, badilisha ufafanuzi wa bodi yako kuwa Arduino / Genuino Uno. Kuliko kufungua faili ambayo imeambatishwa na hatua hii. Kuliko kuipakia kwenye ardunio. Rahisi sana kweli, bidii yote imefanywa kwako tayari. Nimepitia jaribio mchakato wa makosa kwa hivyo unachohitaji kufanya ni kupakia nambari.

Hatua ya 5: Wiring Kila kitu Pamoja

Wiring Kila kitu Pamoja
Wiring Kila kitu Pamoja

Sawa kwa wiring nina picha hapo juu ya kile ninacho hapa.

Unganisha Tx kwenye Huzzah hadi Pini 2 kwenye arduino. Unganisha Rx kwenye Huzzah hadi Pin 3 kwenye arduino. Niliunda tundu lingine la serial kwenye pini 2 na 3 kwenye arduino ili kutoa Dashibodi ya Serial ya default.

Unganisha Pin V + na En hadi 5v kutoka arduino. - Adafruit Huzzah ina mdhibiti wa kujengwa kwa voltage 3.3v kwa hivyo kuziba pini hizi kama hii haiwezi kufanya kazi na moduli zote za ESP8266. Unaweza kuhitaji waya katika mdhibiti wako wa voltage. Ninapendekeza utumie Huzzah ikiwa unataka tu kufanya jambo hilo lifanye kazi kwa urahisi. Unganisha GND na GND ya arduino

Kwenye pini 12, 11, 9, 8 kwenye waya wa arduino kwenye LED zako nilitumia LED zilizo na nguvu ndogo hapa kwa sababu zile zinazochota sasa nyingi zinaweza kuteka nguvu nyingi kwa sababu ya kuweka jaribio hili rahisi.

Kuliko kwenye A0 Analog Pin 0 kwenye arduino nimechomoa kwenye laini ya pato la mtazamaji wangu wa Turpitity. Walakini, unaweza kuziba pato la sensorer yoyote ambayo itakupa usomaji wa Analog. Hiyo ndio unahitaji kufanya kwa waya hii.

Hatua ya 6: Kupata ukurasa wa wavuti

Sasa kwa kuwa una waya wa arduino na una kila kitu kilichowekwa kwenye bodi zako unahitaji kuwa na uwezo wa kutazama html kwenye simu yako ya rununu. Sasa nataka uunganishe kwenye router sawa ya wifi ambayo umeweka SSID na nywila kwa nambari kwenye Huzzah. Kuliko unahitaji kujua ni anwani gani ya IP ambayo router yako imeipa kifaa chako. Kawaida, ukiingia kwenye usanidi wa ruta zako lazima kuwe na orodha ya mteja. Hiyo inaonyesha anwani za IP za vifaa vyote vilivyounganishwa na unganisho lako la Wifi. Walakini, ikiwa huwezi kupata anwani hii ya IP kuliko unaweza kuiunganisha kutoka kwa arduino na kuiendesha na kebo ya serial tena. Ukifungua kiweko cha serial kwenye kifaa itachapisha anwani ya IP kwa kifaa kwenye koni ya serial ikiwa huwezi kuipata kwa njia nyingine. Wakati wowote ukiunganishwa kwenye mtandao huo wa Wifi na simu yako ya rununu. Kuliko kuelekeza kivinjari chako cha rununu kwa anwani ya ip ya Huzzah. Ambayo labda inaonekana sawa na hii. https://192.168.0.107 au kitu sawa. Hapo niliweka ukurasa wa msingi ambao utakuruhusu kuwasha na kuzima Leds 4 na pia kusoma thamani ya sensa ya analog.

Hatua ya 7: Kutumia Javascipt

Katika faili inayoitwa index.h katika mchoro wa ESP8266Code inapaswa kutokea kama kichupo tofauti katika mhariri wa arduino. Unaweza kuona mfano wa msingi ambao nimefanya hapa. Kimsingi jinsi inavyofanya kazi ni kama hii.

KuwekaPin (12, 1, 0); SetPin ({Pin Number}, {Value 1 High 0 Low}, {IsAnalog 1 Yes 0 No})

Hii itaweka thamani ya pini ya dijiti 12 hadi juu

KuwekaPin (4, 0, 0);

Hii itaweka thamani ya pini 4 ya dijiti kuwa chini

SetPin (A2, 439, 1) Hii itaweka thamani ya Analog Pin 2 hadi 439

Vivyo hivyo, kazi GetJSON itarudisha dhamana iliyoombwa kutoka kwa pini na kuiweka kwenye html iliyowekwa na Id Id maalum.

GetJSON ('A0', 1, 'resp_i') GetJSON ({Pin Number}, {IsAnalog 1 Yes 0 No}, {Id Of HTML Element to return result})

Hii itatuma ombi kwa arduino kuiuliza thamani ya pini ya analog 0 na kurudisha matokeo katika Div na ID resp_iGetJSON (12, 0, 'mydiv'); Hii itauliza arduino kupata thamani ya pini ya dijiti 0 na kurudisha matokeo kwenye kipengee cha html na Id ya mydiv

Hatua ya 8: Msaada

Natumaini hati yangu inasaidia wale ambao wanataka kuitumia. Nilitumia mfano wa html ya msingi hapa na matumaini kwamba watu wengine watachunguza uwezo wake wote ambao siwezi. Walakini, hii inapaswa kuonyesha jinsi ajax inaweza kutumiwa kudhibiti arduino bila mizigo ya ukurasa wa html na vitu vya asili hiyo.

Ikiwa una maoni yoyote tafadhali jisikie huru kuniuliza nitafanya kila niwezalo kujibu. Ningependa kupanua utendaji wa hii zaidi, lakini nikakosa muda na pesa. Walakini, ninafanya kazi kwa utekelezaji thabiti zaidi wa hii, ambayo huhifadhi faili kwenye wavuti ya kawaida badala ya kwenye ESP8266.

Asante kwa kuchukua muda kuona nambari yangu.

John Anderson Barua pepe yangu

Vermont Internet Design LLC

www.vermontinternetdesign.com

Ilipendekeza: