Mongoli: TorchIoTBotCamp
Khokahanyo: https://zhuanlan.zhihu.com/p/339700391
Ho tsoa ho: Quora
1. Selelekela
Silicon Labs e fane ka tharollo ea moamoheli + NCP bakeng sa moralo oa gateway ea Zigbee. Ka har'a meralo ena, moamoheli a ka buisana le NCP ka sebopeho sa UART kapa SPI. Hangata, UART e sebelisoa kaha e bonolo haholo ho feta SPI.
Silicon Labs e boetse e fane ka projeke ea mohlala bakeng sa lenaneo la moamoheli, e leng sampoleZ3GatewayHost. Sampole e sebetsa tsamaisong e kang ea Unix. Bareki ba bang ba ka 'na ba batla sampole ea moamoheli e ka sebetsang ho RTOS, empa ka bomalimabe, ha ho na sampole ea moamoheli e thehiloeng ho RTOS hajoale. Basebelisi ba hloka ho nts'etsapele lenaneo la bona la moamoheli le thehiloeng ho RTOS.
Ho bohlokoa ho utloisisa protocol ea gateway ea UART pele u theha lenaneo la moamoheli le ikhethileng. Bakeng sa NCP e thehiloeng ho UART le NCP e thehiloeng ho SPI, moamoheli o sebelisa protocol ea EZSP ho buisana le NCP.EZSPe kgutshwane bakeng saProtokhole ea Serial ea EmberZnet, 'me e hlalosoa hoUG100Bakeng sa NCP e thehiloeng ho UART, protocol ea lera le tlase e kenngoa tšebetsong ho jara data ea EZSP ka mokhoa o tšepahalang holim'a UART, ke eonaMoloramokhoa oa tsamaiso, o mokgutshwane bakeng saMoamoheli oa Serial o sa ts'oanengBakeng sa lintlha tse ling mabapi le ASH, ka kopo shebaUG101leUG115.
Kamano pakeng tsa EZSP le ASH e ka bontšoa ka setšoantšo se latelang:
Sebopeho sa data sa EZSP le protocol ea ASH se ka bontšoa ka setšoantšo se latelang:
Leqepheng lena, re tla hlahisa mokhoa oa ho beha data ea UART ka foreimi le liforeimi tse ling tsa bohlokoa tse sebelisoang khafetsa ho Zigbee gateway.
2. Ho theha foreimi
Ts'ebetso e akaretsang ea ho beha foreimi e ka bontšoa ka chate e latelang:
Chate ena, data e bolela foreimi ea EZSP. Ka kakaretso, lits'ebetso tsa ho foreimi ke: |Che|Mohato|Referense|
|:-|:-|:-|
|1|Tlatsa Foreimi ea EZSP|UG100|
|2|Ho se Lekanyetsa Lintlha ka Tsela e sa Rarollang|Karolo ea 4.3 ea UG101|
|3|Kenya Taolo ea Byte|Khaolo ea 2 le Khaolo ea 3 ea UG101|
|4|Bala CRC|Karolo ea 2.3 ea UG101|
|5|Ho Tlatsa ka Byte|Karolo ea 4.2 ea UG101|
|6|Kenya Folakha ea Qetello|Karolo ea 2.4 ea UG101|
2.1. Tlatsa Foreimi ea EZSP
Sebopeho sa foreimi ea EZSP se bontšitsoe ho Khaolo ea 3 ea UG100.
Ela hloko hore sebopeho sena se ka fetoha ha SDK e ntlafala. Ha sebopeho se fetoha, re tla se fa nomoro e ncha ea mofuta. Nomoro ea morao-rao ea mofuta oa EZSP ke 8 ha sengoloa sena se ngoloa (EmberZnet 6.8).
Kaha sebopeho sa foreimi ea EZSP se ka fapana pakeng tsa mefuta e fapaneng, ho na le tlhoko ea tlamo ea hore moamoheli le NCPTLAMEHAsebetsa ka mofuta o tšoanang oa EZSP. Ho seng joalo, ba ke ke ba buisana kamoo ho neng ho lebelletsoe.
Ho fihlella seo, taelo ea pele pakeng tsa moamoheli le NCP e tlameha ho ba taelo ea mofuta. Ka mantsoe a mang, moamoheli o tlameha ho khutlisa mofuta oa EZSP oa NCP pele ho puisano efe kapa efe e 'ngoe. Haeba mofuta oa EZSP o fapane le mofuta oa EZSP oa lehlakore la moamoheli, puisano e tlameha ho emisoa.
Tlhokahalo e sa tobang ka morao ho sena ke hore sebopeho sa taelo ea mofuta se kaLE KA MOHLA U SE KE UA FETOHASebopeho sa taelo ea mofuta oa EZSP se tšoana le se ka tlase:
Setšoantšo: https://zhuanlan.zhihu.com/p/339700391
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处.
2.2. Ho se Rarolle Lintlha
Ts'ebetso e qaqileng ea ho etsa lintho ka mokhoa o sa reroang e hlalositsoe karolong ea 4.3 ea UG101. Foreimi eohle ea EZSP e tla etsoa ka mokhoa o sa reroang. Ho etsa lintho ka mokhoa o sa reroang ke ho ikhethela-KAPA foreimi ea EZSP le tatellano ea bohata-e sa reroang.
Ka tlase ke algorithm ea ho hlahisa tatellano ea pseudo-random.
- rand0 = 0×42
- Haeba karolo ea 0 ea randi e le 0, randi+1 = randi >> 1
- Haeba karolo ea 0 ea randi e le 1, randi+1 = (randi >> 1) ^ 0xB8
2.3. Kenya Taolo ea Byte
Baiti ea taolo ke data ea baiti e le 'ngoe, 'me e lokela ho eketsoa hloohong ea foreimi. Sebopeho se bontšoa ka tafole e ka tlase:
Ka kakaretso, ho na le mefuta e 6 ea li-byte tsa taolo. Tse tharo tsa pele li sebelisoa bakeng sa liforeimi tse tloaelehileng tse nang le data ea EZSP, ho kenyeletsoa DATA, ACK le NAK. Tse tharo tsa ho qetela li sebelisoa ntle le data e tloaelehileng ea EZSP, ho kenyeletsoa RST, RSTACK le ERROR.
Sebopeho sa RST, RSTACK le ERROR se hlalositsoe karolong ea 3.1 ho isa ho 3.3.
2.4. Bala CRC
CRC ea li-bit tse 16 e baloa ka li-byte ho tloha ho byte ea taolo ho fihlela qetellong ea data. CRCCCITT e tloaelehileng (g(x) = x16 + x12 + x5 + 1) e qalisoa ho 0xFFFF. Byte ea bohlokoa ka ho fetisisa e etella pele byte ea bohlokoa ka ho fetisisa (mokhoa oa big-endian).
2.5. Ho Tlatsa ka Baite
Jwalo ka ha ho hlalositswe karolong ya 4.2 ya UG101, ho na le boleng bo itseng ba byte bo boloketsweng bo sebediswang bakeng sa morero o ikgethang. Boleng bona bo ka fumanwa tafoleng e latelang:
Ha boleng bona bo hlaha foreiming, data e tla sebetsoa ka tsela e ikgethang. – Kenya escape byte 0x7D ka pela byte e boloketsweng – Khutlisa bit5 ya byte eo e boloketsweng.
Ka tlase ke mehlala e meng ea algorithm ena:
2.6. Eketsa Folakha ea Qetello
Mohato oa ho qetela ke ho eketsa folakha ea qetello ea 0x7E qetellong ea foreimi. Kamora moo, data e ka romelloa koung ea UART.
3. Ts'ebetso ea ho tlosa foreimi
Ha data e amohetsoe ho tsoa ho UART, re hloka feela ho etsa mehato e fapaneng ho e hlakola.
4. Litšupiso
Nako ea poso: Hlakola-08-2022








