{"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\/it\/blog\/administrirovanie\/openlinux-v-sostave-modulej-sim7600e-h","title":{"rendered":"OpenLinux come parte dei moduli SIM7600E-H","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"OpenLinux come parte dei moduli SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/5909392d5908cffc4d46a122ec7431a8.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIl meccanismo per lo sviluppo di applicazioni personalizzate e il caricamento nel modulo \u00e8 disponibile sia per il sistema operativo Linux che per Windows. In questo articolo esploreremo in dettaglio come utilizzare gli esempi forniti dal SDK <noindex><a rel=\"nofollow\" href=\"http:\/\/en.simcom.com\">SIMCom Wireless Solutions<\/a><\/noindex> per compilare e caricare un'applicazione personalizzata nel modulo.<\/p>\n<p>Prima di scrivere questo articolo, un mio amico, che non ha esperienza nello sviluppo su Linux, mi ha chiesto di affrontare la questione in modo il pi\u00f9 dettagliato possibile, per quanto riguarda il processo di sviluppo di un'applicazione per il modulo SIM7600E-H. Il criterio per valutare la comprensibilit\u00e0 del materiale \u00e8 stata la frase \"in modo che possa capire\".<\/p>\n<p>Ti invito a dare un'occhiata a ci\u00f2 che \u00e8 stato realizzato.<\/p>\n<blockquote><p>L'articolo viene regolarmente integrato e aggiornato<\/p><\/blockquote>\n<p>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Preludio<\/h2>\n<p>\nDi solito, i moduli di comunicazione mobile vengono utilizzati solo per la trasmissione di dati, chiamate vocali, invio di SMS e simili. Tutto ci\u00f2 avviene tramite comandi AT inviati da un microcontrollore esterno. Ma esiste una categoria di moduli che consente di eseguire codice personalizzato caricato dall'esterno. In alcuni casi, ci\u00f2 riduce significativamente il budget complessivo del dispositivo, consentendo di usare un microcontrollore pi\u00f9 semplice (e quindi pi\u00f9 economico) o di rinunciarvi del tutto. Con l'arrivo dei moduli LTE, gestiti da sistemi operativi Android o Linux e con le loro potenti risorse, \u00e8 possibile affrontare qualsiasi compito che sia accessibile ai processori pi\u00f9 comuni. In questo articolo parleremo del SIM7600E-H, gestito dal sistema operativo Linux. Vedremo come caricare e avviare un'applicazione eseguibile.<\/p>\n<p>Gran parte del materiale si basa sul documento \u201cSIM7600 Open Linux development guide\u201d, ma alcuni aggiornamenti e in particolare la versione in lingua russa saranno utili. L'articolo aiuter\u00e0 chi si sta appena avvicinando al modulo a raggiungere il caricamento di un'applicazione dimostrativa e fornir\u00e0 le competenze necessarie per il lavoro futuro.<\/p>\n<h3>In breve, chi \u00e8 il SIM7600E-H<\/h3>\n<p>\nIl SIM7600E-H \u00e8 un modulo basato sul processore ARM Cortex-A7 da 1.3GHz di Qualcomm, con un sistema operativo Linux (kernel 3.18.20) al suo interno, in grado di operare con bande di frequenze 2G\/3G\/LTE europee (inclusa quelle russe), supportando Cat.4, realizzando una velocit\u00e0 massima di download fino a 150Mbps e upload fino a 50Mbps. Una ricca periferica, un intervallo di temperatura industriale e la presenza di navigazione GPS\/GLONASS soddisfano qualsiasi esigenza di una moderna soluzione modulare nel contesto M2M.<\/p>\n<h2>Panoramica del sistema<\/h2>\n<p>\nIl modulo SIM7600E-H si basa sul sistema operativo Linux (kernel 3.18.20). A sua volta, il file system \u00e8 costruito su un file system journaling UBIFS (Unsorted Block Image File System).<\/p>\n<p>Le caratteristiche principali di questo file system includono:<\/p>\n<ul>\n<li>funziona con le partizioni, consente di crearle, eliminarle o cambiarne la dimensione;<\/li>\n<li>garantisce l'allineamento della scrittura sull'intero supporto;<\/li>\n<li>gestisce i blocchi danneggiati;<\/li>\n<li>minimizza la probabilit\u00e0 di perdita di dati in caso di spegnimento improvviso o altri guasti;<\/li>\n<li>registrazione dei log.<\/li>\n<\/ul>\n<p>\nLa descrizione \u00e8 presa <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/273425\">da qui<\/a><\/noindex>, dove viene spiegato pi\u00f9 dettagliatamente questo file system.<\/p>\n<p>Pertanto, questo tipo di file system \u00e8 perfetto per le condizioni di lavoro severe del modulo e per i possibili problemi di alimentazione. Ma ci\u00f2 non significa che le condizioni di alimentazione instabile siano previste come modalit\u00e0 di funzionamento del modulo, questo indica solo una maggiore vitalit\u00e0 del dispositivo.<\/p>\n<h3>Memoria<\/h3>\n<p>\nLa distribuzione delle aree di memoria \u00e8 organizzata nel seguente modo:<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux come parte dei moduli SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/b066ca935a9c1105a5407551537db670.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBisogna distinguere tre aree principali:<\/p>\n<p><b>ubi0:rootfs<\/b> \u2013 accessibile solo in lettura e contiene il kernel Linux stesso<br \/>\n<b>ubi0:usrfs<\/b> \u2013 utilizzato principalmente per programmi utente e archiviazione dati<br \/>\n<b>ubi0:cachefs<\/b> \u2013 riservato per gli aggiornamenti FOTA. Se la spazio disponibile non \u00e8 sufficiente per scaricare l'aggiornamento, il sistema eliminer\u00e0 i file non utilizzati e liberer\u00e0 spazio. Tuttavia, per motivi di sicurezza, non \u00e8 consigliabile conservarvi i propri file.<\/p>\n<p>Tutte e tre le partizioni sono distribuite nel seguente modo:<\/p>\n<p>Filesystem<br \/>\nDimensione<br \/>\nUtilizzati<br \/>\nDisponibile<br \/>\nUso%<br \/>\nMontato su<\/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>Funzionalit\u00e0 disponibile<\/h3>\n<p>\nCome gi\u00e0 accennato, il modulo \u00e8 basato sul chipset Cortex A7 di Qualcomm. Sarebbe sbagliato non fornire un nucleo cos\u00ec ad alte prestazioni per gestire le applicazioni utente e alleggerire il processore principale del dispositivo, delegando al modulo parte delle operazioni.<\/p>\n<p>                        <b class=\"spoiler_title\">Per l'applicazione utente, avremo a disposizione le seguenti modalit\u00e0 di funzionamento della periferica:<\/b><\/p>\n<p>Pin No.<br \/>\nName<br \/>\nSys GPIO No.<br \/>\nAzione predefinita<br \/>\nFunc1<br \/>\nFunc2<br \/>\nPull<br \/>\nInterruzione di risveglio<\/p>\n<p>6<br \/>\nSPI_CLK<br \/>\n&#8212;<br \/>\nUART1_RTS<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nB-PD<br \/>\n&#8212;<\/p>\n<p>7<br \/>\nSPI_MISO<br \/>\n&#8212;<br \/>\nUART1_Rx<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nB-PD<br \/>\n&#8212;<\/p>\n<p>8<br \/>\nSPI_MOSI<br \/>\n&#8212;<br \/>\nUART1_Tx<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nB-PD<br \/>\n&#8212;<\/p>\n<p>9<br \/>\nSPI_CS<br \/>\n&#8212;<br \/>\nUART1_CTS<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nB-PD<br \/>\n&#8212;<\/p>\n<p>21<br \/>\nSD_CMD<br \/>\n&#8212;<br \/>\nSD-Card<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nB-PD<br \/>\n&#8212;<\/p>\n<p>22<br \/>\nSD_DATA0<br \/>\n&#8212;<br \/>\nSD-Card<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nB-PD<br \/>\n&#8212;<\/p>\n<p>23<br \/>\nSD_DATA1<br \/>\n&#8212;<br \/>\nSD-Card<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nB-PD<br \/>\n&#8212;<\/p>\n<p>24<br \/>\nSD_DATA2<br \/>\n&#8212;<br \/>\nSD-Card<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nB-PD<br \/>\n&#8212;<\/p>\n<p>25<br \/>\nSD_DATA3<br \/>\n&#8212;<br \/>\nSD-Card<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nB-PD<br \/>\n&#8212;<\/p>\n<p>26<br \/>\nSD_CLK<br \/>\n&#8212;<br \/>\nSD-Card<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nB-PN<br \/>\n&#8212;<\/p>\n<p>27<br \/>\nSDIO_DATA1<br \/>\n&#8212;<br \/>\nWLAN<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nB-PD<br \/>\n&#8212;<\/p>\n<p>28<br \/>\nSDIO_DATA2<br \/>\n&#8212;<br \/>\nWLAN<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nB-PD<br \/>\n&#8212;<\/p>\n<p>29<br \/>\nSDIO_CMD<br \/>\n&#8212;<br \/>\nWLAN<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nB-PD<br \/>\n&#8212;<\/p>\n<p>30<br \/>\nSDIO_DATA0<br \/>\n&#8212;<br \/>\nWLAN<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nB-PD<br \/>\n&#8212;<\/p>\n<p>31<br \/>\nSDIO_DATA3<br \/>\n&#8212;<br \/>\nWLAN<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nB-PD<br \/>\n&#8212;<\/p>\n<p>32<br \/>\nSDIO_CLK<br \/>\n&#8212;<br \/>\nWLAN<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nB-PN<br \/>\n&#8212;<\/p>\n<p>33<br \/>\nGPIO3<br \/>\nGPIO_1020<br \/>\nMIFI_POWER_EN<br \/>\nGPIO<br \/>\nMIFI_POWER_EN<br \/>\nB-PU<br \/>\n&#8212;<\/p>\n<p>34<br \/>\nGPIO6<br \/>\nGPIO_1023<br \/>\nMIFI_SLEEP_CLK<br \/>\nGPIO<br \/>\nMIFI_SLEEP_CLK<br \/>\nB-PD<br \/>\n&#8212;<\/p>\n<p>46<br \/>\nADC2<br \/>\n&#8212;<br \/>\nADC<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\n&#8212;<\/p>\n<p>47<br \/>\nADC1<br \/>\n&#8212;<br \/>\nADC<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nB-PU<br \/>\n&#8212;<\/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 \/>\nStato<br \/>\nGPIO<br \/>\nStato<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&#8212;<\/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&#8212;<br \/>\nI2C_SCL<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nB-PD<br \/>\n&#8212;<\/p>\n<p>56<br \/>\nSDA<br \/>\n&#8212;<br \/>\nI2C_SDA<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nB-PU<br \/>\n&#8212;<\/p>\n<p>66<br \/>\nRTS<br \/>\n&#8212;<br \/>\nUART2_RTS<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nB-PD<br \/>\n&#8212;<\/p>\n<p>67<br \/>\nCTS<br \/>\n&#8212;<br \/>\nUART2_CTS<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nB-PD<br \/>\n&#8212;<\/p>\n<p>68<br \/>\nRxD<br \/>\n&#8212;<br \/>\nUART2_Rx<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nB-PD<br \/>\n&#8212;<\/p>\n<p>69<br \/>\nRI<br \/>\n&#8212;<br \/>\nGPIO(RI)<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nB-PD<br \/>\n&#8212;<\/p>\n<p>70<br \/>\nDCD<br \/>\n&#8212;<br \/>\nGPIO<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nB-PD<br \/>\n&#8212;<\/p>\n<p>71<br \/>\nTxD<br \/>\n&#8212;<br \/>\nUART2_Tx<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nB-PD<br \/>\n&#8212;<\/p>\n<p>72<br \/>\nDTR<br \/>\n&#8212;<br \/>\nGPIO(DTR)<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nB-PD<br \/>\nX<\/p>\n<p>73<br \/>\nPCM_OUT<br \/>\n&#8212;<br \/>\nPCM<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nB-PD<br \/>\n&#8212;<\/p>\n<p>74<br \/>\nPCM_IN<br \/>\n&#8212;<br \/>\nPCM<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nB-PD<br \/>\n&#8212;<\/p>\n<p>75<br \/>\nPCM_SYNC<br \/>\n&#8212;<br \/>\nPCM<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nB-PD<br \/>\n&#8212;<\/p>\n<p>76<br \/>\nPCM_CLK<br \/>\n&#8212;<br \/>\nPCM<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nB-PU<br \/>\n&#8212;<\/p>\n<p>87<br \/>\nGPIO77<br \/>\nGPIO77<br \/>\nBT<br \/>\nGPIO<br \/>\nBT<br \/>\nB-PD<br \/>\n&#8212;<\/p>\n<p>Concordate, l'elenco \u00e8 imponente e notate: parte della periferica \u00e8 usata per far funzionare il modulo come un router. Cio\u00e8, basandosi su un tale modulo, \u00e8 possibile creare un piccolo router che distribuir\u00e0 internet tramite Wi-Fi. A proposito, esiste gi\u00e0 una soluzione pronta, chiamata SIM7600E-H-MIFI, che consiste in una scheda miniPCIE con il modulo SIM7600E-H saldato e diversi connettori per antenne, uno dei quali \u00e8 l'antenna Wi-Fi. Tuttavia, questo \u00e8 gi\u00e0 un argomento per un materiale separato.<\/p>\n<h3>Ambiente (non giorno della settimana)<\/h3>\n<p>\n<noindex><a rel=\"nofollow\" href=\"http:\/\/en.simcom.com\">SIMCom Wireless Solutions<\/a><\/noindex> danno agli sviluppatori la possibilit\u00e0 di scegliere l'ambiente di sviluppo pi\u00f9 familiare tra Linux o Windows. Se si tratta di un'unica applicazione eseguibile sul modulo, \u00e8 meglio scegliere Windows, in quanto sar\u00e0 pi\u00f9 rapido e semplice. Se si prevede un'architettura complessa dell'applicazione e futuri aggiornamenti, \u00e8 meglio usare Linux. Avremo anche bisogno di Linux per la compilazione dei file eseguibili da caricare sul modulo, per la compilazione \u00e8 sufficiente una macchina virtuale.<\/p>\n<p>Di ci\u00f2 di cui avrete bisogno, non disponibile per il download libero: SDK, che pu\u00f2 essere richiesto al proprio distributore.<\/p>\n<h2>Installazione degli strumenti per lavorare con il modulo<\/h2>\n<p>\nDa qui in poi lavoreremo su Windows, poich\u00e9 \u00e8 il sistema operativo pi\u00f9 familiare alla maggior parte degli utenti.<\/p>\n<p>Avremo bisogno di installare in pochi semplici passaggi il software necessario per imparare a lavorare con il modulo:<\/p>\n<ol>\n<li>GNU\/Linux<\/li>\n<li>Cygwin<\/li>\n<li>Driver<\/li>\n<li>ADB<\/li>\n<\/ol>\n<p><\/p>\n<h3>Installazione di GNU\/Linux<\/h3>\n<p>\nPer assemblare l'applicazione, puoi utilizzare qualsiasi compilatore compatibile con ARM-Linux. Noi utilizzeremo SourceryCodeBenchLiteARM GNU\/Linux disponibile per il download su <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\">link<\/a><\/noindex>.<\/p>\n<p>Per garantire che tutti i componenti siano installati correttamente, lascer\u00f2 alcuni screenshot del processo di installazione. In linea di massima, non c'\u00e8 nulla di difficile nell'installazione.<\/p>\n<p>                        <b class=\"spoiler_title\">Per garantire che tutti i componenti siano installati correttamente, lascer\u00f2 alcuni screenshot del processo di installazione. In linea di massima, non c'\u00e8 nulla di difficile nell'installazione.<\/b><\/p>\n<ol>\n<li>Accettiamo il contratto di licenza<br \/>\n<img decoding=\"async\" alt=\"OpenLinux come parte dei moduli SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/dd1630770745f96c2cf03da8be749a46.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<li>Indichiamo la cartella di installazione<br \/>\n<img decoding=\"async\" alt=\"OpenLinux come parte dei moduli SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/925c11f439ae7ed0a2b6be31db0be8e8.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<li>Lasciamo invariati i componenti necessari<br \/>\n<img decoding=\"async\" alt=\"OpenLinux come parte dei moduli SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/b35500760f9edb900871fb1683e4bf9a.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<li>Lasciamo cos\u00ec com'\u00e8<br \/>\n<img decoding=\"async\" alt=\"OpenLinux come parte dei moduli SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/451cb1f41db91ce3736930bbf7374588.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<li>Qualche volta su \"Avanti\", \"Installa\" e in sostanza \u00e8 tutto<br \/>\n<img decoding=\"async\" alt=\"OpenLinux come parte dei moduli SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/8c22f4834e1b13286361e10860d0c966.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<\/ol>\n<h3>Installazione di Cygwin<\/h3>\n<p>\nSuccessivamente, per la programmazione, sar\u00e0 necessario un set di librerie e utilit\u00e0 dal pacchetto fornito <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cygwin.com\">Cygwin<\/a><\/noindex>. Qui \u00e8 tutto semplice, la versione attuale di Cygwin pu\u00f2 essere scaricata gratuitamente dal sito ufficiale del progetto; al momento della scrittura dell'articolo, era disponibile la versione 3.1.5, che abbiamo utilizzato per la preparazione del materiale.<\/p>\n<p>Nell'installazione di Cygwin non c'\u00e8 nulla di complesso, l'unica cosa da scegliere \u00e8 lo specchio da cui il programma di installazione scaricher\u00e0 i file necessari; scegliamo qualsiasi specchio e procediamo all'installazione, lasciando selezionate tutte le librerie e utilit\u00e0 disponibili.<\/p>\n<h3>Installazione dei driver<\/h3>\n<p>\nDopo aver collegato il modulo al PC, sar\u00e0 necessario installare i driver. Puoi richiederli al tuo distributore (consigliato). Non raccomando di cercarli autonomamente su Internet, poich\u00e9 potrebbe richiedere molto tempo per trovare la causa del conflitto dei dispositivi.<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux come parte dei moduli SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/25b144da02d48332cb6a8a766af447c7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTra le porte assegnate vediamo le seguenti:<\/p>\n<p>Windows<br \/>\nLinux<br \/>\nDescrizione<\/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 aggiungi porta di debug<\/p>\n<p>\nCome probabilmente avrete notato, tra le porte nello screenshot non c'\u00e8 USB ADB, questo perch\u00e9 la porta ADB nel modulo \u00e8 chiusa di default e deve essere attivata inviando il comando \u2018AT+CUSBADB=1\u2019 alla porta AT del modulo e riavviandolo (puoi farlo con il comando \u2018AT+CRESET\u2019).<\/p>\n<p>Alla fine otterremo l'interfaccia desiderata nel gestore dispositivi:<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux come parte dei moduli SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/706d604bde19b43d4d6b1fa82a4a076e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAbbiamo terminato con i driver, passiamo a ADB.<\/p>\n<h3>Installazione di ADB<\/h3>\n<p>\nVisita il sito ufficiale di Android Developer su <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.android.com\/studio\/releases\/platform-tools\">link<\/a><\/noindex>. Non scaricheremo il pesante Android Studio, ci basta la riga di comando, disponibile per il download al link \u2018Download SDK Platform-Tools for Windows\u2019.<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux come parte dei moduli SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/9929969642382dbca66fcf1e1930af28.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nScarica e decomprimi l'archivio ottenuto nella radice del disco C.<\/p>\n<h3>Variabili ambiente<\/h3>\n<p>\nDopo aver installato Cygwin, \u00e8 necessario aggiungere il percorso Cygwin\/bin\/ alle variabili di ambiente di sviluppo (Pannello di controllo classico \u2192 Sistema \u2192 Impostazioni avanzate di sistema \u2192 Avanzate \u2192 Variabili di ambiente \u2192 Variabili di sistema \u2192 Path \u2192 Modifica) come mostrato nello screenshot qui sotto:<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux come parte dei moduli SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/675e0cb09e98946ff30ccd1c951e1b07.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAllo stesso modo, aggiungiamo il percorso dell'archivio ADB scaricato e decompresso nella radice del disco C.<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux come parte dei moduli SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/a733eb15fffc103be097ea1a0fd875df.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nFacciamo clic su OK pi\u00f9 volte e riavviamo il computer.<\/p>\n<p>Dopo il riavvio, possiamo facilmente controllare se ADB funziona correttamente aprendo il prompt dei comandi (Win+R \u2192 cmd) e digitando il comando 'adb version'. Otterremo un risultato simile a questo:<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux come parte dei moduli SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/84dbe94d0346947d8125adc8654a06ff.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nColleghiamo il modulo al PC (se per caso l'abbiamo scollegato) e verifichiamo se ADB lo riconosce con il comando 'adb devices':<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux come parte dei moduli SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/b0acef97e9cc2c8f6270a00bec7efc90.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nFatto, a questo punto la configurazione della connessione al modulo \u00e8 completata e possiamo avviare il shell per lavorare con il modulo.<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux come parte dei moduli SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/3dc6d9c5d57db8d6b8eb7fea19468463.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Decompressione e compilazione dell'SDK<\/h2>\n<p>\nDopo aver ottenuto accesso al shell e poter iniziare a lavorare con il prompt dei comandi del modulo, proviamo a compilare la nostra prima applicazione da caricare nel modulo.<\/p>\n<p>Molti possono avere difficolt\u00e0 con questo! Poich\u00e9 il modulo funziona su un sistema operativo Linux, per evitare conflitti durante la compilazione del codice su Windows, \u00e8 meglio compilare in un ambiente nativo: Linux.<\/p>\n<p>Non ci soffermeremo su come si possa installare Linux su una macchina virtuale in assenza di Linux e con poca voglia di installarlo sulla propria macchina. Noi useremo VirtualBox, installeremo Ubuntu versione 20.04 (versione attuale al momento della scrittura dell'articolo) e cominceremo a lavorare con compilatori, SDK, ecc.<\/p>\n<p>Passiamo all'ambiente Linux e decompiliamo l'archivio ricevuto dal distributore.<\/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>\nAccediamo alla cartella sim_open_sdk e aggiungiamo l'ambiente:<\/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>\nRimaniamo in questa stessa cartella ed eseguiamo i comandi successivi rimanendo qui.<br \/>\nInstalliamo la libreria libncurses5-dev, se non \u00e8 gi\u00e0 stata installata:<\/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, se non \u00e8 gi\u00e0 stato installato:<\/p>\n<pre><code class=\"bash\">simcom@VirtualBox:~\/Desktop\/OpenLinux\/sim_open_sdk$ sudo apt-get install python -y<\/code><\/pre>\n<p>\ne 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>Compilazione:<\/h3>\n<p>\nOra dobbiamo compilare diversi file, eseguendo i seguenti comandi in sequenza.<\/p>\n<p>Se durante la compilazione appare una finestra di configurazione del kernel, selezioniamo semplicemente Exit e torniamo al terminale. Non \u00e8 necessario configurare il kernel adesso.<\/p>\n<p>Eseguiamo:<\/p>\n<pre><code class=\"bash\">simcom@VirtualBox:~\\\/Desktop\\\/OpenLinux\\\/sim_open_sdk$ make<\/code><\/pre>\n<p>\nCompiliamo il bootloader:<\/p>\n<pre><code class=\"bash\">simcom@VirtualBox:~\\\/Desktop\\\/OpenLinux\\\/sim_open_sdk$ make aboot<\/code><\/pre>\n<p>\nCompiliamo il kernel:<\/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>\nCompiliamo il file di sistema root:<\/p>\n<pre><code class=\"bash\">simcom@VirtualBox:~\\\/Desktop\\\/OpenLinux\\\/sim_open_sdk$ make rootfs<\/code><\/pre>\n<p>\nPer gli utenti Linux, sar\u00e0 rilevante compilare il driver del modulo:<\/p>\n<pre><code class=\"bash\">simcom@VirtualBox:~\\\/Desktop\\\/OpenLinux\\\/sim_open_sdk$ make kernel_module<\/code><\/pre>\n<p>\nCompiliamo la demo:<\/p>\n<pre><code class=\"bash\">simcom@VirtualBox:~\\\/Desktop\\\/OpenLinux\\\/sim_open_sdk$ make demo<\/code><\/pre>\n<p>\nDopo questo, nella directory sim_open_sdk\\\/output appariranno diversi nuovi file:<\/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>\nProviamo a caricare la dimostrazione nel nostro modulo e vediamo cosa ne esce.<\/p>\n<h3>Avvio<\/h3>\n<p>\nNella directory sim_open_sdk possiamo vedere il file demo_app. Prendiamolo e spostiamolo nella radice del disco C del PC a cui \u00e8 collegato il modulo. Dopodich\u00e9, apriamo il prompt dei comandi di Windows (Win+R -&gt; cmd) e digitiamo:<\/p>\n<pre><code class=\"dos\">C:&gt;adb push C:demo_app \\\/data\\\/<\/code><\/pre>\n<p>\nIl terminale ci dir\u00e0:<\/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>\nQuesto significa che il file \u00e8 stato inviato con successo al modulo e ora non ci resta che avviarlo. Non perdiamo tempo.<\/p>\n<p>Eseguiamo:<\/p>\n<pre><code class=\"dos\">C:&gt;adb shell<\/code><\/pre>\n<p>\nEstendiamo i permessi del file caricato:<\/p>\n<pre><code class=\"plaintext\">\/ # cdhmod 777 \/data\/demo_app<\/code><\/pre>\n<p>\nE lo avviamo:<\/p>\n<pre><code class=\"plaintext\">\/ # \/data\/demo_app<\/code><\/pre>\n<p>\nNello stesso terminale, il modulo ci dir\u00e0 quanto segue:<\/p>\n<pre><code class=\"plaintext\">SDK_VER : SIM_SDK_VER_20191205\nDEMO_VER: SIM_SDK_VER_20191205\n\nPer favore seleziona un'opzione da testare dagli elementi elencati di seguito.\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\nOpzione &gt;   \n<\/code><\/pre>\n<p>\nVediamo l'IMEI del modulo, inseriamo 7 (per passare alla modalit\u00e0 comando) e poi inseriamo 5:<\/p>\n<pre><code class=\"plaintext\">Si prega di selezionare un'opzione da testare dagli elementi elencati di seguito.\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\nOpzione &gt; 7\n\nSi prega di selezionare un'opzione da testare dagli elementi elencati di seguito.\n\n1. get Module Version         2. get CSQ\n3. get CREG                   4. get ICCID\n5. get IMEI                   6. get CIMI\n99. back\nOpzione &gt; 5\nIMEI: 867584030090489\n\nSi prega di selezionare un'opzione da testare dagli elementi elencati di seguito.\n\n1. get Module Version         2. get CSQ\n3. get CREG                   4. get ICCID\n5. get IMEI                   6. get CIMI\n99. back\nOpzione &gt;\n<\/code><\/pre>\n<p>\nCos\u00ec vedremo l'IMEI del modulo.<\/p>\n<h2>In conclusione<\/h2>\n<p>\nSpero che siamo riusciti a dare una panoramica generale su come iniziare a lavorare con il modulo. Negli articoli successivi esamineremo in dettaglio le funzionalit\u00e0 offerte dalla piattaforma SIM7600E-H e come aggiornare remotamente la propria applicazione sul modulo.<\/p>\n<p>Ti invito a porre domande nei commenti e a indicare quali aspetti delle funzionalit\u00e0 del modulo dovrebbero essere trattati nei prossimi articoli.<br \/>\n<br \/>Fonte: <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.1.1 - 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\/it\/blog\/administrirovanie\/openlinux-v-sostave-modulej-sim7600e-h\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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\/it\/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 come parte dei moduli SIM7600E-H | ProHoster","description":"Il meccanismo di sviluppo di applicazioni personalizzate e.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/openlinux-v-sostave-modulej-sim7600e-h","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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\/it\/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\/it\/wp-json\/wp\/v2\/posts\/86184","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=86184"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/86184\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/86185"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=86184"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=86184"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=86184"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}