From f97f6dd44751d543c7cd216cade82990b8a40da5 Mon Sep 17 00:00:00 2001 From: rickbronson Date: Wed, 29 Jan 2025 10:02:23 -0800 Subject: [PATCH] add-docs-for-ld2451 --- components/sensor/images/ld2451.png | Bin 0 -> 25663 bytes components/sensor/ld2451.rst | 253 ++++++++++++++++++++++++++++ images/ld2451.png | Bin 0 -> 25663 bytes index.rst | 2 + 4 files changed, 255 insertions(+) create mode 100644 components/sensor/images/ld2451.png create mode 100644 components/sensor/ld2451.rst create mode 100644 images/ld2451.png diff --git a/components/sensor/images/ld2451.png b/components/sensor/images/ld2451.png new file mode 100644 index 0000000000000000000000000000000000000000..30a585d19fe4e696bfe84baaf226b4a05021113c GIT binary patch literal 25663 zcmeFXWmH_vwl0jjy9Srw?(Xh18lZv3-2(~k8a%j5LK7Nyx8UyX7F-kT<9+wu=j`*{ zJH{PnjC=o`{?T2lYR+fQ`P8hrx@xT`4K;am6cQ9DC@6GA1sN?UC}@_qb}AC=+xHwc zzuMbRkFSothZfMA(#6f$%GLoy>G9D8L<#b-wSt23S$5Pg!hoehdb-CG4HnT6iEp(} zUe6z7N1?Z0Q6!U_#72I8_6;9|f*Wd*N?_x`b5k$mMkB=>NXqjF7}XtqMwL$x?gJ3@ z)igfWvJ15{9|?ypA~Q1KR`W_<`$;Gtx{62=HoDw`Cnkyo}jWeS+d6G>~@x#e(=2 zUYM=4w1%Rz^uMBciy`}SqNqZz240xDQ3*9ZJSu_fPmTU=Hl}U;3XM>d0)Wk2_ijnR zWHFVZt1F%{D#i;7fZRCS)6)eXuA2hOyIXNeR;i8seO=^b&(7y;?}@GUN2q|J9-Ufd zjPguSaWXPhmJxn%)ddhrnn+&8yi|-K`n}Kmf~cqVTE9=4_eS1a*{&+W1KhU240?=D zh>z9GwBR{zgn^<~pQWLx7O{?s^oGs5pTe5fx^RI6^+E6s{zqN~Wt5 zclB(Ljz4acJ*N~`e>P-FG;Gg2VqC@>OiNG=hYe#nt04zZU|wfm{8eG*V^6R6uLoJT zp2I7S4`rKuc$H5Sx#q z%Uj+-L5Ya_xBxBeK^~OmAZuGEQR?&7PHIY9OHpb)UR4fN7io}au@OurT!aN=&k)%H#;@u-y$CNqSX4T8kEw`ZXik? zHXb$(R#_igFD_~^6iN{{ODiEQ8M%K#yj_V>+jw}m2(hz!dwa8abF(?SS+jEr3JS7w zaItf7vA#*Lx_@-?0Q#^xxzqdw@ed3ckh_JOt&4}PvlHcCm_T!9PY+RQ>bG&qfBEO= zqN@5I@J{akWZ{hub|0V%J0}|lyQ3rfziYUA$a=kj{L`WTt%keK+bU((0=YYTx>_y)_NoR zzesx6TKy+k|HZezM*a@x-yL~V{}0^%BK@z}{}z6eQdJd_aklXM%RNOIQR=_!3t2i_ z*jftx-4p=waB*9LcvyklTpX-CATAzOb3TwDtA(W?2cJ0z1hlZ?`Zp*=CwC8^lLhE6 zs5fvn+cz8_uLXyI0Em~>0w`e4$|K0h!zyTLWx>kB%L(G;tmXoIf~-6O=7OvOKnrtL(3=fz9t$2$5EsYaP?i=#a?Wm! zz_;nNbp%?2*j=2g{~q{@a3M(zMNw)lwttBJ-J{_E^sstU5T#bJb@KH2Pf;CPN07D$ z@Gmww`MLS|1bGFxI0bq51-W?sQwRWZbAQXkzc4vD*tq{O^4GKoy#@0|Eby;9eFOMg z<1H2;X*Uqi!`V&8+1Wvq`Y#74|I+-AVb!D$^bn;Z=f7pyh0qDLR{QBT%1Cj z{BLbm4gn#Kf0K8%w6*&9f0F)d@lcBVW6Bk5-QVng{JZNPD@q&W`j4xBTsqkPy_6^^ z|6UYAK#PBb;12WxS^n+k8`eLDENp;I)}XiQ@y~SqSHJE5CKar>`GDMg*U=j-$?pj31k0f!0dn3jDJNe!v4Q-BJ#JuzZID`y?^w*6|c8i$o?P2@SmLh zRd)U#e*QTZ{|_y^LI01D{}#XhL)ZV%_1|LPza{)X+4Vnk{kItSZwdcTcKu(Y3*|qz zQy{0ee?i`Fo253BS0N}USSSq@9og5{q2D)cudlE7mo1lP_1EW(q)vrU7P&Wzxz$v^y;Q?C44@TH=ccYe0+XG%J{QhobbE)|9tmj}G!t7c= z;g}Dr8+)+RK%wk_AZ&SaJw>YN!R(atv)R9`!g+54d~rV11#zcy$U$LJVzEk`=!qR^ z5Bu}bD7N@ z?e*~Q`{AR50SrL+@$pDxPT}m&@Y;e82A>nZw>Q$7M2z>QQy2s?7zK7iY-z32?rwKD zcmyVTL$KuRonq5R+C523Vi(7g&M)RMwETN&gJ^|4n*!S_ z{XT?eYk5S_SR@drxX3t$w|=wOTQ6Rl`!>+%O2^7aW}TrDQMo>w%xC0zu-kcdd1-6! zfMpm{ny7_pks+o78fuTIapX5Qc_kSC8I2=ZQR@**;&pU zU+7<)ticAR;B%^a1}4|!7Z+|ULZYH0+*1nED{Bf{dVWrH z3d(C|hABx}`VRDgi@U}xy+Rs>#?!y1c!xx5S$j6uWn(jlCPq2sehrB85UwnZ4)(Kj zvj=u>C>XdyL7~1KRG{KQLuF%jb zD5}aL9zheqV?%q(TgyX1Q9>!oNb2}3pSB0+Xj{)8Qe?_V$68RrOlk23CSpr>m6sz2 zo57<)OHM_B9yFy5I+xp5;)i$6wLe8p7;E;oUmQ;$}Db# z$4>s57x1{Ufq)Pm5z*-U%CGn`u)Fc%n35Af>X-+~6ZwrB{cyo=n^*UKMeqt#bpD(d zKtknxetuvobTxMI^YqV5OsB8JqH-hKr{~+}prDuMNA(!UOO4CXuxewT=;uE-5hu#& z9eX>oDnH+y65eN*xcBg zm7eQ!*E^%FtT(<^XG=#Gaow{65%hj9T(Q9#Chd}Teb75FY#QPql_Bhn>qi@`t`|I6 z=CbgIXT`xw*Z02})(8B9 z0`@Cm(u2*&D%t3-9)eyR*s7`r-u_1O-GI(Z!u)x|7UvJcd|bkCRlJ$a7Z;rw#Q z_%cH#pTGU?rMdCN>2an5RWE2+c;>-9qtk)-_qU^gHhh`=3B>ZMpO%;AXGhunDf8I_ z+18{m_$5a3P8y78biEc`tnV^Ip?xt9Kc2}u2n=M`OG?u0%y)dS?#6L=iHl-elOK6j1jWhZ?SZJDX;#IJ# zJm9InqUxm%nD8)VLg#cr_=0%&9;r;y0V@{kDLv0>h!!3nHD5I*pjhLR4EbDZfAkLq zYOwk{VziaR0Yq7Z-r5I)^HE>K0J|o?gB))Y{M;FaS&&@vv~ZOE3&V+4KWFVZFAbYGt;a(QWycUx zhA!))(Z#a~%s!j(rqsZ)J8}{Yv#)k`QiQE@|K87XX8ROU^Gdqt8_M6*DzQuY$7So; zzp4H81^y3|`g%Yo#k)U1dGX}?$AGji=^wB*ytiPyWBv8Se-r#Uby3@JDeE5c-@?13 zY`f^WeqmtVD`#Xru7EK1joHSigS8xhbeqac(V6G6`utGy&Wk~No8uyy@wG=hRl z*_jTFE0_B&f@Die80k}cZmrYP#!E|VgkmjZY(Ba4NFpPpIQV;!(bV1-K+UBkMRIac zQ92!=3t7#J-+y*3{dAVwaWs9W$%cGWQ934q&U+K0qLozpjlL7ZtG%b@<%MyEpq^24 zahWm0(81nkYRg8MVeUdH>F5~Fi6h8&Wzt|})e_lO!ZADis`!WvMv_La9ZCm4gY9zE zDk8M^WvUkJ>kV@_(fY`(Lgi^t#G2yRK3Ro6pV3l7jfG7b2hJZ(6MG63P3h`4m68@i z?8Y*A!{8O=7Gt(2LFrZRLqlXxQ2D(C>b#!VDnC^4wroWVc~QDVh!Rgo7s+XMcQQ#; z(m%`sR3qgotH1ZVhhb8x*X?$r@e7nT7Fljoh*NbND#o4RU&()(%huya`O57${;fWm zHFhYDwm)19d%lqlq1UbDGOHdzS~G^B*OE*1$sMM*vd?e+3Iyj#N=6aAR3 zZU>`?)EA;SH3oFUe4F>WDGjvU{;cn&?8w71hk_mmiOP|5e1^9of~!ITD#y2IeJZ}U zprTfw7zZj>%5hl12?MUZ&ikq&gnd)gvAlroVc| zQz))zYnI3+DT|dpl8zvk6`cmVtZ^nu1{XE1yA6k<0)x-07>Qh6UN;n`6pbRgb-7qy z7*31dvN$pMj$r?$8@?AgEHt#MotIjWIF76Xqb+RM5{2sEdz#BP_$e2^+m;_x<7ko* z1h{&)!%7Y4LTOyydv${EHwa-XNtM%9eNsLc{`obtV-6Q^omk*A*PI~c(`X;lb8+*r z2B5A(K7kg%!b(CH0BQ zYx*P!RSE`P2PLeL%xtP+#y)3|(acT500~h_3aJ9Cz9?TqW4ouvE>#H13)jR-F6t_n zoWz!twKy$;7ZGlxtC?9*G(w+_Aj&Kv{T(r0i6*%yIo9C4NQ&7rXlqWsKYVW_-8m5H zW$Igy4l9vwO$ZTbOj&)QqKek=Z{mFu$E6jFS? zKKdoBPKB;;X*<%|`HVO$afVeDcL+><(xprhCM5+bv)J%nkbbOEVX-2^D7;F$C&w`i z7V@rC-+|2!6O-2bb9lVYE~Edt5%f_n4~FrJ z?(>!r;(QO`ar>qRYQ-kzCud-C2out=`d4;?8b;Y8xtwCdv$L`CcQ*uwV168FX>aQr zAD=Pbi2<@SzR^R*O`sq)fe;0{%Z)!BIkdjlcjhi7d|iz`@++ZR2zO|CqTrkn)bc>e zk5vo|*-EXbOc0@20aL*mXBm78kK;1WEO#hUM+Lgg=g{SuTk!SM4QvwezPfm`{ozqj zt~{*tb*VFXB-F$am(vgI;_~t}*#38i@u;hP=m8p4b=?g2YmXI0Gm~f;jZC^>S7G8XP@cU4cw8m{z3=w&Y7;)Zn4~c$1u5 zq4$wO4x6_Zn8VsRd}AR1a|Guy1~!vCG)N@1rnszqNEKMdyj)*{j4fA~Fi$0Gjwqnk zbMpw3-#aHyP!uo?CZDlZ%WL+09=|oRMo=~7`%(bNaFjdtDfg)u7Nwh0t6JE(^+Ea2 zCflxg=DO^_#~+H`;77{u9^tSC;UA4NuTAB@bY=oOMU+FquQv|J3`>6ha(e3mMU8?~ zSF^S^SWZLJCbiJ?0YmuRRC7`i-&N+`C6v1h2@x#4XM`dmJtE%b&{EPS8JSmLDg0QW zP`wsd2)0ZW!s~rTw%tRbtwl10QC3o>=iy}%zv}8{HK~Fz|083jYy!@Nat52=Yr#x8 zR=aw>6vKlS4*p^B2nGx5ViPt@@&0$-v9U4TFy3sdj4W4*U#Dk3?3}!=trq(*5_@$E zWU3eWd8?@M8cRRYklAD6VRVHN1}c|-_pQY0t!L^+8`2Y`l6ZtbAo*C&a;Zw@yv^k% zDZzFZW=N>n+B@3=s^E{%Yj}@|~gA=2t6c6wba-ygw@e^%AbnxIxwb>KPCisXrFin z!xUghD$Hbc9j#hkojyFbR~VA{wz3I&mU9a5^9%5IxL$5ICruQh8~j8u*0Z3Y6nV0A zxtQ&GIVDUO%_gR`oi~M=A3X{NFPfk>obnAv;`t&ml+`Yue4D-`@SHrj_PHP;yL7Q4 zD*yT8dxPLgjtxiwQx+CDV?9>45UGrO*mkj#Q$ zc8YBLq*jb_RiiKw%Y|Tft(%o9O?9ua!vjs58R?7O zxT$uM|A}fUmh#gkyoes8(NQ2Kc)Z4P+lz_@PK|q|qI1)KEKGe`ToKCtRisrYz&n%SC zB!z7^5smqA!&F;VQ5v3m7d}1hC`MCxVy5s9U?*YB6Uw)RXXUxC1qZ1QIJAoGVKk}_cx@O!{z z<{leV083ky3_%Kk069@$;^den5fhbWC_W`io0!0EYWH`y$&&%8iA!K`xxPNh@toA* zw?@CuVx~a}3dw|GD$>E42^IaPi~&Wh*5#}|qQ?ZoU;{Ic8Mh+M?O^v6EPNPg;aFz} z`>fQJyUUs*H+@cO<{QHmZiO|}5UVx0Y z(LDYP2ojIA5HGv!flV;4tSHMO^IoP)rM}1T)80izecgj0iWtj8c zuN7=Qt!jw~7-Lfbctl2PY5v1-imgWr8G^@x!bmIme%?$)DYc@1=RL!={nerlt;zyp zsyTT4CRPW1=(nF_ZGQCf^Ns7pe8K_Chvpk^_flSSEKYeSxv4}|A3p2u)Gdbeu{4K`%iw7=#sK)m^Nu9RaWOUOVO0na^IHP1dF=B(~P`I$y}j2 z=VLa5zB=#P4Wz04=#bt`yYSk?MTb8@otS>OaGaaS{gvr`wPWjk(AMIE@ePyBs;=CO zXL&v?OZX(Uv8qGdrQ&tv)H^<(I5#a=t5na0f+tzPCps$ny@Vo(c)92l6E_YH9IOwG z`z1U)g;WzPG^UKGSkWSV>6~vnf=R7$AvZTQiy{&W;6Qh&eUsftWAb%Ta!C>fMuiFv z*4}C|ANdPSu!aW-oiJDv6|yNm(!pPMzx%t7MtHxSyTX;O=^`a{#*%AfT8QJ*in-#q z)=ww%V@CWtm{j1ovOOyWIz}Wi5r0GpDdaA3y5q)ZA4_uE(kaaVHUVbWkUEbej>&n! zq+E3z1i8-u4h_l&#yer-+qF!U@nX` z>L;bY@WK1eFoNn_w58F48-%+Qp;#J~Dr&vaPjke$IXN$PYi>{6S0pC?2<)Mpog6*? z@jt0gX;FTB_iM%b`l^6t<|FshNKk&pEJ6qp7_97@=|73>NK)IaB7Z+Zrx1M#4-EX{ zIn5zAU+1=)>1O#xt#vUGkDZ>2uq?B1i@{+YW~AULd?Jl5Zbo!zn5WPPI+HqDF2qv& zuyzw=8l;!FY5Pg+V_vOCdXwxVAF?>D_fpaoC{P<1);N^%I1;4EbN*@NvkLs%n^YbW z`gcEsrZD;} zNuDa4K4g~j0%P{8+dM+~7s0^HX5Py-UF}Kh{0g7JF#Fu?V+xrGz3wsBy6)@wcPC7xn;vlxX;@^o6Ne$-pFXuPK-v;#?#b zVJO?uA@$Wn(JAGTJk{!20h2w3vdbEjUS#+=(lJ7}SoF$lqCGb$2_s=-^RpMXUimwO zgMov-J#*Pd3+iq-z&`poS`;+bQU{-_cG0Ss>^-Pa`4u zHmLu50Ukk_0WBXTCA?Iym*S#I9p%L}0J@DhDcVC>7(*H&z7~JA=Dl(H`-S531j6h6 zOh|a->+Qj+SeE;nDp~`LsjUaZ7tMW>B`-2vEXeB%XtA3 z79T=T34W&j?56-m0Dy;N0M(A$=l87O`zS-~Qyg`RzNicsxwz_GHs$j%r<#JISf4hF z^WVt~>Q2v1r^_YE3vAENw%4(<`zuG?g?$BZsG0CqNPv49hzvK+?_TpvI{ctIgg9_H zHka|IC50S(J_#&dt*Isj)z|m@1VMHxP|*UuaZt*Un*H1b2jQulbi&NZI(S%F=!r&@ zr)6^bPNAvQ43~#fMNtP6dD(h#3aNdHvHDS7IQ1<;I!1_8Yhi4_{k=Hh z0+R?Nl0&U1-x;Rv4n={}Xckm+nt?3I! z@xH@caKnN*e7>9d(O+T)JUl%e9NdquM9mXyyk=50xA89I;R#iOj7-sDbkMQWGG{!K zqh?rnO}99&cx~=hRXt*V%^~OJ3Ne%6glwB5g+-&=WTxqKk}vrvFiRBQ5(Uu#Fu&Cx zkE`}BOQ&!FsID?GpYdjmVNg4iO;I5bCw_7sW;P)VGjg7*JZ^7yOnlxmR4(fu^&}Xxu(Dmi2TGw3t0w_M`RI z;{j@Bjvp{_va_ZWFkV{1qFcFOsOSE#rP{_vCrU8>h)ee2r*fr$cOL%g2*`+0 zLo_8C@dTtwA>^Vq+CZmjgBX$b46GdQ)T0J>Zap4p^?i+SPjd-LUKv>&#H$~pVM+ix zIqK>wWfJnE0|e@dik|ZFydqr_U%Y`EL``M{PZ3dEd{1VMrH}_MCvC)5W^8#+zSwMwVzvPc{c2AL1x} z@I6L1@#&;b{E+!f!|JWp7+haPf)-sUm9B)6T_+aFVPt3nKOi3w%a}2iIKXD^$Md3V zA#!jel~hdp_oR5TsV zuJko_6VfkbOu*+UNMr6sAZT0Yv4c-gpjQ;)$|NSf>kn@os^OHtIY- z`VWAj4NR=A7jOX5j9hN-z2Sj|2MOu&y!ZH!IusSY&xHM628mA3sU@b)V5Vt;O(KR` zdX!Kdg<{Jta6MaKUR2LuS~XVYTa}hS>XWYR4p)m$=6=v0_H5Dhi}m=)fza9D#^pp3 z0o}UBSCv@rmTr*^?_BkH6pzuDO5vu*{#myKdqW({Om;BwY~EPec=b=^b;I~dv-|pJ z{t`PZcmeS}Se@DV?Dei^%t%lez>ur{^kW{(nUV9Uth{pFX(3B-Fl5DGb9cP9?t9<9 z*9@e4zB-X#`q5sIr?{(U=41zmzgR=g7BLP|_iCyEg|4m15pHwIcQcEq5wnmr{hADM zhX~hH*a?h%zgz0@&^T3AQ&Us@k-(K7lRQ9lOeXNMD$mQ@eCOJdFNu1IN&d+VS;)sc zpw3-r!Ht#Q_dq0&*ZH9B+5(#3>sFMym>@c&BT`ZP_TjRmx%CRSmW#CGB$!d*9v@Tr ze!$)m?!Amur|(W9pFf9DHz^{O&+@~v99oKhziH!fBO)eW)i*=fOMJ3RA|HKc9_LUR z51nKCr>r_>o*lnT{_V&j{_JU@>MrWV`cjAsI);ehjB&qhT6cTtMK9*YBV<$hSFjOo zH@Y7as{m47ZK=yxW=OrN6L0*J-)N+a_F9V^P`9tY1Ql_6$Gxz~`xHi>flj~b{LHAv z61l6z-BR9ocr_&l9X$j6r1aOfxt02sDgkn27V1;+ddd$U+S_?Q1=z|}EsD*~t(0uC z;+YJ;Y&AqjP)zw@-dQn}Y_)3rrjdn+t3Gv&Jt-EKR%_lVzMZDbUC|Uan8{~8(63A2 zFSYOXwbr!SB>-IzGwZ*g^rp_3^1^->#y?8)SgmFjTE!7>blv*#Ar;C#mx6_-S2)T~ z6KA1vB$JEoy44WEACWAs{$Yy~@7EOzqrl-VZ^d^=Nt9<8!KbFgPN8Re)z{_STXW;1 zOZ>VEjE-;bU^u^2wGC!|vX}ZjeL*P-b8c_<-s4Jqu?i(~lk6v=@29tY$)eSv4ck2u z>{pR6&FLd}g38OSk#@Rw=Xw|(q4@^*)Ri|)H-}_MO5Fa7h>-1>BEmDnCJqr%v5sm- zJ((>((Z>P|V zV0vA#qN%;`Nh+QF&9!2580pX6pHao81nIF8s{s8)C@*0ncrf+>%=ZyU;8SxLS1fr;F$bVHrw?8CoX= zW~dfaLhHmR#b0?w@7ApZS#lOP_Y&g@sUZ4whhGK_D2|JX2~0j_?@h-zqWGFtyTEAN ztz91;1%_ZHD_ZEDT#iN^-frulE@xFu!?0|Fd!n!qO|uOHf@^w2x6)El8k(9K_;i@@ z5R{R~F(!;CvTNRho)ydCgNUul4U90b&;ba4D?Zp;zMt z&8torTuMCJ+V?bj03vei&rx)7eR!;(3|s!fdFGhfd4axh$>im=ExMVXk?VdQ0{e`8 z(UpALj3ll}xRt>*xwgWYK;M2T1ZI(^WeHtZysqFf1qhDWUf=|bVeLM)@ih*E3Q=$G zaz5-N#jFhw@JPCzVe>{Nf5(==_Ai361RNU59+-v2IYzW`xz*=rl zq7sqsq%iu0M_nhzQ`%#cm0Yd>S=XKc0@I(bGvdqb!VytBOBq>crCMY7-XqLb=c1a; zZpTTF$uU>6P%_kp2M{MG7J*n1QRj#z9TDvkBRg4f;er~9p}EK4LX&f7WGN7e5$D+5 z?AXnvA58o%zV&IhveT4;725ergPf?v9_l!+E({_%%Rbz;}D8vTgon7P{I2MJMvX2YC& zQE=mIuW8W4flh^fIvEUQvgPp4m6}kftZYf&r=?(+Zy&Xx zDtc--vWYA#Wi5=1oYahVeDm>PAp^0$V`sq8h_I%Z#v6orZ*C^GNq;b`#{r82HEnD( zu^EY4V5ZMhMcObJrV5r4y)=8`plRF@e;Pv}HVH+nF($$3vm(#K(aUC`Vx{HWKKf9* zSWDPoKe5Rw-VT{J78*D=?CesxmAT6(gvdb>1f?9~yKGfQml;ifT!kuq-E;!lWav@jkv%{Y5l6smxr4pQlyHj{fmXiD$`oB zp=>UAvt}|Y2X}~Jw~-;Pia=%5%~;UE>@f$2$I7y!z%k~&^DrB5bLipXp`dSHHy(a>xT*Ctozpje<}OP(k+Fv!y-+bU}g z#qU~@?OP+j^Us81dN>U+`7yQeEwOn}(Ip?_V4O`SuRY|KRW``!87}Nx{EUhPSjzfX zV%Pz;qM{OUqh!?J_yN#FJMJuk-e;?VShd`)qoIm=Q1eT;8}A|}w_HF69iRCRN_Y7` z-7TfI#dx0w#9h%ffBwBEsM+yU)7W_bvf$EmVDGj8`^sp#LxJ6**x=ije&fHk^0>Fq z_UV0c)ieD4=l9uAAD>zX?{0f$OdcTE?CH5Zgj=*hReKbF=sxpjk3UyUAVC-**)LK^ zAFa`k7@_2LOun%0zUYw)Y0+ZE11mBzSpL&6qeXUl{{O; z&LtP1BuhHWNO5&0Iu&@7X-l1AxWUY0`?A}`c)n#>SM?e!0y4Uhowg4n?CMwL$)dFN^s=Ml5m9=4(ND!TOWaC}zWDl;Je5;8AwGi#c?@#f6Q+&?ej?}Ol*g$Z z2vm^@dc0)Z8Bpf3nhxcBdzi=tZHb2MgeW#%dR3DLAynT4p{)p7kt@s-J&=mO>&Qg% z>$)Zyv^*B@mGZIsxU+QB4fKKT2zN**ng9h4UdO*vRT0TdPxt2G>r|O$nao#yUMrzx z%=w9$0=2aT(gUdfE_6fek>Vz!#Xp)Mw7B;Ewb)AI`T;=Tmh`a6A4Qsc*pFg)xHlZy zW8P+x2Aj3XzB@AzIT0Z9Q?T1Wm70+OoCU$?+8*$^;#U;da@`qB=!p{9l?*$x+@9jJ zi0A90WSJ$W?2$smNl~)v*I|B|k=DEFWL%-MA*eVrj*WxX*H13B=8M|twwYBBJw=Gh6(_pr>XTK^Fz~WXqF2WSQJepMM>JdlkPO*QVelK`FXR zN(k4I@U_M=of@1@2cOJ$#7zIh^06Sg(kR`>zdsse)HqJl$qdig2V;Kg>+pkW=Zohs zw$3bJerDgO1{4i{hbC{V#o$GU2oSEy^QDDP?h5n*j;9|-RcrSAJzw9D=-H!tHbN%p_`#sRUNwvF!*JA4s~c$bfp81wiQE00jIHH*FYimDoWMT(cV3}NEV!$-eX z-*e3MSh49ZsdQ)JAK%%=rO)83%{N_URR3=6p|OCPPaF=zx3MX7uR+rrJ7h{XGtk<0 zci(0n?kbYB^(jm0qP7wkH6*7uS)cL#yfOChb#X$>B2!rHAzjc%hizNOGJVH7k=^R{ zO6a@ti5x41PiRrM(yD94D~%Qf`%8;6)iiZe{8`RCk&2RAz#LB7!owUoDk5UI`l&!o zW1;irM|%dnvpqBbei>gL7HThw@~1XB{&lHQj)tq#8gld#h!aw#=bsx}n3MgkXVgch z{z35g2o6gwyUuPM{bW)O0+9u6D0_nBkuS@I4Avc0R_2 zTit>EJ*rA@_{Unle!3p*amTo#fM7S!zBoJIsEO z@a`wdg`sPjPoxSn_xbAYlfL1nHWnCEn93R2aixGyz|HCUo39gG*FX6?hzK|bIE#PM zQe_mI1cyJXFq8GVa5}(LaI#fQu%v5k7hNZO@&X-4nt?*Cs=GXKqFkS0vvYae4gBYex%QdmSB8g;Q!0oEIbv~JMS(i#MBLz zdD^qW;#%@zWJpgH#1+3PV3PbKotc=)D~H5pde|)=Q%3*u{HY$LlZ!c^wfiD+ug>r) zsPKd;D0Sh>LsO^cs|AYvs!igj{n^o{mpyK))c_yL0HSw(&fabig!!K*;Vw3k))iG-mE=byu5@&>9IT)KGOcf>4WIs}(-zmXIBk7NSm zg1CejW|@%Q-a;hbG;6;JqE77|wqF!`7~DFoMoYr$x<*JM7JRUI0J7jYha@04ZEQ0I z5&S}VJjbLTwoMF=_&LF5(nh3Bd|h__x?wHCA^{J{=P}6?s#7W-x@^Nn%FOVk; zg)57?J6Pz2NVD>*V-1Y!G^3uNEsqJVNxmwsoGueW%%`K`Cx-gy`aFn(EjOAvvqg~3 z{6kwCO-@92z>u!p_n*Zs7B;SV4BvK7BfA6hou$2 zKPDTZlwC|Q8+AtuSzdemWMg;=oW>H$-+M>4Et&~Q6|JWy=9)EQBtG5KZiOgzw+cNq z7u<}rnnezFK1)L#k7S(J{OL$i= zEy$BnQ`0EMz}W#9CR^P1h6|#~6L%*38A#?;W=GTY?vQ=Sr z8Jh|4{SSgKzXoSxWIBr7#I2@}7c1HkdYhl~K3xsD$sS1%$0~7YgbmmcVBU^rph7WP&AWN2z*{@Tq7`RddxIg; z=`8O#y?;C;X7>DMNhGMUNglZHJXMsMp|W?*?BlWYpxN0mh_<^Ci19Zxap+B6*OI-A z-PY<4e~Id1V#ZaY?gi*4uqb&;SZzH#qE1{TB@0Rb_n?0!ir^M`Z?Fb0pZ{KYFd-`eO+V_XiRZ zFP>Ap;s`p_aq3WESvi_2)H#87-*Y87FeWQhXgS23<()vkXvN1eGx@DAH928ml#8Qz zrE0MNc5}Fp4rTmuz*ahQkD>*@+Hx-l7Gw$q774t4xLr_ZDJTKH^l5)iU>{p^h1xXE z7(PnPBYycBdl0PWWueLZk?hsHe>=Og*nqZ)guTJ7m%);%@`K(Z0!1EDL=94wX{2r3 zgngj-rz9|~j2wE@PHE&8wV7-UQiaOlAkee7hxh~C=i<2Lt@asM>4^aylr*C5GQX~ zO|&QRM3xn%HxaCcw%ZH=e#c^Vo1&J4hbf^7(@m5HJ`oZ)Z&Uh z1-_gfr6jP2}4*n!w+JeBXjBX}JJoDw#a~(}#(3 zjM;<8njfv!?cl=Gx<&3{{OiBHaKF9tzT#a#qjz1i?RDCqUf6KiWZ|FdzwCZZEz zI8WTcaW|d=e^|@NVn~uJmXeSogGh-(9F}qe>&n0>yDE7i!xNh-xJWT0u>btrPFx|6 z+&{?ZDZ)gA5PMx={uAF+pwE^N0pnr*DXNhv60r=@^N6}(Y~)Yfb~e%3`I7H^ad(P( zzAz^X2-VZ^V2c&Ry4KUI)jte;4o{i4`#g=6g?xaw&)jr!Ig@%> zn2Nln@OBcpX4dwQg_IumnlVkdlMagi0k}EDQ>+J|V!X={>VvVeUDe~RJe$bXmdf=^RYgXh+YDg03A$BcnpN-bC~P;eKvg_Eo?x<{JGFm4-tRDqIA)vQqD1Pd=eVn7 z-n_c*mZS!+Y~YN2k6HC5-<|K_LQ)cM^}(>VrtcDu)K$H@|C(Y)N8C_UqMgmL#)?6M z&u!XdOuNTIpTlc$>?WLnV&1PZW%r=mATK+$D?%%-&NXIUs*^Q#w>vwFG^(YRlqhdD z?Pd?Bs*)?oogSiJNsJAs6g2QsbloUKh#&o=^k=Uu7)Mqs*2jxW^q6a=3Vt zQOT*9*>K@w`UX06=|1OpHa;3wy}sNpob2!G=%|3ZdLUf;RT^>N*dbE+ZSaEghOEBy z=g*DauUC}?>NFOVKIOvJ=*VA11UMg8-^-q50!zeg*lSBGo0g_tAF{nnxs0!b7Upr z6VF9kEa5~;xnkiFBZZa8xgk{)_sx7=4lGve{e(?Iwn0$s_-MDS)!m)0T0Ga~qJ^nK zK?!+xCI}A+k1#sX;@~SO*@6zOXAZZSclv^>u_h?S6N&ufo!3J0(d-sKFx4(og$lV* z!*-k9xK#72m3c}jNm3LZhH$yE9o%u+64=^(JgU<%_EV$rUVu_OD|e#KAcM2FQJ+731+Iz($<9%XVa$z zGs=8u6;0z43`hYE@-5Iokrdey;|0bCVqgtf9p0Qd4e_k``WkIahttB}WxR4lHvg65SIM;;voS zJDXRAJ)8YgY92zXmiI*uJ_7ukx=9)v-Z0ZB%+gy=?-7NAf|(w4dMD^YM4G`FeVhVe zg!T#h3I@czmts}D$3M74{Wgu|7`gm(cBlWI5xp!94J#0kA5taGS^eW|G9#9B z8N*6}guKUsiJ3;T_G&=Uy*Ob(w9WUrJ4*YJ8naJo>_Wr21_3dZYY!z=e@kC2RVju$ z)0399fo=3>O&k@A_eXg|@@K>(9mesk9>K(?S@N)%GMs7Cavf|j{PeGj#*w`as(_NY z?|`f|x*t4A!p7DfhsLZzyjcmcMcBA}478yf@}NRu`$IUhIQ)Zs3Mil7M39W?i8sC*#CNeZl^AJK=mxlz06Q?v{>^zxD~P`)vcE7DFISUs7q6=CvW zz6glow`V*S=LDwWsFMpWX5;W5%n4*a-~M=KZM=O&n98&CQ!)YbdbSV z0O|Rr_hevpIQ?okKuS>y9D~pf9H>ltP_-ZNpf;?vZmbHKK2mJ-Xe-Lc(U%jmREa%H z2gyod0Xop7@B3B8$FXCCFgzT=65riS{8FtcOL^$wNQd`3=J`F7mNVZ&!6Z!WBYLKR zf^m~`^#WrghG?|<+KrAA5lHVMNTvW{O}c1gEI&@grVOz2k}aTd;Yi`=M!JC;s3Q{f zkyapA$oQ8@8j%{D!e67pgns1XkUI{e)|sXFZ;7bC%=clkU&ho67q2qo=|bea&r|Kw z;*8AtO*D28N5G{+R$xGel>ut3m#9x}C|tIaF<>_e6E8qFiA5BYyiktYp?1Rb zQ_afNNKP(v?3->_AcZu8^Lj)3udY59$!a#)aP>B?!jA)K0iFJWVuM=H5I3#uUK-X* z0-%rRjn=}yD3u{_Ine_vwUV?R-)11wI&1w9-_t`ujQBznS zKx8b^F_R~N^Qlz3l>a({(jPhIDm&_H_6A~JC z9biaR)uR#+4B-GiH}MGX<}XDP^_(}}Zf;)X4!5bDCe4dk1HD>AS*R!|p)wzI$J(ss zT#(zkj#eydO@}nj&S2b38C6k2Mid;Keo$v@DmvX;F*`5b^2ETFx+&KviFxKFB?zGb2c)DCqOnmW^ zg6TAAUnUs5H?grClgyHQ2sgTH=)Y`*{#v@swk{RZGVP%F)pWs&9sR`zUvn|}&`opq zCD%dCS|TtE3lK5xdE2YRC5 z{eJ;+8I9)4V!`1?KrlVWg0SLnjPnT1I`i2rRi~wcb5`;q2}Qpjjhem9~eO zgbX=2n~yic&A-yo)naf)gw`hWxn4KT=SOmdnm^>vzrEgW79(zd2TvU}nLeoU+GVAo zljcq#sU~c)b8M=%>s3PRp#3m|CSRJtY^tc`4*D9P#6?gvY&7E+C9G%{GWdc8V?<=hET%Zfa8flipB1F)R((7_3> z7h)KfO#7Q`c9P$Xq*T!un|vgvZWGQ(u1;3d40vk2uH`w*?Dtt z@NWNb>$P}GMVuui#ex&Vz<;GjgBey<0;Jl)7dO5NJSVz`n$zXxvE!;UTrUARxF7_s? zNgCdefPheWsxeS;7cMA+lQJv?#D$*_2_FW$wx_ppuX4$M? zw@)8JV|4gTD-F{Fg$Uj*z=9~!m|Ti$Bo)=*LruFLPh>Ki0;x2styZ&{EJ>#}lVp+s zLaIP9CzLF)oY}X0#)kU`!4kJ+%;@<6JE1EcKJ2?N*f-odJbdCp>xH4mm){PrNC7_| z4Tcz9xocNtW!%n09@g)GYpS#_x)(H8c)n@suaSzEVN~3Y5NA9zt^kM=mjn#u$Wm?{Y|Myxv4rRb(ax#Qg zs4{`2LZdm&Wf@L|Ou6zrd`acYxBcT>bI-m1{@boM>-(;Dc3ysRefQb7etGtfzklnG zyZ?yeMh`E*X#*C76}JOeRmROrOypsmIg$vd64#NzSL5ooSto}|7RWXH(G?cNMFOOp zz%V{Nmv4dm zk_bM#J~!Tyk`rf%j*Hs`G7?q;&Y5BzoB%6f^5n_v=aU*ql`KuEjx5z7&!DUqCfKTl zjIE@#Q%L^>m>qQKEF#`8m0Cz`kE=S`*nW)GY<7VaYl;EynP8HqTnEn;s+5wuO8N4o z_xUH%7OJ+@^~?Xqg|DCY6mO_Hc<|YSQ-iPn(ofC~Jh^5`iN{2f0Bc8O$W(4q0-MioRSNbeq@q)@ zN&X2Y2%*#(ziY;3Jd&L|G?f&3V*YblsZ_b$U=0~m9TX*}z+THr# zQal9m2x}+tS*TfGa6T)G49KA4U-Ig<6(KCr^fx(_nW2yXSI_5{)(L?F&7UAGSE-_l z0|?6^kR;{ow?{x`VdWBWD!7t1+o8WtPzG=p9U7WIo83csP)e?tCca4%pd5*Dq~i_H z*g>}pisc8N-s|Xj{^0h&39vnZ(;xBf#Dyn+23lCJj@yY&D;Hq>L4tMqP!=6KOot)V zox=t{qE?||(L+5I7B3(bV9Vp#?Rw-aC*T`f?_ z17r#%*R239PqpbqiiNNW$`RJ1H{Pf}yKi6XS&kFYtk(x`1FZCDgoO@%SMa>^iGMi2 z!4d{$kZ}hW&kI{X*g z(1-_F9#!7WnO^h>YI}M8@)?E?o+o%VSZDi(u3^3-4%S|P^%ox21UAcL z{P-*Z7U``J%#ipLS?HkG%A7lM?bJ(Ig_2My)qR zNaeAR!NkuZO)Sy3?7gAb15(?jN;~4QpZ#~#|?NUy9 zdQQ3pVeO0tSm*s=k-1)E;1u|*P@%g}P<`f`r4>B%dTFg@mf?dpI93cwp|sUaR_?1N z>;8q&p#U_UsK#nQoR_Kq01(PaL_t(^mXuUiSCjNtPL-0^g#^(GDIz~sCYBXl$*ClD z9;VT3F~scYUjF>)^5&iytGb&Hf`cDED>-<=>X)w%KS_b8GzY3Y>EN?=?piO0b^6dG zHpP$lEaKp?$53)vLM)@EE=%vXemU)=$BI}2s*VXqN?=2@lzCi3>ywyB%;T;0wW}yp zJY+UH$!c0Q!qFKf(F%nN-n?k@BK*&=CKPez#E6+_m$XTyj^r3$fQp_iqoiQNjN;`7 z?|<~s8$B7@p6`2b;&qM`^I2C@a&o}M=b(cJLCreP!y3cp(vYb1;=6Q&1IAjDxxC86 zYcVrqEe)bp(Ne7)`{xS_>Eg~F9G4*0)MORu8jqO-6Xb}hI)bl%x7&GG&cdoSRaMQT zm$JpJWGsYu29c27dw*D?7ZO&duQcQNw&tGR-~RTVq4fFd`yLE(nnjH8m%9f~U5m%^ zFgFfiMH4eTAL|cm9UFO9w@qNh*Q041gu^z-;^=s-AxaYsshGRcd(9E%WHv%3xm%|Z z6WVLcLT+4AVV>+&k=|phqG;4kGoMMAhh=g($uez=XbzhumsDwm2%~6oLPkagsShQ{ zN>Nit$f&f`EgK9q7vAXUXfQ8J_11%1mdoiCBoQYnR&?-Ig!LC$oW-WJ0j;{)givgiO-NwDgHm7xie>jk zEn2i_3)~jL4{r6D)l$r0l)>`3q(&1zSVbPa(1K!8s!Pm)Jgj8t0@X=h$$F&S8Vub{ zrqIxk5W8;!w)#P#hIdUiGoUdEWoH5o$|7U85)z0jAcLlqC69)&f##!SjxLKfC=NtTBt((Bc=hvOfNG>V&k>!M2>V3XylTv6Y z1z5*2Wb1{R#Q;k)3M?8pjes?o!6GrLhKCiXXg5<>c+u*P5wM8*fKyjGcrR$c)<5RC zpnP#aEg7{Rv!FJ&nAPM*fv`na@*MQ4CgO*4&u(A7b?esU&g<6+A=2FN7GZY%=Czy( zOG-M0wUfa*BEmX;NH$v%U^#131&K=aglXs^BqVZZS|m%7Y?oH4)VO7^>fKUicFt!} z&5~>_#42mg3Uo$^*BoN)kfoMw3d6i!SP6q`chvKptWDK+Y}%oW%>@x`W%bQPH8l>e zRz;T@v)T(luQn7LK6-YuA{|?;DsI)u?eML)u6|l^Dc%yFg9*=f&f6JBV11s?!{QS0 zKu{Xtd~=30WGboN<t#glxp72*i{zW{_VNi@-}8}1TD)~sm-9nS48CqJ#2-mElB53KMt(eo zqY774CYipvOR_h1b^WmI*-fawGN)`d(gVilAZ%`R(yP0 zPFpZ&R$MTF#cS5foMvUcea`*Un^ELPG-Rr$aq&LlH z>+aeA>?YV4_CH^nn`3!+>&ew8L#H0^8QOkz`&BFn1+f6E^}z(z%oo8L^LA}Az>-vJ z3$AR5nb(P=)$p2?M*E0~xYA_3e90ZQq$JYCnwFM!ucK7fnc=DKaN0ULNEqsouXyeu z{kAC8)#d!k@rrhm9Jhn4JWyU=&3CfuNDADJY5XU1?2UIy!8ZIts((GC@c zq{6S-Noqfvt=;LZieef^%@C7Fy6Lzhw`|Cfp{3ldv)grK2(u$w))iLNg3EE+G2fis z;qd5W9JB3ap$R&mTHZNW?RL0RO5Cov;GOfn*vCS3O4h387#`{zZq3DK`1VLAnW%uwAg6HB{U&nbEuz#Z-Vp3 zu3J+=sM73_`7EbH86Y%hhbDdH*CS1;-K4?DF7sK(JSw_;1r`jNChO*+%|vQ8Z+6(M z0d%xAoM^)RCp%GN=t?LkIq{p~bAyB1P{&eIEa}m477OTA`mX4>V3LXYBov06&l1|R z7_7Q&rfes!Oiz+eAM=J;S%Vu?|4bSuuUUrwX4H^!D9%LyfjP(Sd%d-4hStubIONFsx_f(^mK?_maN&^5ur2%ur{TDgm#*g`WXCw6-GV} z<1?jZ(U*sJ%v&G4URYa)(rUx!XoJ)$+mO{l%%Q(?$BrF)k0d7Yp#wzld0F^J^5EpX zy)7ZZ3iaWHgbXXzCWJht0U8yM2}|V)O2d0Py^_`a_3{Yb;7O9fDwV-XRR*Xa%7&0J zz+{ubYBvXvLHOjt{b1?XxL|AujPPZE%7S2gyr|uQ6=yOIo%ELB=*}X{92%M+yampG z(fz}F&!3zZw|+gha#LFyS!M^I0i+aMEqP^1?yk7>=-k|0IHM^)A8_sXMAEFRJTkim z=f8|wT~|xnljTi}WI;=1K!UaXtFJtuZ(k8h^!K>p+$vJS#jgHHShY~ZqGBUEPEWaV~{0^=(1XeMZpY-)TSs1%| z_2JqgHmEy*CBj8eG`fVJEI=J$RwdgpNwt=&R|&NX9G$LKIoh|>P}u;tdKYQ!QexwT z#_W;9N(guntai|3qF8te=CI9VxpTTqdAoA*WU-Eq)kDxL@J&TU#AZWux^fffr`yc%je z39Q)(6~Gxm4-j8i3b0sD37$i;lX@Q<*5kGYNEe^L+9ibsU9p{nW5qqeHrg-i&W{CH zD^RP}uOG3HS{p8Km=n*O85D>&pRdK44#mCSN9OaeVxRQT84xoz^j|%Uum~=GNmfDy z&IB|I6eYr}*09xPrFGz}IK_s|I5I1(tSbU)+Ms)3EHiEruC35v6k8SHGxc=98yrn? zxs5u~k}OhzumA@-K$UrN5w9qOH7XbqD&kEqK;k7hIDGvg(5tZkYx;`yqbxWlsTbJ> zzaM|QrU-c}q>=UWq@JSDFdXofK#ZOPv7731lEF?%fWTX}%wUEYGsm4YSiV~Nv z#DP9+Q7W2;oi#0kZkZCyIv1(JxQt=0Zqnbrv#lc<5qZx*^ON8`O%b!V_^|Z#Y{5N##H#5LQ2Lut;dZqWA?D=jF%HuQS zVb7VLA$3D_LqkJ#qs!qTB6Q>Jy0`u0Fu(CB_w>%4Pd^nVC%-+K+#&BieBg7cSHui) z?e@_$YdtPKH!C=|5uDb(UPbA0A^nuWQ1Yz^>t3m$iye3gU=8iv`v(kL&ttCH&;RiG zADGOZJ^S;|;s5j5L9>N5Nns!UWV2_F9XngLvTG1KIh4=oX)<9)XOCs6a>vTwH+vMp zox;m!i}{;{_e&q;e}Kts?rf%Soz~XY*f>jCHyR&v$&AlZvH`+1nYxhL%9g+_`PC7t&ksXhT)?pd;jz29Yk*Q!h=R~8Vyzu`};ot z@#F7izXh|x`Ewd)rJ!cbqGX8Vro_*gHmz}*u$ddb-(Xn9U@bQkOFrxP;5NhZb9C!} z%$V`Waz5xMV32=yiNeJP`7s$Cl(eWYQ@$7L+s{^+ncy+bvrqF^_#mDX(X9E?rV*zl za3arw0Uz1TSOw>NUu;D8u^7IHtChhZDABxL8Isv`?R3{8do%Z z*Eb)1JM=m8-_u9%3JThLa;CUk{q$waK1N!>oLb?NX~H%-FY z@?j3v`qmx@-mxip`O{k~W{&Edf5OGfZHm*ZQB>={)^o2o^X|LP`%e-aCmY*Nj(Ew* z_}r7zC8xFQk*#HG8CAx33zjveyt87uV1_G}H8yUVyK?a>iyL2A{7PeE!jz0+Jt_-w+Fb`DE>kd^nhhyM-k= za6ym*vBK&bWU-A;F>t)|g|IRQ$Y{~!+i%xhtgAbOQb)qpix)4_O-{}n`bpWd|Iydm z_h6iShDONz+s_CQGkq!ipLvXO<_t!`c;NBlp)-$%M#vdBIMmmN2Zsk(6Fk6r>G zf5Csa`{(7xjT@(La2qJcQSgbl@A!*li6HW=e?}nW5ud#D&%B;&u-lKmUV`<1<>$)( Y4~Cs$o}E>N8~^|S07*qoM6N<$g1&ag0ssI2 literal 0 HcmV?d00001 diff --git a/components/sensor/ld2451.rst b/components/sensor/ld2451.rst new file mode 100644 index 0000000000..1c415d97bb --- /dev/null +++ b/components/sensor/ld2451.rst @@ -0,0 +1,253 @@ +LD2451 Sensor +============= + +Component/Hub +------------- +.. _ld2451-component: + +The ``ld2451`` sensor platform allows you to use HI-LINK LD2451 vehicle speed and presence sensors with ESPHome. It's supposed to handle 3 lanes of traffic and vehicles up to 100 meters away. My testing shows it also detects people walking. It also connects to the HILINK App via bluetooth. + +The :ref:`UART ` is required to be set up in your configuration for this sensor to work, ``parity`` and ``stop_bits`` **must be** respectively ``NONE`` and ``1``. +Use of hardware UART pins is highly recommended, in order to support the out-of-the-box 256000 baud rate of the LD2451 sensor. + +.. figure:: images/ld2451.png + :align: center + :width: 50.0% + + LD2451 vehicle speed and presence sensor + +.. code-block:: yaml + + # Example configuration entry + ld2451: + uart_id: uart_0 + throttle: 1000 + +Configuration variables: +************************ + +- **uart_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the :ref:`UART Component ` if you want + to use multiple UART buses. +- **throttle** (*Optional*, int): Time in milliseconds to control the rate of data updates. Defaults to ``1000ms``. +- **id** (*Optional*, :ref:`config-id`): Manually specify the ID for this :doc:`ld2451` component if you need multiple components. + +Sensor +------ + +The ``ld2451`` sensor allows you to use your :doc:`ld2451` to perform different +measurements. + +.. code-block:: yaml + + sensor: + - platform: ld2451 + target_angle: + name: "Angle (degrees)" + target_distance: + name: "Distance (meters)" + target_direction: + name: "Direction (0=away,1=approach)" + target_speed: + name: "Speed (km/h)" + target_snr: + name: "Signal to noise ratio" + +.. _ld2451-sensors: + +Configuration variables: +************************ + +- **target_angle** (*Optional*, int): Actual angle value reported value - 0x80 + Value between ``1`` and ``255`` inclusive. + All options from :ref:`Sensor `. +- **target_distance** (*Optional*, int): Target distance (meters) + Value between ``0`` and ``100`` inclusive. + All options from :ref:`Sensor `. +- **target_direction** (*Optional*, int): Target direction 0: Move away, 1: Approach + Value between ``0`` and ``1`` inclusive. + All options from :ref:`Sensor `. +- **target_speed** (*Optional*, int): Target speed (km/h) + Value between ``0`` and ``120`` inclusive. + All options from :ref:`Sensor `. +- **target_snr** (*Optional*, int): Target signal to noise ration. + Value between ``0`` and ``255`` inclusive. + All options from :ref:`Sensor `. + +Switch +------ + +The ``ld2451`` switch allows you to control your :doc:`ld2451`. + +.. code-block:: yaml + + switch: + - platform: ld2451 + bluetooth: + name: "control bluetooth" + +.. _ld2451-engineering-mode: + +Configuration variables: +************************ + +- **bluetooth** (*Optional*): Turn on/off the bluetooth adapter. Defaults to ``true``. + All options from :ref:`Switch `. +- **ld2451_id** (*Optional*, :ref:`config-id`): Manually specify the ID for the :doc:`ld2451` component if you are using multiple components. + + +.. _ld2451-number: + +Number +------ + +The ``ld2451`` number allows you to control the configuration of your :doc:`ld2451`. + +.. code-block:: yaml + + number: + - platform: ld2451 + effective_trigger_time: + name: Effective trigger time + snr_threshold_level: + name: SNR threshold level + max_detect_distance: + name: Max detection distance + min_speed: + name: Minimum speed + no_target_timeout: + name: No target delay time + +Configuration variables: +************************ + +- **effective_trigger_time** (*Optional*, int): The alarm information will be reported only when the number of consecutive detections is met. + Value between ``1`` and ``10`` inclusive. + All options from :ref:`Number `. +- **snr_threshold_level** (*Optional*, int): The larger the value, the lower the sensitivity and the more difficult it is to detect the target. + Value between ``3`` and ``8`` inclusive. + All options from :ref:`Number `. +- **max_detect_distance** (*Optional*, int): Maximum detection distance (meters) + Value between ``10`` and ``255`` inclusive. + All options from :ref:`Number `. +- **min_speed** (*Optional*, int): Minimum movement speed (km/h) + Value between ``0`` and ``120`` inclusive. + All options from :ref:`Number `. +- **no_target_timeout** (*Optional*, int): No target delay time setting (seconds). If target is detected, it will delay notification (retriggerable). + Value between ``0`` and ``255`` inclusive. + All options from :ref:`Number `. + + +Button +------ + +The ``ld2451`` button allows you to perform actions on your :doc:`ld2451`. + +.. code-block:: yaml + + button: + - platform: ld2451 + factory_reset: + name: "factory reset" + restart: + name: "restart" + query_params: + name: query params + +Configuration variables: +************************ + +- **factory_reset** (*Optional*): This command is used to restore all configuration values to their original values. + All options from :ref:`Button `. +- **restart** (*Optional*): Restart the device. + All options from :ref:`Button `. +- **query_params** (*Optional*): Refresh all sensors values of the device. + All options from :ref:`Button `. +- **ld2451_id** (*Optional*, :ref:`config-id`): Manually specify the ID for the :doc:`ld2451` component if you are using multiple components. + +Text Sensor +----------- + +The ``ld2451`` text sensor allows you to get information about your :doc:`ld2451`. + +.. code-block:: yaml + + text_sensor: + - platform: ld2451 + version: + name: "firmware version" + mac_address: + name: "mac address" + +Configuration variables: +************************ + +- **version** (*Optional*): The firmware version. + All options from :ref:`Text Sensor `. +- **mac_address** (*Optional*): The bluetooth mac address. Will be set to ``unknown`` when bluetooth is off. + All options from :ref:`Text Sensor `. +- **ld2451_id** (*Optional*, :ref:`config-id`): Manually specify the ID for the :doc:`ld2451` component if you are using multiple components. + +Select +----------- + +The ``ld2451`` select allows you to control your :doc:`ld2451`. + +.. code-block:: yaml + + select: + - platform: ld2451 + move_direction: + name: Move direction + +Configuration variables: +************************ + +- **move_direction** (*Optional*, int): Movement direction setting (0: Only detect away, 1: Only detect approach, 2: All detected) + Value between ``0`` and ``2`` inclusive. + All options from :ref:`Select `. + +Automations +----------- + +``bluetooth_password.set`` Action +********************************* + +This is an :ref:`Action ` for setting the bluetooth password. + +.. code-block:: yaml + + - bluetooth_password.set: + id: my_ld2451 + password: "HiLink" + +Configuration variables: + +- **id** (**Required**, :ref:`config-id`): The ID of the :doc:`ld2451` component to set. +- **password** (**Required**, string, :ref:`templatable `): + The password to set. Case sensitive. Must be exactly 6 characters long. Default password is ``HiLink``. + +To change the password from HA you can use the following example config: + +.. code-block:: yaml + + ld2451: + uart_id: uart_0 + throttle: 1000 + id: my_ld2451 + + api: + actions: + - action: set_ld2451_bluetooth_password + variables: + password: string + then: + - bluetooth_password.set: + id: my_ld2451 + password: !lambda 'return password;' + +See Also +-------- + +- `Source of inspiration for implementation `_ +- :apiref:`ld2451/ld2451.h` +- :ghedit:`Edit` diff --git a/images/ld2451.png b/images/ld2451.png new file mode 100644 index 0000000000000000000000000000000000000000..30a585d19fe4e696bfe84baaf226b4a05021113c GIT binary patch literal 25663 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 Y4~Cs$o}E>N8~^|S07*qoM6N<$g1&ag0ssI2 literal 0 HcmV?d00001 diff --git a/index.rst b/index.rst index 71c7e4a4f8..84e26b0ef2 100644 --- a/index.rst +++ b/index.rst @@ -603,6 +603,7 @@ Motion APDS9960, components/sensor/apds9960, apds9960.jpg, Colour & Gesture BMI160, components/sensor/bmi160, bmi160.jpg, Accelerometer & Gyroscope LD2410, components/sensor/ld2410, ld2410.jpg, Motion & Presence + LD2451, components/sensor/ld2451, ld2451.png, Speed, Motion & Presence LD2420, components/sensor/ld2420, ld2420.jpg, Motion & Presence MPU6050, components/sensor/mpu6050, mpu6050.jpg, Accelerometer & Gyroscope MPU6886, components/sensor/mpu6886, mpu6886.jpg, Accelerometer & Gyroscope @@ -706,6 +707,7 @@ Presence Detection AT581X, components/at581x, at581x.png DFRobot mmWave Radar, components/dfrobot_sen0395, dfrobot_sen0395.jpg LD2410, components/sensor/ld2410, ld2410.jpg + LD2451, components/sensor/ld2451, ld2451.png LD2420, components/sensor/ld2420, ld2420.jpg Seeed Studio MR24HPC1 mmWave, components/seeed_mr24hpc1, seeed-mr24hpc1.jpg