{"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\/da\/blog\/administrirovanie\/openlinux-v-sostave-modulej-sim7600e-h","title":{"rendered":"OpenLinux as part of SIM7600E-H modules","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"OpenLinux as part of SIM7600E-H modules\" src=\"\/wp-content\/uploads\/2020\/06\/5909392d5908cffc4d46a122ec7431a8.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUdviklingsmekanismen for brugerdefinerede applikationer og upload til modulet er tilg\u00e6ngelig b\u00e5de under Linux- og Windows-operativsystemer. I denne artikel vil vi grundigt gennemg\u00e5, hvordan man ved at bruge eksempler fra det leverede SDK <noindex><a rel=\"nofollow\" href=\"http:\/\/en.simcom.com\">SIMCom Wireless Solutions<\/a><\/noindex> kan kompilere og uploade en brugerdefineret applikation til modulet.<\/p>\n<p>F\u00f8r jeg skrev denne artikel, bad en bekendt, som ikke var bekendt med udvikling under Linux, mig om at beskrive udviklingsprocessen for en brugerdefineret applikation til SIM7600E-H modulet s\u00e5 detaljeret som muligt. Kriteriet for materialets tilg\u00e6ngelighed var s\u00e6tningen \"s\u00e5 jeg forst\u00e5r\".<\/p>\n<p>Jeg inviterer dig til at se, hvad der er blevet til.<\/p>\n<blockquote><p>Artiklen opdateres og udvides regelm\u00e6ssigt<\/p><\/blockquote>\n<p>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Pr\u00e6ludium<\/h2>\n<p>\nNormalt bruges mobilmoduler kun til dataoverf\u00f8rsel, stemmeopkald, SMS-overf\u00f8rsel og lignende. Alt dette g\u00f8res ved hj\u00e6lp af AT-kommandoer sendt fra en ekstern kontroller. Men der er en kategori af moduler, der tillader udf\u00f8relse af brugerdefineret kode, der uploades udefra. I nogle tilf\u00e6lde kan det betydeligt reducere det samlede budget for enheden, hvilket muligg\u00f8r brug af en enklere (og derfor mere omkostningseffektiv) mikrocontroller eller helt at undg\u00e5 en. Med fremkomsten af LTE-moduler, der k\u00f8res p\u00e5 Android- eller Linux-operativsystemerne og deres kraftige ressourcer, kan man l\u00f8se alle de opgaver, som popul\u00e6re processorer kan h\u00e5ndtere. Denne artikel vil handle om SIM7600E-H, der k\u00f8res p\u00e5 Linux. Vi vil se p\u00e5, hvordan man uploader og k\u00f8rer en eksekverbar applikation.<\/p>\n<p>Materialet er i h\u00f8j grad baseret p\u00e5 dokumentet \"SIM7600 Open Linux Development Guide\", men nogle tilf\u00f8jelser, is\u00e6r den russisk sprogede version, vil v\u00e6re nyttige. Artiklen vil hj\u00e6lpe dem, der lige er begyndt at l\u00e6re modulet, med at komme til at uploade en demonstrationsapplikation og give de n\u00f8dvendige f\u00e6rdigheder til senere arbejde.<\/p>\n<h3>Kort om, hvem SIM7600E-H er.<\/h3>\n<p>\nSIM7600E-H er en modul baseret p\u00e5 Qualcomm ARM Cortex-A7 1.3GHz processor med et indbygget Linux-operativsystem (kernel 3.18.20), der kan arbejde med europ\u00e6iske (herunder russiske) 2G\/3G\/LTE frekvensb\u00e5nd, underst\u00f8tter Cat.4, og opn\u00e5r maksimum downloadhastighed p\u00e5 op til 150 Mbps og uploadhastighed p\u00e5 op til 50 Mbps. Den rige periferi, industrielle temperaturomr\u00e5de og indbygget GPS\/GLONASS-navigation opfylder alle krav til moderne modul\u00e6re l\u00f8sninger inden for M2M-omr\u00e5det.<\/p>\n<h2>Systemoversigt<\/h2>\n<p>\nModulet SIM7600E-H er baseret p\u00e5 et Linux-operativsystem (kernel 3.18.20). Filformatet er bygget p\u00e5 en journaliseret filsystem kaldet UBIFS (Unsorted Block Image File System).<\/p>\n<p>Vigtige funktioner i dette filsystem inkluderer:<\/p>\n<ul>\n<li>arbejde med partitioner, tillader oprettelse, sletning eller \u00e6ndring af st\u00f8rrelse;<\/li>\n<li>sikrer udj\u00e6vning af skrivning p\u00e5 tv\u00e6rs af lagermediet;<\/li>\n<li>arbejde med d\u00e5rlige blokke;<\/li>\n<li>minimerer risikoen for datatab ved pludselig str\u00f8mafbrydelse eller andre fejl;<\/li>\n<li>f\u00f8ringsjournaler.<\/li>\n<\/ul>\n<p>\nBeskrivelsen er hentet <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/273425\">from here<\/a><\/noindex>, hvor der ogs\u00e5 er givet en detaljeret beskrivelse af dette filsystem.<\/p>\n<p>Det vil sige, denne type filsystem er ideel til barske driftsforhold for modulet og mulige str\u00f8mproblemer. Men det betyder ikke, at forhold med ustabil str\u00f8m vil v\u00e6re den forventede driftstilstand for modulet; det indikerer kun en st\u00f8rre levedygtighed for enheden.<\/p>\n<h3>Hukommelse<\/h3>\n<p>\nFordelingen af hukommelsesomr\u00e5der er som f\u00f8lger:<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux as part of SIM7600E-H modules\" src=\"\/wp-content\/uploads\/2020\/06\/b066ca935a9c1105a5407551537db670.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDer skal afs\u00e6ttes tre hovedomr\u00e5der:<\/p>\n<p><b>ubi0:rootfs<\/b> \u2013 kun tilg\u00e6ngelig for l\u00e6sning og indeholder selve Linux-kernen<br \/>\n<b>ubi0:usrfs<\/b> \u2013 bruges prim\u00e6rt til brugerprogrammer og datalagring<br \/>\n<b>ubi0:cahcefs<\/b> \u2013 reserveret til FOTA-opdateringer. Hvis der ikke er nok plads til at downloade opdateringen, vil systemet slette ubrugte filer for at frigive plads. Men af sikkerhedsm\u00e6ssige \u00e5rsager anbefales det ikke at placere sine filer der.<\/p>\n<p>Alle tre partitioner er fordelt som f\u00f8lger:<\/p>\n<p>Filsystem<br \/>\nSt\u00f8rrelse<br \/>\nBrugt<br \/>\nTilg\u00e6ngelig<br \/>\nBrug%<br \/>\nMonteret 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>Tilg\u00e6ngelig funktionalitet<\/h3>\n<p>\nSom n\u00e6vnt tidligere, er modulet bygget p\u00e5 Qualcomm Cortex A7 chipset. Det ville v\u00e6re forkert ikke at tilbyde en s\u00e5 h\u00f8jtydende kerne til behandling af brugerprogrammet og aflaste den centrale processor, ved at lade modulet h\u00e5ndtere en del af programmet.<\/p>\n<p>                        <b class=\"spoiler_title\">For brugerprogrammet vil f\u00f8lgende driftsformer for den perifere enhed v\u00e6re tilg\u00e6ngelige:<\/b><\/p>\n<p>Pin Nr.<br \/>\nNavn<br \/>\nSys GPIO Nr.<br \/>\nStandard handling<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>En imponerende liste, og bem\u00e6rk: en del af periferien bruges til at f\u00e5 modulet til at fungere som en router. Dvs. p\u00e5 basis af et s\u00e5dant modul kan der laves en lille router, som kan dele internet over Wi-Fi. Desuden findes der allerede en f\u00e6rdig l\u00f8sning, kaldet SIM7600E-H-MIFI, som er et miniPCIe-kort med det indbyggede SIM7600E-H modul og flere antenneudgange, hvoraf en er en Wi-Fi antenne. Dette er imidlertid et emne til et separat materiale.<\/p>\n<h3>Milj\u00f8 (ikke ugedag)<\/h3>\n<p>\n<noindex><a rel=\"nofollow\" href=\"http:\/\/en.simcom.com\">SIMCom Wireless Solutions<\/a><\/noindex> giver udviklerne mulighed for selv at v\u00e6lge det mest velkendte udviklingsmilj\u00f8 under Linux eller Windows. Hvis der er tale om en enkelt eksekverbar applikation p\u00e5 modulet, er det bedre at v\u00e6lge Windows, da det bliver hurtigere og enklere. Hvis der planl\u00e6gges en kompleks arkitektur af applikationen og efterf\u00f8lgende opgraderinger \u2013 er det bedre at bruge Linux. Vi vil ogs\u00e5 have brug for Linux til at kompilere de eksekverbare filer til efterf\u00f8lgende upload til modulet; til kompilering er en virtuel maskine tilstr\u00e6kkelig.<\/p>\n<p>Hvad du skal bruge, som ikke er frit tilg\u00e6ngeligt for download \u2013 SDK, som kan anmodes om hos din distribut\u00f8r.<\/p>\n<h2>Installation af v\u00e6rkt\u00f8jer til arbejde med modulet<\/h2>\n<p>\nHer og fremover vil vi arbejde under Windows, som er det mest kendte operativsystem for de fleste brugere.<\/p>\n<p>Vi skal gennem nogle enkle trin installere det n\u00f8dvendige software til at l\u00e6re at arbejde med modulet:<\/p>\n<ol>\n<li>GNU\/Linux<\/li>\n<li>Cygwin<\/li>\n<li>Drivere<\/li>\n<li>ADB<\/li>\n<\/ol>\n<p><\/p>\n<h3>Installation af GNU\/Linux<\/h3>\n<p>\nFor application assembly, you can use any ARM-Linux compatible compiler. We will use the SourceryCodeBenchLiteARM GNU\/Linux translator available for download at <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\">linket<\/a><\/noindex>.<\/p>\n<p>To ensure all components are installed correctly, I will leave a few screenshots of the installation process. Essentially, there's nothing complicated about the installation.<\/p>\n<p>                        <b class=\"spoiler_title\">To ensure all components are installed correctly, I will leave a few screenshots of the installation process. Essentially, there's nothing complicated about the installation.<\/b><\/p>\n<ol>\n<li>Accept the license agreement<br \/>\n<img decoding=\"async\" alt=\"OpenLinux as part of SIM7600E-H modules\" src=\"\/wp-content\/uploads\/2020\/06\/dd1630770745f96c2cf03da8be749a46.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<li>Specify the installation folder<br \/>\n<img decoding=\"async\" alt=\"OpenLinux as part of SIM7600E-H modules\" src=\"\/wp-content\/uploads\/2020\/06\/925c11f439ae7ed0a2b6be31db0be8e8.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<li>Leave the necessary components unchanged<br \/>\n<img decoding=\"async\" alt=\"OpenLinux as part of SIM7600E-H modules\" src=\"\/wp-content\/uploads\/2020\/06\/b35500760f9edb900871fb1683e4bf9a.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<li>Leave as is<br \/>\n<img decoding=\"async\" alt=\"OpenLinux as part of SIM7600E-H modules\" src=\"\/wp-content\/uploads\/2020\/06\/451cb1f41db91ce3736930bbf7374588.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<li>A few 'Next', 'Install', and that\u2019s basically it<br \/>\n<img decoding=\"async\" alt=\"OpenLinux as part of SIM7600E-H modules\" src=\"\/wp-content\/uploads\/2020\/06\/8c22f4834e1b13286361e10860d0c966.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<\/ol>\n<h3>Installing Cygwin<\/h3>\n<p>\nNext, for development, you will need a set of libraries and utilities from the provided package <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cygwin.com\">Cygwin<\/a><\/noindex>Here, it's simple; the latest version of Cygwin can be downloaded for free from the official project site, and at the time of writing, version 3.1.5 was available, which we used in preparing the material.<\/p>\n<p>There\u2019s nothing complicated about installing Cygwin, the only thing you will need to choose is a mirror from which the installer will download the necessary files, select any, and install, as well as the set of utilities and libraries\u2014leave all available libraries and utilities selected.<\/p>\n<h3>Installing drivers<\/h3>\n<p>\nAfter the module is connected to the PC, you will need to install the drivers. You can request them from your distributor (recommended). I do not recommend searching the Internet for them yourself, as it may take a long time to find what caused the device conflict.<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux as part of SIM7600E-H modules\" src=\"\/wp-content\/uploads\/2020\/06\/25b144da02d48332cb6a8a766af447c7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAmong the designated ports, we see the following:<\/p>\n<p>Windows<br \/>\nLinux<br \/>\nDescription<\/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 add debug port<\/p>\n<p>\nAs you may have noticed, among the ports in the screenshot, there is no USB ADB, due to the fact that the ADB port in the module is closed by default and needs to be enabled by sending the command 'AT+CUSBADB=1' to the module's AT port and restarting it (this can be done with the command 'AT+CRESET').<\/p>\n<p>In the end, we will have the necessary interface in the device manager:<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux as part of SIM7600E-H modules\" src=\"\/wp-content\/uploads\/2020\/06\/706d604bde19b43d4d6b1fa82a4a076e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWe've completed the drivers, now let's move on to ADB.<\/p>\n<h3>Installing ADB<\/h3>\n<p>\nGo to the official Android Developer website at <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.android.com\/studio\/releases\/platform-tools\">linket<\/a><\/noindex>. We won't be downloading the bulky Android Studio; the command line is sufficient, available for download via the link 'Download SDK Platform-Tools for Windows'.<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux as part of SIM7600E-H modules\" src=\"\/wp-content\/uploads\/2020\/06\/9929969642382dbca66fcf1e1930af28.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDownload and extract the obtained archive to the root of drive C.<\/p>\n<h3>Milj\u00f8variabler<\/h3>\n<p>\nEfter installationen af Cygwin skal stien Cygwin\/bin\/ tilf\u00f8jes til udviklingsmilj\u00f8variablerne (Kontrolpanel \u2192 System \u2192 Avancerede systemindstillinger \u2192 Avanceret \u2192 Milj\u00f8variabler \u2192 Systemvariabler \u2192 Path \u2192 Rediger), som vist p\u00e5 sk\u00e6rmbilledet nedenfor:<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux as part of SIM7600E-H modules\" src=\"\/wp-content\/uploads\/2020\/06\/675e0cb09e98946ff30ccd1c951e1b07.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00e5 samme m\u00e5de tilf\u00f8jer vi stien til den downloadede og udpakkede ADB-arkiv i rodmappen p\u00e5 drev C.<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux as part of SIM7600E-H modules\" src=\"\/wp-content\/uploads\/2020\/06\/a733eb15fffc103be097ea1a0fd875df.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKlik flere gange p\u00e5 OK og genstart computeren.<\/p>\n<p>Efter genstart kan vi nemt kontrollere, om ADB fungerer korrekt ved at \u00e5bne kommandoprompten (Win+R \u2192 cmd) og indtaste kommandoen \u2018adb version\u2019. Vi f\u00e5r omtrent et s\u00e5dant resultat:<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux as part of SIM7600E-H modules\" src=\"\/wp-content\/uploads\/2020\/06\/84dbe94d0346947d8125adc8654a06ff.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVi tilslutter modulet til PC'en (hvis det er blevet frakoblet) og kontrollerer, om ADB kan se det med kommandoen \u2018adb devices\u2019:<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux as part of SIM7600E-H modules\" src=\"\/wp-content\/uploads\/2020\/06\/b0acef97e9cc2c8f6270a00bec7efc90.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nF\u00e6rdig, nu er konfigurationen af forbindelsen til modulet afsluttet, og vi kan starte shell for at arbejde med modulet.<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux as part of SIM7600E-H modules\" src=\"\/wp-content\/uploads\/2020\/06\/3dc6d9c5d57db8d6b8eb7fea19468463.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Udpakning og kompilering af SDK<\/h2>\n<p>\nN\u00e5r vi har f\u00e5et adgang til shell og kan begynde at arbejde med kommandoprompten til modulet, vil vi pr\u00f8ve at kompilere vores f\u00f8rste applikation til upload til modulet.<\/p>\n<p>Mange kan have problemer med dette! Da modulet k\u00f8rer p\u00e5 operativsystemet Linux, er det bedst at kompilere i et lokalt milj\u00f8 \u2013 Linux \u2013 for at undg\u00e5 kollisioner, n\u00e5r koden kompileres under Windows.<\/p>\n<p>Vi vil ikke g\u00e5 i dybden med, hvordan man kan installere Linux p\u00e5 en virtuel maskine, hvis man ikke \u00f8nsker at installere det p\u00e5 sin egen computer. Vi vil bruge VirtualBox, installere Ubuntu version 20.04 (den aktuelle version p\u00e5 tidspunktet for artiklens skrivning) og begynde at arbejde med compilere, SDK osv. der.<\/p>\n<p>Vi g\u00e5r ind i Linux-milj\u00f8et og udpoker arkivet modtaget fra distribut\u00f8ren.<\/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 bev\u00e6ger os ind i kataloget sim_open_sdk og tilf\u00f8jer milj\u00f8et:<\/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 bliver i denne mappe og udf\u00f8rer de f\u00f8lgende kommandoer mens vi er i den.<br \/>\nInstallerer biblioteket libncurses5-dev, hvis det ikke er blevet installeret:<\/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, hvis det heller ikke er blevet installeret:<\/p>\n<pre><code class=\"bash\">simcom@VirtualBox:~\/Desktop\/OpenLinux\/sim_open_sdk$ sudo apt-get install python -y<\/code><\/pre>\n<p>\nog 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>Compilation:<\/h3>\n<p>\nNu skal vi kompilere flere filer, og vi udf\u00f8rer f\u00f8lgende kommandoer i r\u00e6kkef\u00f8lge.<\/p>\n<p>Hvis der opst\u00e5r et vindue til kerneindstillinger under kompileringen \u2013 v\u00e6lg blot Exit og vend tilbage til konsollen, vi har ikke brug for at konfigurere kernen lige nu.<\/p>\n<p>Vi udf\u00f8rer:<\/p>\n<pre><code class=\"bash\">simcom@VirtualBox:~\/Desktop\/OpenLinux\/sim_open_sdk$ make<\/code><\/pre>\n<p>\nVi kompilere bootloader:<\/p>\n<pre><code class=\"bash\">simcom@VirtualBox:~\/Desktop\/OpenLinux\/sim_open_sdk$ make aboot<\/code><\/pre>\n<p>\nVi kompilere kernen:<\/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>\nVi kompilere rodfilessystemet:<\/p>\n<pre><code class=\"bash\">simcom@VirtualBox:~\/Desktop\/OpenLinux\/sim_open_sdk$ make rootfs<\/code><\/pre>\n<p>\nFor Linux-brugere vil det v\u00e6re relevant at kompilere drivermodulet:<\/p>\n<pre><code class=\"bash\">simcom@VirtualBox:~\/Desktop\/OpenLinux\/sim_open_sdk$ make kernel_module<\/code><\/pre>\n<p>\nLad os kompilere demoen:<\/p>\n<pre><code class=\"bash\">simcom@VirtualBox:~\/Desktop\/OpenLinux\/sim_open_sdk$ make demo<\/code><\/pre>\n<p>\nDerefter vil der dukke flere nye filer op 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>\nLad os pr\u00f8ve at indl\u00e6se demoen i vores modul og se hvad der sker.<\/p>\n<h3>Indl\u00e6sning<\/h3>\n<p>\nI mappen sim_open_sdk kan vi se filen demo_app. Vi tager den og flytter den til roden af C-drevet p\u00e5 computeren, som modulet er tilsluttet. Derefter \u00e5bner vi kommandoprompten i Windows (Win+R -&gt; cmd) og indtaster:<\/p>\n<pre><code class=\"dos\">C:&gt;adb push C:demo_app \/data\/<\/code><\/pre>\n<p>\nKonsollen vil sige:<\/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, at filen blev sendt til modulet med succes, og vi skal bare starte den. Lad os ikke vente.<\/p>\n<p>Vi udf\u00f8rer:<\/p>\n<pre><code class=\"dos\">C:&gt;adb shell<\/code><\/pre>\n<p>\nVi udvider rettighederne for den indl\u00e6ste fil:<\/p>\n<pre><code class=\"plaintext\">\/ # cdhmod 777 \/data\/demo_app<\/code><\/pre>\n<p>\nOg starter:<\/p>\n<pre><code class=\"plaintext\">\/ # \/data\/demo_app<\/code><\/pre>\n<p>\nI denne konsol vil modulet fort\u00e6lle os f\u00f8lgende:<\/p>\n<pre><code class=\"plaintext\">SDK_VER : SIM_SDK_VER_20191205\nDEMO_VER: SIM_SDK_VER_20191205\n\nV\u00e6lg en mulighed for at teste fra de listede punkter nedenfor.\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>\nLad os se IMEI-nummeret p\u00e5 modulet, vi indtaster 7 (skift til kommandotilstand) og s\u00e5 indtaster vi 5:<\/p>\n<pre><code class=\"plaintext\">V\u00e6lg venligst en mulighed at teste fra de listede punkter nedenfor.\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; 7\n\nV\u00e6lg venligst en mulighed at teste fra de listede punkter nedenfor.\n\n1. get Module Version         2. get CSQ\n3. get CREG                   4. get ICCID\n5. get IMEI                   6. get CIMI\n99. tilbage\nOption &gt; 5\nIMEI: 867584030090489\n\nV\u00e6lg venligst en mulighed at teste fra de listede punkter nedenfor.\n\n1. get Module Version         2. get CSQ\n3. get CREG                   4. get ICCID\n5. get IMEI                   6. get CIMI\n99. tilbage\nOption &gt;\n<\/code><\/pre>\n<p>\nDermed vil vi se IMEI for modulet.<\/p>\n<h2>Som konklusion<\/h2>\n<p>\nJeg h\u00e5ber, vi har form\u00e5et at give et generelt indtryk af, hvordan man kommer i gang med modulet. I de f\u00f8lgende artikler vil vi se n\u00e6rmere p\u00e5 funktionerne, som platformen SIM7600E-H tilbyder, samt hvordan man kan opdatere ens egen applikation i modulet eksternt.<\/p>\n<p>Jeg inviterer til at stille sp\u00f8rgsm\u00e5l i kommentarerne og angive, hvilken aspekt af modulens funktioner der skal afspejles i de kommende artikler.<br \/>\n<br \/>Kilde: <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.3 - 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\/da\/blog\/administrirovanie\/openlinux-v-sostave-modulej-sim7600e-h\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\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\/da\/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 som en del af SIM7600E-H modulerne | ProHoster","description":"Mechanismen til udvikling af brugerdefinerede applikationer og.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/openlinux-v-sostave-modulej-sim7600e-h","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/86184","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=86184"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/86184\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media\/86185"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=86184"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=86184"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=86184"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}