From ea84168328dfe99d0832c0109dfd7f5eea42b526 Mon Sep 17 00:00:00 2001 From: test2 Date: Sun, 3 Nov 2019 16:11:47 +0200 Subject: [PATCH] node --- IoT/Eulerangles.svg.png | Bin 0 -> 20101 bytes IoT/SensorNode.adoc | 115 ++++++++++++++++++++++++++++++++++ IoT/Taitbrianzyx.svg.png | Bin 0 -> 17632 bytes IoT/sensors_01_AHRSOutput.png | Bin 0 -> 21756 bytes 4 files changed, 115 insertions(+) create mode 100644 IoT/Eulerangles.svg.png create mode 100644 IoT/Taitbrianzyx.svg.png create mode 100644 IoT/sensors_01_AHRSOutput.png diff --git a/IoT/Eulerangles.svg.png b/IoT/Eulerangles.svg.png new file mode 100644 index 0000000000000000000000000000000000000000..842947963f5387b7768e51507daf86b76085cfda GIT binary patch literal 20101 zcmafbbx<5%(CsXXyGwA_;1&q(uE8OTLxAA!?iwt3aDux#fdIjRySoN=-u_Z#y;eGzl{ZrA7Pt~|cGoU0Y? z+>iS?S6TZY$^ZZQ2!GW8qDq;zyh+?KiN27;5$Pg??WI$_I5g3p)(@gNz7<~iN2#(* zzx9z{g_uJ911dZGNXvtNob~$nW?rJDye&H85cgOxOzusC9o4whmNi(CspP}H;5?=k zZ=5piYu;gZb<`NTh*Tkq^;M1jbxxC#I=3>@?6>cLYaKrq+q;yZOwT1=tbNL;Nd=<1UD=v(v&^w825WoA_=37w`0QUo9E zawD!Vr4EW#@M#REd3EX%QB4HMPJQ9RQ-;%Jx5iaJ2* zBpO^rfuH7)Ic1lH_Z%R@N~4IH%%tQ+7VY6dFbDWXsBa@$V4?RP>2qNueEj?dv)#+C z9+PAJF@ow^E9Ng*>CyM>5J;gJ^NLMEL^*VL8Yfi)QX&%|@M1u(!R8@>egX>tZGb^0*NW6)xIg$fWtLI%&;eUW19sMq1ORK%fzcCp zxt%>aj$?fQy_xh$TzfB}s7@^QE>{f-EFgPeE}mych?pq`!L%w3e~;$~1GOG&@C?rC z18Nj~;y_5bQRd1le6R^Op)WY0r92-CYTB}_(k>`VH0bi*F|3XlHckTO6K=$5Z=Z|* z-8+UYTS+W0VuXCpWQH|3Q_a)X$S5LUpil*kgkw3QIT6>ca`xd{dlZ%JMnsOP$ms>(n(B+wUC z6n(Nu{M%tKx=g&@N2@Ar3NLZ2670mH2Uwbz4xf;hcV)9xKtQqHsTR8}!i7?ymUlNp z52qwn6o2;biV7EL9qn7;8q_BOSsM+N~2x#wSDdkNeh5jK!(UH~Bg$T@HY z5_BpfAv!pz*}hBlgPsIXBMihtw7eq%yO^J1h0+K}-4UpH6T!l_73OQdAOVk1?efwmAFh>&7t`@-IJAe-C*YD1i55{I5A=QL zV+RZP^lZCJRbgcj*MlY-KiZL0YcTkMr+z|5P3_bCYD@%G$MEmiIP@KlE+F=2OF&?n$LD8C7M5r0m<&bvp2r(5GBbW&iPM*|dBZ)v<*3*O@?qx(@)6JQ&MYi&K8M5kvLs32fV^B?BS zsD=m>)lvIA=a^&WY}vQRKEx5>upEm324*4cES(`j%*1;Qn)SOSb})o@v14ESx}~JU z#!thz0ZA-g*q>O&$}YC{ayl2NP7B*UGC~ypd=JEk){A2^V=G9GRhA(S{}9Su@5qP= z_ri!{&+AW4mduF=u>SFL%~a;8=eAs8f)vTgML5r^+FwVz{dLMbuP`Kei9K=VPHg|W zpNrjUl>GiNt>(BjqwZV1R&p)Bo1NpuEG2m~h(|>eusirmsPKIDSh4p$T!F>^RgMNR zXKvYbVIqgtcm8Xk#vt|wlC(H|w`Z|OzZdyyA#XqFsVPpC?#8u%7M=Bg-_dGo+4IeB zSaMJ33c;2W*0W~2QKGu*U1{>m-Y9*)q8Uiu*ngXV)_=}^!V#-`eZjolP8GF2UsKr) zVF)?6&rthoo?5u{;&}MEo`E=fhqGY&D-&vnoGWHXfiAj7DMYI;z6y=1*)`>NjW2I=As z>FHlM#bQrj4sW^qZ!_`DkP?c6n*dQrmv92p&ZnI7yM=z z*m#-W`PDECll~H4o4=Z_LdxbhfBDa5etW*Z$Ml^rvi32XZrGR*u_3!3b`fFSk?v(N z3ZTgIIO1Mt)TJ2Rbx^NM?{z;=J>5+j&z{<8w}0XHf2($GcWIqZDfXg_B*eU6x^3j~v4tUmh&G%VlLN3KQfK8-PC z-w{C?gWzC;9v(LTriE)FTN~I`E+?-oqJbhK1ASC4ROpu){#Cw4g~c<7W8_DlUZU>r zcZ(cM6P*SZ`;+v*fQ6t2)xJIu$gg>0{8=aWE0CtL8n><4fH=G##kP0u>Pm1qGAL>C zm5JZ;IcqC-RUOqT8*f)h??OWaBCeWI0p$?_hzmri*^ZOc_`EPK z|Nd#T*3gxUcRjJTa3EmGH#wX9>@dlmWJ}Wa{2*)Z4L%NgMV83IOz-Sm^4$ z!&sQh`vFCAPxrM}MJJo`5(({UFKKMwBS{_k5{D zlQtaHa-j|0cO#v7(HEKgQy4J{{C~ST{|28qPtgg(DqvFwv{7f%Q z3W((Lt*+Igw9@n$wE8e`d_)8WE|f#`e5dV7+#hJ6uAC$eeN!^@wWD5h76M-7wdF!n%bxaX1&%FtP7cpCgbWE zb^s_E_1du}i%&2c=g9?pxPJx93u4o_0Ood$6f|Q01ZlFw16N1NAJn$K&HMkd~XPf75F5U|xFN z8Btg-yXjn?FkL_Tq0>!-Gf{0X7!*>?-nUEY+Lw{|0AcVsB7j)j842ZGU4+$FSxc zoOYW@^NLOY1xY%@n23^9tyqg8f-psCKK8*b{Y+yXKiIv*U}M7NVRAXN+Zh<({&tV> zjD0^99+-4srINYL``hYT06I_=GAaqPUTGz#rEJRI|Dp_!kGmtTNB~UHT)S#b94$qn z9+~tcQ^UI=2e?tjGoo&{8ZHen7+>pto&Ou^_kqXwdO_C7o35cjdAz!O+(7|2G&cY! zhzWbrGR=1l?{9josjO17A252>KtFb(`Ue1Fa09B&Fd;Tv-0D8$q$r}a^gSwO)@(QP z6awt~1h-S{-M5wcSSJnZPYF|q({;NSnb$ETN@dvA=SDG(N${s=w6nSD&Qy&@i(aAm z<)VbcfIqwz%p?}f33^y_rcFZ{is6@cgZNU01}pVG)4w^yxGdqhZ>`d8{#ih+JsB4S zR|vYTfFVDi^U17Cj-HB3ATky(4XME?00K>kBaQJ?7P5&8Y*pbzobpY*xylsro*$m` zGL7F~$iE9BfCc1SxG7ZKRhHGrvsn9@=v6Xk-Cm6_Q7JAQ5DhcFa65zE^@)-n;YJlf zBa@fx)#~~w*Esv$r%_&nv8+vZuCWj;h*ACEaVLdpQ)i@YQ%%sq0v&WsRJE9y&|E_X z8R0W}2%Xsn&wv0Z^(VJY^#Bs|><&M0a3E`68`>vLQzzsT)%u7w=RP2ip(fs(`#Z;q zshz>4RbO~PHx2|fY1zJc;k49u+?TDlY$8M(`^W6pKZ(ry926z5AcZu<47VfxSWvr5_O`x(t3kO^{gr_V=HTAQ?s0T}!770l zr|H{!*}0D}DPA0!N86Y!B7hq~L{V^Ut(7kWYW3~$`G##Z`s-7+LEzUa8t1f*4K6f# zmT%{iQ{gB`w)`nBRlVjpn1GI6#ubjv71tFF8sVf$Zth!C%KqIx6K*`u ztktVi8SYudp%oWj^3VQYYrDFi3>9vEl<}%C`@4uu{8;rN3Kh%FWiAAdZ9+l`#_(6;1eaHP<2B8|0QdNr~l->s=fqc6~rdqLDjaps9Gb`!{ zBWwynh!mzlQ4t!v95BB#bY#1bfmJO7*X(mS*_qp}1>);5q~iANgpJcE!MyK%Vm%$g z+i^X%Xv7ZX9XJVKC5@X4+k2on`MXqHfd7bny%l{yU4LJp)^` zyvrdJwm}<7L;#h-ird+hgX0Z&W`gqLCAt)0@73mI7FU4(mR(c@H1ke!wD;dzIHS}4 z{3u~de_UgKt{1K8zgqy|*BX}rpMT<1%PfQYtpm=${ZCfD_q;TNU7Oe-t&7RKcY+`A zqQicO65to-lC8#s4`V3J>kXcK_}4l0>y1Rt5jKc!+b z-Bd$t(LH$4B1imWRiD*X&ByBMocijyB@h>2+fA#Xl)YQDqDnj&t%@7cLB>r+Khlrq+Fac>f6>zWp((NP>lMgR zwNYVy@s7O{h{-VKpc2gK@ ze8C?@om(W}f`#807CS{QePx!>(Qi}6oj~Rb4+d9QE9L=4w!vA>vrhrv`!NmzGCx5Z zsaS%42x#v@va(13(e*B0(A)L!V-BUDN#LX`Z!)*ygpjZw`W2Rj zdoHvQZ+SuOqp_hAqmo0YRg%@b9!zdg)ONx9F~wq@7YI4|&}opkmy?Xpx1$@*7edaF zRsD}3N|CPL`@A#U_vvtPj}g&Q}~;l#(+o$$7bRnNxLw zVal89hS-O2_xkV(Cq8ChX_6GS(qX;O@CDBd4A0F9b+sf2gG>(}=?5%=iJk(cbag7c zIhaiYo?_cMs&F=Kl~fXZ$r0(Xtd0Xi7HrdQT+!@Qa=2xzxT}HdpFmUZu1yre_FgW- z*x2`{^}TOAoo1&?jS&$MqG_y#1{QOT2Dd?LX-e&D?C5z+uY*XPin0+(zy&J**AJRU zcOBO7vk&BoRPZT#u82AaH3SKzSz6ml4a!hfxjMk%0%sgxRCWKb#7(SB%_v8)=i!xc z+n(oK+`&YCxi_92jX>rBfZXU22r)wJ2~2G>qOrJN)ilMyDRkbDiFD>;9r%v9HQ<1C$@G z&`M`YeyHC$EbjjZy?)oXg$Sv%#_6ZmQcM)mbbKE4_H-lqPdUJVd%aIgverP-&VGSHZcU zAUjQIEcf+JLAm&32<0$M7}u?x^lr_&db+KYF|7k4@w?a%12#DDw{2M`A_$W4H$wE7 zfgK+;mtJMTcyE}Rd2*@ z>s%%p7rE_L1{=J3l1z6TW&KP3H$2*x8R+gVt@$n8NE&A}yi-+#SQ7{1s0Eu=A*J55 zEZ;e=6v8yd1v~*+lgmY|hAX1KGN{0vpg#PPO2)Xw=gi)(OP42IY;pX(e+0yS{bH{+ zT0Q8b01&05cro#2%M*tU?bv@0Nl*v{kz}s!V%fYID@?@z2c($9QH+lC+4f165tCo| zoM>FY#tF(*&y0KmZJsasDYR9>SMHNl9sST?!CT1F({rKKnVz@$Gm8HBu-<3?dJi!m zFJD|x#^6N~F?lTO-6cJYX28alxhz#$xZ7M+u#w9;ZpUrc1=$eyfk-VD}xq?H&VFhRIt@7S1x1vHk?nQlH5madAl zZ-88!JpHo`9G4hvqROb}=*|3m>*}N|!u!RJ=c`MM`@__%tQdrzFZvr?4%G#G?k|d* zkLq;n4KCnPI^M)yw0ej!J;Ct!`@eUa1rH}a50)HKs+RGnmVI{p((Y<9_=BQ!1|cEe zZ)v)?<=d8WcAu-$FS=}lE_!;pV#91=y*p79VY_73@`L2oEeX^5MXTW?+L=~o%Xj<^ z6qQDu8L03QMdUS0QK}3~`5k^Q!;W2!(nAK&-aWRk@E@Q4HKhJ6EWDAok0xqG>dl_)X&ROz1M}p1wOnR}W6}C|Y*Tqm)d}X-`2`>+N`)QQw}1P2dc@ z)8NMxbXP#5UQpxLfS!d*<8D_Xj-JUXL&2pMN7Gmlvqr2!nn%7>I)A$V4a6|jQxkflIK)(|AV&>~dbkaOG$5kx@VFNt*DD7L89VHUu~8%1 zsP2;?CX(+wtYX2Iuej24p2n5+gs;E|DMIUUU)E35-5ZC!Kr zs>>{uK{_kk0uyHE-fi-gk^FJCpc2-*G3J-a9}1D8BL&wW5CDEjp7kU3%dSfu@i?45Cc*H9XJSgKx_nq;uL=N_-CK3G(B33 zDkQ!FXmI;f_N{2AhSc3tMq>-PmjOi5<+iu2yGxY?)omtiHbMxpX4OooSp=V4By|=5 zb~BwqP9>w5%QG8gqR2Wua%_MSD274&)kEqQ=&b0$Xqw19um0A!i~Lm!>M;8bxpPB36MuM_7TZCR?>uL|R#p%+)&$$rxscpxXj9PX-O*iCW;)yjQ5n8Q%2HMB1A- ztT~w@O+ekR(&G-v|5ppJ6W%qSe%iz~bSf{r$)c|~nzo({1)~#sWm*348Q*p-#Oi>l zCrt?@tsW1saN#rxk?7#IeZ>zKs+D`zJF

!#89 z$XlrcT6{z6V(iS@?xu$Lb)BuZGuB{;uCV`^n-P@X|AI9>et;I{X65T4{((rAll}(ZS!u>QB2&#or5O3%Ff|O4=wvC;&uP3aB0S+g>>%mE@%$9r~ zrP^s70yV+Q*$K7dbtFz{7U(k9UJ3D=n7TOahUFg|)Eq0nYqwSi{B^OcIo51xGkrUD z24~zX(c-XH{oAU-b=Rzl;<9|tl zk=>UnA(LxN)O$B%ZIcLp>nc?>sQMvf zv0aC<7t}e8QM|iSipIng^x-|)D~|oo)9iWU<<@fCU!fwNOX!%qfvWqLHhBG0l$ZxH z^xtXJ(cW`%x?t&zy+CxvaNKqW8HO}F_9&jN$jJ?u1;4bYn(wMjp`;qGHjefZmN#{@ zjh4yYaLSN=N*n#~M{o;Ff!^U*!gY$>%7JGS1)!Pd#k(N?`g`^7-z#DLLjzjeo%A!; zi-~#BTu2a1y1ItF7aPNYOWu}ANZD*oW^yZbz6eBSz0H6raJ3Y6fs*F>=jVkm+3bj! zFL#Ie`CFUYSFJN&R=w3&$>%=`-d?@s&u(|~-+o)aIt>dk^6c__K)zq`y;C}evwPwK zKIaOdHZmX|$`iVQ56~h1Qo_kseDc5bj~gN{Fx=dI*s)kP@}G8|u`z{TyM5r&2Zw(V};OAB`pN_hC+ zApCo$$W>Q2B&YDD%Z=f0qs>CCDwfaADshe)Rlfvid#n)oKT%x^ST^{jW!oF1TGpa% zidNtdUZJP?eZzrvy>v~?a*k;Ki> z8b`zNJAqG|Q7=&}45bLUxL+3yr{J`wr+HF-C1QgRObr*sGe(aJyR1Uq-)E$h$K5aA zKBmC6;zBG2UDdAXn3e3#CKSdqEAEu_(ph5--5Rt5l0)I1E1db%o;8rbM55}QB{uOq=j^scXLkD0-5WMlQWcHTDMp6uX< zG#lIe5!_}&sPNn?W^v2kcrCB%*-FV?CJB>;f1ESP`M7O zB6==K#zR&+hrFU5&fNxi^N-UD;P@9&d+^b>UNQ1S10J9*H5dF2nGO}!1D(m0RdiWw zrJ5bK5-jh6dGaHLhnd}rZz25cB}mTWcba9?o>-CsQURgn5e)2-o{7`EfYiU}7P8!( zY>ltcL!Qt*SIQ{^AWYeW*6xF9%$;PV9#v}~cr{Q!^~irdg{gyBz1Q@LQ+hhJw# zJ^a@vX18Eh745tSU?vdOhC4$1{JBcEF~NFX6%R1KAM}@P-4}l{c}0 zw-kG^^&-O)11JHm8#+u;L9f#4`dmq~pOZbuM-tgHNU2P(sGk=;4Nudswt}$sYuF8u z!B6NAx%7mFIvTr~RSnMWE_bzgf(#IVf*i!nivG8yrJNPVMPLDgBw%}iL+9-tT=dxo zBvyg|twx}AlwWEDub1Jp&?$X%vT^-&`E-t+P%~GQ{YR@Cp-&;tNsNO~Yy%o$Z)*j9 z;H9GEZEqTr=bt-E6+K*gU$A7?e#8&pbS>>8h?2y45yKza04}l#Y@$>f6vNC4DldLk z;>+zPoqd9z9^gi#q{ZjDMJBu7c7xpnNlKJ^{WgG;p}77A8v>G{xL}r4CwtFDXQ*Hw z_;Anv;&$?d=UzGcXtv3GR4W+5-KHE;&-pn7EC;C|q`)EMrl<%DUXGdH;ZtV+qeDSR zRP}MjcQ)~1?77w6Ifl1|i*W=$&lu=)p)CXrxD5w(+uoqIWp|H9TPs&XEmy92{T52?xSSn6TXt430tx2_C ztTU3(!^aNlQ^V-7JR!V~CDyj#Ko$@Rao%tFt(^TDsHJZy_>)G83q<3C7&Zn}!s7V# zCAakHHDCe=hAElDR#-dXV||YRk|jz~-GfN1ZTsm`G!1|Zk)oj(Pw+yMqxb2RPYv4S zp&7_&KWgO2oZBlFy3kR-{V6=X8*kVx){>7Yx}s;{{%4m`x%5JhA_xtCL`ZE>`HkvKA-kuXr8AiTl(^{ZhXRo^7%5%?0dcaL z!kUN2$7EKN;IvNvnxAqm7nNt3cD0Ke{JxKW6XqOG7)}-u@|u??4a#8Gt6p}E?UtK9 zjsL}0%0Sik5+F1MCi>kMUM{@PJ~&`u@tt&8Z4HYU%VU_?s0Td>%BP z&o;Nm8HRg9f*D7x_F>{vQ{+t0&L3fj0aKwHtj+wzyLa^Sy9B}{8=`~^Q&Bb zULFvPfYw(;hwY=Hwx4xf58lc;h%``B}puD zQy~fuJ$z-CbxzDfY`gtlEkFYZA|tvkA<%A_;TJy@guI9Ecjm*T06sPx9#0>Wd%3J7 zj{VaRh%0r{TS?KW)Ixp7ji^_7`$$>Y4;l(ZNz37RpXndqI8K7-`H;|H2ewv3wLN?i z;w$qc4~8ozk{D`4LRdw?$cV(OT?HF3BBcW-?nfrSrV!-1ubfa2^?(-+HmmK)YQldAMkuh_ z;;K1QN?Qta)y~0B%x)z>{R{#ShtbPV1=)Rw%4XX{pt78xs4MQ~P8F}{Z*dNP%bSwu zmJrYOATe9Yh)kVPMn^!HktlSC&CmOiulYR(sgM^g0jq)N{&;pTVX&rNFsXfCemqdt`sbl=R@ARYI9q1hKj~Om(I7$b6hOvNS)Of&`QS3#56h zV~tfhk{zJ>8IFxwGNh3>S9==WX(Xl_xe_8;b!W}*chpiZS8MfVvEmcIa4Svl1VtAb%#w+~B{8};b zq(iTH#P{RxOly?xVr+_ebRDFrExP^$y9{)N5e7a{U^f=`Er%e1Qtz7gt)h6dmOr%{ zJi6}GPYCx%v!x1k@!IKCtE2J_T=rw|Vp~~%@<#AQ8*ByasI~?H2jHL_n)Tb`3})IF zLyQwBLG64#6+f}TjPzz)iTw5W0kNEe_AJ+{na8F47ZpEQZjF0R>*U_jPdCf)tX`3~ z=iqK1?W#0GM!di3qO=ZC~QrX#-;E z@AUU)qP1H*j#QyN(?!Zn<{**}hfG^5z_NvUtjRX+Z8<+HcHG23mxaCvQsEg#h z_ouf|?i(hiYBiQi;{qp_81M2gXr08d6NRBB!xE=-t^;bkW=O50`e8fZ1aK4BHenci zS)nDF0CY6dZhDbfqaD6z3-LdruW`;16-TZFEFQiGcoFi3{y8C(%&9s2CaJFcaMgUn z_5#{3_G6GKnKpj7+?AD;b&$H!HrDO_fm>8uT_seNHu`xV$scs#j@hZ|xMJK$`{_9s zk?mk7s35&(Kp$V)DP8aiN~sCeAK#EU874X#2*S5 z?^JNpPw-1rk~^-(1-Z>fa7&uK-^T^P{B>`i*1;q`?j$Dr#&b@s`{H>+zm{HZnN>Vs z9#qQ$`(Xg_o%W9rA7scF66=c z`AFEwlIPDrz^sYyYjlBr=nEX*TDTsu#aKpYIGGn>^Qv3s^ilrkQtM4w@>FL8Wcx6c9oJttuCl}L@*_=getMgpDgvd4&I;!-b0C* z17Z(R@@_>3A_YMJo_T&7Hkqj8g9?8@DzKFH28gOYV8s8)8vc;QVKujTkGS;jAN}0!HY^JyAc%f`b%yP^z1$Z0q1Z7E zuz*D^!aXm;5&kxq>fMPw^&BTj%tw5qS1~#KTg30sb2E#5f`H!R_}K8lp!{as>pSCj z_h1HmT5LX8Seh5sK>1GM;qPa0!d3=_#h0pO?&3v$ic^%?!D_qbayKi5=}lLsCui97d4O+~)jFh}M3zkXk8wpYPdSab@fK%8lJw~va9 zY(45|Y2lYwRIEq?NIg9ZulCF%ac|UV%D-i=p2S{JDSop7{si^>9cb(qU{@#yE;w!D zB5xu~ODR9irzy%~E258@YRs-Lj2o$asT6<}>&dk5io_7U2RL;Xb8|Vu;zeEwb#-;M z(Ntt&-+emQ)fgR&MITh)_1LWofhI>0r`Tb;4PS<%;iNZiA1`jq+ugTVP7Sr|mV9MqB{-1!iSg$Re@3}C1 zr-9%0kxUMS)G7fq;a%ELX*lIG#tFOV`x(BJJc%b>)4vW8p!ogDN+=jqR_lspeFQ)d z0xB6Y9S%_`K%&xyO4w8=#U=aXqjG{zDvgZbiCmHR=5;^f&;Bp2x>^m)keJP01oDBs zF>`17qM{-O78XgU)PDTs-5+MHC9!J_=mP+yb$yX9194nC!?cKH;Sj7+&)ySiA0%rhh^I{KKU@2`DVTYb$(GXc!dCs43(AKwEg^2zpXZS6~zu}aXauPT+tSA?Xy^-Y+}cdYfC z@BkrP`Du|?ljgs}ZqBZTHO6x`4qIpIveoAW>UIrO_@`OgS0mq>Pcg)N=tADN6;0ot z&e}1`%E~^hN~Q+kh|7f<2fA2ksH*!m3veto#Vs+Fxy?Exu3I_)h7mIBLsirw*(friZ=^p5M( z;q^and!&7lIP~n+e`zZ8o6%o+SSItQQ$m&Z_UG-WyFc)Jg2X)aGk0usPzxjet$;t! zN`{RWSJ$8a1nLTV#N&{SF@%W|g5&oKlINO{&tQc_?%=((#g5lk$or4QKVTj_Hm(=}BXG%b3aYN#x90V?|lsjZl5YGVky0Wdoz@ zuk-Ep*W~s2WxvyWA6MJ8j_&|efNB3Cgv&GjwvsVlKF_4GE@)A;( zh1UsM>Hv~9I=TfiPVQ)G2ZIHm{3*6*hyCU2>M=q$TnH<;OZ=f1(f zW-*Eb>Dby4NgYoBB^dwM4{E#Pm#4LXKPP(>U(rQX_ytWf=p8;bydF;%37kF`=-XDE z4CSPtEtC5bj*;9&GC!3isZ2}csaM09#s`~rCghbmcd1%#J|88?flp;)e8H06dRjDT z%GbrQJ*%RM$~R6v2O@o@;%FML%`$=mr|A5N?=q0W=UT9Jr%-$7Tz;&gJR_o`WBS`e z(+QeG5W5v&7o?th|1w7qr_@tXvCQ_OJg`yY51#yUNhJ^)&tZ)oyvqGr6eG1qQh#+j zm!UCzV#e`?Qw8M^dIfx2S0_D}=Hc7`IR&K~=h}hZPHLA;Nsn_@Zx@Ee7}WisFJn&8rx*sGYE0?wG>3*ZHa2MSfFFtVH542+pFt zSGC(thbJ&XtjLeV;>nm@wik&svDDz`((gF%iCz&J%!)O!Qs@|ObN%@H@h}C4&zaL3 zWQDHE2ka6}ACMxZZ>)-Sj`tquKaW>`__A7j)qX7G!s5BD1YSHj=bg7w=I?J}k{gbZ zj!ZWrK*|U#j$9(`)F2D`Qx*&s+W3L%9XoZP1Mi@ILa?b*4z$2xa=X#NI zl3!Yn$QEx0ox4$vCmRi9b>Y{x{pr<3eifTm_E;ry$g>YFD!H+wqndVFVP$$VGojnM zw%CajW>@IyZEdsg-74ZawCa&Jmc%R*)0np~WP_Gl{xa6zs`zt3cdXLS2;A)boTxjd+97}KXv@+4{GMklS8b9cDA4* z6}s5b55OA~gb4=`E-co*aKcEFyz;=Vz6#km2-@y@P*~4F?OAPxGk%h2emWsp7k05N zN#K)!h^%gnp2VgXot<635_yxPId=f4adpE)n_m@UI~k#A84rkrQCa_U-~B36fl{eJ z`e2hKh9WU9A&rz2+gw>Ll()&wb%arjVFh?2^$=M3wt%rsHQp5fAT}SmKcASkX_^}! zgj}Wv6Ml|!EWuWM)Qp(myr$hpI`V>tqah=XIBr!q{h;KYn$!{I<}IV>GnM z#bx|ZkHO!B2I~(<1MM5kM3K;PwZ^aIwMhaebHLi0=-?_Nh!n=Y)h7#4N=3-fWa965 zw5&>XmyyJx?fojm78TJQw15y@u5QfKK(_{{jTn;CH-lR4z!7j!28DIll~Gtp2$5v=MysbyO@Q zdtagU!6VZ2B~e^Mxl95vsZPWxM*L^+5Szy*qo!aUs5g@A7VQa6FTNgUs$G*jx+tZH z^q0QP!|e{J#X)UJcrt6DGbK%`Ge@ksg_(FEM|20bpylO?oya&O+40p6l_Q_y{t*Ay zF#*OHNA@{i&7ke6fZIpqeRdiNcuyZS)}6&fnPVz|enOBvY>e=4l!K>j4+oj=Loe~5 z??R=hz>6rnCEDhNTr zxe>c}`GRxrQszaY9lI`+V%G(u`H!t=D_4!z0VvQ4nm-usq7pKie~P_qtrr3e8auUGFA!HXBQk#zQanSv8VR;1^ckfk>}_T`$2v-BpqV6+DWNV!}Y z#~m};ge-$iI0WDXICcX5mQ$GA)hQcdT}Emuj}uWXAVph$3D==zptLK`(AjLKwmOr& zd5DZh=WrjUi1d|p3iU-?Q(q_|{ounhz-B|iBafB}r%um_*t6?@STj5sjD=&&rU{L zghSxM!G!Q2Dc>T(U)qKTS_(w1%?=^bXrnNLUGQ(>!`s@0$b>t>eSA7J@nIc8eenP7 zoqJf6RUXH`=bae_P(XpfbWO7~xAI!+z0%ZrcC`o-5bIg3wA^wvZL@8+&1!dRpDo?p zG_i|PhGq_42#ua7Q&%x2ML=XhGxLUW8-}^P_xGIr19;2}D$KxKn9o1Mz`UIAJMa5_ z&N=V-o!_s2w=mq=-H0xRmcMq_U;ie`d3n2H^Y=|90K@i&A|Y@kAY?vLvh&(}4xJRg zHDS%5p)-v4j7^VDPjAy@4ZIR|7{493ipcI+!B$Bq2ht zkB`)Iap5||N9fTz%77ap8((`w>Y?XafBD5NTd8~5veVS*7@Sa6b|Hu%D`^54%V-*w zhJqVff!~_YI%v?1tZP(x-2VJ7Abu;;>!_5$DK~bAf=VH37kiNa=w@u(;1Q-HSM9O9 zuC1a1_F1#-5cn}ytfXX4TmuFtX5{!$d1?R0ukY@<(PK`7>?Q`bTM#HD8nQDTMSVR@iVl_N;J$!b2Ga$&2*$>#}z+hPKg2JQV^se z<@5a=EHPm5%lTF_Oq9&>x4YV$sky6xL*Hlv{&}zlv%frzq8b6W#Ts#-ipOjFt5Gk6 zBGRr0YPG^XYqp!YUGrKrAONIh*+JMMFuV_QO5o&|^)Y^JLTJhkDKF2XHK$2^qOf8@ zFWeXvhKhO-+kbMRR#36#f!>%qI3TB+9SRc!*q@#!KoFOkii@wEIXfk1D?p9`vUgKj z1TlVX!uYVT{j{>uKx?lr{<qbUtJyLFs!SIAu=Pl}dPzvV@OPsW_ za!cHI`LAC8f%1F+&tUUImk0lbddSQ0YZH>fLWNPbQOe2jxN>U07$bh&FA4=!ZU~)f zqfFazEq#?&i;DNfSqf&i>cG_8DlqmkD7O~oluJ^QNY8jtVo>1MCIkSc${WRP*&Yo^ zkJ%*To^T-AsKWz&qw%Jt8vnBfU`6B(gil{BNjrC*kYq8r#jQzKBQ@tEfH=V9`4|13 zU?H|n3;x=bt-$Y1Xeuq;r&U+0+Nri>w6lsD@=iHXQY+v;<9lK0=mby(yk1ZZUJb<+ zUkQHoYDrkPu1a$`C-*8WY+K|H0fUC8LGUuROmD2`u`#h17`YjW_MkWQ20DIkLIO}G zODlzpk6WGCskBbS+Xri4K59oo7X$PhL1DFk+vCHrzmmtiZz@q9>Jcx({q{0h`1q5v ziXxBjxRUP7?2{nmEoka00Dzv200;#kGrgfTSn%t0!e-77A8s-j!hVe1^=%Z1^!o0m z5KZu_Rw?`^nP*f*9^JF3$g`(m&6rbkfbty(dlwoR3LRYx5CJT#J5sa!rbeJI@w=3V zSE6T8QElCbk>5zUxl_WEla0RC6O0HM8LE)Ep^ix6y**1x+HOE|(l7w8foUhek$q65 z0_eybFyw(_wP1t*P(YLk077x52!P>eGa4^1=U2YVgNEjD-bPrPA@c8iP(uXw$oP_y zN{{|oYIZR=?IjTIF#wyPCqDq#1qL?=xxMLAQ21og5<%R$wTSWVVIKE@m-1*%HM&Z70%RwED?DLk25e3o?$tH} zlz=j!skC$txF<}M)n^8EWyP+ zq5+IcYuB~|gn%<)kFv57NK&>tJw24qq?Krum9VGHY|u`f`7q96nM1O&I&NH_nzI@l zeGC^Fk^KT&9_ig-8vK-iGa&#liF-*hXX&(`I!EPdZ=hH#tRZ!Vi`G;xG8Gm6fuQA` z`|U>Z_H2OM2LgLjDRKjt+UcWb0@8%0^1|~>mY#JiSm=NnipIVwl*0Y5e=Ckfi)%E8 zeO!ET@j9RCNzMKqgpLM7Ef_O^;whi%@dEcgv?AyDJ<;xp_QMb z9Y2nSlvJlucyL>s({W#PMTLJ=7Jf9R8pJ*jKrsyNiN2N-!UJjs55Bi<>^O&3UClx; z#wcaNh7EGvh>`Z%VZ$Ev_4T_dUc_J&T zVk3-yCcAeB))Omp;u3(&1#l|>85|pp@wKKlV@`S;U>`NT zJBkQ;Cm!0~xUOhU>mEJs|gER};kzLZjkW;3%* zeNa&H_kW~G(k%gPzzgI9Pyh@B&%NVoF&#nBm=FL496v7Es;kD!`}Xd%KRHKauHdZD zrIwVymNZS|SEV1IF6WT=1C~WM96lTzCreNaLjKb9^IU97^1M>4pA%Fj1R9MP%W;Wn zMfn!{6Hhp3ZJncJ0*Z1+o9#GdiKH?6|LWd7b3!w*l+~01);; zu!ptH-O^1uu z_$2hKBOqYV*en260I|@tOi*1=-m5^6nh*d8z~U_huMk^(qT|_T8~D}l$xs5TrY93c z2y51e_4hyE7B+6oWKOle$@1Oen6k3q4_=>{a}I>gX?iySga&O!@1QkdGjT_be60z> zFNO6Ra_b*X;+3KzUrV|sw5kgHJ1eC6iIbfChaYa&c=wQaOTm+-^1}1J*4Ckz-QBDf}<8+ zOKC5HX0g7tSo@EPM!aq@`uVJj{+^Yz2#h`+jEnW1)`ZP4fU6rc>^IyErUle) zA8!~um>MTfiZqNJ3tiv7o;RRrP|GWzloUfLu(*^%hd40iVjTGtPG_d+@Zm$AHxeR{ z>GUT2Ip^-WE7BmT6G?pB3@Gv>sA_lJfB~}Mw%d%{O*a{Jy?cY}-mS5>ytITjrJz++ z(9TwZo;|CnCr-GvlP5K;vNDqE(&Ze}wB2ZMd`tDjl2BaygKy3-gg+88;Z>*|I53KZ zhYy9u29lVlK?Gzd;dBWAi-4{vN}MqUN-3k7LUj5XM!1u(+sYZGC#lAr*1~l~?Ve02 bL_qU@NCh<<{&8Bs00000NkvXXu0mjfk3c>M literal 0 HcmV?d00001 diff --git a/IoT/SensorNode.adoc b/IoT/SensorNode.adoc index 17c2840..f62a4a5 100644 --- a/IoT/SensorNode.adoc +++ b/IoT/SensorNode.adoc @@ -138,6 +138,121 @@ image:./piandrroll.png[alt="pitchroll"] +== A real AHRS system + + +=== Loading the AHRS Sketch + +.AHRS Sketch +[source,c] +---- +#include +#include +#include +#include +#include + +// Create sensor instances. +Adafruit_LSM303_Accel_Unified accel(30301); +Adafruit_LSM303_Mag_Unified mag(30302); +Adafruit_BMP085_Unified bmp(18001); + +// Create simple AHRS algorithm using the above sensors. +Adafruit_Simple_AHRS ahrs(&accel, &mag); + +// Update this with the correct SLP for accurate altitude measurements +float seaLevelPressure = SENSORS_PRESSURE_SEALEVELHPA; + +void setup() +{ + Serial.begin(115200); + Serial.println(F("Adafruit 10 DOF Board AHRS Example")); Serial.println(""); + + // Initialize the sensors. + accel.begin(); + mag.begin(); + bmp.begin(); +} + +void loop(void) +{ + sensors_vec_t orientation; + + // Use the simple AHRS function to get the current orientation. + if (ahrs.getOrientation(&orientation)) + { + /* 'orientation' should have valid .roll and .pitch fields */ + Serial.print(F("Orientation: ")); + Serial.print(orientation.roll); + Serial.print(F(" ")); + Serial.print(orientation.pitch); + Serial.print(F(" ")); + Serial.print(orientation.heading); + Serial.println(F("")); + } + + // Calculate the altitude using the barometric pressure sensor + sensors_event_t bmp_event; + bmp.getEvent(&bmp_event); + if (bmp_event.pressure) + { + /* Get ambient temperature in C */ + float temperature; + bmp.getTemperature(&temperature); + /* Convert atmospheric pressure, SLP and temp to altitude */ + Serial.print(F("Alt: ")); + Serial.print(bmp.pressureToAltitude(seaLevelPressure, + bmp_event.pressure, + temperature)); + Serial.println(F("")); + /* Display the temperature */ + Serial.print(F("Temp: ")); + Serial.print(temperature); + Serial.println(F("")); + } + + delay(500); +} +---- + +=== compile + +- Compile the sketch, +- open up the Serial Monitor (Tools > Serial Monitor), +- set the baud rate to 115200 + + +.output +image:./sensors_01_AHRSOutput.png[alt="AHRS raw data"] + + +This raw data shows the main orientation data, consisting of 'roll', 'pitch' and 'heading' (or 'yaw) in degrees, followed by the current altitude and temperature + + +[NOTE] +==== +The AHRS sketchs reads raw data from the board's accelerometer/magnetometer and converts the raw data into easy to understand Euler angles. + +.Euler angles, one of the possible ways to describe an orientation +image:./Eulerangles.svg.png[alt="Euler angles"] + +The first attempt to represent an orientation is attributed to Leonhard Euler. He imagined three reference frames that could rotate one around the other, and realized that by starting with a fixed reference frame and performing three rotations, he could get any other reference frame in the space (using two rotations to fix the vertical axis and other to fix the other two axes). The values of these three rotations are called Euler angles. + +.Tait–Bryan angles, another way to describe orientation +image:./Taitbrianzyx.svg.png[alt="Tait–Bryan angles"] + +These are three angles, also known as yaw, pitch and roll, Navigation angles and Cardan angles. Mathematically they constitute a set of six possibilities inside the twelve possible sets of Euler angles, the ordering being the one best used for describing the orientation of a vehicle such as an airplane. In aerospace engineering they are usually referred to as Euler angles. + +[More info]https://en.wikipedia.org/wiki/Rigid_body_dynamics [More info]https://en.wikipedia.org/wiki/Euler_angles [More info]https://en.wikipedia.org/wiki/Leonhard_Euler + +==== + + + + + + + :hardbreaks: {empty} + diff --git a/IoT/Taitbrianzyx.svg.png b/IoT/Taitbrianzyx.svg.png new file mode 100644 index 0000000000000000000000000000000000000000..e61ed42e063c5e60e74780372b12a82d4e1490a8 GIT binary patch literal 17632 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 literal 0 HcmV?d00001 diff --git a/IoT/sensors_01_AHRSOutput.png b/IoT/sensors_01_AHRSOutput.png new file mode 100644 index 0000000000000000000000000000000000000000..8bd88ab54da69ddca5800080d8e870258f72686f GIT binary patch literal 21756 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 Y{Qm>4eS1_53{X06V}GXZ)V16H1+bP|W&i*H literal 0 HcmV?d00001