{"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\/pt\/blog\/administrirovanie\/openlinux-v-sostave-modulej-sim7600e-h","title":{"rendered":"OpenLinux nos m\u00f3dulos SIM7600E-H","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"OpenLinux nos m\u00f3dulos SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/5909392d5908cffc4d46a122ec7431a8.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nO mecanismo de desenvolvimento de aplicativos personalizados e sua carga no m\u00f3dulo est\u00e1 dispon\u00edvel tanto sob o sistema operacional Linux quanto Windows. Neste artigo, vamos examinar detalhadamente como utilizar exemplos do SDK fornecido. <noindex><a rel=\"nofollow\" href=\"http:\/\/en.simcom.com\">SIMCom Wireless Solutions<\/a><\/noindex> compilar e carregar um aplicativo personalizado no m\u00f3dulo.<\/p>\n<p>Antes de escrever este artigo, um conhecido meu, longe do desenvolvimento em Linux, pediu que eu abordasse o processo de desenvolvimento de um aplicativo pr\u00f3prio para o m\u00f3dulo SIM7600E-H de forma detalhada. O crit\u00e9rio para avaliar a acessibilidade do material foi a frase 'de forma que eu entendesse'.<\/p>\n<p>Convido voc\u00ea a conferir o que foi produzido.<\/p>\n<blockquote><p>O artigo \u00e9 regularmente complementado e atualizado.<\/p><\/blockquote>\n<p>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Prel\u00fadio<\/h2>\n<p>\nNormalmente, m\u00f3dulos de comunica\u00e7\u00e3o celular s\u00e3o usados apenas para transmiss\u00e3o de dados, chamadas de voz, envio de SMS e afins. Tudo isso \u00e9 feito por meio de comandos AT enviados de um microcontrolador externo. Mas h\u00e1 uma categoria de m\u00f3dulos que permite a execu\u00e7\u00e3o de c\u00f3digo personalizado, carregado externamente. Em alguns casos, isso reduz significativamente o custo total do dispositivo, permitindo que um microcontrolador mais simples (e portanto, mais acess\u00edvel) seja utilizado ou at\u00e9 mesmo dispensado. Com o surgimento de m\u00f3dulos LTE, gerenciados por sistemas operacionais Android ou Linux e seus poderosos recursos, \u00e9 poss\u00edvel resolver qualquer tarefa dispon\u00edvel para processadores populares. Neste artigo, falaremos sobre o SIM7600E-H, gerenciado pelo Linux. Vamos ver como carregar e executar um aplicativo execut\u00e1vel.<\/p>\n<p>Em grande parte, o material \u00e9 baseado no documento \u201cSIM7600 Open Linux Development Guide\u201d, mas algumas adi\u00e7\u00f5es, especialmente a vers\u00e3o em russo, ser\u00e3o \u00fateis. O artigo ajudar\u00e1 aqueles que est\u00e3o apenas come\u00e7ando a aprender sobre o m\u00f3dulo a chegar \u00e0 carga do aplicativo de demonstra\u00e7\u00e3o e fornecer\u00e1 as habilidades necess\u00e1rias para o trabalho subsequente.<\/p>\n<h3>Um resumo sobre quem \u00e9 o SIM7600E-H<\/h3>\n<p>\nO SIM7600E-H \u00e9 um m\u00f3dulo baseado no processador ARM Cortex-A7 de 1.3GHz da Qualcomm, que possui o sistema operacional Linux (n\u00facleo 3.18.20) integrado, capaz de operar nas faixas de frequ\u00eancia 2G\/3G\/LTE na Europa (incluindo a R\u00fassia), suportando Cat.4, garantindo uma velocidade m\u00e1xima de download de at\u00e9 150Mbps e upload de at\u00e9 50Mbps. A rica periferia, a faixa de temperatura industrial e a presen\u00e7a de navega\u00e7\u00e3o GPS\/GLONASS atendem a todas as exig\u00eancias de uma solu\u00e7\u00e3o modular moderna no tema M2M.<\/p>\n<h2>Vis\u00e3o geral do sistema<\/h2>\n<p>\nO m\u00f3dulo SIM7600E-H \u00e9 baseado no sistema operacional Linux (n\u00facleo 3.18.20). Por sua vez, o sistema de arquivos \u00e9 constru\u00eddo sobre o sistema de arquivos journaled UBIFS (Unsorted Block Image File System).<\/p>\n<p>As principais caracter\u00edsticas deste sistema de arquivos incluem:<\/p>\n<ul>\n<li>opera com parti\u00e7\u00f5es, permitindo criar, excluir ou redimension\u00e1-las;<\/li>\n<li>garante o alinhamento de grava\u00e7\u00e3o em todo o volume do meio;<\/li>\n<li>opera com blocos ruins;<\/li>\n<li>minimiza a probabilidade de perda de dados em caso de cortes de energia inesperados ou outras falhas;<\/li>\n<li>manuten\u00e7\u00e3o de logs.<\/li>\n<\/ul>\n<p>\nA descri\u00e7\u00e3o foi retirada <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/273425\">daqui<\/a><\/noindex>, onde \u00e9 explicado em mais detalhes sobre tal sistema de arquivos.<\/p>\n<p>Ou seja, esse tipo de sistema de arquivos \u00e9 ideal para condi\u00e7\u00f5es severas de opera\u00e7\u00e3o do m\u00f3dulo e poss\u00edveis problemas com a alimenta\u00e7\u00e3o. Mas isso n\u00e3o significa que condi\u00e7\u00f5es de alimenta\u00e7\u00e3o inst\u00e1veis sejam esperadas como modo de opera\u00e7\u00e3o do m\u00f3dulo, isso apenas indica uma maior viabilidade do dispositivo.<\/p>\n<h3>Mem\u00f3ria<\/h3>\n<p>\nA distribui\u00e7\u00e3o das \u00e1reas de mem\u00f3ria \u00e9 organizada da seguinte forma:<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux nos m\u00f3dulos SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/b066ca935a9c1105a5407551537db670.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00c9 necess\u00e1rio destacar tr\u00eas \u00e1reas principais:<\/p>\n<p><b>ubi0:rootfs<\/b> \u2013 acess\u00edvel apenas para leitura e cont\u00e9m o pr\u00f3prio n\u00facleo Linux<br \/>\n<b>ubi0:usrfs<\/b> \u2013 \u00e9 usado principalmente para programas de usu\u00e1rio e armazenamento de dados<br \/>\n<b>ubi0:cachefs<\/b> \u2013 reservado para atualiza\u00e7\u00f5es FOTA. Se o espa\u00e7o dispon\u00edvel n\u00e3o for suficiente para baixar a atualiza\u00e7\u00e3o \u2013 o sistema remover\u00e1 arquivos n\u00e3o usados e assim liberar\u00e1 espa\u00e7o. Mas, por motivos de seguran\u00e7a \u2013 n\u00e3o deve-se armazenar seus arquivos l\u00e1.<\/p>\n<p>Todas as tr\u00eas parti\u00e7\u00f5es est\u00e3o distribu\u00eddas da seguinte forma:<\/p>\n<p>Filesystem<br \/>\nTamanho<br \/>\nUsado<br \/>\nDispon\u00edvel<br \/>\nUso%<br \/>\nMontado em<\/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>Funcionalidade dispon\u00edvel<\/h3>\n<p>\nComo mencionado anteriormente, o m\u00f3dulo \u00e9 baseado no chipset Cortex A7 da Qualcomm. Seria incorreto n\u00e3o fornecer um n\u00facleo de alto desempenho para processar o programa do usu\u00e1rio e aliviar o processador principal do dispositivo, delegando ao m\u00f3dulo parte do programa.<\/p>\n<p>                        <b class=\"spoiler_title\">Para o programa do usu\u00e1rio, teremos os seguintes modos de opera\u00e7\u00e3o da periferia:<\/b><\/p>\n<p>Pino No.<br \/>\nNome<br \/>\nSys GPIO No.<br \/>\nA\u00e7\u00e3o padr\u00e3o<br \/>\nFunc1<br \/>\nFunc2<br \/>\nPull<br \/>\nInterrup\u00e7\u00e3o de despertar<\/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 \/>\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>Concordo, a lista \u00e9 impressionante e note que parte da periferia \u00e9 usada para a opera\u00e7\u00e3o do m\u00f3dulo como um roteador. Ou seja, com base em tal m\u00f3dulo, pode-se criar um pequeno roteador que distribui internet via Wi-Fi. A prop\u00f3sito, j\u00e1 existe uma solu\u00e7\u00e3o pronta, chamada SIM7600E-H-MIFI, que consiste em um cart\u00e3o miniPCIe, com o m\u00f3dulo SIM7600E-H soldado e v\u00e1rias sa\u00eddas de antena, uma delas sendo a antena Wi-Fi. Contudo, este j\u00e1 \u00e9 um assunto para material separado.<\/p>\n<h3>Ambiente (n\u00e3o dia da semana)<\/h3>\n<p>\n<noindex><a rel=\"nofollow\" href=\"http:\/\/en.simcom.com\">SIMCom Wireless Solutions<\/a><\/noindex> d\u00e3o aos desenvolvedores a oportunidade de escolherem o ambiente de desenvolvimento mais familiar, seja Linux ou Windows. Se estivermos falando de um \u00fanico aplicativo execut\u00e1vel no m\u00f3dulo, \u00e9 melhor escolher Windows, pois ser\u00e1 mais r\u00e1pido e simples. Se se prev\u00ea uma arquitetura complexa do aplicativo e futuras atualiza\u00e7\u00f5es, \u00e9 melhor usar Linux. Tamb\u00e9m precisaremos do Linux para compilar os arquivos execut\u00e1veis a serem carregados no m\u00f3dulo, e para compilar \u00e9 suficiente uma m\u00e1quina virtual.<\/p>\n<p>O que voc\u00ea precisar\u00e1 que n\u00e3o est\u00e1 dispon\u00edvel para download livre \u2013 o SDK, que pode ser solicitado ao seu distribuidor.<\/p>\n<h2>Instala\u00e7\u00e3o de utilit\u00e1rios para trabalhar com o m\u00f3dulo<\/h2>\n<p>\nAqui e adiante, trabalharemos em Windows, que \u00e9 o sistema operacional mais familiar para a maioria dos usu\u00e1rios.<\/p>\n<p>Precisamos, em alguns passos simples, instalar o software necess\u00e1rio para o aprendizado subsequente de como trabalhar com o m\u00f3dulo:<\/p>\n<ol>\n<li>GNU\/Linux<\/li>\n<li>Cygwin<\/li>\n<li>Drivers<\/li>\n<li>ADB<\/li>\n<\/ol>\n<p><\/p>\n<h3>Instala\u00e7\u00e3o do GNU\/Linux<\/h3>\n<p>\nPara compilar o aplicativo, voc\u00ea pode usar qualquer compilador compat\u00edvel com ARM-Linux. N\u00f3s usaremos o SourceryCodeBenchLiteARM GNU\/Linux, dispon\u00edvel para download em <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>Para garantir que todos os componentes sejam instalados corretamente, deixarei algumas capturas de tela do processo de instala\u00e7\u00e3o. Em princ\u00edpio, n\u00e3o h\u00e1 nada complicado na instala\u00e7\u00e3o.<\/p>\n<p>                        <b class=\"spoiler_title\">Para garantir que todos os componentes sejam instalados corretamente, deixarei algumas capturas de tela do processo de instala\u00e7\u00e3o. Em princ\u00edpio, n\u00e3o h\u00e1 nada complicado na instala\u00e7\u00e3o.<\/b><\/p>\n<ol>\n<li>Aceitamos o contrato de licen\u00e7a<br \/>\n<img decoding=\"async\" alt=\"OpenLinux nos m\u00f3dulos SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/dd1630770745f96c2cf03da8be749a46.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<li>Indicamos a pasta de instala\u00e7\u00e3o<br \/>\n<img decoding=\"async\" alt=\"OpenLinux nos m\u00f3dulos SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/925c11f439ae7ed0a2b6be31db0be8e8.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<li>Deixamos os componentes necess\u00e1rios sem altera\u00e7\u00f5es<br \/>\n<img decoding=\"async\" alt=\"OpenLinux nos m\u00f3dulos SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/b35500760f9edb900871fb1683e4bf9a.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<li>Mantemos como est\u00e1<br \/>\n<img decoding=\"async\" alt=\"OpenLinux nos m\u00f3dulos SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/451cb1f41db91ce3736930bbf7374588.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<li>V\u00e1rias vezes 'Pr\u00f3ximo', 'Instalar' e, basicamente, \u00e9 tudo<br \/>\n<img decoding=\"async\" alt=\"OpenLinux nos m\u00f3dulos SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/8c22f4834e1b13286361e10860d0c966.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<\/ol>\n<h3>Instala\u00e7\u00e3o do Cygwin<\/h3>\n<p>\nEm seguida, para o desenvolvimento, ser\u00e1 necess\u00e1rio um conjunto de bibliotecas e utilit\u00e1rios fornecidos por <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cygwin.com\">Cygwin<\/a><\/noindex>. Aqui \u00e9 simples, a vers\u00e3o mais atual do Cygwin pode ser baixada gratuitamente no site oficial do projeto; no momento da reda\u00e7\u00e3o deste artigo, a vers\u00e3o 3.1.5 estava dispon\u00edvel, e foi a que utilizamos para a prepara\u00e7\u00e3o do material.<\/p>\n<p>Na instala\u00e7\u00e3o do Cygwin, n\u00e3o h\u00e1 nada complicado; a \u00fanica coisa que voc\u00ea precisar\u00e1 escolher \u00e9 um espelho do qual o instalador baixar\u00e1 os arquivos necess\u00e1rios, escolha qualquer um e instale. Tamb\u00e9m \u00e9 necess\u00e1rio escolher um conjunto de utilit\u00e1rios e bibliotecas; deixaremos todas as bibliotecas e utilit\u00e1rios dispon\u00edveis selecionados.<\/p>\n<h3>Instala\u00e7\u00e3o de drivers<\/h3>\n<p>\nAp\u00f3s conectar o m\u00f3dulo ao PC, ser\u00e1 necess\u00e1rio instalar os drivers. Voc\u00ea pode solicitar ao seu distribuidor (recomendado). N\u00e3o recomendo procurar na internet, pois pode levar muito tempo encontrar a solu\u00e7\u00e3o para o conflito de dispositivos.<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux nos m\u00f3dulos SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/25b144da02d48332cb6a8a766af447c7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEntre as portas destacadas, vemos as seguintes:<\/p>\n<p>Windows<br \/>\nLinux<br \/>\nDescri\u00e7\u00e3o<\/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>\nComo voc\u00ea provavelmente percebeu, entre as portas na captura de tela n\u00e3o est\u00e1 o USB ADB, isso se deve ao fato de que a porta ADB no m\u00f3dulo est\u00e1 fechada por padr\u00e3o e deve ser ativada enviando o comando 'AT+CUSBADB=1' para a porta AT do m\u00f3dulo e reinici\u00e1-lo (isso pode ser feito com o comando 'AT+CRESET').<\/p>\n<p>No final, obteremos a interface desejada no gerenciador de dispositivos:<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux nos m\u00f3dulos SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/706d604bde19b43d4d6b1fa82a4a076e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nConclu\u00edmos com os drivers, agora vamos para o ADB.<\/p>\n<h3>Instala\u00e7\u00e3o do ADB<\/h3>\n<p>\nAcesse o site oficial do Android Developer em <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.android.com\/studio\/releases\/platform-tools\">link<\/a><\/noindex>. N\u00e3o vamos baixar o Android Studio pesado; o que precisamos \u00e9 da linha de comando, dispon\u00edvel para download atrav\u00e9s do link 'Download SDK Platform-Tools for Windows'.<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux nos m\u00f3dulos SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/9929969642382dbca66fcf1e1930af28.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBaixamos e extra\u00edmos o arquivo obtido na raiz do disco C.<\/p>\n<h3>Vari\u00e1veis de ambiente<\/h3>\n<p>\nAp\u00f3s a instala\u00e7\u00e3o do Cygwin, ser\u00e1 necess\u00e1rio adicionar o caminho Cygwin\/bin\/ \u00e0s vari\u00e1veis de ambiente do desenvolvedor (Painel de Controle Cl\u00e1ssico \u2192 Sistema \u2192 Configura\u00e7\u00f5es avan\u00e7adas do sistema \u2192 Avan\u00e7ado \u2192 Vari\u00e1veis de ambiente \u2192 Vari\u00e1veis de sistema \u2192 Path \u2192 Editar), como mostrado na captura de tela abaixo:<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux nos m\u00f3dulos SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/675e0cb09e98946ff30ccd1c951e1b07.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDa mesma forma, adicionamos o caminho para o arquivo ADB baixado e descompactado na raiz do disco C.<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux nos m\u00f3dulos SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/a733eb15fffc103be097ea1a0fd875df.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nClique em OK v\u00e1rias vezes e reinicie o computador.<\/p>\n<p>Ap\u00f3s reiniciar, podemos facilmente verificar se o ADB est\u00e1 funcionando corretamente, abrindo o prompt de comando (Win+R \u2192 cmd) e digitando o comando \u2018adb version\u2019. Obteremos um resultado semelhante a este:<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux nos m\u00f3dulos SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/84dbe94d0346947d8125adc8654a06ff.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nConecte o m\u00f3dulo ao PC (se por acaso voc\u00ea desconectou) e verifique se o ADB o reconhece com o comando \u2018adb devices\u2019:<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux nos m\u00f3dulos SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/b0acef97e9cc2c8f6270a00bec7efc90.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPronto, isso conclui a configura\u00e7\u00e3o da conex\u00e3o com o m\u00f3dulo e podemos iniciar o shell para trabalhar com o m\u00f3dulo.<\/p>\n<p><img decoding=\"async\" alt=\"OpenLinux nos m\u00f3dulos SIM7600E-H\" src=\"\/wp-content\/uploads\/2020\/06\/3dc6d9c5d57db8d6b8eb7fea19468463.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Descompacta\u00e7\u00e3o e compila\u00e7\u00e3o do SDK<\/h2>\n<p>\nDepois de obter acesso ao shell e iniciar a trabalhar com o prompt de comando do m\u00f3dulo, tentaremos compilar nosso primeiro aplicativo para carregar no m\u00f3dulo.<\/p>\n<p>Isso pode causar dificuldades para muitos! Como o m\u00f3dulo opera em um sistema operacional Linux, para evitar colis\u00f5es ao compilar c\u00f3digo no Windows, \u00e9 melhor compilar em um ambiente nativo \u2014 Linux.<\/p>\n<p>N\u00e3o entraremos em detalhes sobre como, na aus\u00eancia do Linux e sem o desejo de instal\u00e1-lo na pr\u00f3pria m\u00e1quina, voc\u00ea pode instal\u00e1-lo em uma m\u00e1quina virtual. Vamos usar o VirtualBox, instalar o Ubuntu vers\u00e3o 20.04 (vers\u00e3o atual no momento da reda\u00e7\u00e3o deste artigo) e sob ele come\u00e7aremos a trabalhar com compiladores, SDK, etc.<\/p>\n<p>Acessamos o ambiente Linux e descompactamos o arquivo recebido do distribuidor.<\/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>\nNavegamos para o diret\u00f3rio sim_open_sdk e adicionamos o 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>\nPermanecemos nesta mesma pasta e executamos os pr\u00f3ximos comandos nela.<br \/>\nInstalamos a biblioteca libncurses5-dev, se ela n\u00e3o foi instalada:<\/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 tamb\u00e9m n\u00e3o foi instalado:<\/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>Compila\u00e7\u00e3o:<\/h3>\n<p>\nAgora precisaremos compilar v\u00e1rios arquivos, executando as seguintes comandos sequencialmente.<\/p>\n<p>Se durante a compila\u00e7\u00e3o surgir a janela de configura\u00e7\u00e3o do n\u00facleo \u2013 basta escolher Sair e voltar para o console, n\u00e3o precisamos configurar o n\u00facleo agora.<\/p>\n<p>Executamos:<\/p>\n<pre><code class=\"bash\">simcom@VirtualBox:~\\\/Desktop\\\/OpenLinux\\\/sim_open_sdk$ make<\/code><\/pre>\n<p>\nCompilando o bootloader:<\/p>\n<pre><code class=\"bash\">simcom@VirtualBox:~\\\/Desktop\\\/OpenLinux\\\/sim_open_sdk$ make aboot<\/code><\/pre>\n<p>\nCompilando o n\u00facleo:<\/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>\nCompilando o sistema de arquivos raiz:<\/p>\n<pre><code class=\"bash\">simcom@VirtualBox:~\\\/Desktop\\\/OpenLinux\\\/sim_open_sdk$ make rootfs<\/code><\/pre>\n<p>\nPara usu\u00e1rios do Linux, ser\u00e1 importante compilar o m\u00f3dulo do driver:<\/p>\n<pre><code class=\"bash\">simcom@VirtualBox:~\\\/Desktop\\\/OpenLinux\\\/sim_open_sdk$ make kernel_module<\/code><\/pre>\n<p>\nVamos compilar a demonstra\u00e7\u00e3o:<\/p>\n<pre><code class=\"bash\">simcom@VirtualBox:~\\\/Desktop\\\/OpenLinux\\\/sim_open_sdk$ make demo<\/code><\/pre>\n<p>\nAp\u00f3s isso, aparecer\u00e1 v\u00e1rios novos arquivos no diret\u00f3rio 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>Demonstra\u00e7\u00e3o<\/h2>\n<p>\nVamos tentar carregar a demonstra\u00e7\u00e3o em nosso m\u00f3dulo e ver o que acontece.<\/p>\n<h3>Carregando<\/h3>\n<p>\nNo diret\u00f3rio sim_open_sdk, podemos ver o arquivo demo_app. Pegamos ele e movemos para a raiz do disco C no PC ao qual o m\u00f3dulo est\u00e1 conectado. Ap\u00f3s isso, abrimos o prompt de comando do Windows (Win+R -&gt; cmd) e digitamos:<\/p>\n<pre><code class=\"dos\">C:&gt;adb push C:demo_app \\\/data\\\/<\/code><\/pre>\n<p>\nO console nos informar\u00e1:<\/p>\n<pre><code class=\"dos\">C:demo_app: 1 arquivo enviado, 0 pulados. 151.4 MB\\\/s (838900 bytes em 0.005s)<\/code><\/pre>\n<p>\nIsso significa que o arquivo foi enviado com sucesso para o m\u00f3dulo e s\u00f3 nos resta execut\u00e1-lo. N\u00e3o vamos perder tempo.<\/p>\n<p>Executamos:<\/p>\n<pre><code class=\"dos\">C:&gt;adb shell<\/code><\/pre>\n<p>\nExpandindo os direitos do arquivo enviado:<\/p>\n<pre><code class=\"plaintext\">\/ # cdhmod 777 \/data\/demo_app<\/code><\/pre>\n<p>\nE executamos:<\/p>\n<pre><code class=\"plaintext\">\/ # \/data\/demo_app<\/code><\/pre>\n<p>\nNo mesmo console, o m\u00f3dulo nos informar\u00e1 o seguinte:<\/p>\n<pre><code class=\"plaintext\">SDK_VER : SIM_SDK_VER_20191205\nDEMO_VER: SIM_SDK_VER_20191205\n\nPor favor, selecione uma op\u00e7\u00e3o para testar entre os itens listados abaixo.\n\n1. WIFI                       2. CHAMADA DE VOZ\n3. CHAMADA DE DADOS          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. Vers\u00e3o                   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. SAIR\nOp\u00e7\u00e3o &gt;   \n<\/code><\/pre>\n<p>\nVamos verificar o IMEI do m\u00f3dulo, digitamos 7 (transi\u00e7\u00e3o para o modo de comando) e depois digitamos 5:<\/p>\n<pre><code class=\"plaintext\">Por favor, selecione uma op\u00e7\u00e3o para testar dentre os itens listados abaixo.\n\n1. WIFI                       2. CHAMADA DE VOZ\n3. CHAMADA DE DADOS          4. SMS\n5. WDS(APN)                   6. NAS\n7. AT                         8. OTA\n9. TTS                        10. GPIO\n11. GPS                       12. Bluetooth\n13. TCP\/UDP                   14. Temporizador\n15. ADC                       16. I2C\n17. UIM(SimCard)              18. DMS(IMEI,MEID)\n19. UART                      20. SPI\n21. Vers\u00e3o                   22. Ethernet\n23. FTP                       24. SSL\n25. HTTP(S)                   26. FTP(S)\n27. MQTT(S)                   28. ALSA\n29. DEV                       30. \u00c1UDIO\n31. JSON                      32. LBS\n99. SAIR\nOp\u00e7\u00e3o &gt; 7\n\nPor favor, selecione uma op\u00e7\u00e3o para testar dentre os itens listados abaixo.\n\n1. obter Vers\u00e3o do M\u00f3dulo     2. obter CSQ\n3. obter CREG                   4. obter ICCID\n5. obter IMEI                   6. obter CIMI\n99. voltar\nOp\u00e7\u00e3o &gt; 5\nIMEI: 867584030090489\n\nPor favor, selecione uma op\u00e7\u00e3o para testar dentre os itens listados abaixo.\n\n1. obter Vers\u00e3o do M\u00f3dulo     2. obter CSQ\n3. obter CREG                   4. obter ICCID\n5. obter IMEI                   6. obter CIMI\n99. voltar\nOp\u00e7\u00e3o &gt;\n<\/code><\/pre>\n<p>\nAssim veremos o IMEI do m\u00f3dulo.<\/p>\n<h2>Em conclus\u00e3o<\/h2>\n<p>\nEspero que tenhamos conseguido dar uma vis\u00e3o geral de como come\u00e7ar a trabalhar com o m\u00f3dulo. Nos pr\u00f3ximos artigos, iremos explorar mais detalhadamente as capacidades que a plataforma SIM7600E-H oferece, bem como como atualizar remotamente o aplicativo no m\u00f3dulo.<\/p>\n<p>Convido a fazer perguntas nos coment\u00e1rios e tamb\u00e9m indicar qual aspecto das capacidades do m\u00f3dulo deve ser abordado nos pr\u00f3ximos artigos.<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.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\/pt\/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=\"pt_PT\" \/>\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\/pt\/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 nos m\u00f3dulos SIM7600E-H | ProHoster","description":"Mecanismo de desenvolvimento de aplicativos personalizados e.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/openlinux-v-sostave-modulej-sim7600e-h","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","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\/pt\/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\/pt\/wp-json\/wp\/v2\/posts\/86184","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=86184"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/86184\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/86185"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=86184"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=86184"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=86184"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}