Orodha ya maudhui:
Video: Mawasiliano ya Moja kwa Moja ya ESP8266: Hatua 3
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:53
Utangulizi
Wakati nilikuwa nimefanya miradi kadhaa na moduli za Arduinos na nRF24l01 nilikuwa najiuliza ikiwa ningeweza kuokoa juhudi kwa kutumia moduli ya ESP8266 badala yake. Faida ya moduli ya ESP8266 ni kwamba ina mdhibiti mdogo kwenye bodi, kwa hivyo hakuna bodi ya ziada ya Arduino inayohitajika. Kwa kuongezea saizi ya kumbukumbu ya ESP8266 ni kubwa zaidi na kwa kuzingatia kasi ESP8266 inaendesha kwa kiwango cha juu cha 160MHz badala ya 16MHz ya Arduino. Kwa kweli kuna pande hasi.
ESP8266 inaendesha 3.3V tu, ina pini chache na inakosa pembejeo nzuri za analog ambayo Arduino ina (ina moja, lakini tu kwa 1.0V na sio 3.3V). Kwa kuongeza kuna mifano mingi zaidi ya nambari ya Arduino + nRF24l01 basi kuna ESP8266 haswa linapokuja suala la kuhamisha data.
Kwa hivyo nikiwa na mradi akilini, niliangalia mada ya uhamishaji wa data haraka na nyepesi kati ya mbili ESP8266 bila vitu vyote vya WWW na
Wakati nikitafuta wavuti kwa mifano (nyingi ya nambari iliyo chini ilichaguliwa kutoka kwa wavu katika maeneo anuwai) nilikutana na maswali mengi jinsi ya kutekeleza uhamishaji wa data moja kwa moja bila mifano nzuri ya "fanya hivyo". Kulikuwa na nambari ya mfano, lakini haswa na swali kwanini haikufanya kazi.
Kwa hivyo baada ya kusoma na kujaribu kuelewa, niliunda mifano hapa chini ambayo inaruhusu uhamishaji wa data haraka na rahisi kati ya ESP8266 mbili.
Hatua ya 1: Mipaka na Asili (TCP Vs. UDP)
Ili kufika huko, mipaka kadhaa inapaswa kufafanuliwa ikilinganishwa na nRF24l01.
Kutumia ESP8266 ndani ya mazingira ya Arduino, maktaba ya msingi ya kutumia ni ESP8266WiFi.h. Inaweza kuwa tofauti, lakini mifano mingi hutumia zilizotajwa kwenye. Unapotumia hii, unahitaji kupata mawasiliano yako kwa kiwango cha WiFi.
Kwa hivyo, kuwasiliana kunahitaji angalau mahali pa kufikia (AP) / seva na mteja. AP hutoa jina la mtandao na anwani za IP na mteja ataunganisha kwenye seva hii.
Kwa hivyo ikilinganishwa na nRF24l01, ambapo nambari katika ncha zote mbili ni sawa au chini sawa (isipokuwa kwa njia za usafirishaji) nambari ya ESP8266 ni tofauti kabisa, kwani moja imesanidiwa kama AP na nyingine kama mteja.
Mada inayofuata ni kwamba badala ya kutuma tu ka kwa nRF24l01, kwa itifaki za uhamishaji za ESP8266 zinahitajika kuzingatiwa.
Kuna itifaki mbili zinazotumiwa kawaida: TCP na UDP.
TCP (Itifaki ya Udhibiti wa Usafirishaji) ni itifaki ambayo inaruhusu usafirishaji wa bure kati ya seva na mteja. Itifaki inajumuisha "kupeana mikono" (bendera nyingi na alama zilizotumwa kati ya pande zote mbili) na nambari za pakiti na kugundua kutambua na kupeleka tena pakiti zilizopotea. Kwa kuongeza, kwa kutumia mikono hii yote itifaki inazuia data iliyopotea kwa sababu ya pakiti nyingi zinazotumwa kwa wakati mmoja kwenye mtandao. Pakiti za data husubiri hadi zipokee.
UDP (Itifaki ya Takwimu ya Mtumiaji) inakosa kupeana mikono yote, idadi ya pakiti na usafirishaji tena. Kichwa chake kwa hivyo ni kidogo na hakuna haja ya kupeana mikono yote kudumisha unganisho. UDP inajumuisha utambuzi wa kimsingi wa makosa, lakini hakuna marekebisho (kifurushi kilichoharibiwa kimeshuka tu). Takwimu zinatumwa, bila maarifa ikiwa mtu anayepokea yuko huru kupokea data. Wakati huo huo, pakiti nyingi zinaweza kugongana, kwani kila chama hutuma data wakati wowote inahitajika. Kwa kuacha kupeana mikono yote, kuna huduma moja nzuri ya UDP inayoitwa "multicast" na "matangazo". Katika kesi "multicast" pakiti za data zinatumwa kwa kikundi kilichofafanuliwa cha wanachama, katika "pakiti" za data hutumwa kwa washiriki wote waliounganishwa. Hii inapunguza uhamishaji wa data sana ikiwa mito itapokelewa na washiriki wengi (k.v. kwa kutuma mpasho wa video kwa wapokeaji kadhaa au kwa kutuma wakati wa sasa kwa vifaa vingi vilivyounganishwa).
Kuna video nzuri kwenye YouTube zinazoelezea vizuri zaidi.
Kwa hivyo wakati wa kutuma data, ni muhimu kujua mahitaji yako:
- data isiyoharibika, usimamizi wa wenzao wengi kwa kupeana mikono → TCP
- data ya wakati halisi, unganisho haraka → UDP
Nilianza kwanza na utekelezaji wa mawasiliano ya TCP (kati ya Seva moja na Mteja mmoja). Wakati wa kuijaribu, nilikuwa na shida za kukwama kwa usafirishaji. Mwanzoni data ilibadilishwa haraka, kisha baada ya muda kasi ilipungua sana. Nilihitimisha kuwa hii lilikuwa shida ya kawaida ya njia ya TCP (ambayo ilikuwa mbaya!), Kwa hivyo ilibadilishwa kuwa suluhisho kulingana na UDP. Mwishowe nilianza kufanya kazi. Kwa hivyo suluhisho zote mbili zitatolewa.
Mchoro hapa chini una TCP na UDP kwa pamoja kwamba:
- ni huru kwa mtandao wowote uliopo wa WiFi. Kwa hivyo itafanya kazi mahali popote mbali na mtandao na njia zilizounganishwa.
- zinatuma data ya ASCII ichapishwe kupitia mfuatiliaji wa serial.
- zinatuma data iliyopatikana na millis () - kazi, kuchambua kasi ya usafirishaji.
- hazijaribiwa kwa wateja wengi (kwa sababu ya kuwa na vifaa vya kuanzisha mtandao sasa hivi)
Hatua ya 2: Vifaa
Ili kujaribu usanidi mzima nilitumia moduli mbili za ESP8266. Moduli moja ni adapta ya ESP-01 + USB-to-UART. Moduli nyingine ni moduli ya msingi ya ESP-12 inayojumuisha unganisho la USB, mdhibiti wa Voltage na vitu vingine vya kufurahisha kama swichi, LDR na LED yenye rangi nyingi.
Moduli ya USB-to-UART ya ESP-01 ilihitaji kubadilishwa kidogo ili kuweza kuitumia kama programu (tena Youtube na Csongor Varga).
Ili kuendesha michoro, unahitaji kusanikisha maktaba za ESP8266 (kama ilivyoelezewa katika maeneo mengi kwenye wavuti). Katika visa vyote viwili (TCP na UDP) kuna seva na mchoro wa mteja kila moja. Mchoro gani umepakiwa kwa moduli gani haijalishi.
Shukrani
Kama ilivyoelezwa, michoro hiyo inategemea vipande na vipande vingi ambavyo nimepata kwenye wavuti. Sikumbuki tena ambapo nimepata nini, na nambari halisi ni nini au nilibadilisha nini. Kwa hivyo nilitaka tu kuishukuru jamii kubwa kwa ujumla huko nje kwa kuchapisha mifano yote mizuri.
Hatua ya 3: Michoro
Nambari hiyo ina michoro mbili kila moja (kama ilivyoelezewa), mchoro wa seva na mchoro wa mteja, kwa TCP na UDP kila moja.
Ilipendekeza:
Kujifunga kwa Moja kwa Moja kwa Mchezo Mtendaji wa Mchezo wa Gofu wa 3: Hatua 12 (na Picha)
Kujifunga kwa Moja kwa Moja kwa Mchezo Mtendaji wa Mchezo wa Gofu wa 3: Hivi majuzi nilichapisha Inayoweza kufundishwa juu ya kujenga mchezo wa kufurahisha unaoweza kubeba na unaoweza kuchezwa ndani na nje. Inaitwa "Executive Par 3 Golf Game". Nilitengeneza kadi ya alama ya kuiga kurekodi kila alama ya wachezaji kwa "mashimo" 9. Kama ilivyo
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
Moja kwa moja 4G / 5G HD Kutiririka Video Kutoka kwa DJI Drone kwa Ucheleweshaji wa Chini [Hatua 3]: Hatua 3
Moja kwa moja Video ya 4G / 5G ya Utiririshaji wa HD Kutoka kwa DJI Drone kwa Ucheleweshaji wa Chini [Hatua 3]: Mwongozo ufuatao utakusaidia kupata mitiririko ya video yenye ubora wa HD kutoka karibu na drone yoyote ya DJI. Kwa msaada wa Programu ya Simu ya FlytOS na Maombi ya Wavuti ya FlytNow, unaweza kuanza kutiririsha video kutoka kwa drone
Mlishaji wa Kiwanda cha Moja kwa Moja cha WiFi Pamoja na Hifadhi - Usanidi wa Kilimo cha Ndani / Nje - Mimea ya Maji Moja kwa Moja na Ufuatiliaji wa Mbali: Hatua 21
Kilima cha Kiwanda cha Kiotomatiki cha WiFi kilicho na Hifadhi - Kuweka Kilimo cha ndani / Nje - Mimea ya Maji Moja kwa Moja na Ufuatiliaji wa Mbali: Katika mafunzo haya tutaonyesha jinsi ya kuanzisha mfumo wa kulisha mimea ya ndani / nje ambayo hunyunyizia mimea moja kwa moja na inaweza kufuatiliwa kwa mbali kutumia jukwaa la Adosia
Kilishi cha Mbwa Raspberry Pi Moja kwa Moja na Kijirusha Video Moja kwa Moja: Hatua 3
Feeder ya mbwa ya Raspberry Pi moja kwa moja & Kijirisho cha Moja kwa Moja cha Video: Hii ni Raspberry PI yangu inayowezesha feeder ya mbwa moja kwa moja. Nilikuwa nikifanya kazi kutoka asubuhi 11am hadi 9pm. Mbwa wangu huenda wazimu ikiwa sikumlisha kwa wakati. Iliyotafutwa google kununua feeders moja kwa moja ya chakula, hazipatikani India na kuagiza ghali op