From 73d4613c0e4590576c1f6f5d7896a9cc252bb746 Mon Sep 17 00:00:00 2001 From: Joerg Lehmann Date: Wed, 2 Jun 2021 20:44:35 +0200 Subject: [PATCH] commit once in a while... --- .gitignore | 1 + artwork/gps-tracker-price-tag.png | Bin 0 -> 8203 bytes artwork/preisschild.svg | 99 ++++++++++++++++++ firmware/README.md | 8 +- schablone/schablone.FCStd | Bin 0 -> 27934 bytes schablone/schablone.FCStd1 | Bin 0 -> 17028 bytes schablone/schablone.stl | Bin 0 -> 2884 bytes setup-node/main.go | 162 ++++++++++++++++++++++++++++++ setup-node/setup-node.log | 8 ++ 9 files changed, 277 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 artwork/gps-tracker-price-tag.png create mode 100644 artwork/preisschild.svg create mode 100644 schablone/schablone.FCStd create mode 100644 schablone/schablone.FCStd1 create mode 100644 schablone/schablone.stl create mode 100644 setup-node/main.go create mode 100644 setup-node/setup-node.log diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c0dc202 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +setup-node/setup-node diff --git a/artwork/gps-tracker-price-tag.png b/artwork/gps-tracker-price-tag.png new file mode 100644 index 0000000000000000000000000000000000000000..920dc4acee0bc14a5db8f2bc0f912f7b2b7c282a GIT binary patch literal 8203 zcmV+mAoSmfP)ZgcA0fB%5F`2nD zS&+?zhyp68fIt8RgWv|TLjr`Do|%vkAVDw$B!Mg>nWgXd$EljWRbAEFbWeJE>V2Mh z(p_D*s?uG*y62vI&bf++h$_cG9M~VI2POdt=WkbF4bY_E?qZLxN^y}95tV|0_aXvu z#ZnK{0Ryu%>jI8fa9=U!j6@XCCo!-yB9MgjHwhR~r?Q$fj1Ge4n#x+6NxCIB=oi^ zRzg~UPdKk55k-`rUNXg&D0sK$SDP0}A`wND3un&77RyxN0K`lyly+bhUa>4L))Xrt z_PA)Yf#FJooi~w)B5YI47RwZ1ry>s5o2FPP@H-dkfkz8DKqR7mM2IOi6&O|IA$PPX zRtj1Wal4L=1d)g$pjS+>rxmNmwoK~VTlB%(^fKrNCKW{aiNrr2`|w)FgJ`z0>`+kipN z`vmZpd>cn1Dlxraian#G$B8Hr3OWruk2qwYK<7dvq9QSpTI^;`mdg}-UWvynqWmO@ zL{uKiXo}fliA=E_k3B9LZ(x8DOCTqah%5q3u{xx;$(ElVMr4ZhEo>3F56+f+8um*O zMW$Fp06`wQNJLpov10S{BU7wOQSh39w}9Q8O$p%EeA-rxh#XVQFP36Wu@1!TX^W** z!AqsN+K39J6*$~^owswL&xy#$jB*0+xa9++pCE-2nPL$xNvcUiWiZ9wMucLEWvPPA zCAr{;YQP>Bz2CsDO75GiRD_5kQ!JuFutlVh`|yceje1o?jwv<{uUMu4yBB##zbV!V zv=mc-FCqdFks)pAB-l|RicGPHo-uo0NF57iU!WG$OJME+y{epNRj|oOKGhg!Q(ohu z9#=pOF~ug54(2O_KvN8Oxsd#hh`x#*0sIX33Yqt23b+M08}!CNj1xes$)S7EI%I1r;zxb78oFy%fBbt$_kCB9OCz!;liMwMCqKJ0cRd;{GzEXUTd25!FQV2OxD5 z^3V<90jT{d{LmLa*gP3hORWu$14n~)Qq^@m@DQH4Ky@-S-c_Ot@5YE%*cQ^U3hvL= zMj7}J@K0cu{LjN`=R_@tSdzd>B{jz)`X%~6;9tPd96PRp0f)ehH?6im2F|zkISlk; z-eyf-0duppp$&AHSc}GSifu+}S^!+6;PPy3;=rYZ3upsQk3w23Es-e};pMtoSo=G? z0=gf#7b!11jdaoYanOD%aHO^G!Pe_7Q1@i!In1p<1LE}ssDtK@KtsU3#iO9ZNzj|* zY^u-ICXR&6xI6*eL)sL3wUieaQ7PzgpbiFh1+xy~Pr}R|nBA`*kN0M~4)nD2+u1il z*OS0VXTv8!p8|S;^L~QWb}gI|5OSqc&~!7H=JdAIsX$3Zx z75p_4P&Ly0G0;x~FNkSmeh%CLoohhf0dq&@Izlk!H2V$IHhDjv^)jgQz1zAyVBoEh z*Aadm^=IFP!}7kw!mv{yCYT)asWD%JNntxiR62Ty4A8@9Ivr9EAS*cdsR2%gj-{Z- z7jg0ft=BJRIt~CPEWjIjH5s&fE%r^CC8ukA3*Mo`WYERtfMvs8=xZQp6Ect(UQa|( zOG`xbCJSm{_I}XxdC(g4ouF3&n;^9Wt_Y}nst*KnE#6`&ElAC2+Y;FmxX+pN%o9Bb zsng~XQqS&`F5oub#*>_XEhht`WQ-MhjOVNkH58wwpN*gdy-@rj+S8;5fDskL+>xMv zBc@o}M(A1z=1!my_&ib>H70*s#{?YUO43jJ6sXfcCqN(Ww6*Vnu|Tu`09hDB{_}_a zGE}ZPw#M2Phc~hb!yo$d{yfi}HwylPH+s7u5kVf_h=`Jt<0edv0KSQsV%b)ndlgbI zdpGHEz{jl(cR}MV*5|JxlbQDVrqe*@`-Jx|8=1|;y##OZkApzRkx(y-)PaPe{6!Uu zjhM-WJ~-@YT+}bb*;(L)1DQ!L+ehlMJ#V^;~WZuJ^xPq+) zUL-wuibPa)^hL=0oJ)@Hyvy(M{SvSQ>Rt?X2iq9mgrs>nct3s(oMpZL3NSPKvE_hB z$zAvU847bp1v?i2xz{WQNatvXJ?eW-d8pd!6UF~EAL zdm&)IQs5@&xr9FG+^*3U(N2h6+mF+!_3p@=Sv~UQO#&uDmvy6eJPX`cz%hp+(IC49 zd>Df*6M@CSZ9Dxvjw7OZdqDdrsOf-VFTwYM(nx$M1F5~juTeb>=Bw6*38A}s+dbk7 z&ORQvBxGm5h+PxuT3|ZqsD@*p=^SXBpWan}2MLgNxh2ouxL_2#W2Dz~-S-8F$ZgQi zM5Hf8@}%m?YYkJCAa4=r7;rP*8(=w}n^YwT6;Xy`;Zo3_fOcoR(*>-57xY4?`60}D z(b{*7ukE<->ooqSdYU$heZ^vTE}_vpF#u-~D0_fb zg(B+s0`MnbHt+?!KMG{_#sF^s4*)*_P6rMGhRWDRU!DKCRV!&%Yzy#Jh`0K7%JQ9O zjES-_3`u}Zborz63pnrK`FQJ$e+rr!>2|N{0kCyG9!H1rkAndH1K=FO zm%Us899xcDq5$lBVuT5KsMzkpB^k!f)=(kCak+O-X6S=8|AagRm2X!Zye>eQ@f{(9%4*CzEzU1`KgMf9Q9su(%(7lzn7BtMsaNYYw?FaK18bf4HaCJ^hbOGYd>-j_K^z(vSo?pGK<`(F|4F;j_kS1)+y$LS0$W5hjlW5M z-gpNzjRP~!YBYgN2gO?86ld}^1ic=(Cj9eW;dvy&!cEXi0Dt%IWV=f3n=FoZ5Zp`5 z84dc|pl<^G573Xx>!$C(Jb#(sHsAXk;YxZv8L8^Zdiuwfc|UV+>ayY!c1I2iKyMBZ zko(#FcpoAO>1hFCezR$sBM3i!*YpzK`|pxYrrQb3{LJGtUMi{Efn@;I+u0KM`-F)ov_W~8I}-Hu(D@Q@9dH`*V;v%|%`c$+RnQGqgl{p|>uY1IHnUcf zk+GZWrtUGm>rp*9pTRq>jln9%RBUKPvP@le1Fpss4y1?TjS|?5l#jA`kMI3pi2EjU zLB=bi#v)FE3qbtYo|XCOkiIj3Nqk%9DkvNb3@dJ1$b1m2fp$3eh1 zNQcY#pJe%p$aW~$y_a#0`H}P{l|brG*eIAi22^{`vOytpoMw9Zo!bZNf_8h3=mO-y z8C%wK>y12z7| z4*VH=Ex-}Z>s}DioV}s*0WxcQz3p5}3`zKMfA}k$ABO-(!B`nH_pc zbmr!UMbLa0q)q^}7KYrAxlh$$_e6t`2h9q52fv7t^s0zDZ^0{|4Z!z++tN3H-Wm8B zupf-D2C=CXcn5tkq-XKFbS*N3x36S`x{=SS#phf&)yd-zq6FX1#qWTA1=!o!;P)8% z&~ac0nH4}4B5HdKcMBQl+oVby+d;3ub2F<1p(6UxFxc+z@oEq++%xjl1kDwN zQL2YblC+3?9zz=)10Dem2K|uK8!&Go*{CPu=|Nco{5<${dI8LR7&^{CJcA>V(3@u< zc1NkJ=Trf&AeNCm6>+D%LpBkC%!)r!mP?Z|N;bdD6i`l*cy4A>@04#k0O^$`(;fe| zZSTM%i0~W{4M>J882uLArNdOx5nHLeOGza3-@cvz5vdcvxI#Gs%n_OU0I(inpM{37 z$x0kI`kbP!wqp75V3=M=6iHqvFh)GVuIDo2;Tbe0N|E;3B`AxC7SuqSzfky1fxBiU z!~FUdter;M#LEMFFhAoh(Emk>^t>1`)wlM$y zA-%~Ez|NcuaxPdRDt!*WFlTS*st?HG{I>Jw&@~1459r^*yoJzliU^JU5p#3{@Fc|U zf(BnoLbad=fI0^nuL}5VDB{`u5#qT$D|4S7W8Y`{7}&{P>^i8PR+6%dsLMZbx>d$F zg%VE&WCw3Uy5FRjUMz!nOFGlC=>#x$Tl)uz=u_#p*#bk0Vcu@gz6v^nQX&E{38b() z(o^zF=dTLUb)fx|=s4rwBSAZb?Bjov-dW!Uya}<}0`c^yS1!xm8t8Am_uZU_^R zTgoV5K$T%_Aiuda0P!#tc%GTBI5BDVgx?9EGeR@cWb|GmWxhneA#XEG#1cP9X1wKi z$bwjnZ$SVUwIXESYUBps!_K(&BvAW8>~5H~90}_CF7P09{suT2sR{QJXmBIdpM_Y0 z(t8j6_sk^n5RuC+h&fa08D@WNvVkyn&n$WQVYm~dmX}Wj#y6$WFFPJTtLUFfAko?c zh-_RL2Ca`Gu6?J*c`PY&M&(&^rw{RlJkZwd2W*DeAEE1~u;4S$wgR{p^i!a}Dp4*S zNr>%6I^AP4q-w$sUmOZH7ztx?6B<1a)?6Y2QC*2eH1svt*oCKySwI) z4G%(719W{J7zS+#u@D%GOkpIUbCQ_rsRZd>VRr&On&#Kx%%3lo9?A@Jnd=x;O_?(}4N%U~K*f zs5Z$3YWy3p7zS*XBKQ8ni`_z51snnTT4avS4FhvT+weFvE|hU>!@tw*bv`A&ip9Ps zb~jdZNLaP|BuFfi#`=5;Wv$cS(9 zl94+!QRW)D2mCF-iOw-vq<}|%MaN*kaK|C?HQ;byD~z}h)}M;xNL>YL6g2)$Qd!su z`5kM)?CLz|#ySW5w^fv7t8cvdUtn)ZR@8?BabM0+xlFZu2+A5*2jQic>;?xI@q&~X z-3I)_xAFT@s67w`Yp({bfYf4n>VcDAsaO3aXuLi9 z@v4REYN6Tr?(~JAKMpnfLHh;J>@0Y#zXfVBZ1^_vfJp$$EK_R*@H*)8Kz~QR>zX9p zy}5dV?zp|!EQs5l$_wc()}lMJC++n*%kj>qbl+ovHK2{S5C3LunyfMd@k+q#1E6au z=_qZGh>7{Y&q1#e6K~6*NGSi&)_zZdK2$DO--qO`xHOToG;h=CPIa4Q^5m;lnw$lQ z8$;%n^cBcM@CxBAEHhW)T|X!6`ZfT^`o8eL0ZPU?ss&P&{$mu$ zyxpLt-CJe~pyOyT&K#RQ8aM?Q46!R=)>6}dv<$ zngbjMEQf|R#PnScmkv+YYM4D1y2b#jB|Sy|74*%ZMmzaVUxoqBxf&itCW>uJ9nDh7 z*cRGgq)^Ta*+i72*F*%M7Xu##Jqbw++z0uA-g3&@K3s;Fs0v5FPf{S*2<8^KvCT0^ zFs&sbQqVQndA&2R0P&jbhM37KL4OkT1Hi7Z-I@nXO+i9xPNv&r*T1)};h{48$NDNk z!<-jF7nd?{1~RC08LqsmheZ^Gt_L;QyTF#`^8-PR1@l?pdg+;)&Ik1nqzcL(rd{}iDc_6(*IvqtTXv)qC+RMWSD z`W5Iir5u(1qBGC4IJ{0>M3H2a&F5v z_Ls2@DdY#J7t<@YRQ6N%Lf65LS8+TNCDAJTsYOz1cgqIgb|)ivx-8My>5F)8yvI3D zM0v4Aw6B37*~~e&K|c_Yj>Ap^;rn?kU8w7j0K`uNmqYtiz%|fyJ@+hd6fdrU`AoWGyaWGSWg`hgXd=$6`Vhg3N-K?vmN79?{S_L7s-t?=%+apSd zEutD=Le^EQjhGWZbl$#$I2Zc3OY_pP6>G#wH$Ej1T_9q;?TMyCn5p$0hCNH z*h!^{Tp|i8Tvy2`=@s+>(0|BGiAa4JS=wYKFj6KO*%{(nk(>BoP*(l6nXe!b5;zmQ zL!3GXPVP)<5wbw=9H0q_Ot;V%dy~%2>;T=*Rv@fOJkEt&W1<(3JOek1dlCh$Q(7+c zX-G}E_e1P*>qa%QO&=T5FizSd`A3}C2jTt{siWHBrRhfh~48mUMo@$VH6Dho^xI2`>u0! z5C5YP6^@aiOg++(*wtnSW6^7Yv>*UMf8Z%p;%|(p}ekz(Q!h9e(_K*mw}|80aO?^pu!?v;~yWO@ew; zGASdf9V5{Q_Nwu&aE6C8S(1;4>{ROU25OaWO~MlKYv89yHJ2E44sg!>acCL~>l4Tz zUOC&(0PccXpS#y}^Xl!OI}mehJg85?jGsYs6KuQ|c$)6gT8-BbzAD=v!Q>h{M)Wa^ znD+bQ6-xq%BFXBtw%7>F$hotTJRN%+lu)IsL+zrZH_-=qH#Z#zW)@P9Y#DGd#LtDU z1A+aa@v_WAH6P}zgU-!wL`kaZ&J^k$Dlf^lt*Vt;mbY#`B;Laq^0g z9;M+i&~`2C$3P7O^Ag0a4?KzpCt&g5h-$$|q`=;YNNmB3Cwn|-7#k5!bQ@A%uoYOQ zWaY@5!L1YoLV%R{Y zSTanpQjo8R&P0ldIByvdCFn&IgU=Lm#WI!RO|eZ#C8DBCu~Lw)IcJACDC9r?MCmUl zqMGOnrdTN`L`42ot|Jje0DapOD+PIpNWmr}PXTw`(@GCSjVKdFRuQztG8H(0%yMV> zV4GsDSQe{3=3ULVCj##(*O7>-oDfrN3Q}jgP%73GD+Ps$$X(?+5>b^9Vv0=#MrCW4 zg&oe z-0@H}F6u=hQ>=0+q$dI~=^_!8kq}dCGM?4W3t}z4`4%EmtfUkpB9{pU;>x>vSVW!} zs6~>(Y_XKu6njoV9<}r$dO}Y`G!U`J^H{v8f71)5*fUCcoQNGjPecS_(nTV2Fj7j( z&6+HiDfYax!h1x8P^gIhgG6sTb=OEBYvJ@O%4mw&Vu?(#K0-kva+a281rBvKRlRc| zz!a-PdYfYM^CMHN3MsTF0x{{TPDGI@7Evt4ipXWGfnAhDo+c_l1FJ}M%002ovPDHLkV1fw>Fj)Wq literal 0 HcmV?d00001 diff --git a/artwork/preisschild.svg b/artwork/preisschild.svg new file mode 100644 index 0000000..b71983e --- /dev/null +++ b/artwork/preisschild.svg @@ -0,0 +1,99 @@ + + + + + + + + image/svg+xml + + + + + + + CHF 150.00 + CHF 5.00 pro Monat (ab zweitem Jahr) + + + diff --git a/firmware/README.md b/firmware/README.md index 71d574e..6e0cb60 100644 --- a/firmware/README.md +++ b/firmware/README.md @@ -2,6 +2,12 @@ ` LED nach oben (mit eigenem Kabel, siehe ODT File) -Reset Knopf kurz drücken, dann folgender Befehl: +Reset Knopf (z.B. mit Bueroklammer) drücken, dann folgender Befehl: + [joerg@cinnamon firmware]$ openocd -f /usr/share/openocd/scripts/interface/stlink.cfg -c "transport select hla_swd" -f /usr/share/openocd/scripts/target/stm32l0.cfg -c init -c 'program EU868.hex verify reset exit' + +Gerade nach Befehl Reset-Knopf wieder loslassen - Timing ist entscheidend! + +Nach Firmware Update immer: +AT+FDR ` diff --git a/schablone/schablone.FCStd b/schablone/schablone.FCStd new file mode 100644 index 0000000000000000000000000000000000000000..87214daf770b4cf36b680751b918568fafa4b8bb GIT binary patch literal 27934 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 IKSBBb1F_e{D*ylh literal 0 HcmV?d00001 diff --git a/schablone/schablone.stl b/schablone/schablone.stl new file mode 100644 index 0000000000000000000000000000000000000000..89a29271e896ccee5e1b41dbc1ed1006741cce63 GIT binary patch literal 2884 zcmb`IJ#HH@5QSOi6mF7K0aT_4;EjO*DPllCu8@Q9C~ABTBYkqG%$u2SIZH~h3los` zapt}G<5GJ3_VfFv$2a?W_qnn9eV|_tt?ARgjy;@eZ_O1w*zQRhSkIy8&*nBZYk183 z!9E)vdwOnH6eDqq$>C7{Pcc}Bs?>Flh>8zOn0z~qs&Y((InZ>}#Z` zM)B2;Je8H+b~5|Am;j2(I_HTVRkPwct7>LNt+3`B8oeo0q?w$p_AjbGu`@??-8!EX zdyYw+IZ|=ia&IhQa-?;Cr(>@iwGvsq%3Er$YL1KIc8*$m&2h}lREfiz$e!oj@7C@< zYUhfMeZ0G}3|8R2wf6VVkEc|nh#bsKEO5NLA}UWerQ^J*E6cn#H)GmVef4tYX3!MK zC#(wlCg!e4mTX#;1y<+Q$9q#{RhpufV$C_+;Z-@q6k4;wjmE-WI?s8XGKZMT!Kzh- zO> 0 { + lines := strings.Split(string(buf[:n]), "\n") + //fmt.Printf("%+q\n", lines) + first_line = lines[0] + + } + return first_line +} + +func getDevEui(p *serial.Port) string { + var reply = sendCommand(p, "AT+DADDR=?") + //fmt.Printf("XXX%sYYY\n",reply) + if len(reply) >= 10 { + return "a8 40 41 00 " + reply[0:11] + } else { + return "" + } +} + +func getFWVersion(p *serial.Port) string { + var reply = sendCommand(p, "AT+VER=?") + //fmt.Printf("XXX%sYYY\n",reply) + if len(reply) >= 10 { + return reply + } else { + return "" + } +} + +func getAppKey(deveui string) string { + if len(deveui) == 23 { + mdeveui := strings.ReplaceAll(deveui, " ", "") + appkey := fmt.Sprintf("%c%c %c%c %c%c %c%c %c%c %c%c %c%c %c%c %c%c %c%c %c%c %c%c %c%c %c%c %c%c %c%c", + mdeveui[10], + mdeveui[3], + mdeveui[4], + mdeveui[7], + mdeveui[15], + mdeveui[9], + mdeveui[11], + mdeveui[2], + mdeveui[0], + mdeveui[8], + mdeveui[1], + mdeveui[6], + mdeveui[5], + mdeveui[12], + mdeveui[14], + mdeveui[13], + mdeveui[3], + mdeveui[6], + mdeveui[12], + mdeveui[7], + mdeveui[15], + mdeveui[1], + mdeveui[9], + mdeveui[11], + mdeveui[2], + mdeveui[10], + mdeveui[0], + mdeveui[8], + mdeveui[5], + mdeveui[14], + mdeveui[4], + mdeveui[13]) + + fmt.Printf("calculated AppKey: %s\n", appkey) + return appkey + + } else { + fmt.Printf("devEui has wrong length: %s\n", deveui) + return "" + } +} + +func readSerial(p *serial.Port) { + p.Flush() + buf := make([]byte, 32) + + time.Sleep(200 * time.Millisecond) + n, _ := p.Read(buf) + for n > 0 { + // ignoring error as EOF raises error on Linux + reply := string(buf[:n]) + fmt.Printf("%s", reply) + n, _ = p.Read(buf) + } +} + +func main() { + if len(os.Args) != 2 { + fmt.Println("usage: " + filepath.Base(os.Args[0]) + " ") + os.Exit(1) + } + + serialdev := os.Args[1] + appEui := "a8 40 41 35 10 35 10 35" + + c := &serial.Config{Name: serialdev, Baud: 9600, ReadTimeout: time.Second * 1} + s, err := serial.OpenPort(c) + if err != nil { + log.Fatal("Problem mit Serial Interface") + } + + location, err := time.LoadLocation("Europe/Zurich") + + f, err := os.OpenFile("setup-node.log", + os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) + if err != nil { + log.Println(err) + } + defer f.Close() + + sendCommand(s, "AT") + devEui := getDevEui(s) + FWVersion := getFWVersion(s) + if devEui != "" { + fmt.Printf("devEui: %s\n", devEui) + sendCommand(s, "AT+APPEUI="+appEui) + appkey := getAppKey(devEui) + sendCommand(s, "AT+APPKEY="+appkey) + sendCommand(s, "AT+FDR") + sendCommand(s, "AT+LON=0") + sendCommand(s, "ATZ") + logline := strings.ToUpper(fmt.Sprintf("%s: %s %s %s %s\n", time.Now().In(location).Format("02.01.2006 15:04"), strings.ReplaceAll(devEui, " ", ""), strings.ReplaceAll(appEui, " ", ""), strings.ReplaceAll(appkey, " ", ""), FWVersion)) + if _, err := f.WriteString(logline); err != nil { + log.Println(err) + } + readSerial(s) + } else { + log.Fatal("Could not get devEui") + } +} diff --git a/setup-node/setup-node.log b/setup-node/setup-node.log new file mode 100644 index 0000000..b364154 --- /dev/null +++ b/setup-node/setup-node.log @@ -0,0 +1,8 @@ +17.04.2021 17:13: A8404100018193D7 A840413510351035 80407114A08019D30090781148A01D43 V1.6.5 EU868 +17.04.2021 17:14: A8404100018193F3 A840413510351035 80403114A08019F30090381148A01F43 V1.6.5 EU868 +14.05.2021 16:28: A8404100018193F3 A840413510351035 80403114A08019F30090381148A01F43 V1.6.5 EU868 +14.05.2021 16:52: A8404100018193D7 A840413510351035 80407114A08019D30090781148A01D43 V1.6.5 EU868 +14.05.2021 20:26: A8404100018193D7 A840413510351035 80407114A08019D30090781148A01D43 V1.6.5 EU868 +14.05.2021 20:32: A8404100018193F3 A840413510351035 80403114A08019F30090381148A01F43 V1.6.5 EU868 +02.06.2021 19:44: A8404100018193DE A840413510351035 8040E114A08019D30090E81148A01D43 +02.06.2021 19:49: A8404100018193DE A840413510351035 8040E114A08019D30090E81148A01D43 V1.6.5 EU868