Módulo Bluetooth de porta serial (Master/Slave)

Este módulo é um módulo Bluetooth SPP (Serial Port Protocol) fácil de usar, projetado para conexões seriais sem fio transparentes.
O módulo Bluetooth de porta serial é totalmente compatível com Bluetooth V2.0+EDR (Enhanced Data Rate) Modulação de 3 Mbps com transceptor de rádio completo de 2,4 GHz e banda base. Ele usa o sistema Bluetooth de chip único CSR Bluecore 04-External com tecnologia CMOS e com AFH (Adaptive Frequency Hopping Feature). Possui uma área de apenas 12,7 mm x 27 mm. Espera-se que ele simplifique o seu ciclo geral de projeto/desenvolvimento.
Modelo: WLS123A1M
Recursos
Recursos de hardware
- Sensibilidade típica de -80 dBm
- Potência de transmissão RF de até +4 dBm
- Baixo consumo, operação em 1,8 V, I/O de 1,8 a 3,6 V
- Controle PIO
- Interface UART com taxa de baud programável
- Antena integrada
- Conector de borda
Recursos de software
- Taxa de baud padrão: 38400, Bits de dados: 8, Bit de parada: 1, Paridade: Sem paridade, Controle de dados: sim. Taxas de baud suportadas:
9600,19200,38400,57600,115200,230400,460800.
- Usa CTS e RTS para controlar o fluxo de dados.
- Dando um pulso de subida em PIO0, o dispositivo será desconectado.
- Porta de instrução de status PIO1: nível baixo–desconectado, nível alto–conectado;
- PIO10 e PIO11 podem ser conectados separadamente aos LEDs vermelho e azul. Quando master e slave estão pareados, o LED vermelho
e o LED azul piscam 1 vez a cada 2 s em intervalo. Enquanto desconectado, apenas o LED azul pisca 2 vezes/s.
- Conecta-se automaticamente ao último dispositivo ao ligar, por padrão.
- Permite que o dispositivo pareado se conecte por padrão.
- PINCODE de pareamento automático: “0000” por padrão
- Reconexão automática em 30 min quando desconectado por estar além do alcance da conexão.
Ideias de aplicação
- Controle remoto
- Comunicação sem fio
Cuidados
- Ao usar com Seeeduino / Arduino, ajuste a tensão de operação para 5 V. Caso contrário, use um conversor de nível lógico adequado.
- Ao usar com UartSBee, ajuste a tensão de operação para 5 V
- O comando para alterar a taxa de baud permanece mesmo após o reset. Portanto, lembre-se da taxa de baud para o próximo uso.
Especificação
| Pino | # | Tipo de pad | Descrição |
|---|---|---|---|
| PIO11 | 34 | Bidirecional | Linha de entrada/saída programável |
| PIO10 | 33 | Bidirecional | Linha de entrada/saída programável |
| PIO9 | 32 | Bidirecional | Linha de entrada/saída programável |
| PIO8 | 31 | Bidirecional | Linha de entrada/saída programável |
| PIO7 | 30 | Bidirecional | Linha de entrada/saída programável |
| PIO6 | 29 | Bidirecional | Linha de entrada/saída programável |
| PIO5 | 28 | Bidirecional | Linha de entrada/saída programável |
| PIO4 | 27 | Bidirecional | Linha de entrada/saída programável |
| PIO3 | 26 | Bidirecional | Linha de entrada/saída programável |
| PIO32 | 25 | Bidirecional | Linha de entrada/saída programável |
| PIO1 | 24 | Bidirecional TX EN | Linha de entrada/saída programável, saída de controle para PA (se instalado) |
| PIO0 | 23 | Bidirecional RX EN | Linha de entrada/saída programável, saída de controle para LNA (se instalado) |
| GND | 13,21,22 | VSS | Ponto de aterramento |
| USB± | 15,20 | Bidirecional | |
| SPI_CLK | 19 | Entrada CMOS com pull-down interno fraco | Clock da interface serial periférica |
| SPI_MISO | 18 | Entrada CMOS com pull-down interno fraco | Saída de dados da interface serial periférica |
| SPI_MOSI | 17 | Entrada CMOS com pull-down interno fraco | Entrada de dados da interface serial periférica |
| SPI_CSB | 16 | Entrada CMOS com pull-up interno fraco | Seleção de chip para interface serial periférica, ativo em nível baixo |
| NC | 14 | ||
| 3.3VCC | 12 | 3.3V | Fonte integrada de 3,3 V(+) com saída de regulador linear on-chip dentro de 3,15-3,3 V |
| RESETB | 11 | Entrada CMOS com pull-up interno fraco | Reset se em nível baixo (mantido externamente) |
Instruções de software
Mapa de funcionamento do sketch

Fluxograma

Comandos para alterar a configuração padrão
1. Definir o MODE de trabalho
| \r\n+STWMOD=0\r\n | Define o modo de trabalho do dispositivo como cliente (slave). Salva e reinicia. |
| \r\n+STWMOD=1\r\n | Define o modo de trabalho do dispositivo como servidor (master). Salva e reinicia. |
Nota: \r\n é necessário para a operação e o valor é 0x0D 0x0A em Hex. \r e \n representam carriage-return e line-feed (ou próxima linha),
2.Definir BAUDRATE
| \r\n+STBD=115200\r\n | Define a taxa de baud como 115200. Salva e reinicia. |
| Taxas de baud suportadas: 9600, 19200,38400,57600,115200,230400,460800. | |
3. Definir o NAME do dispositivo
| \r\n+STNA=abcdefg | Define o nome do dispositivo como "abcdefg". Salva e reinicia. |
4. Conexão automática com o último dispositivo pareado ao ligar
| \r\n+STAUTO=0\r\n | Conexão automática proibida. Salva e reinicia. |
| \r\n+STAUTO=1\r\n | Permite conexão automática. Salva e reinicia. |
5. Permitir que o dispositivo pareado se conecte a mim
| \r\n+STOAUT=0\r\n | Proibido. Salva e reinicia. |
| \r\n+STOAUT=1\r\n | Permitido. Salva e reinicia. |
6. Definir PINCODE
| \r\n +STPIN=2222\r\n | Define o pincode "2222". Salva e reinicia. |
7. Apagar PINCODE (inserir PINCODE via MCU)
| \r\n+DLPIN\r\n | Apaga o pincode. Salva e reinicia. |
8. Ler o ADDRESS CODE local
| \r\n+RTADDR\r\n | Retorna o endereço do dispositivo. |
9. Reconexão automática quando o dispositivo master estiver além do alcance válido (o dispositivo slave irá reconectar automaticamente em 30 min quando estiver além do alcance válido)
| \r\n+LOSSRECONN=0\r\n | Proibir reconexão automática. |
| \r\n+LOSSRECONN=1\r\n | Permitir reconexão automática. |
Comandos para operação normal
1. Inquirir
| a) Master | |
| \r\n+INQ=0\r\n | Parar de inquirir |
| \r\n+INQ=1\r\n | Iniciar/Reiniciar inquirição |
| b) Slave | |
| \r\n+INQ=0\r\n | Desabilitar ser inquirido |
| \r\n+INQ=1\r\n | Habilitar ser inquirido |
Quando o comando +INQ=1 é executado com sucesso, os LEDs vermelho e verde piscam alternadamente.
2. O módulo Bluetooth retorna o resultado da inquirição
| \r\n+RTINQ=aa,bb,cc,dd,ee,ff;name\r\n | O dispositivo serial Bluetooth com o endereço "aa,bb,cc,dd,ee,ff" e o nome "name" foi inquirido |
3. Conectar dispositivo
| \r\n+CONN=aa,bb,cc,dd,ee,ff\r\n | Conecta a um dispositivo com o endereço "aa,bb,cc,dd,ee,ff" |
4. O módulo Bluetooth solicita inserção de PINCODE
\r\n+INPIN\r\n
5. Inserir PINCODE
| \r\n+RTPIN=code\r\n | |
| Exemplo: RTPIN=0000 | Insere um PINCODE que é quatro zeros |
6. Desconectar dispositivo Colocar PIO0 em nível alto irá desconectar o dispositivo Bluetooth em funcionamento atual.
7. Retornar status \r\n+BTSTA:xx\r\n xx status:
- 0 - Inicializando
- 1 - Pronto
- 2 - Inquirindo
- 3 - Conectando
- 4 - Conectado
(Nota: Isto não é um comando, mas a informação retornada pelo módulo após cada comando)
Ideia adicional
-
Como configurar o PC para conectar com Serial Bluetooth Grove
-
Configurar conexões entre dois módulos Bluetooth passo a passo
Recursos
-
[Software] Instruções de software
-
[Datasheet] Datasheet do módulo Bluetooth
Suporte
Se você tiver dúvidas ou outras ideias de design melhores, pode ir ao nosso fórum ou wish para discutir.
Como comprar
Clique aqui para comprar: Módulo Bluetooth de porta serial (Master/Slave)
Veja também
Licenciamento
Esta documentação é licenciada sob a Attribution-ShareAlike License 3.0 da Creative Commons. O código-fonte e as bibliotecas são licenciados sob GPL/LGPL, consulte os arquivos de código-fonte para mais detalhes.
Links Externos
Links para páginas externas que fornecem mais ideias de aplicação, documentos/datasheet ou bibliotecas de software
Projetos Relacionados
Se você quiser fazer alguns projetos incríveis com o módulo Bluetooth de porta serial, aqui estão alguns projetos para referência.
Controlar múltiplos motores de servo a partir de um aplicativo Android

Esta é uma demonstração interessante feita com Arduino e Grove. Este é um tutorial completo sobre como controlar vários motores de servo a partir de um aplicativo Android.
Compartilhe Seus Projetos Incríveis Conosco
Nascido com o espírito de fazer e compartilhar, é isso que acreditamos que faz de alguém um maker.
E é somente por causa disso que a comunidade de código aberto pode ser tão próspera como é hoje.
Não importa quem você é e o que você fez, hacker, maker, artista ou engenheiro,
contanto que você comece a compartilhar seus trabalhos com os outros,
você está fazendo parte da comunidade de código aberto e está fazendo suas contribuições.
Agora compartilhe seus projetos incríveis conosco no Recipe, e ganhe a chance de se tornar um Usuário Core da Seeed.
- Usuários Core são aqueles que demonstram grande interesse e contribuições significativas nos produtos Seeed.
- Nós cooperamos com nossos Usuários Core no desenvolvimento de nossos novos produtos, ou seja, os Usuários Core terão a chance de experimentar qualquer novo produto da Seeed antes de seu lançamento oficial e, em troca, esperamos feedback valioso deles para nos ajudar a melhorar o desempenho do produto e a experiência do usuário. E, na maioria dos casos, se nossos Usuários Core tiverem boas ideias para fazer coisas, ofereceremos peças de hardware, serviços de PCBA, bem como suporte técnico. Além disso, uma cooperação comercial mais profunda com os Usuários Core é altamente possível.
Suporte Técnico & Discussão de Produto
Obrigado por escolher nossos produtos! Estamos aqui para fornecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.