Como fazer o sim900a funcionar em nossas redes

Para iniciantes, informações
básicas : o sim900 é um representante de uma nova geração de módulos GSM / GPRS de baixo custo da SIMCom.
O Sim900a - um análogo do sim900, destinado ao uso no mercado asiático, não funciona com operadores russos.




Inspeção visual


Então, eu adquiri o módulo sim900a mini v3.8.2, baseado no próprio sim900a. Uma inspeção visual mostrou que existe um conversor de sinal MAX232 no módulo, o que torna possível conectar rapidamente o módulo à porta de comunicação do computador para um estudo detalhado. Além disso, o módulo possui saídas com um nível TTL, o que torna possível usá-lo com o arduino. Além disso, pelos recursos do circuito, notou-se que não há controle de software ligado / desligado do módulo, mas isso não é difícil de corrigir, o que é mais provável que seja feito. Não há saídas de microfone e fone de ouvido, você também precisa dessoldar.


Em seguida, estudamos a folha de dados, tudo é muito róseo pintado em 47 páginas. A primeira coisa que precisamos é ligar o módulo. O VCC 5 está escrito na placa, 3,2V - 4,8V na folha de dados; no entanto, nos dois parágrafos abaixo, é fornecido um diagrama de conexão com uma tensão de 4,1V. Na verdade, o sim900 e o sim900a serão muito exigentes quanto à comida. Além disso, fica claro que os antigos cartões SIM de 5V não funcionarão ... Para eles, é necessário cercar o conversor com base no Max1686.

Seguindo as instruções da folha de dados, usamos uma bateria de íon de lítio do fator de forma 18650 a 3,7V, que nos servirá como elemento de alimentação.


Ligação


Agora, como lidamos com a porta de comunicação, certifique-se de colocar 2 jumpers, como mostra a foto. Em qual porta precisamos de 2, 3 e 5 pernas, no módulo são 1, 2 e 3, respectivamente.


Nós inserimos um cartão SIM (é aconselhável verificar sua operabilidade no telefone primeiro), conectamos a porta COM, aplicamos energia ao módulo. Para se comunicar com o módulo, precisamos de um terminal. No Windows, eu uso o programa do terminal ou a massa.

Nas configurações de fábrica do módulo, a seleção automática de velocidade é definida, mas, para a operação correta, é necessário ao escrever o primeiro comando AT, escreva AT em um registro.

Observo visualmente que o LED "status" pisca, olhamos para a folha de dados, existem três modos:
  • 64ms / 800ms - não registrado na rede,
  • 64ms / 3000ms- está registrado na rede,
  • 64ms / 300ms - os dados são transmitidos via GPRS.

No meu caso, esta é uma opção.

Nós vamos descobrir por que não conseguimos registrar. Inicie o seu terminal favorito, conecte-se à porta desejada.
Verificamos se o SIM requer um código PIN:
AT + CPIN?
Se o SIM exigir um código PIN ou PUK, você receberá uma resposta PIN ou SIM PUK do SIM, respectivamente.
Depois de inserir o código PIN:
AT + CPIN = 0000
Verificamos o status repetidamente. No meu caso, vi:
+ CPIN: PH-NET PIN
Isso significa que o módulo está bloqueado em determinados cartões SIM e não funciona com o seu cartão SIM.
Nesse caso, usamos o cartão do operador asiático ou atualizamos o módulo novamente. No entanto, para não fazer um trabalho desnecessário, para começar, verificaremos se o módulo de rede está vendo. Isso pode ser feito com o comando:
AT + COPS =?
Depois de aguardar uma verificação de intervalo em busca de uma rede, vemos algo assim:
+ COPS: (2, "MGTS", "", "25001"), (1, "MegaFon RUS", "MegaFon", "25002"), ( 1, "Beeline", "Beeline", "25099") ,, (0,1,4), (0,1,2)

Cada suporte é uma rede. O primeiro dígito é o status desta rede. 0 - desconhecido, 1 - disponível para registro, 2 - rede correspondente ao operador do cartão SIM, 3 - rede bloqueada. Os demais parâmetros de rede são seus identificadores.
Se você viu sua rede (primeiro dígito = 2). Há esperança de que você possa reanimar o módulo e fazê-lo funcionar.

Re-piscando!


Esta é uma grande história separada, mas descreverei os principais pontos do piscar.
Depois de pesquisar na Internet por possíveis opções de firmware, me deparei com o fato de que esses módulos vêm com 32 e 64 megabytes de memória flash. Existe um programa especial para exibi-los. E muitas opções de firmware para diferentes versões de módulos. Por exemplo, aqui
não tive sorte, obtive um módulo de 32 megabytes e há muito pouco firmware para eles. Instruções para piscar o módulo, leia a seguir. Execute o programa para piscar, selecione a versão necessária, clique no botão Iniciar ,
depois disso, mantenha pressionado o botão liga / desliga do módulo e mantenha-o pressionado até o início do upload do firmware. Mas, como descobrimos anteriormente, não temos um botão liga / desliga para o módulo, essa mini-versão liga no momento da fonte de alimentação e permanece ligada o tempo todo. Portanto, em nossa versão, desenergizamos completamente o módulo, iniciamos o programa de preenchimento, selecionamos a versão necessária e todas as configurações, clique no botão para iniciar o preenchimento do firmware no módulo e, em seguida, aplicamos energia ao módulo.
No entanto, antes de começar a fazer algo, prepare o módulo:
  • o módulo é muito exigente em relação à tensão de alimentação e, com uma tensão superior a 4V, é iniciado e funciona, mas se recusa a refletir novamente!
  • , 115200 (AT+IPR=115200), . ( 9600 2 );
  • 5-10 ;

Para não arrastar o gato pela cauda por um longo tempo, vou abrir imediatamente os cartões e dizer que, se você tiver uma versão de 32 megabytes, você poderá fazer o sim900b funcionar em nossas regiões usando a versão de firmware 1137B09SIM900B32_ST do seu módulo. Se você possui um módulo de 64 bits, tem a oportunidade de obter um sim900 completo com a ajuda do firmware: 1137B02SIM900M64_ST_ENHANCE
Então, reorganizamos , reinicializamos o módulo. Começamos tudo de novo. Verifique o status do cartão SIM:
AT + CPIN?
+ CPIN: PIN do SIM. Em
caso afirmativo, digite o pino:
AT + CPIN = 0000
OK
Verifique se o cartão aceitou o código e se o módulo está pronto para trabalhar com ele:
AT + CPIN?
+ CPIN: PRONTO
Verificando o status do registro na rede:
AT + CREG?
+ CREG: 0,1
— , — . , , .
, :
AT+COPS?
+COPS: 0,0,«MTS-RUS»
:
AT+CUSD=1,"*100#"
OK
+CUSD: 0,«041C0438043D04430441003A003400360032002C003700310440002C041B0438043C04380442003A003300300030003004400020»,72
unicode (USC2), :
:462,71, :3000
(, , 26)
AT+CMGF=1
AT + CMGS = "+ 790 ........"
> Alfeneiro! Davay posmotrim film!
> (Alt +26)
+ CMGS: 3

SMS enviados!
Agora vamos tentar ligar:
ATD + 790 .........;
+ COLP: "+790 .........", 145, "", 0, "" Desligamos
:
ATH
OK Chamo
a atenção para o fato de que no comando ATD o caractere ponto-e-vírgula é ";” obrigatório no final!
Se você vir “NO CARRIER”, o número de telefone não foi discado corretamente.
O módulo está funcionando! O que deveria ter sido alcançado. Nos artigos a seguir, a finalização final do módulo e seu uso com o Arduino.
Links úteis:
Site oficial do fabricante
Representante oficial da simcom na Rússia Uma
página com links para docas modulo sim900


sim800 sim900
AT
sim900

Source: https://habr.com/ru/post/pt391555/


All Articles