{"id":86184,"date":"2020-06-22T13:42:13","date_gmt":"2020-06-22T11:42:13","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/openlinux-v-sostave-modulej-sim7600e-h"},"modified":"2020-06-22T13:42:13","modified_gmt":"2020-06-22T11:42:13","slug":"openlinux-v-sostave-modulej-sim7600e-h","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/openlinux-v-sostave-modulej-sim7600e-h","title":{"rendered":"OpenLinux i modulerna SIM7600E-H","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"OpenLinux i modulerna SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/5909392d5908cffc4d46a122ec7431a8.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMekanismen f\u00f6r att utveckla en anv\u00e4ndarapplikation och ladda upp den till modulen \u00e4r tillg\u00e4nglig b\u00e5de under operativsystemen Linux och Windows. I denna artikel g\u00e5r vi noggrant igenom hur du kan anv\u00e4nda exempel fr\u00e5n det medf\u00f6ljande SDK:et. <noindex><a rel=\"nofollow\" href=\"http:\/\/en.simcom.com\">SIMCom Wireless Solutions<\/a><\/noindex> kompilera och ladda upp en anv\u00e4ndarapplikation till modulen.<\/p>\n<p>Innan jag skrev artikeln bad en bekant, som inte \u00e4r insatt i utveckling under Linux, mig att beskriva processen f\u00f6r att utveckla en egen applikation f\u00f6r SIM7600E-H-modulen s\u00e5 detaljerat som m\u00f6jligt. Kriteriet f\u00f6r hur l\u00e4tt materialet skulle f\u00f6rst\u00e5s var frasen \"s\u00e5 att jag f\u00f6rst\u00e5r\".<\/p>\n<p>Jag bjuder in dig att ta del av vad som har kommit fram.<\/p>\n<blockquote><p>Artikeln kompletteras och uppdateras regelbundet.<\/p><\/blockquote>\n<p>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Inledningen<\/h2>\n<p>\nVanligtvis anv\u00e4nds mobilmoduler endast f\u00f6r data\u00f6verf\u00f6ring, r\u00f6stsamtal, SMS och liknande. Allt detta g\u00f6rs genom AT-kommandon som skickas fr\u00e5n en extern kontroller. Men det finns en kategori av moduler som till\u00e5ter att k\u00f6ra anv\u00e4ndarkod som laddas ner utifr\u00e5n. I vissa fall kan detta v\u00e4sentligt minska den totala kostnaden f\u00f6r enheten, vilket m\u00f6jligg\u00f6r anv\u00e4ndning av en enklare (och d\u00e4rmed billigare) mikrokontroller eller att helt avst\u00e5 fr\u00e5n en s\u00e5dan. Med inf\u00f6randet av LTE-moduler som styrs av operativsystemen Android eller Linux och deras kraftfulla resurser, kan man l\u00f6sa alla uppgifter som \u00e4r tillg\u00e4ngliga f\u00f6r popul\u00e4ra processorer. I denna artikel kommer vi att titta p\u00e5 SIM7600E-H, som drivs av Linux. Vi kommer att g\u00e5 igenom hur man laddar upp och k\u00f6r en exekverbar applikation.<\/p>\n<p>Mycket av materialet baseras p\u00e5 dokumentet \"SIM7600 Open Linux development guide\", men vissa till\u00e4gg och framf\u00f6r allt den svenskspr\u00e5kiga versionen kommer att vara till nytta. Artikeln hj\u00e4lper dem som just har b\u00f6rjat l\u00e4ra sig programmet att ladda ner en demonstrationsapplikation och ger n\u00f6dv\u00e4ndiga f\u00e4rdigheter f\u00f6r fortsatt arbete.<\/p>\n<h3>Kort om vad SIM7600E-H \u00e4r.<\/h3>\n<p>\nSIM7600E-H \u00e4r en modul byggd p\u00e5 ARM Cortex-A7 1.3GHz-processorn fr\u00e5n Qualcomm, som har ett Linux-operativsystem (k\u00e4rna 3.18.20) inuti, och som kan arbeta med europeiska (inklusive ryska) frekvensband f\u00f6r 2G\/3G\/LTE, vilket st\u00f6der Cat.4 och ger maximal nedladdningshastighet upp till 150Mbps och uppladdning upp till 50Mbps. Ett rikt utbud av perifera enheter, industriell temperaturomr\u00e5de och inbyggd GPS\/GLONASS-navigering uppfyller alla krav p\u00e5 moderna modul\u00e4ra l\u00f6sningar inom M2M-temat.<\/p>\n<h2>System\u00f6versikt<\/h2>\n<p>\nModulen SIM7600E-H baseras p\u00e5 Linux-operativsystemet (k\u00e4rna 3.18.20). I sin tur \u00e4r filsystemet baserat p\u00e5 den journalf\u00f6rda filsystemet UBIFS (Unsorted Block Image File System).<\/p>\n<p>Viktiga egenskaper hos detta filsystem inkluderar:<\/p>\n<ul>\n<li>det arbetar med partitioner, till\u00e5ter att skapa, ta bort eller \u00e4ndra storlek p\u00e5 dem;<\/li>\n<li>det s\u00e4kerst\u00e4ller skrivjustering \u00f6ver hela lagringsmediet;<\/li>\n<li>det arbetar med d\u00e5liga block;<\/li>\n<li>det minimerar risken f\u00f6r dataf\u00f6rlust vid pl\u00f6tsliga str\u00f6mavbrott eller andra fel;<\/li>\n<li>det f\u00f6r loggar.<\/li>\n<\/ul>\n<p>\nBeskrivningen \u00e4r h\u00e4mtad <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/273425\">h\u00e4rifr\u00e5n<\/a><\/noindex>, d\u00e4r det ocks\u00e5 ber\u00e4ttas mer detaljerat om detta filsystem.<\/p>\n<p>Det vill s\u00e4ga, denna typ av filsystem \u00e4r perfekt f\u00f6r tuffa driftsf\u00f6rh\u00e5llanden f\u00f6r modulen och potentiella problem med str\u00f6mf\u00f6rs\u00f6rjningen. Men detta betyder inte att f\u00f6rh\u00e5llandena f\u00f6r instabil str\u00f6mf\u00f6rs\u00f6rjning kommer att vara det f\u00f6rv\u00e4ntade driftsl\u00e4get f\u00f6r modulen, det s\u00e4ger bara n\u00e5got om en st\u00f6rre livskraft f\u00f6r enheten.<\/p>\n<h3>Minne<\/h3>\n<p>\nMinnesomr\u00e5dena \u00e4r f\u00f6rdelade p\u00e5 f\u00f6ljande s\u00e4tt:<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux i modulerna SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/b066ca935a9c1105a5407551537db670.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDet \u00e4r n\u00f6dv\u00e4ndigt att avs\u00e4tta tre huvudsakliga omr\u00e5den:<\/p>\n<p><b>ubi0:rootfs<\/b> \u2013 tillg\u00e4nglig endast f\u00f6r l\u00e4sning och inneh\u00e5ller sj\u00e4lva Linux-k\u00e4rnan<br \/>\n<b>ubi0:usrfs<\/b> \u2013 anv\u00e4nds huvudsakligen f\u00f6r anv\u00e4ndarprogrammet och lagring av data<br \/>\n<b>ubi0:cachefs<\/b> \u2013 reserverat f\u00f6r FOTA-uppdateringar. Om det tillg\u00e4ngliga utrymmet inte r\u00e4cker f\u00f6r att ladda ner uppdateringen \u2013 kommer systemet att ta bort oanv\u00e4nda filer och p\u00e5 s\u00e5 s\u00e4tt frig\u00f6ra utrymme. Men av s\u00e4kerhetssk\u00e4l b\u00f6r man inte placera sina filer d\u00e4r.<\/p>\n<p>Alla tre partitionerna \u00e4r f\u00f6rdelade p\u00e5 f\u00f6ljande s\u00e4tt:<\/p>\n<p>Filsystem<br \/>\nSize<br \/>\nAnv\u00e4nda<br \/>\nTillg\u00e4nglig<br \/>\nAnv\u00e4ndning%<br \/>\nMonterad p\u00e5<\/p>\n<p>ubi0:rootfs<br \/>\n40.7M<br \/>\n36.2M<br \/>\n4.4M<br \/>\n89%<br \/>\n\/<\/p>\n<p>ubi0:usrfs<br \/>\n10.5M<br \/>\n360K<br \/>\n10.1M<br \/>\n3%<br \/>\n\/data<\/p>\n<p>ubi0:cachefs<br \/>\n50.3M<br \/>\n20K<br \/>\n47.7M<br \/>\n0%<br \/>\n\/cache<\/p>\n<p><\/p>\n<h3>Tillg\u00e4nglig funktionalitet<\/h3>\n<p>\nSom n\u00e4mnts tidigare \u00e4r modulen byggd p\u00e5 Qualcomm Cortex A7-chipsetet. Det skulle vara felaktigt att inte tillhandah\u00e5lla en s\u00e5 h\u00f6gpresterande k\u00e4rna f\u00f6r att hantera anv\u00e4ndarprogram och avlasta enhetens huvudprocessor genom att \u00f6verl\u00e4mna en del av programmet till modulen.<\/p>\n<p>                        <b class=\"spoiler_title\">F\u00f6r anv\u00e4ndarprogrammet kommer f\u00f6ljande driftsl\u00e4gen f\u00f6r periferin att vara tillg\u00e4ngliga:<\/b><\/p>\n<p>Pin No.<br \/>\nNamn<br \/>\nSys GPIO No.<br \/>\nStandard\u00e5tg\u00e4rd<br \/>\nFunc1<br \/>\nFunc2<br \/>\nPull<br \/>\nWakeup interrupt<\/p>\n<p>6<br \/>\nSPI_CLK<br \/>\n\u2014<br \/>\nUART1_RTS<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>7<br \/>\nSPI_MISO<br \/>\n\u2014<br \/>\nUART1_Rx<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>8<br \/>\nSPI_MOSI<br \/>\n\u2014<br \/>\nUART1_Tx<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>9<br \/>\nSPI_CS<br \/>\n\u2014<br \/>\nUART1_CTS<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>21<br \/>\nSD_CMD<br \/>\n\u2014<br \/>\nSD-Kort<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>22<br \/>\nSD_DATA0<br \/>\n\u2014<br \/>\nSD-Kort<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>23<br \/>\nSD_DATA1<br \/>\n\u2014<br \/>\nSD-Kort<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>24<br \/>\nSD_DATA2<br \/>\n\u2014<br \/>\nSD-Kort<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>25<br \/>\nSD_DATA3<br \/>\n\u2014<br \/>\nSD-Kort<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>26<br \/>\nSD_CLK<br \/>\n\u2014<br \/>\nSD-Kort<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PN<br \/>\n\u2014<\/p>\n<p>27<br \/>\nSDIO_DATA1<br \/>\n\u2014<br \/>\nWLAN<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>28<br \/>\nSDIO_DATA2<br \/>\n\u2014<br \/>\nWLAN<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>29<br \/>\nSDIO_CMD<br \/>\n\u2014<br \/>\nWLAN<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>30<br \/>\nSDIO_DATA0<br \/>\n\u2014<br \/>\nWLAN<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>31<br \/>\nSDIO_DATA3<br \/>\n\u2014<br \/>\nWLAN<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>32<br \/>\nSDIO_CLK<br \/>\n\u2014<br \/>\nWLAN<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PN<br \/>\n\u2014<\/p>\n<p>33<br \/>\nGPIO3<br \/>\nGPIO_1020<br \/>\nMIFI_POWER_EN<br \/>\nGPIO<br \/>\nMIFI_POWER_EN<br \/>\nB-PU<br \/>\n\u2014<\/p>\n<p>34<br \/>\nGPIO6<br \/>\nGPIO_1023<br \/>\nMIFI_SLEEP_CLK<br \/>\nGPIO<br \/>\nMIFI_SLEEP_CLK<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>46<br \/>\nADC2<br \/>\n\u2014<br \/>\nADC<br \/>\n\u2014<br \/>\n\u2014<br \/>\n\u2014<br \/>\n\u2014<\/p>\n<p>47<br \/>\nADC1<br \/>\n\u2014<br \/>\nADC<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PU<br \/>\n\u2014<\/p>\n<p>48<br \/>\nSD_DET<br \/>\nGPIO_26<br \/>\nGPIO<br \/>\nGPIO<br \/>\nSD_DET<br \/>\nB-PD<br \/>\nX<\/p>\n<p>49<br \/>\nSTATUS<br \/>\nGPIO_52<br \/>\nStatus<br \/>\nGPIO<br \/>\nStatus<br \/>\nB-PD<br \/>\nX<\/p>\n<p>50<br \/>\nGPIO43<br \/>\nGPIO_36<br \/>\nMIFI_COEX<br \/>\nGPIO<br \/>\nMIFI_COEX<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>52<br \/>\nGPIO41<br \/>\nGPIO_79<br \/>\nBT<br \/>\nGPIO<br \/>\nBT<br \/>\nB-PD<br \/>\nX<\/p>\n<p>55<br \/>\nSCL<br \/>\n\u2014<br \/>\nI2C_SCL<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>56<br \/>\nSDA<br \/>\n\u2014<br \/>\nI2C_SDA<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PU<br \/>\n\u2014<\/p>\n<p>66<br \/>\nRTS<br \/>\n\u2014<br \/>\nUART2_RTS<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>67<br \/>\nCTS<br \/>\n\u2014<br \/>\nUART2_CTS<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>68<br \/>\nRxD<br \/>\n\u2014<br \/>\nUART2_Rx<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>69<br \/>\nRI<br \/>\n\u2014<br \/>\nGPIO(RI)<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>70<br \/>\nDCD<br \/>\n\u2014<br \/>\nGPIO<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>71<br \/>\nTxD<br \/>\n\u2014<br \/>\nUART2_Tx<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>72<br \/>\nDTR<br \/>\n\u2014<br \/>\nGPIO(DTR)<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PD<br \/>\nX<\/p>\n<p>73<br \/>\nPCM_OUT<br \/>\n\u2014<br \/>\nPCM<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>74<br \/>\nPCM_IN<br \/>\n\u2014<br \/>\nPCM<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>75<br \/>\nPCM_SYNC<br \/>\n\u2014<br \/>\nPCM<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>76<br \/>\nPCM_CLK<br \/>\n\u2014<br \/>\nPCM<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PU<br \/>\n\u2014<\/p>\n<p>87<br \/>\nGPIO77<br \/>\nGPIO77<br \/>\nBT<br \/>\nGPIO<br \/>\nBT<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>Det \u00e4r en imponerande lista, och observera att en del av periferin anv\u00e4nds f\u00f6r att modulens funktion som router. Allts\u00e5, baserat p\u00e5 en s\u00e5dan modul kan man skapa en liten router som delar ut internet via Wi-Fi. F\u00f6r \u00f6vrigt finns det redan en f\u00e4rdig l\u00f6sning, kallad SIM7600E-H-MIFI, som \u00e4r ett miniPCIe-kort med den inbyggda SIM7600E-H-modulen och flera antennutg\u00e5ngar, varav en \u00e4r Wi-Fi-antennan. Men det h\u00e4r \u00e4r ett \u00e4mne f\u00f6r en separat artikel.<\/p>\n<h3>Milj\u00f6 (inte veckodag)<\/h3>\n<p>\n<noindex><a rel=\"nofollow\" href=\"http:\/\/en.simcom.com\">SIMCom Wireless Solutions<\/a><\/noindex> ger utvecklare m\u00f6jlighet att sj\u00e4lva v\u00e4lja den mest bekanta utvecklingsmilj\u00f6n under Linux eller Windows. Om det handlar om en enda k\u00f6rbar applikation p\u00e5 modulen rekommenderas Windows, d\u00e5 g\u00e5r det snabbare och enklare. Om en komplex arkitektur f\u00f6r applikationen och efterf\u00f6ljande uppgraderingar f\u00f6rv\u00e4ntas \u00e4r det b\u00e4ttre att anv\u00e4nda Linux. Vi kommer \u00e4ven att beh\u00f6va Linux f\u00f6r att kompilera k\u00f6rbara filer f\u00f6r att senare ladda upp dem till modulen, f\u00f6r kompilering \u00e4r en virtuell maskin helt tillr\u00e4cklig.<\/p>\n<p>Det som du beh\u00f6ver och som inte \u00e4r fritt tillg\u00e4ngligt f\u00f6r nedladdning \u2013 SDK:n, som kan beg\u00e4ras av din distribut\u00f6r.<\/p>\n<h2>Installation av verktyg f\u00f6r att arbeta med modulen<\/h2>\n<p>\nH\u00e4r och fram\u00e5t kommer vi att arbeta under Windows som \u00e4r det mest bekanta operativsystemet f\u00f6r de flesta anv\u00e4ndare.<\/p>\n<p>Vi beh\u00f6ver installera n\u00f6dv\u00e4ndig programvara i n\u00e5gra enkla steg f\u00f6r att sedan l\u00e4ra oss att arbeta med modulen:<\/p>\n<ol>\n<li>GNU\/Linux<\/li>\n<li>Cygwin<\/li>\n<li>Drivrutiner<\/li>\n<li>ADB<\/li>\n<\/ol>\n<p><\/p>\n<h3>Installation av GNU\/Linux<\/h3>\n<p>\nF\u00f6r att bygga applikationen kan du anv\u00e4nda vilken ARM-Linux-kompatibel kompilator som helst. Vi kommer att anv\u00e4nda SourceryCodeBenchLiteARM GNU\/Linux \u00f6vers\u00e4ttaren som \u00e4r tillg\u00e4nglig f\u00f6r nedladdning via <noindex><a rel=\"nofollow\" href=\"https:\/\/sourcery.mentor.com\/public\/gnu_toolchain\/arm-none-linux-gnueabi\/arm-2014.05-29-arm-none-linux-gnueabi.exe\">l\u00e4nken<\/a><\/noindex>.<\/p>\n<p>F\u00f6r att s\u00e4kerst\u00e4lla att alla komponenter installeras korrekt kommer jag att l\u00e4mna n\u00e5gra sk\u00e4rmdumpar fr\u00e5n installationsprocessen. I princip \u00e4r det inget komplicerat med installationen.<\/p>\n<p>                        <b class=\"spoiler_title\">F\u00f6r att s\u00e4kerst\u00e4lla att alla komponenter installeras korrekt kommer jag att l\u00e4mna n\u00e5gra sk\u00e4rmdumpar fr\u00e5n installationsprocessen. I princip \u00e4r det inget komplicerat med installationen.<\/b><\/p>\n<ol>\n<li>Acceptera licensavtalet<br \/>\n<img decoding=\"async\" alt=\"OpenLinux i modulerna SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/dd1630770745f96c2cf03da8be749a46.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<li>Ange installationsmappen<br \/>\n<img decoding=\"async\" alt=\"OpenLinux i modulerna SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/925c11f439ae7ed0a2b6be31db0be8e8.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<li>L\u00e4mna n\u00f6dv\u00e4ndiga komponenter of\u00f6r\u00e4ndrade<br \/>\n<img decoding=\"async\" alt=\"OpenLinux i modulerna SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/b35500760f9edb900871fb1683e4bf9a.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<li>L\u00e4mna som det \u00e4r<br \/>\n<img decoding=\"async\" alt=\"OpenLinux i modulerna SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/451cb1f41db91ce3736930bbf7374588.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<li>N\u00e5gra g\u00e5nger p\u00e5 \u201cNext\u201d, \u201cInstall\u201d och i princip \u00e4r det klart<br \/>\n<img decoding=\"async\" alt=\"OpenLinux i modulerna SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/8c22f4834e1b13286361e10860d0c966.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<\/ol>\n<h3>Installation av Cygwin<\/h3>\n<p>\nF\u00f6r att kunna utveckla kr\u00e4vs ett bibliotek och verktyg fr\u00e5n det som tillhandah\u00e5lls av <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cygwin.com\">Cygwin<\/a><\/noindex>. H\u00e4r \u00e4r det enkelt, den aktuella versionen av Cygwin kan laddas ner kostnadsfritt fr\u00e5n projektets officiella webbplats, vid tidpunkten f\u00f6r skrivandet var version 3.1.5 tillg\u00e4nglig, och den anv\u00e4nde vi vid f\u00f6rberedandet av materialet.<\/p>\n<p>Det finns inget komplicerat med installationen av Cygwin, det enda som beh\u00f6ver v\u00e4ljas \u00e4r ett spegel som installationsprogrammet laddar ner de n\u00f6dv\u00e4ndiga filerna fr\u00e5n, v\u00e4lj valfri och installera, samt upps\u00e4ttningen av verktyg och bibliotek, d\u00e4r vi l\u00e4mnar alla tillg\u00e4ngliga bibliotek och verktyg valda.<\/p>\n<h3>Installation av drivrutiner<\/h3>\n<p>\nEfter att modulen har kopplats till datorn kr\u00e4vs drivrutinsinstallation. Du kan beg\u00e4ra dem fr\u00e5n din distribut\u00f6r (rekommenderas). Jag rekommenderar inte att s\u00f6ka p\u00e5 internet sj\u00e4lv, eftersom det kan ta mycket tid att hitta det som orsakade enhetskonflikten.<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux i modulerna SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/25b144da02d48332cb6a8a766af447c7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBland de markerade portarna ser vi f\u00f6ljande:<\/p>\n<p>Windows<br \/>\nLinux<br \/>\nBeskrivning<\/p>\n<p>SimTech HS-USB Diagnostics<br \/>\nUSB Serial<br \/>\nDiagnostic Interface<\/p>\n<p>SimTech HS-USB NMEA<br \/>\nUSB Serial<br \/>\nGPS NMEA Interface<\/p>\n<p>SimTech HS-USB AT Port<br \/>\nUSB Serial<br \/>\nAT port Interface<\/p>\n<p>SimTech HS-USB Modem<br \/>\nUSB Serial<br \/>\nModem port Interface<\/p>\n<p>SimTech HS-USB Audio<br \/>\nUSB Serial<br \/>\nUSB Audio Interface<\/p>\n<p>SimTech HS-USB WWAN Adapter<br \/>\nUSB Net<br \/>\nNDIS wwan Interface<\/p>\n<p>Android Composite ADB Interface<br \/>\nUSB ADB<br \/>\nAndroid l\u00e4gg till debug-port<\/p>\n<p>\nSom du s\u00e4kert har lagt m\u00e4rke till, finns det ingen USB ADB-port bland portarna p\u00e5 sk\u00e4rmdumpen, vilket beror p\u00e5 att ADB-porten i modulen \u00e4r st\u00e4ngd som standard och den m\u00e5ste aktiveras genom att skicka kommandot \u2018AT+CUSBADB=1\u2019 till AT-porten i modulen och starta om den (det kan g\u00f6ras med kommandot \u2018AT+CRESET\u2019).<\/p>\n<p>Som resultat f\u00e5r vi den n\u00f6dv\u00e4ndiga gr\u00e4nssnittet i Enhetshanteraren:<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux i modulerna SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/706d604bde19b43d4d6b1fa82a4a076e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNu n\u00e4r vi har avslutat med drivrutinerna g\u00e5r vi vidare till ADB.<\/p>\n<h3>Installation av ADB<\/h3>\n<p>\nBes\u00f6k den officiella webbplatsen f\u00f6r Android Developer p\u00e5 <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.android.com\/studio\/releases\/platform-tools\">l\u00e4nken<\/a><\/noindex>. Vi kommer inte att ladda ner den skrymmande Android Studio, vi beh\u00f6ver endast kommandoraden, som \u00e4r tillg\u00e4nglig f\u00f6r nedladdning via l\u00e4nken \u201cDownload SDK Platform-Tools for Windows\u201d.<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux i modulerna SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/9929969642382dbca66fcf1e1930af28.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLadda ner och packa upp den mottagna arkivet i roten av enheten C.<\/p>\n<h3>Milj\u00f6variabler<\/h3>\n<p>\nEfter installationen av Cygwin beh\u00f6ver du l\u00e4gga till s\u00f6kv\u00e4gen Cygwin\/bin\/ i utvecklingsmilj\u00f6variablerna (Kontrollpanel \u2192 System \u2192 Avancerade systeminst\u00e4llningar \u2192 Avancerat \u2192 Milj\u00f6variabler \u2192 Systemvariabler \u2192 Path \u2192 \u00c4ndra) som visat p\u00e5 sk\u00e4rmdumpen nedan:<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux i modulerna SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/675e0cb09e98946ff30ccd1c951e1b07.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00e5 samma s\u00e4tt l\u00e4gger vi till s\u00f6kv\u00e4gen till det nedladdade och extraherade ADB-arkivet i roten av enhet C.<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux i modulerna SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/a733eb15fffc103be097ea1a0fd875df.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTryck flera g\u00e5nger p\u00e5 OK och starta om datorn.<\/p>\n<p>Efter omstart kan vi enkelt kontrollera om ADB fungerar korrekt genom att \u00f6ppna kommandoprompten (Win+R \u2192 cmd) och skriva kommandot \u2018adb version\u2019. Vi f\u00e5r ungef\u00e4r f\u00f6ljande resultat:<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux i modulerna SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/84dbe94d0346947d8125adc8654a06ff.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAnslut modulen till datorn (om det h\u00e4nde att du kopplade bort den) och kontrollera om ADB ser den med kommandot \u2018adb devices\u2019:<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux i modulerna SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/b0acef97e9cc2c8f6270a00bec7efc90.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKlar, nu har vi avslutat inst\u00e4llningen f\u00f6r att ansluta till modulen och vi kan starta en shell f\u00f6r att arbeta med modulen.<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux i modulerna SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/3dc6d9c5d57db8d6b8eb7fea19468463.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Uppackning och kompilering av SDK<\/h2>\n<p>\nEfter att vi har f\u00e5tt tillg\u00e5ng till shell och kan b\u00f6rja arbeta med kommandoraden f\u00f6r modulen, l\u00e5t oss f\u00f6rs\u00f6ka kompilera v\u00e5r f\u00f6rsta applikation f\u00f6r att ladda upp till modulen.<\/p>\n<p>M\u00e5nga kan st\u00f6ta p\u00e5 problem med detta! Eftersom modulen k\u00f6r p\u00e5 operativsystemet Linux, f\u00f6r att undvika kollisioner n\u00e4r man kompilerar kod under Windows - \u00e4r det b\u00e4st att kompilera i ursprungs milj\u00f6n - Linux.<\/p>\n<p>Vi kommer inte g\u00e5 in p\u00e5 detaljer om hur man i avsaknad av Linux och utan att vilja installera det p\u00e5 sin egen maskin kan installera det p\u00e5 en virtuell. Vi ska anv\u00e4nda VirtualBox, installera Ubuntu version 20.04 (den aktuella versionen vid tidpunkten f\u00f6r skrivandet) och b\u00f6rja arbeta med kompilatorer, SDK, etc. under den.<\/p>\n<p>Vi g\u00e5r in i Linux-milj\u00f6n och packar upp arkivet, som vi fick fr\u00e5n distribut\u00f6ren.<\/p>\n<pre><code class=\"bash\">simcom@VirtualBox:~\/Desktop\/OpenLinux$ sudo tar -xzf MDM9x07_OL_2U_22_V1.12_191227.tar.gz <\/code><\/pre>\n<p>\nVi g\u00e5r till katalogen sim_open_sdk och l\u00e4gger till milj\u00f6n:<\/p>\n<pre><code class=\"bash\">simcom@VirtualBox:~\/Desktop\/OpenLinux\/sim_open_sdk$ cd sim_open_sdk\nsimcom@VirtualBox:~\/Desktop\/OpenLinux\/sim_open_sdk$ source sim_crosscompile\/sim-crosscompile-env-init <\/code><\/pre>\n<p>\nVi stannar kvar i samma mapp och utf\u00f6r n\u00e4sta kommandon d\u00e4rifr\u00e5n.<br \/>\nInstallera biblioteken libncurses5-dev, om de inte redan \u00e4r installerade:<\/p>\n<pre><code class=\"bash\">simcom@VirtualBox:~\/Desktop\/OpenLinux\/sim_open_sdk$ sudo apt-get update &amp;&amp; sudo apt-get install libncurses5-dev -y<\/code><\/pre>\n<p>\nPython, om det inte heller redan har installerats:<\/p>\n<pre><code class=\"bash\">simcom@VirtualBox:~\/Desktop\/OpenLinux\/sim_open_sdk$ sudo apt-get install python -y<\/code><\/pre>\n<p>\noch gcc:<\/p>\n<pre><code class=\"bash\">simcom@VirtualBox:~\/Desktop\/OpenLinux\/sim_open_sdk$ sudo apt-get install gcc<\/code><\/pre>\n<p><\/p>\n<h3>Kompilering:<\/h3>\n<p>\nNu m\u00e5ste vi kompilera flera filer, utf\u00f6r f\u00f6ljande kommandon sekventiellt.<\/p>\n<p>Om en konfigurationsruta f\u00f6r k\u00e4rnan dyker upp under kompileringen v\u00e4ljer vi bara Exit och g\u00e5r tillbaka till konsolen, vi beh\u00f6ver inte konfigurera k\u00e4rnan just nu.<\/p>\n<p>Vi utf\u00f6r:<\/p>\n<pre><code class=\"bash\">simcom@VirtualBox:~\\\/Desktop\\\/OpenLinux\\\/sim_open_sdk$ make<\/code><\/pre>\n<p>\nKompilerar bootloader:<\/p>\n<pre><code class=\"bash\">simcom@VirtualBox:~\\\/Desktop\\\/OpenLinux\\\/sim_open_sdk$ make aboot<\/code><\/pre>\n<p>\nKompilerar k\u00e4rnan:<\/p>\n<pre><code class=\"bash\">simcom@VirtualBox:~\\\/Desktop\\\/OpenLinux\\\/sim_open_sdk$ make kernel_menuconfig\nsimcom@VirtualBox:~\\\/Desktop\\\/OpenLinux\\\/sim_open_sdk$ make kernel\n<\/code><\/pre>\n<p>\nKompilerar rotfilsystemet:<\/p>\n<pre><code class=\"bash\">simcom@VirtualBox:~\\\/Desktop\\\/OpenLinux\\\/sim_open_sdk$ make rootfs<\/code><\/pre>\n<p>\nF\u00f6r Linux-anv\u00e4ndare \u00e4r det relevant att kompilera modulens drivrutin:<\/p>\n<pre><code class=\"bash\">simcom@VirtualBox:~\\\/Desktop\\\/OpenLinux\\\/sim_open_sdk$ make kernel_module<\/code><\/pre>\n<p>\nVi kompilerar demo:<\/p>\n<pre><code class=\"bash\">simcom@VirtualBox:~\\\/Desktop\\\/OpenLinux\\\/sim_open_sdk$ make demo<\/code><\/pre>\n<p>\nEfter detta kommer flera nya filer att dyka upp i mappen sim_open_sdk\\\/output:<\/p>\n<pre><code class=\"bash\">simcom@VirtualBox:~\\\/Desktop\\\/OpenLinux\\\/sim_open_sdk$ ls output\\\/\\nappsboot.mbn  boot.img  demo_app  helloworld  system.img\n<\/code><\/pre>\n<p><\/p>\n<h2>Demo<\/h2>\n<p>\nL\u00e5t oss f\u00f6rs\u00f6ka ladda upp demon i v\u00e5r modul och se vad som h\u00e4nder.<\/p>\n<h3>Nedladdning<\/h3>\n<p>\nI mappen sim_open_sdk kan vi se filen demo_app. Vi tar den och flyttar den till rotkatalogen C p\u00e5 PC:n som modulen \u00e4r ansluten till. D\u00e4refter startar vi kommandotolken i Windows (Win+R -&gt; cmd) och skriver in:<\/p>\n<pre><code class=\"dos\">C:&gt;adb push C:demo_app \\\/data\\\/<\/code><\/pre>\n<p>\nKonsolen meddelar oss:<\/p>\n<pre><code class=\"dos\">C:demo_app: 1 file pushed, 0 skipped. 151.4 MB\\\/s (838900 bytes in 0.005s)<\/code><\/pre>\n<p>\nDet betyder att filen har skickats till modulen framg\u00e5ngsrikt och vi beh\u00f6ver bara starta den. L\u00e5t oss inte dr\u00f6ja.<\/p>\n<p>Vi utf\u00f6r:<\/p>\n<pre><code class=\"dos\">C:&gt;adb shell<\/code><\/pre>\n<p>\nUt\u00f6kar r\u00e4ttigheterna f\u00f6r den uppladdade filen:<\/p>\n<pre><code class=\"plaintext\">\/ # cdhmod 777 \/data\/demo_app<\/code><\/pre>\n<p>\nOch starta:<\/p>\n<pre><code class=\"plaintext\">\/ # \/data\/demo_app<\/code><\/pre>\n<p>\nI samma konsol kommer modulen att meddela f\u00f6ljande:<\/p>\n<pre><code class=\"plaintext\">SDK_VER : SIM_SDK_VER_20191205\nDEMO_VER: SIM_SDK_VER_20191205\n\nV\u00e4nligen v\u00e4lj ett alternativ att testa fr\u00e5n alternativen nedan.\n\n1. WIFI                       2. VOICE CALL\n3. DATA CALL                  4. SMS\n5. WDS(APN)                   6. NAS\n7. AT                         8. OTA\n9. TTS                        10. GPIO\n11. GPS                       12. Bluetooth\n13. TCP\\\/UDP                   14. Timer\n15. ADC                       16. I2C\n17. UIM(SimCard)              18. DMS(IMEI,MEID)\n19. UART                      20. SPI\n21. Version                   22. Ethernet\n23. FTP                       24. SSL\n25. HTTP(S)                   26. FTP(S)\n27. MQTT(S)                   28. ALSA\n29. DEV                       30. AUDIO\n31. JSON                      32. LBS\n99. EXIT\nOption &gt;   \n<\/code><\/pre>\n<p>\nL\u00e5t oss titta p\u00e5 modulens IMEI, skriv in 7 (\u00f6verg\u00e5ng till kommandol\u00e4ge) och efter det skriver vi in 5:<\/p>\n<pre><code class=\"plaintext\">V\u00e4nligen v\u00e4lj ett alternativ att testa fr\u00e5n de angivna alternativen nedan.\n\n1. WIFI                       2. R\u00d6STSAMTAL\n3. DATA SAMTAL              4. SMS\n5. WDS(APN)                 6. NAS\n7. AT                       8. OTA\n9. TTS                      10. GPIO\n11. GPS                     12. Bluetooth\n13. TCP\/UDP                 14. Timer\n15. ADC                     16. I2C\n17. UIM(SimCard)            18. DMS(IMEI,MEID)\n19. UART                    20. SPI\n21. Version                 22. Ethernet\n23. FTP                     24. SSL\n25. HTTP(S)                 26. FTP(S)\n27. MQTT(S)                 28. ALSA\n29. DEV                     30. LJUDE\n31. JSON                    32. LBS\n99. AVSLUTA\nAlternativ &gt; 7\n\nV\u00e4nligen v\u00e4lj ett alternativ att testa fr\u00e5n de angivna alternativen nedan.\n\n1. h\u00e4mta modulversion       2. h\u00e4mta CSQ\n3. h\u00e4mta CREG               4. h\u00e4mta ICCID\n5. h\u00e4mta IMEI               6. h\u00e4mta CIMI\n99. tillbaka\nAlternativ &gt; 5\nIMEI: 867584030090489\n\nV\u00e4nligen v\u00e4lj ett alternativ att testa fr\u00e5n de angivna alternativen nedan.\n\n1. h\u00e4mta modulversion       2. h\u00e4mta CSQ\n3. h\u00e4mta CREG               4. h\u00e4mta ICCID\n5. h\u00e4mta IMEI               6. h\u00e4mta CIMI\n99. tillbaka\nAlternativ &gt;\n<\/code><\/pre>\n<p>\nS\u00e5ledes kommer vi att se IMEI f\u00f6r modulen.<\/p>\n<h2>Som en avslutning<\/h2>\n<p>\nJag hoppas att vi har lyckats skapa en allm\u00e4n \u00f6versikt \u00f6ver hur man b\u00f6rjar anv\u00e4nda modulen. I kommande artiklar kommer vi att g\u00e5 mer i detalj p\u00e5 de m\u00f6jligheter som plattformen SIM7600E-H erbjuder, samt hur man kan uppdatera sitt eget program p\u00e5 modulen p\u00e5 distans.<\/p>\n<p>Jag bjuder in er att st\u00e4lla fr\u00e5gor i kommentarerna, samt att ange vilken aspekt av moduls m\u00f6jligheter som b\u00f6r tas upp i kommande artiklar.<br \/>\n<br \/>K\u00e4lla: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/507392\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0435\u0433\u043e \u0432 \u043c\u043e\u0434\u0443\u043b\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043a\u0430\u043a \u043f\u043e\u0434 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 Linux, \u0442\u0430\u043a \u0438 Windows. \u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0442\u043e, \u043a\u0430\u043a \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0432\u0448\u0438\u0441\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u043c\u0438 \u0438\u0437 SDK \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u043e\u0433\u043e SIMCom Wireless Solutions \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432 \u043c\u043e\u0434\u0443\u043b\u044c. \u041f\u0435\u0440\u0435\u0434 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c \u0441\u0442\u0430\u0442\u044c\u0438 \u043e\u0434\u0438\u043d \u043c\u043e\u0439 \u0437\u043d\u0430\u043a\u043e\u043c\u044b\u0439, \u0434\u0430\u043b\u0435\u043a\u0438\u0439 \u043e\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u043e\u0434 Linux, \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u043b \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":86185,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-86184","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=\"\u041c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438.\" \/>\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\/openlinux-v-sostave-modulej-sim7600e-h\" \/>\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\udd47OpenLinux \u0432 \u0441\u043e\u0441\u0442\u0430\u0432\u0435 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 SIM7600E-H | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/openlinux-v-sostave-modulej-sim7600e-h\" \/>\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=\"2020-06-22T11:42:13+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-06-22T11:42:13+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\udd47OpenLinux i modulerna SIM7600E-H | ProHoster","description":"Mekanismen f\u00f6r att utveckla anv\u00e4ndarprogrammet och.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/openlinux-v-sostave-modulej-sim7600e-h","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\udd47OpenLinux \u0432 \u0441\u043e\u0441\u0442\u0430\u0432\u0435 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 SIM7600E-H | ProHoster","og:description":"\u041c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438.","og:url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/openlinux-v-sostave-modulej-sim7600e-h","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":"2020-06-22T11:42:13+00:00","article:modified_time":"2020-06-22T11:42:13+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"86184","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 14:21:09","updated":"2022-10-04 03:00: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\/86184","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=86184"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/86184\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/86185"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=86184"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=86184"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=86184"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}