From 339a230aa2d85eabcaffd3f670ff2a0b307d3a5d Mon Sep 17 00:00:00 2001 From: bendtherules Date: Tue, 28 Nov 2023 20:06:05 +0530 Subject: [PATCH] Remote version check --- build/esp12e/firmware.bin | Bin 395008 -> 396256 bytes include/version.h | 6 ++--- src/myOTA.cpp | 48 +++++++++++++++++++++++++++++++++++--- versioning.html | 2 +- 4 files changed, 49 insertions(+), 7 deletions(-) diff --git a/build/esp12e/firmware.bin b/build/esp12e/firmware.bin index 07c69b7394083efb9e340ae612598f425d752acf..189fc2a074ae948711a35b1ba77e78bcb57be70b 100644 GIT binary patch delta 45178 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 delta 44055 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

!B8sv&8 ziCwXQ4+lRmIw7ry?D3)mykZNv>P2Z0+iA&k1V)y0OV14^S}yY)(tB{k?M^>;maU*GP~L z4aX0Jk}*C|Fg*~OOC@jEkteu#Uw){Z7Ao?gGa7-doDbQcdNpR5kY@||$cG#_C6w&& zp$xP7TG;*{`O5`WJbSARWwE3M;6ST1sOl{{g7RTM8D)waW6NLwk70-dWD&|L*R z6YL@5a#3n;so8L=(Jy4|)+T}HKxE?`7{{?Z2q}e5P%ex{lP%n3!z9Znl%+2SOHNcJ z5Zbd$(q#kLnG3wZ2oJfKi;{Y)XAFE?tN!S*e69n02GohEU2A|vYB1zkl27>i zxRrw1__235A59}av+k-(q$9i7`a$Oa$lIHh2-ghNYL&0 zp7D~hfhZ$J{>o6cvW91>s>bULFi#A)FT{bhf?I1KM+c&g_=HAo4nzr|+!xRouyyik z1F;W653<~+22wN#W#aEN^6?;)V&Im82nSU1k%1f-ggTq#%_b@o@J!4hb(4v3`N(OO zR|b65TKrO%I)-HDqxewnT__1-CoeOQr}EKMgS3!VWmL-yVO|8x_3J3u23fd;Ent|1F%P2sex1# zpa)p_Wdms~KtovhMFSZ)7}*VSiE-C2)X$h9sV*EBdq@WkF5FbZ?CVM2cc6>C80`Q8 z`qRl(TgiV0BL~YpV<5){13xUUHN7_k#o}*zk@z8~yM>!*0Gm^LWIb4iGLZCyfs7r3 z=8ad!7?Qq^O!@%?AJ_q4{qNxGd{uvDf`B!Vc07!_Pd8<^f`0^c8PFwBuUzUf(6IMR z_09DmSN7lw-~%Czg6WBDrgo->4GVE(q0MDnAaD;GNcK?F$HEQwQ#??>YAW*=8pz_I zNE*SdGR<_0#?VQ_W`WR7w`3y-&c#JshM*2Iqzka>!>CuIksD-4)<85HXqYrCc_b`J zw>rR(hmzBv#({=WZhfQ1xVX`7bmk0k3`1i~AkT;T=7V=z7JM$8biyy|=tSzCxQSa4(}XA04S7S3USvpmuhbipW^7BXQXRlU)ED~GWEVO717#=mnjBrC!7u+w0GXLLl2T95Z6xkVg zr~Bkp;5dOkY2CoTA7aq2WWoq!3-NmIa`$BFLnso5G?4`lq1U^Q0)pPw54gZL+WXD} zjRh2jVyS1TNa!hMq>~{Kftw@XcO&0+l3pXxV4OaNyfqT`6t3AxR*yusQu|pr4M2Sn z43*7$HPL(E4EW|hZ>E)r71R?47M=WSCTgQzK)_MUA6VVjH5z#%wEBuBT+@~Bm^BzZOv`|&|Fn~g zd>D1bnLhIB!^oqb2Va+Vg=~5lb&lS&1#rL%P)DUpbe(o*J_0wEl+)zW!yw7b-9kb} zp)NvZCAji3rV7P}bsBM~1 zKt~>3^AB9J76}e3wmbI*ru5vY0A)@2E+H`147B%9A6``J9+b{L80?20m>kcrVjw@0C*pu3}6nx7=U~LJAe-01xpozP7g?u>< zI4a3Y_K!o4;)EL{?J+bj`kMiQcP?V)Ohn@+xnbBApn$}_`UkmK?AYxBDqomX6AXc0Q%(?JZr(9 z8$|pFS+1 zqNSHuWn%_ldsu%f)+aFF?uEwEewEb-FKFPW`p7ME_E|J2b$=3B%v1;v)CU14Vrj;zPv8e#XK5cGEf^FAef!)6>>WpUZVt@!xL&pMFu_~RRX8=9BADYX_iEz(u3Ya|1`Z-8bi{t0jGKxQ#hkU!WUFxxUh|m! zu`w+2()1x*&X)tpz;f-ij(j>5*%H%ezQYte)o%K~>?)89RF?^mcAcD^iZWS_u@J{J zG`REFb@G$#^MP*+UcY0-fhA3^wN4EvcWi*2aGkt24b8xfYe?AhXoN-nA}C#OvD_Cy zuCPp2Z8DST&m%GB$2HKdy9#b&%}u_DmLG+b(9&uLtxz|z{&_T{k6aP-KfG3!2i@Ohu1`srVr^y@Bk$|p{FQ%g>;}$;#R`PLzm%+?< z+fp0&hQd8XpiQv|3A2go1(d}~4+L+1<^?nZ8Q#AIH}(O_Z;^{HqCO%I@n8V@ZvfcA zy3c9wXrqr?@GxH1-6Df$z)2MqL>A5fF$^g2vl*x#wg!=NGf;AbYHSbq;Q<*yzhnC? zX00Sa}R{ey`w#P1vu9o?ZV>eDN(ZcP2{5Y!KNx6UB6S z?=TQS6tI4Rau^t3YlaW*y7@k78X#uS;bFjKncSL*;z3mELtppb$xs4Z$(P^1CAAz3CNTe!~NuYy<09@Z$Eq z8iXu_p#U8KYye3BuEnI+Z1fgpTFLg=$kF|w!wzKc?682^QVD{!(Rc=lVSSx!&$*$g zqD>sq7p!N}#3)dGhN&~6NZczZOYB9<#L_ZySdR3(_}uFnLyl#l zaPrP8XlPWY!(vgky|Y;46IbZKv5cD+w8rC(IJ~*#6|@ntQlgoBRf>|Mq|bx+INo!# z{`H3P9kFHS!Ec6VxzB>g;Jsh@)ev7E_F zY_EX>5Vtsp41Eps`Uy{x!E=!ZM@%AfX_zpXY?_O}x34sa@UJ7Gzglt2=~Gkh_*@eB z))kq!GCb*+D{TCOHfdH+WDP5(e8|u9!XP~Nq3Fz6vw><`1{~vF4oa_f2;jkMHIS(DTNRQp0&Gii;sWSSS<@9$*ql{8r@~|MEU`aoA0fP&O z&&SyNt!bp~_=+r0$K8fNA-mJUbq^wa=c9*Nxpxrx*L*bP2`(*YqSfqMfunN*S9MNm z^g;s&pq`+KzOcJ5z*4_YqskH3$brfxiahn_G;-TDFz@?w<&+@skglCZB@!?w-@&3Q zWTKcs@uAIU-#}5UT2appnJ2N5-JCxu7@y9Kqcc%-EfLXW0-$o_Q1fo0T>F=9mTOMU!0j{QegDl2y;^$=tU=CnBBElW*S!f{{$8FnwUBNwCL7O3IA_wsz`#$wcs<;wM>X)%(l(sF%XfQ)=aOoN4cRZsdZ zfqrsJ^<=>kG~OyNy;lKDKeRASPuiBC0U>g)5KqM|bVJ=-uoSf+g9oJ2rWxSrG?NrA zL%GqN4`-j#gwBUOE4qP}S^ey`I<^z_o#dz)3zl%~zrOzVny7NYx1Ma-`*s`T^C$ryHao3l3F6XJp2U=09!D7LP z&-%4&(_wq3{BskW?SU=6_Eo_fbzJc7gAg=8f$OPoR~5@GpqWvhY6pi&beo66x&b#> z>wUouo`)NJ4TTNG4bvLtHc*dAY06FN%J$q%wIU*YjDz3VJ*G#-7bf10I&Nmc!d~tk@)JEQV4-E{Frg5-_xoI3Z z^d54u($^-!6Ev2EyQ!pvpycS|2dd!zcdjP&u*B2=hkl{0fOqtPe=2AXChG`#pl@B^ zeSHN3*Q&uIjW_Q980%vxqqvj4;-P5K{`he&Q-grE(VRTX{)izreEFc-SC5f|_t6qo zUS=ZSypJA=zD^a@2aD~QpmT4gakxT|5B%e$^CanCXi#Yht)QES$4T*_E>ngDO`;j; zmR&uPdx)Qg_w?+H#qzE;aJ1pFxII|yLHqF-#d!wDh?6Z+ZQCS^Bep=F6($`Do@9Bd zkk=PW%o>x+G}(e4qKL5YYmmCL&Ecef!od9nShorR2RP%Z&`g_{PwxXtZJhsFISKm! zxx#zVa<)TN(5=qFa8jTL50D`rAcua{>w@>dT=MD%Xc}JkCTacvxc9g(NS_Zufd%)F z$*2#(NG^X(Ui%Q`q^Vnj?Qy$m{EAB6dXIAabYqwA9(we^gI2;rsTmXP-cN3Ri0nbq zI1|vKlZ^Qg^yunJQc#YvVL1nrCFLl_bM1c@et$n5ITSn<^n(G#>XPezq4dsjmg$Uf`%T~g|BKYu0S8e2 z2FYCx49~#T=_Mn1P4pz_`9a=oK(Y<)4#&D?p9^>>uQr z6)2yT#|D$FD^LM&vqr+N1Y^$hw~1#Z?2&bElaVV?PK5drN13|=mV1^GCZdddwGsw) z&KaWr1o`xfVT2}hB!fRe`JJUtTJ4tLsbWe09Yu7rplV{!R4x>}?vq*uCc+979lpW_ zy;^ePGe3`C0i_SVMNWMJQ&e?^JhBQsf)f^zO{-9skWB%Ux-+D473!D3{bGb~D(N5W zhG0zD4&mN*#4xKDK?|qvwO|OeuoQ}u><>`~{SGMTh$Z7cLtQ(LrQ@>)mwRGFHMGqU z5BHOdTwE}5e}=>mHpC51VRE&RT>ca|M&CcU9M|UPLvf`@KdzlszcrFEp8;0VKUh-x zEyrMrC5QR3qRHmZP^T~%&bitgi9Tc1sXB7xGhktkeoVqYr@rEAj3noCFtTu88p$LY zQ9n15vd>XsCv}yvzT^Wv-0<;J<-PCSwwUbt9KFrT9~jA~)d+MS%Zy~}YBZJQ78*(F z7f6XwUpF?4*$(#{|8Ggy0~K=k3*fAzQX?^aiK6jzg(QCo#LazAp8FEbV5K`ca^_1Q z38_^_GX9Nz!t0ii_J5;jmb12!m^Ek^W)_oY*PusiIWH%A2f~SU9y~sW-O;k|Xu=)p zLF1`73T|g&n=VS_#ITMY=RNc!eH~gFF0VGtMCHv%9YeD){3}lodT=>8v<{Y!?E|7;k8GHGh}hSI zrjZ*;X0As)S#=XnHmrwLBj=Jo)}zrPcZbgkgM->r#BnywBXD=v+`Srj8&btY5hu6t zWY`AuK-8tWbZ}S#cD=XGZUNF3S41T{r3@Wez5)G#bIQq!mEe&Q`w{uJ5~XzD9_c8K zff)twrNE!E881)xh_qJ%F)jOucs8QHSZ+W^V*U>*E#*RQ`2=4Ux&V?zyU#NJ4A_6+ z;H%a2ok63pGL{Ru_g-!M=e=}9(|3gTD`L5zd++7r|GbC)e9(h>TwH16xO?xpQ~$i@ z&S?4|C~jjp7W5UHPz5WyI+Bf>z&OG=JCY-t&=$P!1o>byT7<{1*qrJFBy`W}tKk1Qtb-&0zzVoCQOP#G)1o9}->S<%uqHnRQ}T(Pmk z@yH!+pJ=TBM%|>=uq5I~s_FZIC1ZX>kFwGhmVEmo5WoB>yLtbQ=rP2qZ?Yt#8ZE%` zX0ojsrC@pE=IhmHDcqI+kSzEKjZS;N_MS+^C9siJ9c4}4y^-#+$ELH6VUEXz#kKC# ziw@y!LFxjRZopMcT1q0fp~2zYq8oO&E}GXUiq-*cyES`yEt#S@jU z3dBQ>-!`a6z*4^IX)>2XNx@um3n*2tw2<{2O3{loc}reDO3rfBy@+qk{DgWjx6*%0 zlX6-`)Nyw;wHCU;OZaW@2j@AE7Lfcac;Ub;7B#jNMA$Pe@Up2Tpb!ZtLqJ}wDbm-} zWWsg&sZw++zY_i-i7+Q5sL zJAU7L?=ioG958^U)?KSFG=MBTj3qnts9V3mEYJ3|qI6IqfTHQ{{k_@ifcb=rV>*D# zvlG2X0qOv@0c-?V1uzd_3c&c;qn`|x9y!Jan)YR(791gHTIS@5O15riD2YDw$JY2ofm)LjXp zHCFdUh)PeljLjYeGG!c-CgJpB$vr$j z0nH?+4J~kS8N%>Z_aV4Tk-){b+V|G%No`q*!Na8>%u}5}<+^uU$KtN|(SlM;|8J$R z$fUm2I_lUfxF8H%psxkBP?KG5u#W293Hfbkq}|5-g010nyP6_hmk4g?kyh z-C}i=`amnVT|?)aTOcL<&;pb71EquSTe9FEpAw|dR`*ug5xGOFy*hF!3j+i*PrEn< zAHrS`4aeZ*EFkA!TA*(b1_RB3q!`pnsY5V$02A`ytGBD0YRjDWYX3sv3rNQ%!;b~#hxyVEn%H>tc7$ipzLrivo#Nu z)q7GpxQu6e?Cv2ow2;XL)IU~wuoV;<8=%~uqFBSrK5*rYsoj1JHsUZM6yWe2hBadT~|V~Jxu zcou?3RBaS!k958wb3N#pJUICxxFfsqGkB15@-as>=LU_2r(#a8K8>|`PxTl}3FgY^ zV{!@}bu9f#uLnSMfQhJRN#9Fn=wyo%ZtEpTO)Wmb?9y>A@RBl@ZOEd8mB}@<%*S*R zDpDxUsTTOVJsLUPBJ%K8FsZdTGaS}t2`DU9d0kJ8l18JLvyJtd!z*f5LJX>K<@Q4 zQ$F0{zgCn0)Z=TKWJK>0ry=8u-t{gmk#H`A17u7%jHDB?~UnB&ff) z@R(j(f=f)otXjA(hf?T&6C{8igMA77lL4%sSPb`OP*lwKH(ZZ#xTF7`KumaLaOcoh|J1RLzzBHmf53YmRs{o+OpUy6w;0hrf#3bH?V)A;t2Q14S5Kq(w968MfSJiR)@G6#x^u)sjz*Vr+|i|$rTgKoZ6Fa?BF$^zjc`38>HC4AvqN3!g~fFjExX-kMd?z@RHmL)y$M(p#}+o+Rn#sK^Y61A@YciVHZPAOb3&abExtjVmruV~m1|D^bAZ zsL=$C*BE0A8e0PQVT(^IU#&lY=CSH_1JZ4qrNP+#GdSXLhN>ew^0eI<5T7*)#gimZge z{D?+p(W8KKtir|VwQC5Vn<#dLjV4+}730h?`hO+`}?L`IS{KBkZ+iabl3E)R;TND&SQ7 zv>BvD#jRqwS`}+ZMa@Sx$b3>Uj;}Hbq&^#^KzIJ|pdxECg}pLZqa~(_Q3v&+Q6w@{ z{IsSm3ai8ifaQqUqXFnlQ6D57ag?odf)0~?=8qMS36D*I;Y^qmutF^opO%?WQJBYE zmPuIN*%hf3+PK#%p4$ADX~e%*gt3AfTwFC>oBD+YmsE5G-l_|iFyCu6*}KAM06~^Q z?27FmJPT6cRTPDM^ezc`Qh4?3pBbuk@S-|eh1CH?MCqnlixX!4F+TvU@A6huD@6q6 zpP(og=I;;@^P+hZdFHvurqwLuHI(V1?L47H`;7}EaJ{Y<;9PGf1~C{;hU;|0g$31G zt?^T`_K}+_^A9LGSaEbCkMz(;3#85PspqtwC|3qPu0kzjRfLsS9d+tp396Q`T~a~Q zTp`gjPE&*%%^_~vgH20rG+&Ww5Why@io87dlsC5mE#LhnDeS2%GzTs@L&hB4G5Fp@`6b`fh*4>@43 z`z}BeB2-3DK@sc864km#m?Pt9**1@`?FnpsIszPa{H#LrpSP~1yL$ZU>&OXbGMZrBvJI3Pu z9@haM;~ipAbG@kv5PO8^l|c?hy@sfdxLN1D3y*Ep|K_G`nGb2q3D(EyuCvcN)3%~J&OY1Foc?tq z?$DVN%&Y#1e=n#^SWjg+Wkx$FJ<0YY7>xd>@hw3SHV&r7SPu8lM@aQ4`XuuVdE;zq z^5m3XW*0D{kNx7)#D{Hr<8O!lRrg+FMaNBcknv7+vVrXxRAbTC?MzsLTtW5W*tgyl z+Io@=sn=mQ+@s=Qlq5u_?~2~rb~m{dGf&5&SDI)ydw5yHuge}>rk=&DFCWFrUutdmSHk zq=D3UuHNb692Rnm+)p$2&f~SndJelW;1`7F>5RY1Y=2E8z22v@DNH}t2NCs7%vY0` zc*&1D_2AHz0MR+mOm&yv{Gc8!Jq^CcvL9*pX*Rn-#Z91{;#aGgu=hZmY7XO{QIB8Q zg3y$9+H8vDxxKO&Q$)nXIyE8!K&;vBC-Qf%URZz`+Z8eeINt>Fq?kq!(3b3$p&t? z!MTMwy0x~O@_FGhNoPD5+1#Lpzp)PWUR{@*ERx>_q~{}yb~ZPkU#HaHaO(Y0HZA{+ zeN_MOsdvL%6FJrPPPGG%U8g1&z`5Ulox(4GJ>s2Br!KH|E^(*Pfw-Zhs)kZaG9)=I zr^xLh=7m4C6&FNP!}GGDV zRe@{rYPg#BSbH;iPc@HOf+RtJWr|0@6vOvb?<@udepltw8ljyaaS)d{Wr*BEXyIR1 zy;E9i+~`hqB$RIB`_f5%|#xSkZ*Pa+`?CS}=g}6)1 znHRjF)JrT>x8giF4|izmB^Ji(E~CFMvDy5iKh*J;SwL;o{0BrF)J=ETLr&{%u@#hk zpA}Ht9oC299-sEL-4^Rv^54Z}DuNf>eVNj*=j)!H>9go?t#b~g^HbDjm2m*8h z!~zllB?t?^^L@hEc;E83hh-+74PcRFCc@M2d02`cd04i=&kJ^+`UB=Qfokx(bo(PL z3K^yVVl{w!9m1vq^2=b6Sh|ZyNNgb@mLidqG9--mQF!-2;(GuK@5B5HBKN^F2+#Kg zf=sq07;qSV#ennL^EnJm0=7MaKhj+X_-BD`!~YWSvha+WjXw!c0*|Xt|5Lq*P>k&Z zhyrYKuBqO1JUhW10LX@Lv=^Qx7lUOr-nAO6MEDB4H-^6hKn7&Nt$peH0zU)(`**FG zX8&(Hbp=N)3J?nz43OQ?`SE;Toqh0r8|{7%@DNZA(3+_~{NE?sDG4}r}OQ;n)bQ)CQ zLsu~Uj5yZxhr2WSNq2*#G#a-0lMNPUt$+s*hNVnC$jYwY5Qem(kcKnT7>qRTA>Ka3 z^O_B0J&?sun`tZyH#CjSn!GM&xRh@fG zY-X7V5uc9$9|JxGWB{zyzp~i{Y0WI(1A-KzrNGu`k?R;Oa}loDqqiM=O0q13VJS|Ip7&!Ulm%am(lVJd1X&(*3OcK4~YZ(6KP!^Bf3WA?3tKzrUMr09W0~pT=#)i z2#d$qVdPfM+;xY?7%dB<)X;Lag<&`JobEqnz07UO(8y@Va{%pq6`=Be;3&c*_|=4~ zqo1%)?TFwxefyN{5}BVqSCgMHd&PC~kpfMX5Ny9E*gm&+0`qPn8-Iirykr)kG=Hw1 zc*%^6Z$G6zdc}qc-l>RsR$+!V710+}YykhZm|j+CD$r-1k--WjZz@)!tZW;18S*cr zY%C0@V>R}Yv_qcbVeI5Qg7xS{>?3sr=W)8eS?D=?0spG~-|+wCS88LltkM}RNwxli zJNjKb&HsHGqid-hYV${&doCkiJ@@4em#KaA+>Ot^gZ_D6{~w6QyZ1lbW&abd;ckQ9 zhO&yh)_K7qPe{_5cR1R!!@IZ>@t*bn2DQwdTZK!#0)Qi0VTA}g_QG)Ng*mTh=CY@hSdRy?Xf?MUC&mVlZ++g4?Walg`75W37(*q1 z$ACA0i%vAlg>U4&cd15Kp2~ShCM|Br-Hq)tkv7i!>n0~PGbeemK+WBQ55d`=X7hvf z%cK(xc^mGTNnkMg@&=jY@5Wnk+e{kj#(g-na2L7pk&y6w?8ZacMG9!d`?CYIs1fhQ zzN5>H_#3`xmU^)A`2%#mq&<;Rf#nLvuEs z#u|85au#Cw zFiioTrGBD@d2=_$o6Mpi&3Oy%{E51_IqxWVpF`?VU;dc$g&(VX!ER>U;U~4KC2pEw zSri+<4ao~;Bb~4x%Hn@0W0}?OJImsCma#3``zi3VuL(A@+JAdl{Pwb%cdh1dc4WuC zsKElxH0{kNUXMFM{Po}&XBLYK$;=eb#;U&t@Cc0HO^?ad%wxIDY#L$4;fOSwJ~MN7 z_JX#Vc?<&FQ^F(%<`nKjiZUx#`!WL74q2bIBR_%&^@CZ5$f6$uN+>8A{ z`&;u7cB^a98YCE8*(wSM;vS8&HLq)s>erq%E$s$_OlMC8umv z;FHllCw|={qd~(#@)PJx5Gr&OJq+Sa+>$jEV^RY)=)V&~Z}e;fvk)IqLL2VIyUwEN zZBY9iX3@Xe@L}9Ii*#+dx1Wm^i@8?klf)dW)6ka;@nB9h$p!TGsL7b=XHoyQ+?}^T zN^SW>c3*wamVd{2|7q%)_PmzNcF=|pzS6ZQ3B2rePMQkZeW#N~AHVQZquBg!Xvc4? zo|+iS8RKE!sKYz+`HbPj(Sn9AA^$Mmm+e*Og<&|c@#^ky?#b&HO)HP;b+U7duBBZa zPZ~eIx#$d=J4Joem4C$D^Y@|LFgJqzs2%&R+VSLVp#1}F>;BC?%IL;(Tue(`s$<)-ZLD$XWsCA=F2iFh~-Cx@^_iK7*;QFu6?CU{jnzmad3=WMu+3L zl?P0tqIlk!8>gwd1YVET%dA%pv%!(}P!I_>py4@tN`Ae$(Y~l&`8ZyDHaOP5Zl+T? z4ergaHOOS;qr!^ABON6Cf_p|eei-Hx$hM|Yd>`)R5TS*B#)}JsdxGUFl~ZOPo+pZ) zl&Pii4@P{8$acp z*>ZB9#V7K*`IIw@uV+uF)olKjKU_*J)A_Sn?s>)TH=E>s26xky)bq4d zR?w^rZq~p4vad&(y(}0EiHlHw@Ixpg5c<acVt&aj z0Bb@t@Nt8_F^*$AiX9`~)`J2At3N`WwS>=Mp|g@vlcvTI+ibw%{f9uCGgMVQkR;g2 zVO3U>h?1j?n%aW{{1R;vZ5rcgU#W(E#=m21sQPdzw{YH|l3M2QrM7wmGATelmQ6=; z_-||yt;^*zxmTs?ww#~lwicACYPKYGTc$o)$*(cahtV109_*F+gm^0Bc9k@64fnS1 zgoG@Bu7IdYTDpdJ&_&|izmiU`;b*yDC2d>_`V?GA57zRtx&VX)RZ`*Se7jRiyjv@* z)>!RX0QHedb5DDg$3a>dESvgd)~%K0bmSCIdZS+4 z!hdJAGgnOKNk6_e%vFEh3X;X873%SA{43^ub*s_RbQ?Al-x)2<0ObJfJ#D+uQn_7S zyq&+T&DZs#MSJ+yd{RHv{1YFq=P4*}5l?QEh%yZ>)D*=_K@**DjT%Ix3%JC__ok*t zcsq|_z0oXDj=}7NQF#U}^Y@Y?VA&@(vn))esYke3H(2}JL$v(}|Ao8trg2C4WIn2r zZXLzM68M=~>lh>vFrNn==Y4UNin{1H|DN-~%hV3V{3C`{Q~oKwfT#AM_NRGQc8q47 z=07%An>9rA5Jin&YXXJu`ACNR%@p%1-wQIVE8*k$hIpDKmE?AYPi7D|JHzi|uAh$P(xsuqQz~ieS&%);1-f+>Gr}gSbB?ER z*Est099Dk%IQr%s58zT9{eF&bW0kb%ltDe z5!0{meUXMs*zo*6z!~8k0sR1p|ARXY?oTe!oZmqaJr}B>SNRLZuBdIU^K!Ck>%6oo4gyZwUNr;|tvxc48f4Rs9`)p7A3wbn7k}}RqE$>E)pJPz0q0|?Ax>KiUt&6h4vjvvUj{Y(Wj;8V#_z;I~w4#E?u{ZQ* z1->u;CAF-?l#sSgjj7}z3f4i3-tsxzx>mKT;xRhD>m?18#bnndU6Ee@4byY_?RPOX zEsZD$srA5!#nWwBWbrz))k%uL)nt2KlCO>M<-1=}UmMYruk503wh^Ck9y^uV)Ddm@ zAK~h_IwF_z&~Re*qCVTEy4s6VxWOol?$i~#o$lf53jl`!&i0-bNQrKD5Z>%I{pKLX z@O*m;cN8=DzL&J$QDm^iWN{L4{NYQ=brQ4f%@&k0aO4i$3CNUz)U=-XkUzAi#q~r# ztXXf>6GQpImlW9#Yxf>@Iv%a2bZ+;*-+BektNf0H_r|sAn_b=6i1t#LfVffbu)g!XMns@+;=fa=7F0ZUO`VJO)#4 zGqIU1q4wV52TUM;dy6kw=$`Ai6cS&MeFfUjcsk(u5YJzh9~*R%W}xWSNw}BN9m}q2w;P# z(pP-SKd{iW7NRNNJ)c&$5W)P-bvoNZbZ~B^HM7CrYWAxgo`(ZT##YQH4?ocWHeA~K z2|s?VJ&p7eW;oaSiMIBM_@?tHYzd(J3SIXThp<)H=r3A0eX$ftP4a8qgHLx2scWjh zbbrHNByq3X6y8!4xu$hS_%X*zhIchDnM|G*uV&=lN<_e@Z%QlC(!Pg=<8K#Oie_aK zDX$f({M$@A+Dc?MFAYW*WHoA;?adp4C1U}*s`)_9As`^2gRzkjzU*Q!%?c1nb@o>y z-?2);OX)#?_>4uU(*wm;#^c7TUadtCXNPD&8_|o;^rNk9L<(C;b=!)@?q7!>NfW~f zd=&U7H4gLFC9tMnpV`i%?rp_nKJ%WszpeO5XtchA*vJ#cQsa(dF>f_i-O^DUX4t}y z3lZHyZ=;c=s>hx8pz+S5VJ`tP)2ljPz_S!!0`o5q^(om)i4t&d0a9nl0m3Eld)Qum z5+b@X=ai1sHF9vPH8A)M_Pq7ki42PFER0V5v=H3jizEJO|6ej_R%g+d_isZNI*Yk{ zeg+M)h!*^8J9VK&3}&`b9Xu@(_J=li=~0-7XV1wJE?V&i?Py}SFnI3jfb=GQ`cm(b z+|9>$)Q>IFJPe04YtYphl%>;;;bJr|${<4*QO*}-P`$3gtFH2gYvApd2II@KT_jiy zrpT^hJgzyQ-CaehZclelizQk$Mu^dj_rIzxjYMbSqb^fnHxcK)eFL&^>8aD}&Gu4w z-nDMaSvb}zB0cU3CNYCh;-%Fw5bF|t>h6ZSDp z88LzS6!t=MejE5M@TunV*W0|e6KBdmL}2~>Us(64AWj&ZKKT;JEkcdOk>U0%JT`(| zrKfSilbs{ic+rHH45qg6q9t#9MNN$tkvd*{S>4`GgmS(qksb{YUvOPNS~^gS?l33? z3E>{W7gnxwn-7}|viV2@y%+mH^Vhwsc00ozU+sSWZ+DLrGDFyzcT7<~9weeU>iX~y z;f4CUKSa##IeR#wf9t1D3C>_MwfA6#YZmY|A8QUBjL8KQH+|yYEXEI}Q0&8F8G#1`-%cyN8OYje7ngJmy_Eu2f55QNyX*Fj0*0>YRvSi86eggmJJ{-Jc{n zu%?5wW&D^x(?osBw?@`abA>R?Wh``HeUiy_xcI~9rg@uBw|p1Ulsb8aYCk*pHMwLImp^hCssil6rcCh~!*(LN24kR9y*3wBHpq zca#u<2PG1X5vklQQMHZ{O&L2wO~;8Www<<(6Vq+e(d%T4>a443%kjdF@#tX`G67Tj zZc?955O+Z))N2#b>A2E~rcD;hxa&~WW{T*q^}?i&M3i0kRVX(`g23z;NxMH1$=H%L zoGM=PK10Z5njn5`rTRT|HW+%$^XX!TbN7{qq0g(`_?Y86B0Kgn?fn>^T0~1`h=V++ zka~V1n!+Hi^Lr{hb`#C`M0oMQ!Ibxj=+-*euR2#)>IMlOtU2C||4Rmc{k_0rj%@8D zc)pL0h599On<<(#|7r!iU9RekdZuq}EPTt_d&9#camowt0sahMkpcydwJRufrkG%N zdl16(PDh|%Y`Lu7nkgNr%fqicEyrfltaRaCw~m&Szjom> zQfk$LzD*ZyO_}Cd*embW1fR1Ld=0qN?JJGe*~Ie+&DrpYbUR(NbpG2{D@5@<*t9o= z>*W|Db7(={8R84wlv$pZf?0Gzd)Fh+tCwl~9MO&~qRn%JchGDtVo?<{ysk3mxnqI_ z`M#Y7KfPW2O)G5M_)T8-WYnDGv6GA2PG^(GPPsfMbJbj^IEx%#|2Z3s=BixpUiFI|``qPVh!Jmv{+uB@S`dE(2MN*|y{^(x-wugAUR_}oTX z{LC4R>Lm1S^8#A(c`4Nty}wqLNZbf*S70wi7F(rt_y({WupcUiGEZ&BPLVlNe9X41 z+cL#E=5k^JB0$+VN}-fG!9P|fQZ#{vF2H=0j@GEAv5Xthw6!q}<}MH&T%s@#jsSWC zvVrp>o&iJDTMGns`Ddrm+l82miqu|yHc|{$e)ZPP9J8Sc~}(HUn4-s2djx zTgKNmqwPyzhkto9DqezVJb#GFv&2T>ehDQHvs%rvlyKN1u6Le~(x`PnfNbt6*_Bt` zpu%Nht$hh{FVIQ=+=qYA=xlMX_BC&0=x@({r$ISlN}c_hGv+GTko)LLj&O6lS{-ip zehzFjj+9){&VF%U-~}#!9^>yPgUuVAD~8!F)KDQMh!6iES47kuRE?AJJfdE~OcHVtl=(S{&S&4b^qrUj(|;$dg{@iEp@E zN}D%`0X{p8)x`_Ow1jcj@I$!Htbwo-+x9M?Q+0sThh*9)#@T+R`5LBKu@m}oqxi|T zKk^Iu16-i5DETYV2CcgKE74z90gD2RqbPI} zHdxY7+Pg`N;K$R*@Go&rmx2TyZlYKJ!YV2MD;m8SGmQKd?c6N3^58#c=-0xm^B4*N z^FP#8Ukf*8n}!JG=(Yh!Xp5L@pRx!AjqwXSSLP?PBNX$E*v{QY((7-~dlH9I=vJ}O zc7+xPuxSfD*edq$A5v-4w_+Rb`iGjZO&B@PzOGK)E~auG@Q3;+U*zHjBg)u`)$PwW z=*3RapGWkhxF4|LH1?z$KVZ%okwRB@33qJsU+)t0SiLvetZftKRITNij`Di^K)Jg` zTixxQo|e3!bb2?6b7?p^s$#Zo+a^y-_V2Vx73=x3;nZf22xvK1OJKf0FNT^ybxX|B ze2&FmN_v+pLW*iarVpp(d$7kjuh#oX)MmO;Ex%!8+$%D%8{M)O^Q~nVCImqGFxB^G z(FvEP(#U<{Q*5mN+=q?Nqcy}CVl|xtH2oAcmOTv8bh@UL~mW6pFJ&!iIiM`^e|lA4+;-7gZe+FZiX&>Wjl7Rp?5<91HxNl8=dI4rL<|4YI7J zZGQ3+BYUdSF)^O8)ucNiS~+G#A@qGSNm6MtMV=5%-KT4j!V6!zoUaWUFhz4E6h3x& zj*Cdy#E~@jgqXnwQq>93k;g<)$CDzHd)%hNlju5@+jQq7YOXvPvXtT@^Sy3}Y&_@@ zd{95ne5e7tUE?;@xE)xj=8hCVaR@#bZm6d%R*J>v{PuCmJ%t|VF`R5qix%~>YT~&l zDrB17^e}BlHcICR`tYI%@fAYj1}P&T6-Bickl)3a0PAW+lmfe5gquof%NtYw*RqRson3w%RXF7 zN?T&0K$mCIhrf#!O@mK(TEg=z<~*!6N{`3ahIqC)xufwcGZt=RM`zLxzl*1Q(M;NM zRg^N77F`o3dBAYB?{$m<*N$DZk6^K~@ha0d(XKZ_q_$n?vl}9f@A`zSH^hGSK;2)8 z$)1;7S6|)4j+K8oLru6XW-&wD@Mg%{L$fNeFX-?4!jq>BC#MG(@*h$512MS%P>r`SX6a%q+_HYvWaE3- zu>mUkO9U~lx2WwNf|6h(8TPk$1)AUKk!aea@pP^DdMsB{*ldj#F~)#8zmE2?XuJJK zqM6+!&AW%)Ur^Kp>Dl@S<>=d)>XwO_ylrRttW2!x?4Y6GCTO$4#)ykaS`UKcyXF-& zaa6pee^^4~kl^_6E<;W6kX$Vs#$+ulIL8$4C;x6_tTQE-V`@krPG`%-3J`~pkHsoT zELS~71ExKq4o}1b_qb5R!Jso2d!Q@E*0@aOVw1*63#IU<;!Af!jjyE!r%8<~ss_g` zl&nuhh|3yn{Tp0tPHK2H7j|C{I)obW64 zXIN?fsy2Tveq?o%H73cRP*c2q9=>xZ{q+KS)_x&mTY(nu5TeekfTEz*PhN_#tOvb# zDF!-bYRoo`9%P{R9|~d_l=MotB8QJ(iOu!mwNUeE1$Bo?M4~-9k@+?1`ScW(UW*p2 z-aU==Vf6Feb_+MsXnl9q6#DHAs%OF!a(pY=x*XLIP`l`a&f#N2jfHPeFNHMZt!T#f z(A>A8pIzN+eQ&)nZ3y0hUhyT}eJgzGuGC_gPX$$vO3?78RicS59TP&@pK5rOm=EsJ zpLD`15^M|p#F`dRa%ZKtY&NZ*jEKR^P-fNZ;-_Lo5v_ zE7N6@^9rngEqkPzwK8|vS&Q8ouyUW=kY63J@}iso6RW;Vp60qki)q^Na=gz_<7w|( z2FGd}-rv$5CYSPcf2wOaY~b*3CaES_UWM!6)B}pVlkt%DG`W^M*4NM;(KVS3V|lwc#b)#YKB z<`1W(HgX?Us{Uak`{M97vb^{L}!DY5ag%tKx&wY)5w@ct0czsi$Z*Oh~? zfE!g;{=m^!OXmpJm^&bRtYCtAx~{xk=6^fTEN9uwJ2}!$XZa4Fo=t1(%icP_9EhUf zfUmy1kc-|F=OWkV&thq$i|o!{B&Z8q=T?mw0aMxH8X1Rc0jZllsGS0A8#E^ZEe1H#(pkIUJm;8%t^+X%_1-CEh zgZ1qP;GF{!KcLgWvVjkZRv!n;tr@qER=qnwd4+%8ogR0TTl4G>RPRo*1Lw87tHGi2 ze#X~Csg<4O!HkDTseQxbQH);;qk?d`gzw2#bGyiWVbKv4eIlD4MaVmNStM

    gA} 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 #include #include +#include #include #include #include @@ -9,6 +10,9 @@ #include #include "myDisplay.h" +WiFiClient wifiClient; +HTTPClient httpClient; + void setupOTALocal() { Serial.println("Booting"); { @@ -70,9 +74,44 @@ void handleOTALocal() { ArduinoOTA.handle(); } +bool isOTARemoteNeeded() { + const char* url = "http://patient.bendtherules.in/versioning.html"; + + Serial.println("RU version check: Started"); + if (httpClient.begin(wifiClient, url)) { + // start connection and send HTTP header + int httpCode = httpClient.GET(); + + // httpCode will be negative on error + if (httpCode == HTTP_CODE_OK) { + String payload = httpClient.getString(); + Serial.println("RU version check: Response below -"); + Serial.println(payload); + + int newVersion = payload.toInt(); + Serial.printf("RU version check: Remote=%d Current=%d\n", newVersion, BUILD_NUMBER); + if (newVersion > BUILD_NUMBER) { + Serial.println("RU version check: Update needed"); + return true; + } else { + Serial.println("RU version check: Skip update"); + showInsideInfo("RU:Skip"); + return false; + } + } else { + Serial.printf("RU version check: GET failed, error: %s\n", httpClient.errorToString(httpCode).c_str()); + showInsideInfo("RU: Version failed"); + return false; + } + httpClient.end(); + } else { + Serial.println("RU version check: Connection failed"); + showInsideInfo("RU: Version failed"); + return false; + } +} + void handleOTARemote() { - WiFiClient client; - ESPhttpUpdate.setLedPin(LED_BUILTIN, LOW); ESPhttpUpdate.onStart([]() { Serial.println("RU: Started"); @@ -96,5 +135,8 @@ void handleOTARemote() { showInsideInfo("RU:Failed"); }); - t_httpUpdate_return ret = ESPhttpUpdate.update(client, "http://patient.bendtherules.in/build/esp12e/firmware.bin"); + bool isUpdateNeeded = isOTARemoteNeeded(); + if (isUpdateNeeded) { + ESPhttpUpdate.update(wifiClient, "http://patient.bendtherules.in/build/esp12e/firmware.bin"); + } } diff --git a/versioning.html b/versioning.html index c5b431b..4800c7d 100644 --- a/versioning.html +++ b/versioning.html @@ -1 +1 @@ -50 \ No newline at end of file +58 \ No newline at end of file