Índice:
Vídeo: Módulo SIM900A 2G + cartão SIM de holograma = combinação vencedora na categoria "barato sujo" ?: 6 etapas
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
A IoT, a palavra da moda desta década, às vezes entra até na mente das pessoas que se consideram resistentes à moda, comigo entre elas.
Um dia, eu estava navegando na Internet e vi uma empresa da qual nunca tinha ouvido falar (Hologram) distribuir cartões SIM gratuitamente, com a intenção declarada de promover a IoT entre os desenvolvedores de hardware. Analisei o negócio e parecia bom demais para ser verdade - cartão SIM com 1 MB de dados GPRS de graça, e com frete grátis também - esse tipo de generosidade geralmente é manifestado por grandes empresas. Isso me fez pensar: por que não pedir um ?, embora, como mencionei, não goste muito de IoT. Então eu fiz.
Alguns meses depois, o Holograma SIM está juntando poeira na minha gaveta, mas uma vaga ideia de alguma forma conectada a ele começou a percorrer a periferia da minha consciência - e se este plano de 1 MB / mês grátis pudesse ser usado de uma maneira inteligente, sem nunca pagando por dados extras?
Vamos supor o pior cenário - o mês tem 31 dias de duração, e quando eles dizem 'megabyte', eles significam 1 000 Kb ou 1 000 000 bytes (em oposição a MiB), e isso nos deixa livres para usar 32,258 Kb, ou 32258 bytes um dia. Essa figura parece realista para, digamos, algum tipo de sensor remoto que enviará medições para o servidor uma vez por dia.
Com essa dúvida eliminada com um cálculo rápido, um novo plano foi formado - combine o cartão SIM do Holograma com algum módulo 2G barato para abrir caminho para sensores remotos no orçamento.
Etapa 1: SIM900A - Módulo barato para o mercado asiático
Nos últimos anos já tinha trabalhado com o módulo 2G mais barato do mercado, o Neoway M590. Como resultado, já está bem documentado neste blog em uma série popular de postagens (postagem um, dois e três). Resumindo, a falta de confiabilidade desses módulos é o fator decisivo. É por isso que eu (previsivelmente) decidi encontrar o penúltimo dos módulos 2G baratos do mercado. A pesquisa está completa e eu lhe dou - SIM900A.
O diagrama de pinagem geralmente não é encontrado em nenhum lugar quando você compra esses módulos, então eu mesmo fiz um, encontre-o anexado a esta etapa.
Alguns documentos essenciais de que você definitivamente precisará:
- Manual de design de hardware.
- Manual orientado para o Arduino de alguma loja da web indiana.
- Conjunto de comandos AT.
O que não levei em consideração foi que a variedade do SIM900 marcada com a letra 'A' está bloqueada para o mercado asiático. Isso significa que você não poderá usar aqueles fora da Ásia sem atualizá-los novamente.
Além disso, dê uma olhada neste mapa de cobertura GSM antes mesmo de comprar o módulo, pois o SIM900A é um módulo de banda dupla, o que significa que só funciona nas bandas de frequência de 900 e 1800 MHz (veja a explicação aqui). Portanto, se o seu país já eliminou o 2G em favor do 3G e 4G, o SIM900A provavelmente não funcionará (embora o holograma reivindique cobertura mundial, então não tenho certeza).
Instruções detalhadas sobre como preparar este módulo para o sensor remoto alimentado por bateria serão fornecidas nas próximas etapas.
Etapa 2: Remova o diodo
O módulo em questão é comercializado como "compatível com 5V". Não se apresse em conectá-lo ao Arduino, porque o que a equipe de marketing internacional quer dizer com isso não é o que você pensa. Conforme declarado na ficha técnica, o SIM900 pode apresentar faixa de alimentação de 3,4 a 4,5 V (com máximo absoluto de 5,5 V).
Para impor o limite de 4,5 V, esta placa adiciona (adivinhe!) Um diodo em série com o pino Vcc, limitando assim a tensão a 5 V - uma queda do diodo ≈ 4,3 V. O pino Rx, entretanto, não é protegido de forma alguma, nem mesmo um divisor resistivo, então eu sugiro dessoldar o diodo e mudar para 3,3V inteiramente, como mostrado na imagem.
Para teste e reflashing, usei o Arduino Uno modificado para operação de 3,3 V (como fazer um do Uno normal) e é uma das poucas coisas de que você precisa. Dê uma olhada na foto para ver a lista completa.
Não se preocupe que minha bateria se pareça com um capacitor gigante, é apenas uma bateria recarregável LiPo de 3,7 V extraída de um velho cigarro eletrônico - algo que eu tinha em mãos no momento. Para alguém que já está comprando o módulo da ali, eu recomendo comprar uma bateria do tipo 18650 como esta, mais um suporte.
Etapa 3: conectar ao módulo SIM900A
Além disso, determine a taxa de transmissão e o tamanho do flash de seu módulo enquanto você faz isso.
O SIM900 oferece suporte ao recurso de autobauding. Isso significa que seu módulo determinará automaticamente a taxa de transmissão com base em sua entrada. Como seu módulo está configurado - autobauding ou alguma velocidade certa? Em primeiro lugar, até mesmo a folha de dados fornece informações contraditórias sobre isso (veja a foto), e mesmo se não fosse, provavelmente você recebeu um módulo usado.
Sinta-se à vontade para usar meu antigo e confiável esboço do Arduino para determinar a taxa de transmissão e o tamanho do flash. Está no meu blog, em um post espelhando este.
Conecte todo o hardware conforme mostrado nos esquemas e carregue o esboço.
Depois que a taxa de transmissão for detectada, você pode inserir qualquer número de comandos AT.
Como você pode ver na captura de tela anexada a esta etapa, meu módulo foi configurado para 115200 baud, devido à saída distorcida em outras velocidades.
Observe que você não pode dizer se o autobauding está habilitado ou não apenas com o recurso de reconhecimento automático do meu esboço - com o autobauding habilitado, o módulo deve começar a trabalhar em qualquer taxa de transmissão em que você primeiro transmitir os dados (para ser exato, ele escuta 'A' maiúsculo porque todo comando AT começa com A maiúsculo. Porém, não funcionará com 'a' minúsculo).
Conforme mostrado na última captura de tela, após a ativação do autobaud este sketch pode "detectar" qualquer velocidade, pois o módulo funciona com qualquer velocidade que você usar para a primeira transmissão.
AT + IPR? o comando mostrará a taxa de transmissão real (0 significa autobauding). Eu recomendo definir a taxa de transmissão para um valor concreto com AT + IPR = taxa de transmissão, de preferência não muito baixa - o recarregamento do firmware, por exemplo, levará cerca de uma hora em 9600! Minha configuração favorita é 115200 baud - boa para todos os fins.
Com tudo isso cuidado, você pode finalmente verificar as informações essenciais sobre o seu módulo.
Etapa 4: verifique se o módulo funciona onde você mora
Depois de descobrir a taxa de transmissão, aqui estão 3 comandos essenciais que você deve inserir para saber se precisa de um novo firmware ou não:
- AT + CREG? Solicite o status de registro da rede. + CREG: 0, 0 em resposta significa que seu SIM nem está registrado na rede - pule para o comando número três neste caso. Quando seu módulo emitir algo diferente de 0, 0 (por exemplo, + CREG: 0, 5), você não precisará atualizar o firmware - execute o próximo comando para ver a qual rede de celular você está conectado.
- AT + COPS? Obtenha o nome da rede. Você verá + COPS: 0 para SIM não registrado ou algo como + COPS: 0, 0, "TELE2" para SIM registrado. Novamente, você não precisa atualizar o novo firmware se o seu SIM já puder operar na sua região.
- AT + CMGR Obtenha a versão do firmware. Essa é a maneira de saber o tamanho do flash do seu módulo. O SIM900 vem em duas variedades: memória flash de 32 MB e 64 MB. O firmware também é adaptado para cada modelo (por exemplo, SIM900, SIM900A, SIM900B).
Proprietários de módulos de 64 Mb verão algo semelhante a isto:
Revisão: 1137B13SIM900A64_ST, enquanto o módulo de 32 Mb geralmente responde com
Revisão: 1137B12SIM900A32_ST
O que é comum nesses modelos é a linha SIM900A denotando o fato de que esses fiirmwares só funcionarão em alguns países, embora em termos de hardware esses modelos sejam a mesma coisa. Com o reflashing, enganaremos o SIM900A para operar como outro modelo.
Após o reflashing, seu módulo de 64 Mb torna-se SIM900M:
Revisão: 1137B02SIM900M64_ST_ENHANCE, e o módulo de 32 Mb torna-se SIM900B:
Revisão: 1137B09SIM900B32_ST
Bem, agora que terminamos com os detalhes das versões de firmware e taxas de transmissão, e desde que seu SIM900 se recusou a registrar seu cartão SIM na rede 2G - é hora de uma atualização!
Etapa 5: atualize o módulo novamente
Eu tentei seguir várias instruções de diferentes fontes (a maioria delas implicando que o módulo tem o pino POWER_KEY conectado ao botão integrado, embora meu módulo não o tenha), mas a única abordagem bem-sucedida para atualizar o SIM900A eu me descobri por tentativa e erro.
Espero que você já tenha seguido a etapa 2 e conheça a taxa de transmissão e o tamanho do flash do seu módulo.
Como desbloquear o módulo SIM900A para trabalhar fora da Ásia:
- Conecte seu PC ao SIM900A com qualquer conversor USB-Serial - Estou usando o mesmo Arduino Uno sem o chip devido ao fato de que ele já tem 3,3V por completo.
- Certifique-se de que o módulo responda ao comando AT (pessoalmente, eu confundo RX e TX o tempo todo).
- Baixe o arquivo contendo o software de atualização v1.9 e os arquivos de firmware para 32 e 64Mb. Tentei a versão mais antiga (v. 1.01) primeiro, mas todas as tentativas terminaram com o erro "Err 307 - Erro durante a alteração da taxa de transmissão" e não havia nada para ajustar.
- Escolha o firmware de acordo com o tamanho do seu flash (você não poderá carregar o firmware errado, não se preocupe com isso) e a taxa de baud (para o módulo com configuração de taxa de baud automática você pode escolher qualquer valor no menu suspenso). Importante: Marque todas as opções: Não verifique o nome do arquivo, Recupere anormal e reinicie o dispositivo!
- Desconecte o fio positivo do módulo. Pressione "Iniciar download" e conecte-o novamente.
- Quando 'Reinicializando o módulo agora, aguarde' aparecer, conecte o fio de volta ao contato Vcc do módulo. Isso pode demorar algumas vezes, porque às vezes o programa não espera que o módulo dê qualquer sinal de vida, felizmente piscando bytes no nada. Quando isso acontecer, pare o upload e repita, começando na etapa anterior.
- Aguarde a conclusão do processo - levará cerca de 2 minutos a 115200 baud.
- Está pronto! Depois disso, você só terá que cortar a energia do módulo para reiniciá-lo.
Seu módulo deve se conectar à rede e se autoidentificar como um modelo SIM900 diferente agora - você pode verificá-lo em qualquer terminal!
Etapa 6: Confira a Parte 2
Isso conclui a primeira parte do meu projeto em andamento. Também há a parte 2, onde mostrarei como registrar e usar seu SIM de holograma e até publicar algumas leituras de sensor no Thingspeak.