Tad nu par visu pēc kārtas.
Ievads
Tālajā 2011. gadā iegādājos 2001. gada 9-5 SE ar 3.0 V6 motoru. Tik tālu viss kārtībā. Tā kā esmu liels mūzikas cienītājs (viens no tiem, kas 99,štrunts % laika pavada ar austiņām virsū), ātri vien sapratu, ka ar CD nebūs aršana. Tā nu radās doma, ka būtu jāinvestē līdzekļi un jāiepērk kāds AUX risinājums. Tajā laikā vēl biju pilnīgs zaļais gurķis un neko nesapratu no tā kur slēpjas maģiskie zilie dūmi un kā un kas notiek SAAB'u elektronikā. Sākotnējā izvēle krita par labu SaabAux. Kad modulis atnāca no Zviedrijas, izrādījās, ka tas nestrādā uz 9-5. Spaidīju pogas kā nu varēju, bet studijā pilnīgs klusums.
Atceroties Blēza Paskāla klasisko teicienu, ka patiesa vērtība ir tikai paša darītam darbam, atrotīju piedurknes un sāku pīpēt ko un kā varētu izdarīt pats, lai tomēr varētu pielietot savu iIerīci mūzikas atskaņošanai. "How hard can it be...?". Parakņājoties internetā iepazinos ar vīriņu no Ziemeļkarolīnas, ASV, kurš ir specs dzelžos bet ne tik ļoti liels specs softā. Pats arī neesmu nekāds hax0rs, bet nu pāris "if" un "else" māku uzrakstīt. Tā nu dzima projekts ar nosaukumu "BlueSaab". Pusotra gada laikā, ar dažādu "radurakstu" pieminēšanu, n-tajiem prototipiem, iterācijām, negulētām naktīm un neskaitāma daudzuma izdzerta alus litriem, izrakāmies cauri visam SAAB I-bus'am, iepazināmies ar CAN un Bluetooth un nu CD čendžera vietā var piespraust mazu, melnu, uz ATMEGA328 mikrokontroliera bāzētu kastīti, kas izliekas par CD čendžeri, bet reāli atskaņo visu caur Bluetooth no iIerīces/Android.
Šajā lauciņā, kā vēlāk izrādījās, neesam vieni. Arī SaabAux džeki uzcepa savu Bluetooth risinājumu, kā arī visiem labi zināmais JohnC jau bija priekšā ar gatavu moduli. Respekts un uvažuha.
Jauns gads, jauns autiņš, jaunas idejas
Šogad jau minētajam 9-5 SE uzradās līdzgaitnieks 2006. gada 9-5 universāļa veidolā. Jau pērkot autiņu man bija skaidrs, ka klasiskais BlueSaab uz tā nestrādās, ibo jaunākajam autiņam viss ir uzbliezts "под GM", kā arī CD čendžeris ir iebūvēts galvā. Plus visa, mums interesējošā, komunikācija ir balstīta uz viena vada GMLAN pretstatā SAAB I-bus, kas principā ir divu vadu CAN buss. Tātad, "challenge accepted".
Uzbrukuma plāns bija apmēram šāds:
- ATMEGA328 čipa vietā izmantot ko nopietnāku. Izvēle krita uz STM32 ARM bazēto čipu ar iebūvētu CAN kontrolieri
- Izmantot XM radio moduli kā piekļuves punktu GMLAN'am un eventuāli izlikties par XM radio moduli
- Pielodēties pa tiešo klāt XM modulim un sākt logot tā komunikāciju ar pārējo mašīnu
- Uzbliezt kodu, kas emulē XM radio komunikācijas ar mašīnu un tīri teorētiski mums vajadzētu būt biznesā
Jau pirmajās pāris dienās pēc lēmuma par jaunā projekta uzsākšanu, dzelžu vīriņš bija uzbliezis dizainu jaunajam modulim, iedevis man caurskatīšanai un pasūtījis plates no štancētavas Oregonas štatā. Paiet vēl divas nedēļas un manā pastkastītē atnāk pirmā plašu partija (štancētāji parasti mazāk par trīs platēm neštancē).
Tajā pat vakarā salodēju virsū visas komponentes, saslēdzu visu pie barošanas bloka un .... BOOM! Dūmi, deguma smaka un visi pārējie pribambasi. Pārbaudu visas lodējumu vietas, detaļu orientāciju (man parasti veiksmīgi izdodas pielodēt, piemēram diodes, nepareizi). Viss itkā kārtībā. Pēc pāris dienām pavadītām drudžainā debugošanā un sarunām ar dzelžu vīriņu, no vīriņa atnāk SMS ar tekstu (pietuvināts tulkojums no angļu valodas): "Oi, joptvai! &*@£^$@*&$^$$%!!!! Paskaties uz skrūvju caurumiem stūros!!!!" Ha! Kā redzams, štancētājkantoris, savā viedumā, ir izklājis ar varu arī skrūvju caurumu iekšpusi. Tādējādi plates augšdaļa (zeme) ir salaista uz īso ar plates apakšdaļu (3.3V). Nav jau brīnums, ka maģiskie zilie dūmi spruka ārā!
Šim visam seko e-korespondence ar štancētājkantori pāris dienu garumā un rezultātā tiek uzštancētas un atsūtītas jaunas plates ar novērstiem defektiem. Lodējam visu atkal virsū un slēdzam klāt pie barošanas. Šādi tad nu izskatījās pirmais pabeigtais prototips:
Tālāk nu ķēros klāt pašai ķēpīgākajai daļai - saprast kā un kas notiek pašā mašīnā. Mēģināju piekļūt visam dažnedažādākajos veidos. Gan ar šādām palīgierīcēm:
Gan ar šādām metodēm:
Rezultātā nostrādāja trešā metode - Logic8 loģikas analizatora pielietošana. Respektīvi, slēdzamies pa taisno GMLAN'am klāt, klausamies visu, kas notiek un tad strādājam ar veco, labo MS Excel, lai izfiltrētu mums interesējošās komunikācijas un saprastu kas, kur, kad un kāpēc ko sūta. Šīs metodes izmantošanas rezultātā nu ir uztapis pirmais prototipa kods un beidzot arī šajā mašīnā skan mūzika no iIerīces.
Turpmākajā plānā:
- Izfiltrēt un piekodēt stūres un galvas pogu darbības
- Piekodēt audio metadatu informāciju - lai smuki rādās galvas ekrānā
- Pielabot Bluetooth bugus