Uru:
- Ikike iji nyochaa etiti / ngwugwu usoro nke protocols dị ka I2C / SPI / UART na TCP/IP, MQTT na AI nkwado
- Ikike ibelata njehie protocol (oge, okwu, checksum) dị ka echiche na AI
- Ikike iji nyochaa nkọwa ụkpụrụ AI site na iji akwụkwọ ọkọlọtọ, nyocha (ncheta / ngwugwu) nyocha.
Protocol bụ usoro iwu nke ngwaọrụ abụọ kwekọrịtara ịghọta ibe ha: n'ụdị ọsọ, n'usoro, n'ụdị ha ga-ekwu. Ma ihe mmetụta okpomọkụ na-agwa microcontroller site na I2C ma ọ bụ ngwaọrụ na-agwa ihe nkesa ígwé ojii site na TCP/IP na MQTT dabere na ụkpụrụ. N'ime nkeji a, ị ga-ahụ ka esi eji AI nyochaa okpokolo agba / ngwugwu, wedata njehie protocol, wee ghọta nchịkọta nkwukọrịta (ọkwa dị n'elu ibe ya, site na oyi akwa anụ ahụ ruo ngwa). AI dị ike n'ịkọwa ụkpụrụ na ịmepụta echiche; mana ihe ahịrị na-eme ka amara naanị site na nha nyocha ya (ntụgharị uche, protocol/packet analyzer) na akwụkwọ ọkọlọtọ.
Usoro usoro iwu agbakwunyere: I2C, SPI, UART
Chips na bọọdụ na-ekwukarị okwu n'usoro usoro usoro atọ:
- UART: Ahịrị abụọ (TX/RX), enweghị ahịrị elekere; A ghaghị ịtọ akụkụ abụọ ahụ n'otu ọsọ ahụ (ọnụego baud). Dị mfe mana mmekọrịta dabere na ọsọ.
- SPI: Elekere (SCLK), ntinye / mmepụta data (MOSI/MISO) wee họrọ ahịrị (CS); Ọsọ, duplex zuru oke, mana ọ chọrọ ntụtụ ọzọ. Oge polarity/phase (CPOL/CPHA) ga-adakọrịrị n'akụkụ abụọ.
- I2C: Ahịrị abụọ (SDA / SCL), adreesị dabere, ọtụtụ ngwaọrụ n'otu ahịrị; sere-elu resistors na nkịtị ala ọnọdụ. Ọ dị nwayọọ mana ọ dị oke ọnụ ahịa.
AI na-akọwa nke ọma ka usoro ndị a si arụ ọrụ, usoro nhazi ha na ọdịda ọdịda na-akpata. N'usoro na-edepụta ihe ndị nwere ike ịkpata ya (adreesị ezighi ezi, ndọpụ na-efu efu, ndakọrịta ọsọ ọsọ, enweghị ihe jikọrọ ọnụ, esemokwu ahịrị, ogologo eriri / ike) mgbe ngwaọrụ I2C na-anabataghị ya. Mana nke n'ime ihe ndị a dị adị nwere ike ịghọta site na iji akara nyocha na-elele anya na ebili mmiri SDA / SCL; AI na-enye echiche ahụ, nha na-ekpebi.
NDỤMỌDỤ: N'ime ọdịda protocol serial, jụọ AI "kwadoro ihe ndị nwere ike ime site na opekempe, na ihe ọ bụla m hụrụ na onye nyocha maka onye ọ bụla kwadoro." N'ụzọ dị otú a, ị na-eme ka nha ahụ lekwasịrị anya; Kama ịnwale ihe kpatara ya n'otu n'otu, nlele nyocha na-ewega gị n'alaka kwesịrị ekwesị.
Usoro netwọkụ: TCP/IP, UDP, MQTT, CoAP
Usoro ndị nwere Layered na-abata ka ngwaọrụ jikọọ na netwọkụ na igwe ojii. Ngwunye TCP/IP bụ nke etinyere n'ụzọ nkịtị: njikọ anụ ahụ / data (Ethernet, Wi-Fi), netwọkụ (IP: adreesị na ntụgharị), njem (TCP: ntụkwasị obi, usoro, njikwa ọsọ / UDP: ngwa ngwa, enweghị ntụkwasị obi), na ngwa (HTTP, MQTT, CoAP). Echiche ndị bụ isi:
- TCP vs UDP: TCP na-akwụ ụgwọ maka mfu ma na-ekwe nkwa iwu mana na-ewebata latency na elu; UDP na-adị ngwa mana enweghị nkwa nnyefe (ọdịdị / vidiyo dị adị maka telemetry).
- MQTT: Usoro izi ozi IoT dị fechaa nke na-arụ ọrụ na ụdị mbipụta ndenye aha; izi ozi site na isiokwu site na onye na-ere ahịa. Ọkwa QoS setịpụrụ nkwa nnyefe.
- CoAP: HTTP-dị ka, ụkpụrụ dị fechaa dabere na UDP maka ngwaọrụ amachibidoro.
AI na-enyocha usoro etiti / ngwugwu nke ụkpụrụ ndị a, na-enyere gị aka ịkọwa ihe njide Wireshark (packet analyzer), wee nyochaa nhazi isiokwu MQTT. Mana ihe ezigbo okporo ụzọ na-enyocha site na njide ngwugwu, a na-enyochakwa omume nkesa site na ezigbo nnwale.
Checksum, CRC na nhazi
Ọtụtụ protocol na-eji checksum ma ọ bụ CRC (Cyclic Redundancy Check) iji lelee na data adịghị emebi emebi: onye na-ezipụ na-agbakọ uru nkwenye site na data ahụ, onye nnata na-eme otu mgbako ma jiri ya tụnyere. AI na-akọwa ma dee koodu maka ngụkọta CRC / checksum, mana nkọwa dị ka nhọrọ polynomial, njedebe, uru mbụ wdg bụ kpọmkwem maka ọkọlọtọ; A ga-ejirịrị koodu CRC nke AI mepụtara n'okwu ọnụ na nkọwa gọọmentị nke protocol wee kwenye na vector ule ama ama.
Obere ikpe atọ
Ikpe 1 - Mwepu ezughị ezu. Otu otu enweghị ike ịgba ọsọ ihe mmetụta I2C na bọọdụ achịcha; anaghị anabata adreesị ngwaọrụ (enweghị ACK). AI na-edepụta resistor ndọpụ na-efu na ala nkịtị dịka ihe nwere ike ịkpata ya. Mgbe ị na-elele ahịrị SDA na onye nyocha ihe ezi uche dị na ya, a na-ahụ na mgbaàmà enweghị ike iru oke elu n'ụzọ zuru ezu; Nkwurịta okwu na-amalite mgbe agbakwunyere resistors na-ebuli elu. Ihe nkuzi: AI gosipụtara ihe kpatara ya, onye nyocha ahụ kwadoro ya.
Ikpe 2 - Ụdị SPI na-ezighi ezi. Onye injinia na-agụ data gibberish sitere na ngwaọrụ SPI. AI na-atụ aro ka elekere elekere / oge (CPOL/CPHA) adabaghị dịka ihe nwere ike ịkpata ya. N'ime onye nyocha, elekere na-egosi na ọ na-elele dị iche iche karịa ọnụ ngwaọrụ ahụ na-atụ anya ya; Mgbe emeziri ọnọdụ ahụ, data ahụ ga-aba uru. Ihe ọmụmụ: Akara ngosi "data mana enweghị isi" na SPI na-abụkarị ndakọrịta n'ụdị; nha na-eme ka nke a doo anya.
Ikpe 3 - MQTT QoS nghọtahie. Onye nkuzi na-eziga telemetry site na MQTT mana hụ na ụfọdụ ozi efuola wee jụọ AI. AI na-ekwu na QoS 0 bụ "ọkachasị otu oge, anaghị ekwe nkwa ịnyefe"; Na-akọwa na achọrọ QoS 1/2 iji kwe nkwa nnyefe, mana nke a na-ewebata elu na igbu oge. Onye nkuzi ahụ na-atụgharị gaa na QoS 1 dabere na mkpata telemetry wee jiri ezigbo nnwale nyochaa omume onye na-ere ahịa. Ihe nkuzi: Kọwaa nhọrọ protocol AI; A na-eme nhọrọ ziri ezi dịka ngwa ahụ si dị ma nyochaa site na nyocha.
Ndebiri ozugbo enwere ike iṅomi
PROTOCOL FAILURE NAVIGATION TEMPLATE"[I2C/SPI/UART/TCP/MQTT] nzikọrịta ozi nwere ihe mgbaàmà ndị a: [akara ngosi]. Debe ihe ndị nwere ike ime site na Kachasịsịsịsịsịsịsịsịsịsịsịsịsịsịsịsịsịsịsịsịsịsịsịsịsịsịsịsịsịsịsịsịsịsịsịsịsịsịsịsịsịsịsịsịsị E የተነሳ ná Nkachamara. Maka ihe ọ bụla kpatara ya: (1) gịnị kpatara o ji enye akara ngosi a, (2) ihe ọ bụla m na-ahụ na onye nyocha / nlele, ọ bụ CONFINA. Emela nchọpụta nke ọma;
TEMPLATE FRAMEWORK/PACKET ANLYSIS TEMPLATE "Gbajie ihe ndị a [I2C/SPI/UART byte array / packet capture] ọdịnaya n'ime ubi wee kọwaa mpaghara ọ bụla (adreesị, iwu, data, checksum/CRC, ọkọlọtọ). Kwupụta n'ụzọ doro anya echiche gị banyere njedebe na ntakịrị usoro. Rịba ama na ọ dị m mkpa iji nyochaa nkwupụta gị na nkọwa gọọmentị nke propactor.
CRC/CHECKSUM TEMPLATE "Kwaa CRC/Checksum ngụkọ maka [protocol]: polynomial, mbụ uru, bit usoro, ikpeazụ
TEMPLATE PROTOCOL EXPLATE "Mee ntụnyere usoro njem / ngwa maka ngwa ndị a: [chọrọ: nkwa nnyefe, latency, ike, bandwit, mgbochi ngwaọrụ]. Tụlee nhọrọ TCP/UDP na MQTT/CoAP/HTTP na njirisi ndị a. AKWỤKWỤKWỤKWỤKWỤKWỤKWỤKWỤKWỤKWỤKWỤKWỤKWỤKWỤKWỤKWỤKWỤKWỤKWỤKWỤKWỤKWỤKWỤKWỤKWỤKWỤKWỤKWỤKWASỊAKWỤKWỤKWỤKWỤKWỤKWỤKWỤKWỤKWỤKWỤKWỤKWỤKWỤKWỤKWỤKWASỊRỊRỊRỊGHỊRỊ N'ezie.
Ngwa ngwa adịghị ike / Ike siri ike
EKWU IKE: "I2C anaghị arụ ọrụ, gịnị kpatara?"
IKE IKE: "My I2C sensọ adịghị ACK (adreesị anabataghị). Depụta ihe ndị nwere ike ime na-amalite site na nke kachasị: ịdọrọ elu, ihe nkịtị, adreesị na-ezighị ezi, ọsọ ọsọ, capacitance USB, esemokwu. Maka ihe ọ bụla kpatara ya, dee ihe ọ bụla m na-ahụ na SDA / SCL na logical analyzer ekwenyela, ihe ọ bụla m na-ahụ na-ekpochapụ. Emela nyocha; Enwere m ike ịbelata ndepụta nke m site na nha.
Ngwa ngwa na-adịghị ike na-emepụta otu ịkọ nkọ; Ngwa ngwa ngwa ahụ dị ike na-enye maapụ nyocha nke enwere ike ịbelata ka ọ bụrụ nha, nye iwu na nkwenye.
chaatị ntụnyere protocol
protocol
Ụdị
isi ihe siri ike
ngwaọrụ nkwenye
UART
Usoro, na-enweghị elekere
Dị mfe, ahịrị abụọ
Nyocha ezi uche
SPI
Oghere Usoro, emechiela
Ọsọ, zuru duplex
Onye nyocha ihe ezi uche dị na ya (CPOL/CPHA)
I2C
Oghere Usoro, adreesị
Ọtụtụ ngwaọrụ, ntụtụ ole na ole
Analyzer (ACK, ndọpụta)
TCP
netwọk, njem
Kwesịrị ntụkwasị obi, n'usoro
Ihe nyocha ngwugwu (Wireshark)
UDP
netwọk, njem
Ọsọ, obere latency
ihe nyocha nke ngwugwu
MQTT
Ngwa
Dị fechaa, ụlọ mmanya/sub, QoS
Ndekọ Broker + ijide ngwugwu
Kpachara anya: Inwe AI ịkọwapụta njide protocol na-adị ngwa ngwa, mana AI nwere ike were n'ụzọ na-ezighi ezi were ntakịrị ntakịrị ma ọ bụ oke ubi. Nyochaa nyocha nke ọ bụla megidere nkọwa gọọmentị nke protocol yana vector ule ama ama.
Mmejọ ndị nkịtị
- Ịgbanwe ya dabere na amụma AI na-enweghị atụ ihe kpatara ya. Echiche nyocha na-eduga gị n'ihe kpatara ya.
- Na-eleghara nnabata CPOL/CPHA na SPI. "Enwere data mana ọ bụ nzuzu" na-abụkarị enweghị ndakọrịta.
- Ichefu ndọli na ala nkịtị na I2C. Ọ bụ ihe kacha akpata "anaghị arụ ọrụ ma ọlị".
- Na-eche na paramita CRC. Polynomial, mmalite, ntakịrị usoro bụ kpọmkwem maka ọkọlọtọ; A na-enyocha ya site na vector ule.
- MQTT QoS na-agbagwoju anya na nkwa nnyefe. QoS 0 anaghị ekwe nkwa; A na-eme nhọrọ ma nwalee dịka ngwa ahụ siri dị.
Na nchịkọta
N'ime nkeji a, ị jirila AI dị ka ihe enyemaka dị ike n'ịkọwa ụkpụrụ dịka I2C/SPI/UART na TCP/IP, MQTT, frame/packet analysis na n'usoro na-ebelata ihe kpatara mmejọ. Ma protocols bụ nke ziri ezi na ọkọlọtọ: ihe akara na-eme n'ezie na-ekpebi site na mgbagha / ngwugwu analyzer, a na-ekpebi izi ezi nke nyocha site na nkọwa nkịtị na nyocha vector, a na-ekpebi ihe kpatara mmejọ site na nha. Dezie AI ka ọ nye "ihe kpatara ya na nha iji kwado ya"; Ka onye nyocha na ọkọlọtọ kpebie.
Ọrụ ngwa
Họrọ ọnọdụ ọdịda osote usoro (dịka enweghị I2C ACK). Rịọ maapụ nyocha usoro n'usoro yana nleba anya site na AI yana ndebiri "mmebi iwu protocol". Wee were ihe nlele byte array (dịka ọmụmaatụ agụ ihe sensọ) wee tinye ya n'ụkpụrụ "Frame/Packet parsing" wee rịba ama echiche nke endianness. N'ikpeazụ, nyochaa koodu CRC megide vector ule amaara site na iji ndebiri "CRC/checksum verification".
ndetu
- [] Ekwenyere m ihe kpatara ọdịda ahụ site na nha nyocha, ọ bụghị site na amụma AI.
- [ ] Edepụtara m CPOL/CPHA na SPI, adreesị/pull-elu/ njikwa ala nkịtị na I2C.
- [] Atụlere m fremu/Packet ntule ya na nkọwapụta protocol gọọmentị.
- [ ] Eji m vector nwale nyochaa usoro CRC/checksum.
- [] Emere m nhọrọ usoro njem / ngwa dịka ihe achọrọ wee nwalee ya na ezigbo nnwale.
- [ ] Atụwala m nke ọma ihe nkwa nnyefe nke MQTT QoS pụtara.