2011-08-30

ITDB02 3.2" widescreen with PIC32 Pinguino!




Just ported ITDB02 3.2" widescreen library from Arduino to Pinguino32X, that library use all 16 IOs from PORT D.

2011-08-25

Usando a placa SIM900

Placa de Desenvolvimento SIM900.


Aqui um pequeno levantamento que fiz, para um trabalho da faculdade:

Comandos AT:
OBS: Utilize o comando AT+CLAC, para listar todos os comandos AT
Manual de comandos AT do SIM900: SIM900_ATC_V1_00.pdf
Comando
O que faz?
Observações
Disca para um número
Chamada de voz
Tem que ter um ponto e virgula no final.
ATH0
Encerra ligação
Desliga a chamada de voz
ATH3
Encerra GPRS
ATLx
Volume x é um número de 0 a 9
AT+CLIP=1
Ativa o identificador de chamadas do SIM900
AT+CRC=1
Ativa o identificador de tipo de chamada
Voz, dados, ...
AT&W
Grava configurações
Nãograva APN e outras configurações de rede.
Comandos relacionados ao GPRS
AT+CIPMUX=1
Ativa multiplas conexões por GPRS
Segue o padrão TCP/IP e permite usar várias portas TCP, sem isso não podemos usar muito bem protocolos HTTP e FTP
AT+CSTT=”apn”,”user”,”pass”
Configura APN
Sem isso o GPRS não funciona!
Exemplo operadora Oi:
AT+CSTT=”gprs.oi.com.br”,”oi”,”oi”
AT+CIICR
Conecta à rede GPRS
Precisa conectar para requisições TCP/UDP
AT+CIFSR
Exibe o endereço IP, atribuído à placa
Bom para sabermos se estamos conectados ou não.
AT+CIPSTATUS
Estado das conexões TCP/IP
AT+CDNSCFG=”8.8.8.8”,”8.8.4.4”
Configura DNS
8.8.8.8 e 8.8.4.4 são DNSs válidos da Google!
Após configurar os DNSs, o IP pode ser usado o nome do servidor nos comandos com o AT+CIPSTART
AT+CIPSTART=x,”TCP”,”IP”,”PORTA”
Conecta a um servidor
(1) x é o número da conexão se estiver usando CIPMUX=1 caso esteja com CIPMUX=0 não é necessário este parâmetro.
AT+CIPCLOSE=x
Fecha a conexão x
(1)
AT+CDNSGIP=”fazzi.eng.br
Resolve o IP de um hostname válido
AT+CIPSEND=x
Envia um comando de protocolo para a conexão x
(1)
AT+CIPSHUT
Desconecta tudo
Envio de SMS
AT+CMGF=1
Inicia modo SMS
AT+CMGS=”+55xxx”
Número de celular de destino
xxx é o número do celular, deve-se incluir o DDD, DDI e operadora são opcionais.
> msg CTRL+Z
msg é o texto da mensagem a ser enviada.
Usando o terminal deve-se usar um CTRL+Z para terminar e enviar a msg,
Usa-se ASCII 26 (hexa 0x1A)
Sequência acesso à FTP
AT+CIPMUX=1
Multiplexado
AT+CSTT="gprs.oi.com.br","oi","oi"
APN
AT+CIICR
Conexão
AT+CIFSR
Exibe IP da conexão
AT+CIPSTART=0,"TCP","70.84.174.162",21
Conecta ao servidor FTP à conexão 0
AT+CIPSEND=0
Envia comandos à conexão 0
Sempre deve-se aguardar a conexão “OK”
>user anunakin CTRL+J CTRL+Z
user login
CTRL+J é o ASCII 10
AT+CIPSEND=0
>pass ssseeennnhhhaa CTRL+J CTRL+Z
pass senha
AT+CIPSEND=0
cwd www CTRL+J CTRL+Z
muda de diretório
Exemplo via terminal Linux minicom: comando no shell do Linux:                
 minicom -D /dev/ttyUSB2 -b 19200
RDY
+CFUN: 1
+CPIN: READY
+CREG: 0
+CREG: 2
+CREG: 1,"3016","4E71"
Call Ready                        Neste ponto a placa SIM900 já está ligada e conectada à rede GSM
AT+CIPMUX=1
OK
AT+CSTT="gprs.oi.com.br","oi","oi"                                                                    
OK                                                                                                    
AT+CIICR                                                                                              
OK                                                                                                                                                                    
AT+CIFSR                                                                                              
187.124.14.63                       Placa conectada via GPRS                                                                 
AT+CIPSTART=0,"TCP","70.84.174.162",21                                                                
OK                                                                                                
0, CONNECT OK                                                                                        
+RECEIVE,0,74:                                                                                        
220-FTP server ready.                                                                                
220 This is a private system - No anonymous login
AT+CIPSEND=0                                                                                          
> user anunakin                                                                                      
                                                                                                     
0, SEND OK                                                                                            
                                                                                                     
+RECEIVE,0,41:                                                                                        
331 User anunakin OK. Password required                                                              
AT+CIPSEND=0n                                                                                        
> pass xxxxSenhaDoFTPxxxx                                                                                                      
0, SEND OK                                                                                            
                                                                                                     
+RECEIVE,0,93:                                                                                        
230-User anunakin has group access to:  anunakin                                            
230 OK. Current restricted directory is /                                                            
AT+CIPSEND=0                                                                                        
> cwd www                                                                            
0, SEND OK                                                                                            
                                                                                                     
+RECEIVE,0,35:                                                                                        
250 OK. Current directory is /www
Transferência de dados por FTP
Copiaremos o arquivo TESTE.TXT presente na pasta www
Este arquivo contém o seguinte texto:
“TESTE DE ARQUIVO NO SERVIDOR!”
AT+CIPSEND=0
>pwd CTRL+J CTRL+Z
lista o diretório atual
AT+CIPSEND=0
>pasv CTRL+J CTRL+Z
O comando PASV, diz ao servidor que usaremos o modo passivo, o servidor responde com a seguinte sequência:
227 Entering Passive Mode (70,84,174,162,79,144)
Os primeiros 4 números são o IP do servidor e os dois últimos a porta aonde conectaremos para esperar os arquivos, e listagens (comando LIST)
79 é o hexa 4F
144 é o hexa 90
4F90 é a porta que em decimal é 20368
Essa dos hexas é o pulo do gato sem isso nada de copiar um arquivo...
AT+CIPSTART=1,"TCP","70.84.174.162",20368
Abrimos outra conexão ao servidor na porta 20368, essa é a conexão 1
AT+CIPSEND=0
Todos os comandos continuam na conexão 0
>retr TESTE.TXT CTRL+J CTRL+Z
Solicitamos o arquivo TESTE.TXT
Após isso o arquivos será enviado pela conexão 1, e ao termino esta conexão será fechada pelo servidor.
LOG no minicom:
AT+CIPSEND=0                                                                                          
> pwd                                                                                                
                                                                                                     
0, SEND OK                                                                                            
                                                                                                     
+RECEIVE,0,37:                                                                                        
257 "/www" is your current location                                                                  
AT+CIPSEND=0                                                                                          
> pasv                                                                                                
                                                                                                     
0, SEND OK                                                                                            
                                                                                                     
+RECEIVE,0,50:
227 Entering Passive Mode (70,84,174,162,79,144)                                                      
                                                                                               
AT+CIPSTART=1,"TCP","70.84.174.162",20368                                                            
OK                                                                                                    
                                                                                                     
1, CONNECT OK                                                                                        
AT+CIPSEND=0                                                                                          
> retr TESTE.TXT                                                                                              
                                                                                                     
0, SEND OK                                                                                            
                                                                                                     
+RECEIVE,0,30:                                                                                        
150 Accepted data connection                                                                          
                                                                                                     
+RECEIVE,1,33:                                                                                        
TESTE DE ARQUIVO NO SERVIDOR!
                                     
+RECEIVE,0,94:                                                                                        
226-File successfully transferred                                                                    
226 0.008 seconds (measured here), 3.89 Kbytes per second                                            
                                                                                                     
1, CLOSED

Espero que ajude a galera!