Karácsonyra megleptem magam a címben szereplő drónnal. Borzasztóan élvezem azóta is a használatát, hiszen mindig is szerettem volna egy repülő bármit, az meg egészen lenyűgöző, hogy egy 4K-s kamera is van rajta.
A benne lévő akkumulátor sem egy egyszerű mérgező massza két kivezetéssel, hanem egyenesen egy Intelligent Flight Battery található benne. Azért nem kell túlmisztifikálni, ez egy 2375mAh LiPo S3, egy mikrokontroller és pár apróság. Összesen három akkumulátorral vettem meg a csomagot. Az első repülés előtt firmware frissítést végeztem és nagyon szépen repült az eszköz az első akkumulátorral. Ellenben a másik kettővel 60% körül hirtelen 0%-ra esett a töltöttség, és jelezte a drón, hogy nagyon le akar szállni. Szerencsére ez nem okozott gondot, mert életem első drónozása lévén egy teljesen sík, nyílt terepen próbálkoztam.
Utána arra fogtam, hogy biztos a hideg. Az előtte megnézett 250db drónozós videóban azt mondták, hogy a hideget nem szeretik. Pár nappal később újra repkedtem, és most semmi gond nem volt, pedig legalább ugyanannyira hideg volt, mint az első alkalommal.
Most a legjobb tippem az, hogy az első akkumulátoron friss firmware futott, hiszen az volt benne, amikor frissítettem, illetve utána újra is lett indítva (igen, az akkumulátor) teljesen. A másik kettő csak beleraktam, és már repültem is.
Logok
A fentiek kapcsán meg akartam volna nézni a logokat erről. Erre a DJI Assistant 2 szoftver szolgálna, ám a korábbiakkal ellentétben a Mavic Air esetében csak arra hajlandó, hogy titkosítva becsomagolja a naplót és utána esetleg (?) elküldje ezt a gyártónak.
Ezután szépen lehallgattam az USB kommunikációt, ebből már látszódtak érdekes dolgok, például ezt:
[L-BATTERY]battery app version: 1.72.4.3
Sajnos a korábbi verzióra utaló infót nem sikerült elkapni, viszont találtam egy XML-t, amely leírja a firmware-eket.
<dji>
<device id="wm230">
<firmware formal="01.00.0500">
<release version="01.00.0500" antirollback="3" antirollback_ext="cn:3" enforce="0" enforce_ext="cn:0" enforce_time="2018-09-25T02:21:09+00:00" from="2018/09/25" expire="2019/09/25">
<module id="0400" version="00.01.06.65" type="" group="ac" order="0" wait="0" size="328384" md5="fffd295d1ee001d66ac18aafc9fed449">wm230_0400_v00.01.06.65_20180312.pro.fw.sig</module>
<module id="1200" version="01.02.01.01" type="" group="ac" order="0" wait="0" size="27648" md5="1f4c44446003b7d1a2bc6902e132b3b3">wm230_1200_v01.02.01.01_20171207.pro.fw.sig</module>
<module id="1201" version="01.02.01.01" type="" group="ac" order="0" wait="0" size="27648" md5="f90c263fc8d877007f7e6731237ec9d2">wm230_1201_v01.02.01.01_20171207.pro.fw.sig</module>
<module id="1202" version="01.02.01.01" type="" group="ac" order="0" wait="0" size="27648" md5="218e463179fe0d9c565a48371cf988de">wm230_1202_v01.02.01.01_20171207.pro.fw.sig</module>
<module id="1203" version="01.02.01.01" type="" group="ac" order="0" wait="0" size="27648" md5="af4eb2c7826016ff2997acb9647dcf2d">wm230_1203_v01.02.01.01_20171207.pro.fw.sig</module>
<module id="1100" version="01.72.04.03" type="" group="ac" order="0" wait="1" size="89696" md5="cbca04b0bb70ce50633b18f4ec1cec4b">wm230_1100_v01.72.04.03_20180212.pro.fw.sig</module>
<module id="0801" version="10.00.13.03" type="" group="ac" order="1" wait="0" size="127789600" md5="81b42b42c27fbb6f3740ba74ddb65426">wm230_0801_v10.00.13.03_20180920.pro.fw.sig</module>
</release>
</firmware>
</device>
</dji>
Ez egyébként pontosan megtalálható a firmware package-ben is, csak akkor még nem voltam járatos azokban a fórumokban, ahonnan ezek letölthetők. Látszik mindenesetre, hogy a 1100-es modul verziója ugyanaz, mint amit a logban találtam, tehát ez lesz az akkumulátor firmware. Ami érdekes, hogy van ott egy wait flag, aminek az értéke 1. Azt feltételezem, hogy ez azt jelzi, hogy újraindulás után jut csak érvényre. A firmware maga titkosított és jelenleg még nem került ki a kulcs hozzá (mint ahogy sok korábbi formátumhoz).
Kommunikáció lehallgatása

Ettől függetlenül érdekelt, hogy milyen adatokat közöl az akkumulátor, illetve egy esetleges firmware upgrade-nél lehetőség lenne a firmware feltöltésének lehallgatására is. Az akkumulátoron 10 érintkező található. Ebből a négy szélsőnél az ellenpárokon hosszabb a pin, így feltételeztem, hogy ez lesz a föld. Így is volt, multiméterrel nézve, ezek össze is sípoltak. A másik szélén található négy szintén, tehát ez a táp. Marad a középső kettő. Sok minden nem lehet, de azért első körben oszcilloszkóppal mértem rá. Rögtön ki is derült, hogy ez bizony I2C lesz, miután látszódott, hogy ez egy 100kHz-es, 3,3V-os open-drain jel.

A további méréseket logikai analizátorral végeztem. Egyelőre ott tart a dolog, hogy az 0x16-os címen megy a kommunikáció és néhány ismert tartalmú regiszter (pl. serial number) látszik.
Folytatás következik.