{"id":31101,"date":"2019-10-31T21:39:28","date_gmt":"2019-10-31T18:39:28","guid":{"rendered":"https:\/\/prohoster.info\/blog\/pishem-ota-zagruzchik-dlya-atmega128rfa1-v-sostave-ustrojstva-smart-response-xe\/"},"modified":"2019-10-31T21:39:28","modified_gmt":"2019-10-31T18:39:28","slug":"pishem-ota-zagruzchik-dlya-atmega128rfa1-v-sostave-ustrojstva-smart-response-xe","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/pishem-ota-zagruzchik-dlya-atmega128rfa1-v-sostave-ustrojstva-smart-response-xe","title":{"rendered":"Vi skriver en OTA-laddare f\u00f6r ATmega128RFA1 (i enheten Smart Response XE)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Vi skriver en OTA-laddare f\u00f6r ATmega128RFA1 (i enheten Smart Response XE)\" src=\"\/wp-content\/uploads\/2019\/04\/c3c47048a601bcd0a79b44535de2f36f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAllt b\u00f6rjade med att f\u00f6rfattaren k\u00f6pte en intressant enhet p\u00e5 andrahandsmarknaden \u2014 Smart Response XE (<noindex><a rel=\"nofollow\" href=\"http:\/\/downloads.smarttech.com\/media\/sitecore\/en\/support\/product\/smartresponse\/smartresponsexe\/specsheets\/specsresponsexev18mar13.pdf\">kort beskrivning<\/a><\/noindex>). Den \u00e4r avsedd f\u00f6r skolor: varje elev i klassen f\u00e5r en enhet som liknar en elektronisk anteckningsbok eller en \u00f6vers\u00e4ttare fr\u00e5n nittiotalet, l\u00e4raren st\u00e4ller en fr\u00e5ga, och eleverna skriver sina svar p\u00e5 enhetens tangentbord, som s\u00e4nds via radiokanal (802.15.4) till en mottagare kopplad till l\u00e4rarens dator.<\/p>\n<p>St\u00f6det f\u00f6r dessa enheter upph\u00f6rde f\u00f6r flera \u00e5r sedan, och det som skolor k\u00f6pte f\u00f6r 100-200 dollar styck dyker nu upp p\u00e5 eBay f\u00f6r 10 eller mindre. 'H\u00e5rdvaran' d\u00e4r passar verkligen f\u00f6r n\u00f6rdiga experiment:<\/p>\n<ul>\n<li>ett tangentbord med 60 tangenter<\/li>\n<li>En display med en uppl\u00f6sning p\u00e5 384\u00d7136, 2 bitar per pixel \u2013 liknande BK, CGA, men 4 \u00e4r inte f\u00e4rger utan ljusstyrkegraderingar<\/li>\n<li>mikrokontroller ATmega128RFA1 (128 kB flashminne, 4 kB EEPROM, 16 kB RAM, s\u00e4ndare\/mottagare av standard 802.15.4)<\/li>\n<li>extern (i f\u00f6rh\u00e5llande till mikrokontrollern, inte hela enheten) flashminne p\u00e5 1 megabit (128 kilobyte) med SPI-gr\u00e4nssnitt<\/li>\n<li>fack f\u00f6r 4 AAA-batterier.<\/li>\n<\/ul>\n<p>\nAv namnet p\u00e5 mikrokontrollern framg\u00e5r det att den tillh\u00f6r AVR-familjen, vilket g\u00f6r det mer \u00e4n enkelt att g\u00f6ra en enhet kompatibel med Arduino...<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Fr\u00e5n nyheten p\u00e5 <noindex><a rel=\"nofollow\" href=\"https:\/\/hackaday.com\/2018\/07\/22\/classroom-gadget-turned-arduino-compatible\/\">Hackaday<\/a><\/noindex> fick f\u00f6rfattaren veta att detta <noindex><a rel=\"nofollow\" href=\"https:\/\/community.arduboy.com\/t\/smart-response-xe-re-purposed-into-arduboy\/6094\/\">redan har gjorts<\/a><\/noindex> (i samma l\u00e4nk f\u00f6rklaras vad som ska kopplas till var), vilket ger m\u00f6jlighet att k\u00f6ra spel f\u00f6r Arduboy:<\/p>\n<p><center><div class=\"youtube-placeholder\" data-id=\"6VqPGFtIT8Q\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/6VqPGFtIT8Q\/hqdefault.jpg\" alt=\"Spela video\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><br \/>\n Men f\u00f6rfattaren \u00e4r mer intresserad av m\u00f6jligheten att inte bara spela p\u00e5 enheten, utan att studera:<\/p>\n<ul>\n<li>flashminnet med seriellt SPI-gr\u00e4nssnitt<\/li>\n<li>bootloaders f\u00f6r AVR<\/li>\n<li>standard 802.15.4<\/li>\n<\/ul>\n<p>\nF\u00f6rfattaren b\u00f6rjade med att skriva <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/bitbank2\/SmartResponseXE\">bibliotek<\/a><\/noindex> (GPL v3), vilket m\u00f6jligg\u00f6r att initiera sk\u00e4rmen, visa text och rektanglar, samt f\u00e5 tillg\u00e5ng till flashminnet med SPI-gr\u00e4nssnitt. Sedan b\u00f6rjade han t\u00e4nka p\u00e5 id\u00e9er f\u00f6r praktisk anv\u00e4ndning av enheten: en fick VT-100-kompatibel terminal, multiplayer-spel. Efter att ha modifierat tre enheter best\u00e4mde han sig f\u00f6r att 'l\u00e4ra' dem att ta emot sketches '\u00f6ver luften'. Det skulle vara b\u00e5de intressant och mycket bekv\u00e4mt: det \u00e4r sv\u00e5rt att \u00f6ppna enhetens h\u00f6lje varje g\u00e5ng, och under batterifacket finns bara h\u00e5l f\u00f6r att koppla JTAG-programmeraren till kortet.<\/p>\n<p><img decoding=\"async\" alt=\"Vi skriver en OTA-laddare f\u00f6r ATmega128RFA1 (i enheten Smart Response XE)\" src=\"\/wp-content\/uploads\/2019\/04\/eb928013737c34e50e6a49e7d41d5bd7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDetta \u00e4r tillr\u00e4ckligt f\u00f6r att ladda upp bootloadern f\u00f6r Arduino, men inte sketcher \u2013 seriellporten \u00e4r inte utkopplad, s\u00e5 utan att \u00f6ppna h\u00f6ljet kommer man inte undan. Dessutom \u00e4r TX0- och RX0-linjerna f\u00f6r den f\u00f6rsta seriella porten ihopkopplade med linjerna som anv\u00e4nds f\u00f6r att fr\u00e5ga tangentbordsmatrisen, det vill s\u00e4ga de som ocks\u00e5 anv\u00e4nds f\u00f6r att fr\u00e5ga funktionsknapparna p\u00e5 sidorna av sk\u00e4rmen. Men vad ska man g\u00f6ra \u2013 f\u00f6rfattaren har konstruerat det h\u00e4r:<\/p>\n<p><img decoding=\"async\" alt=\"Vi skriver en OTA-laddare f\u00f6r ATmega128RFA1 (i enheten Smart Response XE)\" src=\"\/wp-content\/uploads\/2019\/04\/8989f4057806b83ff2eb11b6f1ed2d57.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTill dessa har han kopplat JTAG-linjerna, och nu \u00e4r det inte l\u00e4ngre n\u00f6dv\u00e4ndigt att \u00f6ppna batterifacket. F\u00f6r att man ocks\u00e5 ska kunna ladda upp sketcher har han kopplat b\u00e5da de seriella portarna till samma kontakt, och lagt till en str\u00f6mbrytare, eftersom det p\u00e5 annat s\u00e4tt \u00e4r om\u00f6jligt att st\u00e4nga av enheten med installerade batterier.<\/p>\n<p>Det tog ganska l\u00e5ng tid att arbeta med l\u00f6dkolven, en skrivkniv och en limpistol. Generellt sett \u00e4r det betydligt enklare att ladda upp sketcher \"tr\u00e5dl\u00f6st\"; man m\u00e5ste snabbt hitta n\u00e5got f\u00f6r detta.<\/p>\n<p>Arduino IDE anv\u00e4nder programmet f\u00f6r att ladda upp sketcher <noindex><a rel=\"nofollow\" href=\"http:\/\/www.ladyada.net\/learn\/avr\/avrdude.html\">avrdude<\/a><\/noindex>. Det interagerar med mikrokontrollern enligt protokollet <noindex><a rel=\"nofollow\" href=\"http:\/\/www.tuxgraphics.org\/common\/src2\/article05101\/stk500_spec_AVR068.pdf\">STK500<\/a><\/noindex>, vilket m\u00f6jligg\u00f6r \u00f6verf\u00f6ring av filer i b\u00e5da riktningarna. Det \u00e4r d\u00e5ligt kompatibelt med kanaler d\u00e4r variabla f\u00f6rdr\u00f6jningar, distorsion och dataf\u00f6rlust kan intr\u00e4ffa. Om det \u00e4r n\u00e5got som knastrar eller br\u00e5kar i den seriella kanalen kan man bli galen av att s\u00f6ka efter orsaken. En g\u00e5ng k\u00e4mpade f\u00f6rfattaren en halv dag innan han ins\u00e5g att det berodde p\u00e5 en d\u00e5lig kabel, samt en nyckfull interfacekonverter CP2102. Till och med en mikrokontroller med inbyggd interfacekonverterare, som ATmega32u4, kan ibland g\u00f6ra likadant. Varje Arduino-anv\u00e4ndare har m\u00e4rkt att fel vid uppladdning av sketcher inte \u00e4r s\u00e5 ovanliga. Ibland g\u00e5r skrivningen bra, men vid kontrollerande l\u00e4sning uppt\u00e4cks ett fel. Det betyder inte att felet var vid skrivningen \u2013 problemet uppstod vid l\u00e4sningen. Och t\u00e4nk nu att om man arbetar \"tr\u00e5dl\u00f6st\" kan samma sak h\u00e4nda, men mycket oftare.<\/p>\n<p>Efter att ha pr\u00f6vat olika s\u00e4tt att \u00f6vervinna detta problem, kom f\u00f6rfattaren p\u00e5 f\u00f6ljande. Enheten har 128 kilobyte flashminne med SPI-interface \u2013 vi tar emot data via kablar (vi kommer ih\u00e5g att f\u00f6rfattaren redan har en enhet med en kontakt p\u00e5 sidan), anv\u00e4nder detta minne som en buffert och skickar data till en annan enhet via radiokanalen. En h\u00e4lsning fr\u00e5n Cybiko.<\/p>\n<p>Efter att ha skrivit koden f\u00f6r att arbeta med radiokanalen samt teckensnittet blev bootloader l\u00e4ngre \u00e4n 4 kilobyte. D\u00e4rf\u00f6r var det n\u00f6dv\u00e4ndigt att \u00e4ndra v\u00e4rdet p\u00e5 HFUSE fr\u00e5n 0xDA till 0xD8. Nu kan bootloadern vara upp till 8 kilobyte l\u00e5ng, och startadressen har blivit 0x1E000. Detta \u00e5terspeglas i Makefile, men det m\u00e5ste ocks\u00e5 beaktas vid uppladdning. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.arduino.cc\/en\/Hacking\/Bootloader?from=Tutorial.Bootloader\">bootloader<\/a><\/noindex> med hj\u00e4lp av avrdude.<\/p>\n<p>S\u00e4ndarmottagaren i standarden 802.15.4 i ATmega128RFA1 var ursprungligen avsedd f\u00f6r att arbeta enligt protokollet <noindex><a rel=\"nofollow\" href=\"https:\/\/www.zigbee.org\/what-is-zigbee\/\">ZigBee<\/a><\/noindex>, vilket \u00e4r ganska komplext, s\u00e5 f\u00f6rfattaren beslutade att ist\u00e4llet bara \u00f6verf\u00f6ra paket. Detta \u00e4r implementerat h\u00e5rdvarum\u00e4ssigt i ATmega128RFA1, s\u00e5 det kr\u00e4vs lite kod. F\u00f6r enkelhetens skull beslutade f\u00f6rfattaren ocks\u00e5 att anv\u00e4nda en fast kanal och inte ge m\u00f6jlighet att v\u00e4lja den ens manuellt. Standard 802.15.4 st\u00f6der 16 kanaler med nummer fr\u00e5n 11 till 26. De \u00e4r ganska \u00f6verbelastade, och vissa \u00f6verlappar \u00e4ven med WiFi-kanaler (r\u00f6d markerar ZigBee-kanaler, bl\u00e5, gr\u00f6n och gul markerar WiFi).<\/p>\n<p><img decoding=\"async\" alt=\"Vi skriver en OTA-laddare f\u00f6r ATmega128RFA1 (i enheten Smart Response XE)\" src=\"\/wp-content\/uploads\/2019\/04\/650166fdb8e1d0361d015e4c2e85d7f1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDet visade sig att de kanaler som \u00e4r minst k\u00e4nsliga f\u00f6r st\u00f6rningar fr\u00e5n WiFi \u00e4r 15 och 26. Den andra av dessa valde f\u00f6rfattaren. Ansvarsfriskrivning: \u00f6vers\u00e4ttaren vet inte om det \u00e4r till\u00e5tet att f\u00f6renkla ZigBee p\u00e5 detta s\u00e4tt. Kanske borde man programmera lite mer och implementera det helt?<\/p>\n<p>P\u00e5 den f\u00f6rsta enheten m\u00e5ste en slutautomat implementeras som \u00f6verf\u00f6r data enligt protokollet STK500. I allm\u00e4nhet \u00e4r de s\u00e4nda och mottagna meddelandena sj\u00e4lvf\u00f6rs\u00f6rjande, men vissa \u00e4r bundna till de som tidigare passerat genom kanalen. Beskrivningen av dialogen \u00e4r angiven. <noindex><a rel=\"nofollow\" href=\"http:\/\/baldwisdom.com\/bootloading\/\">h\u00e4r<\/a><\/noindex>.<\/p>\n<p>En viktig del av denna dialog \u00e4r \u00f6verf\u00f6ringen av paket som \u00e4r avsedda f\u00f6r att skrivas till flashminnet p\u00e5 destinationsenheten. F\u00f6r enkla mikrokontroller av AVR-familjen \u00e4r sidstorleken 128 byte, men f\u00f6r ATmega128RFA1 \u00e4r den 256. Och f\u00f6r det flashminnet som ansluts via SPI-protokollet \u00e4r den densamma. Programmet i den f\u00f6rsta enheten \u00f6verf\u00f6r inte sketch direkt till den andra, utan skriver det till detta minne. N\u00e4r Arduino IDE kontrollerar skrivningens korrekthet, skickas det som har skrivits dit tillbaka. Nu m\u00e5ste de mottagna uppgifterna \u00f6verf\u00f6ras via radiokanalen till den andra enheten. Under detta sker v\u00e4xlingen mellan mottagning och s\u00e4ndning ganska ofta. STK500-protokollet \u00e4r oavsett f\u00f6r f\u00f6rdr\u00f6jningar, men t\u00e5l inte dataf\u00f6rlust (konstigt, men ovan n\u00e4mnts att f\u00f6rdr\u00f6jningar vid data\u00f6verf\u00f6ring ocks\u00e5 p\u00e5verkar). Men f\u00f6rluster vid tr\u00e5dl\u00f6s \u00f6verf\u00f6ring \u00e4r oundvikliga. ATmega128RFA1 har en h\u00e5rdvaruimplementering av \u00e5terbeg\u00e4ran vid tvivel om korrektheten i \u00f6verf\u00f6ringen, men f\u00f6rfattaren beslutade att genomf\u00f6ra detta programm\u00e4ssigt sj\u00e4lv. Han utvecklade ett protokoll d\u00e4r det g\u00e5r betydligt mer data i en riktning \u00e4n i den andra.<\/p>\n<p>Det \u00e4r inte perfekt, men allt fungerar. Den 256-byte sidor delas upp i fyra segment, d\u00e4r varje segment \u00f6verf\u00f6rs via radiokanalen i form av ett paket. Paketet rymmer upp till 125 byte data plus en byte \u2013 l\u00e4ngden och tv\u00e5 \u2013 CRC. S\u00e5 fragment p\u00e5 64 byte ryms tillsammans med sid- och segmentnummer (fr\u00e5n 0 till 3) d\u00e4r. P\u00e5 mottagarenheten finns en variabel som g\u00f6r det m\u00f6jligt att sp\u00e5ra hur m\u00e5nga segment som har tagits emot, och n\u00e4r alla fyra kommer, g\u00e5r en bekr\u00e4ftelse tillbaka till s\u00e4ndarenhet att hela sidan har tagits emot. Ingen bekr\u00e4ftelse (CRC st\u00e4mmer inte) \u2013 vi skickar hela sidan igen. Hastigheten f\u00e5r till och med vara st\u00f6rre \u00e4n vid \u00f6verf\u00f6ring via kabel. Se:<\/p>\n<p><center><div class=\"youtube-placeholder\" data-id=\"d-ObUCnRmQU\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/d-ObUCnRmQU\/hqdefault.jpg\" alt=\"Spela video\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><br \/>\nMen egentligen borde vi f\u00f6rutse ett bekv\u00e4mt s\u00e4tt att ansluta en kabel till enheterna f\u00f6r att ladda upp sketcher via den. Till exempel, placera en s\u00e5dan gr\u00e4nssnittskonverterare som CP2102 inuti, som p\u00e5 bilden, och klistra fast den p\u00e5 kortet s\u00e5 att den klarar anstr\u00e4ngningen vid anslutning och fr\u00e5nkoppling av Micro USB-kabeln.<\/p>\n<p><img decoding=\"async\" alt=\"Vi skriver en OTA-laddare f\u00f6r ATmega128RFA1 (i enheten Smart Response XE)\" src=\"\/wp-content\/uploads\/2019\/04\/e03563fcd985467abb236475cbbf9e3f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDet finns ocks\u00e5 en 3,3-volts stabilisator (och hur man anv\u00e4nder den i en enhet med 6-volts str\u00f6mf\u00f6rs\u00f6rjning \u2014 om det finns en liknande stabilisator d\u00e4r, g\u00e5r det att l\u00e4gga till tv\u00e5 dioder f\u00f6r att automatiskt v\u00e4lja vilken av dem enheten ska drivas av). Alla tre lysdioderna m\u00e5ste avl\u00e4gsnas fr\u00e5n gr\u00e4nssnittets omvandlingskort, annars kommer de att belasta batterierna ytterligare n\u00e4r de drivs av dem och ocks\u00e5 st\u00f6ra l\u00e4sningen av tangentbordet och anv\u00e4ndningen av flashminnet med SPI-gr\u00e4nssnitt.<\/p>\n<p>Att str\u00e4va efter m\u00e5let visade sig vara \u00e4nnu mer intressant \u00e4n att uppn\u00e5 det (och jag beh\u00f6ver inte ber\u00e4tta den d\u00e4r sk\u00e4mtet om bussen). F\u00f6rfattaren l\u00e4rde sig mycket nytt om bootloaders f\u00f6r AVR, flashminnen med SPI-gr\u00e4nssnitt, STK500-protokollet och 802.15.4-standarden.<\/p>\n<p>All annan kod ut\u00f6ver det som beskrivits ovan \u00e4r <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/bitbank2\/SMART_bootloader\">h\u00e4r<\/a><\/noindex>, och den \u00e4r ocks\u00e5 under GPL v3. F\u00f6rfattarens Twitter \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/fast_code_r_us\">h\u00e4r<\/a><\/noindex>.<br \/>\n<br \/>K\u00e4lla: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/447026\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0441\u0451 \u043d\u0430\u0447\u0430\u043b\u043e\u0441\u044c \u0441 \u043f\u0440\u0438\u043e\u0431\u0440\u0435\u0442\u0435\u043d\u0438\u044f \u0430\u0432\u0442\u043e\u0440\u043e\u043c \u043d\u0430 \u0432\u0442\u043e\u0440\u0438\u0447\u043d\u043e\u043c \u0440\u044b\u043d\u043a\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u2014 Smart Response XE (\u043a\u0440\u0430\u0442\u043a\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435). \u041f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043e \u043e\u043d\u043e \u0434\u043b\u044f \u0448\u043a\u043e\u043b: \u043a\u0430\u0436\u0434\u044b\u0439 \u0443\u0447\u0435\u043d\u0438\u043a \u0432 \u043a\u043b\u0430\u0441\u0441\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043f\u043e \u0434\u0435\u0432\u0430\u0439\u0441\u0443, \u043f\u043e\u0445\u043e\u0436\u0435\u043c\u0443 \u043d\u0430 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u0443\u044e \u0437\u0430\u043f\u0438\u0441\u043d\u0443\u044e \u043a\u043d\u0438\u0436\u043a\u0443 \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0447\u0438\u043a \u0434\u0435\u0432\u044f\u043d\u043e\u0441\u0442\u044b\u0445, \u0443\u0447\u0438\u0442\u0435\u043b\u044c \u0437\u0430\u0434\u0430\u0451\u0442 \u0432\u043e\u043f\u0440\u043e\u0441, \u0438 \u0443\u0447\u0435\u043d\u0438\u043a\u0438 \u043d\u0430\u0431\u0438\u0440\u0430\u044e\u0442 \u043d\u0430 \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0430\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043e\u0442\u0432\u0435\u0442\u044b, \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u044e\u0449\u0438\u0435 \u043f\u043e \u0440\u0430\u0434\u0438\u043e\u043a\u0430\u043d\u0430\u043b\u0443 (802.15.4) \u0432 \u043f\u0440\u0438\u0451\u043c\u043d\u0438\u043a, \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0451\u043d\u043d\u044b\u0439 \u043a \u0443\u0447\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u043c\u0443 \u041f\u041a. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":23069,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-31101","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0441\u0451 \u043d\u0430\u0447\u0430\u043b\u043e\u0441\u044c.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/pishem-ota-zagruzchik-dlya-atmega128rfa1-v-sostave-ustrojstva-smart-response-xe\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u0438\u0448\u0435\u043c OTA-\u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u0434\u043b\u044f ATmega128RFA1 (\u0432 \u0441\u043e\u0441\u0442\u0430\u0432\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 Smart Response XE) | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0441\u0451 \u043d\u0430\u0447\u0430\u043b\u043e\u0441\u044c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/pishem-ota-zagruzchik-dlya-atmega128rfa1-v-sostave-ustrojstva-smart-response-xe\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:39:28+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:39:28+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Skriver OTA-bootloader f\u00f6r ATmega128RFA1 (i enheten Smart Response XE) | ProHoster","description":"Allt b\u00f6rjade.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/pishem-ota-zagruzchik-dlya-atmega128rfa1-v-sostave-ustrojstva-smart-response-xe","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u0438\u0448\u0435\u043c OTA-\u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u0434\u043b\u044f ATmega128RFA1 (\u0432 \u0441\u043e\u0441\u0442\u0430\u0432\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 Smart Response XE) | ProHoster","og:description":"\u0412\u0441\u0451 \u043d\u0430\u0447\u0430\u043b\u043e\u0441\u044c.","og:url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/pishem-ota-zagruzchik-dlya-atmega128rfa1-v-sostave-ustrojstva-smart-response-xe","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:39:28+00:00","article:modified_time":"2019-10-31T18:39:28+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"31101","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 04:31:21","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:22:35","updated":"2026-01-21 04:31:21","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/31101","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=31101"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/31101\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/23069"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=31101"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=31101"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=31101"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}