{"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 \/>\nMeccanismo di sviluppo dell'applicazione utente e caricamento nel modulo disponibile sia su Linux che su Windows. In questo articolo esamineremo in dettaglio come, utilizzando gli esempi forniti dall'SDK, <noindex><a rel=\"nofollow\" href=\"http:\/\/en.simcom.com\">SIMCom Wireless Solutions<\/a><\/noindex> compilare e caricare un'applicazione utente 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 in modo dettagliato il processo di sviluppo di un'applicazione personalizzata per il modulo SIM7600E-H. Il criterio di valutazione della comprensibilit\u00e0 del materiale \u00e8 stata la frase \"in modo che io possa capire\".<\/p>\n<p>Ti invito a scoprire cosa ne \u00e8 uscito.<\/p>\n<blockquote><p>L'articolo viene regolarmente aggiornato e integrato<\/p><\/blockquote>\n<p>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Prelude<\/h2>\n<p>\nI moduli GSM vengono solitamente utilizzati esclusivamente per la trasmissione di dati, chiamate vocali, invio di SMS e simili. Tutto ci\u00f2 viene fatto tramite comandi AT inviati da un microcontrollore di controllo esterno. Tuttavia, esiste una categoria di moduli che consente di eseguire codice utente caricato dall'esterno. In alcuni casi, questo riduce significativamente il budget totale del dispositivo, permettendo di utilizzare un microcontrollore pi\u00f9 semplice (e quindi pi\u00f9 economico) o di rinunciarvi del tutto. Con l'avvento dei moduli LTE, gestiti da sistemi operativi Android o Linux, e le loro potenti risorse, \u00e8 possibile affrontare qualsiasi compito disponibile per i processori pi\u00f9 comuni. In questo articolo parleremo del SIM7600E-H, gestito da Linux. Esamineremo come caricare e avviare un'applicazione eseguibile.<\/p>\n<p>Gran parte del materiale si basa sul documento \"SIM7600 Open Linux Development Guide\", ma alcune integrazioni, in particolare la versione in lingua russa, saranno utili. Questo articolo aiuter\u00e0 coloro che stanno appena iniziando a esplorare il modulo a caricare un'applicazione dimostrativa e fornir\u00e0 le competenze necessarie per il lavoro futuro.<\/p>\n<h3>Breve introduzione a chi \u00e8 SIM7600E-H<\/h3>\n<p>\nSIM7600E-H \u00e8 un modulo basato su un processore ARM Cortex-A7 da 1,3 GHz di Qualcomm, con un sistema operativo Linux (nucleo 3.18.20) al suo interno, in grado di operare con le bande di frequenza 2G\/3G\/LTE europee (compresa la Russia), supportando Cat.4 e garantendo una velocit\u00e0 massima di download fino a 150 Mbps e di upload fino a 50 Mbps. La ricca periferia, la gamma di temperature industriali e la presenza di navigazione GPS\/GLONASS soddisfano ogni esigenza di una moderna soluzione modulare nel settore M2M.<\/p>\n<h2>Panoramica del sistema<\/h2>\n<p>\nIl modulo SIM7600E-H si basa su un sistema operativo Linux (nucleo 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 salienti di questo file system includono:<\/p>\n<ul>\n<li>gestione delle partizioni, consente di creare, eliminare o modificare le loro dimensioni;<\/li>\n<li>garantisce l'allineamento della scrittura su tutto il supporto;<\/li>\n<li>gestisce i bad block;<\/li>\n<li>minimizza la probabilit\u00e0 di perdita di dati in caso di spegnimento imprevisto o altri guasti;<\/li>\n<li>tenuta dei log.<\/li>\n<\/ul>\n<p>\nDescrizione presa da <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/273425\">da qui<\/a><\/noindex>, dove viene spiegato pi\u00f9 dettagliatamente questo tipo di filesystem.<\/p>\n<p>Cio\u00e8, questo tipo di filesystem \u00e8 ideale per le condizioni di lavoro difficili del modulo e per possibili problemi di alimentazione. Tuttavia, ci\u00f2 non significa che le condizioni di alimentazione instabili siano un normale funzionamento del modulo, ma solo che il dispositivo \u00e8 pi\u00f9 resistente.<\/p>\n<h3>Memoria<\/h3>\n<p>\nLa distribuzione delle aree di memoria \u00e8 strutturata come segue:<\/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 \/>\n\u00c8 necessario allocare tre aree principali:<\/p>\n<p><b>ubi0:rootfs<\/b> \u2013 accessibile solo in lettura e contiene il kernel Linux.<br \/>\n<b>ubi0:usrfs<\/b> \u2013 utilizzato principalmente per il programma utente e la memorizzazione dei dati.<br \/>\n<b>ubi0:cachefs<\/b> \u2013 riservato per gli aggiornamenti FOTA. Se non c'\u00e8 spazio sufficiente per scaricare l'aggiornamento, il sistema eliminer\u00e0 i file non utilizzati liberando cos\u00ec spazio. Ma per motivi di sicurezza, non \u00e8 consigliabile memorizzare i propri file l\u00ec.<\/p>\n<p>Le tre partizioni sono distribuite come segue:<\/p>\n<p>Filesystem<br \/>\nDimensione<br \/>\nUsato<br \/>\nDisponibile<br \/>\nUtilizzo%<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 in precedenza, il modulo \u00e8 basato sul chipset Cortex A7 di Qualcomm. Sarebbe errato non fornire un'unit\u00e0 cos\u00ec ad alte prestazioni per elaborare il programma utente e alleggerire il processore principale del dispositivo, delegando al modulo una parte del programma.<\/p>\n<p>                        <b class=\"spoiler_title\">Per il programma utente saranno disponibili le seguenti modalit\u00e0 di funzionamento delle periferiche:<\/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\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-Card<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>22<br \/>\nSD_DATA0<br \/>\n\u2014<br \/>\nSD-Card<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>23<br \/>\nSD_DATA1<br \/>\n\u2014<br \/>\nSD-Card<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>24<br \/>\nSD_DATA2<br \/>\n\u2014<br \/>\nSD-Card<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>25<br \/>\nSD_DATA3<br \/>\n\u2014<br \/>\nSD-Card<br \/>\n\u2014<br \/>\n\u2014<br \/>\nB-PD<br \/>\n\u2014<\/p>\n<p>26<br \/>\nSD_CLK<br \/>\n\u2014<br \/>\nSD-Card<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 \/>\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\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>Ammetti, l'elenco \u00e8 impressionante e nota che parte della periferica viene utilizzata per funzionare come router. Cio\u00e8, sulla base di questo modulo, si pu\u00f2 realizzare un piccolo router in grado di distribuire internet tramite Wi-Fi. A proposito, esiste gi\u00e0 una soluzione pronta, chiamata SIM7600E-H-MIFI, che \u00e8 una scheda miniPCIE con il modulo SIM7600E-H saldato e diversi jack per antenne, uno dei quali \u00e8 un'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> offrono agli sviluppatori la possibilit\u00e0 di scegliere l'ambiente di sviluppo pi\u00f9 familiare sotto Linux o Windows. Se si tratta di un'unica applicazione eseguibile sul modulo, \u00e8 meglio scegliere Windows, in quanto risulta pi\u00f9 veloce e semplice. Se \u00e8 prevista un'architettura complessa dell'applicazione e successivi aggiornamenti, \u00e8 meglio usare Linux. Avremo inoltre bisogno di Linux per compilare i file eseguibili da caricare nel modulo; \u00e8 sufficiente una macchina virtuale per la compilazione.<\/p>\n<p>Tra le cose di cui avrete bisogno, non disponibili per il download pubblico, c'\u00e8 il SDK, che pu\u00f2 essere richiesto dal proprio distributore.<\/p>\n<h2>Installazione degli strumenti per lavorare con il modulo<\/h2>\n<p>\nQui e oltre lavoreremo su Windows, essendo questo il sistema operativo pi\u00f9 familiare per la maggior parte degli utenti.<\/p>\n<p>Dovremo installare il software necessario in pochi semplici passaggi per iniziare 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 compilare l'applicazione possiamo 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 assicurarmi che tutti i componenti siano installati correttamente, lascer\u00f2 alcune schermate del processo di installazione. In linea di massima, non c'\u00e8 nulla di complicato nell'installazione.<\/p>\n<p>                        <b class=\"spoiler_title\">Per assicurarmi che tutti i componenti siano installati correttamente, lascer\u00f2 alcune schermate del processo di installazione. In linea di massima, non c'\u00e8 nulla di complicato 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>Manteniamo i componenti necessari senza modifiche<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>Lasciamolo 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>Alcuni \u201cAvanti\u201d, \u201cInstalla\u201d e in pratica \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>\nIn seguito, per lo sviluppo avremo bisogno di un insieme di librerie e strumenti forniti da <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cygwin.com\">Cygwin<\/a><\/noindex>. Qui \u00e8 tutto semplice; l'ultima versione 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>L'installazione di Cygwin non \u00e8 complicata, l'unica cosa da scegliere \u00e8 il mirror da cui l'installer scaricher\u00e0 i file necessari; selezioniamo qualsiasi opzione e installiamo, cos\u00ec come un insieme di strumenti e librerie, lasciando selezionate tutte le librerie e gli strumenti disponibili.<\/p>\n<h3>Installazione dei driver<\/h3>\n<p>\nDopo che il modulo \u00e8 stato collegato al PC, sar\u00e0 necessario installare i driver. \u00c8 consigliato richiederli al proprio distributore. Non raccomando di cercarli online da soli, poich\u00e9 potrebbe richiedere molto tempo trovare la causa del conflitto degli apparecchi.<\/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 rilevate 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 add debug port<\/p>\n<p>\nCome 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 riavviarlo (questo pu\u00f2 essere fatto con il comando \u2018AT+CRESET\u2019).<\/p>\n<p>Alla fine otteniamo 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 finito con i driver, passiamo ad ADB.<\/p>\n<h3>Installazione di ADB<\/h3>\n<p>\nVisitiamo il sito ufficiale degli sviluppatori Android 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 'Download SDK Platform-Tools for Windows'.<\/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 \/>\nScarichiamo e scompattiamo l'archivio ottenuto nella radice del disco C.<\/p>\n<h3>Variabili d'ambiente<\/h3>\n<p>\nDopo l'installazione di Cygwin, sar\u00e0 necessario aggiungere il percorso Cygwin\/bin\/ alle variabili d'ambiente di sviluppo (Pannello di controllo classico \u2192 Sistema \u2192 Impostazioni avanzate di sistema \u2192 Avanzate \u2192 Variabili d'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 scompattato 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 diverse volte e riavviamo il computer.<\/p>\n<p>Dopo il riavvio, possiamo facilmente verificare 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 sono stati disconnessi) e controlliamo se ADB lo rileva 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 \/>\nPronto, abbiamo completato la configurazione della connessione al modulo e possiamo avviare la 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>Estrazione e compilazione del SDK<\/h2>\n<p>\nUna volta accesso alla shell e avviato il lavoro con la riga di comando del modulo, proviamo a compilare la nostra prima applicazione da caricare nel modulo.<\/p>\n<p>Molti potrebbero 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 nel dettaglio su come, in assenza di Linux e senza voglia di installarlo sul proprio computer, sia possibile installarlo su uno virtuale. Utilizzeremo VirtualBox, installeremo Ubuntu versione 20.04 (versione attuale al momento della scrittura dell'articolo) e inizieremo a lavorare con i compilatori, SDK, ecc.<\/p>\n<p>Entriamo nell'ambiente Linux e estraiamo 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>\nPassiamo alla cartella sim_open_sdk e configuriamo 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 e eseguiamo le successive istruzioni mentre siamo in essa.<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 stato anche 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, eseguiamo sequentialmente i seguenti comandi.<\/p>\n<p>Se durante la compilazione appare la finestra di configurazione del kernel, scegli semplicemente Exit e torna alla console; al momento non abbiamo bisogno di configurare il kernel.<\/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 filesystem 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 importante 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 il demo:<\/p>\n<pre><code class=\"bash\">simcom@VirtualBox:~\/Desktop\/OpenLinux\/sim_open_sdk$ make demo<\/code><\/pre>\n<p>\nDopo di che, 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 verr\u00e0 fuori.<\/p>\n<h3>Caricamento<\/h3>\n<p>\nNella directory sim_open_sdk possiamo vedere il file demo_app. Lo preleviamo e lo trasferiamo nella radice del disco C del PC a cui \u00e8 collegato il modulo. Dopodich\u00e9 avviamo il prompt dei comandi di Windows (Win+R -&gt; cmd) e inseriamo:<\/p>\n<pre><code class=\"dos\">C:&gt;adb push C:demo_app \/data\/<\/code><\/pre>\n<p>\nLa console ci informer\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>\nCi\u00f2 significa che il file \u00e8 stato inviato correttamente al modulo e ci rimane solo da eseguirlo. Non perdiamo tempo.<\/p>\n<p>Eseguiamo:<\/p>\n<pre><code class=\"dos\">C:&gt;adb shell<\/code><\/pre>\n<p>\nAmplifichiamo i diritti del file caricato:<\/p>\n<pre><code class=\"plaintext\">\/ # cdhmod 777 \/data\/demo_app<\/code><\/pre>\n<p>\nE lanciamo:<\/p>\n<pre><code class=\"plaintext\">\/ # \/data\/demo_app<\/code><\/pre>\n<p>\nNella stessa console, il modulo ci informer\u00e0 di seguito:<\/p>\n<pre><code class=\"plaintext\">SDK_VER : SIM_SDK_VER_20191205\nDEMO_VER: SIM_SDK_VER_20191205\n\nSi prega di selezionare un'opzione per 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>\nDiamo un'occhiata all'IMEI del modulo, inseriamo 7 (passaggio alla modalit\u00e0 comando) e poi inseriamo 5:<\/p>\n<pre><code class=\"plaintext\">Seleziona un'opzione da testare tra gli 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\nSeleziona un'opzione da testare tra gli elementi elencati di seguito.\n\n1. ottieni Versione Modulo         2. ottieni CSQ\n3. ottieni CREG                   4. ottieni ICCID\n5. ottieni IMEI                   6. ottieni CIMI\n99. torna\nOpzione &gt; 5\nIMEI: 867584030090489\n\nSeleziona un'opzione da testare tra gli elementi elencati di seguito.\n\n1. ottieni Versione Modulo         2. ottieni CSQ\n3. ottieni CREG                   4. ottieni ICCID\n5. ottieni IMEI                   6. ottieni CIMI\n99. torna\nOpzione &gt;\n<\/code><\/pre>\n<p>\nIn questo modo vedremo l'IMEI del modulo.<\/p>\n<h2>In conclusione<\/h2>\n<p>\nSpero che siamo riusciti a fornirvi una panoramica su come iniziare a lavorare con il modulo. Nei prossimi articoli esploreremo pi\u00f9 in dettaglio le possibilit\u00e0 offerte dalla piattaforma SIM7600E-H, cos\u00ec come il modo in cui \u00e8 possibile aggiornare il proprio applicativo nel modulo da remoto.<\/p>\n<p>Vi invito a fare domande nei commenti e a indicare quale aspetto delle capacit\u00e0 del modulo dovrebbe essere riflesso 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 4.9.10 - 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 \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\" \/>\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) 4.9.10\" \/>\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 \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\" \/>\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 per sviluppare un'applicazione personalizzata e caricarla nel modulo \u00e8 disponibile sia per il sistema operativo Linux che per Windows. In questo articolo esamineremo in dettaglio come compilare e caricare un'applicazione personalizzata nel modulo utilizzando esempi forniti da SIMCom Wireless Solutions. Prima di scrivere questo articolo, un mio amico, lontano dallo sviluppo su Linux, mi ha chiesto di essere il pi\u00f9 dettagliato possibile.","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 \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","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"},"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}]}}