Índice:
- Suprimentos
- Etapa 1: especificações dos dispositivos
- Etapa 2: Tipo de transmissão
- Etapa 3: modo do dispositivo
- Etapa 4: Dispositivo de fiação
- Etapa 5: configuração
- Etapa 6: Resultado da configuração
- Etapa 7: enviar mensagem
- Etapa 8: escudo para Arduino
- Etapa 9: Biblioteca
Vídeo: Comunicação simples do Arduino LoRa (mais de 5 km): 9 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
Vamos testar o E32-TTL-100 com minha biblioteca. É um módulo transceptor sem fio, opera em 410 441 MHz (ou 868 MHz ou 915 MHz) baseado no RFIC SX1278 original da SEMTECH, transmissão transparente está disponível, nível TTL. O módulo adota a tecnologia de espalhamento espectral LORA.
Suprimentos
- Arduino UNO
- Dispositivos LoRa e32
Opcional
- Escudo Mischianti Arduino LoRa (código aberto)
- Escudo Mischianti WeMos LoRa (código aberto)
Etapa 1: especificações dos dispositivos
O módulo possui algoritmo de Correção de Erro Forward FEC, que garante sua alta eficiência de codificação e bom desempenho de correção. No caso de interferência repentina, ele pode corrigir os pacotes de dados interferidos automaticamente, de modo que a confiabilidade e o alcance da transmissão sejam melhorados de maneira correspondente. Mas sem o FEC, esses pacotes de dados só podem ser descartados. E com a criptografia e descriptografia rigorosas, a interceptação de dados torna-se inútil. A função de compressão de dados pode diminuir o tempo de transmissão e a probabilidade de haver interferência, enquanto melhora a confiabilidade e a eficiência da transmissão.
- Tamanho do módulo: 21 * 36 mm
- Tipo de antena: SMA-K (impedância de 50Ω)
- Distância de transmissão: 3000m (máx.)
- Potência máxima: 2dB (100mW)
- Taxas de ar: 2,4 kbps (6 níveis opcionais (0,3, 1,2, 2,4, 4,8, 9,6, 19,2 kbps)
- Comprimento de emissão: 512ByteReceive
- comprimento: 512Byte
- Interface de comunicação: UART - 8N1, 8E1, 8O1,
- Oito tipos de taxa de transmissão UART, de 1200 a 115200 bps (padrão: 9600)
- Suporte RSSI: Não (processamento inteligente integrado)
Etapa 2: Tipo de transmissão
Transmissão transparente Isso pode ser considerado como um “modo de demonstração”, por padrão você pode enviar mensagens para todos os dispositivos do mesmo endereço e canal configurado.
Transmissão fixa
Neste tipo de transmissão você pode especificar um endereço e um canal para onde deseja enviar a mensagem. Você pode enviar mensagem para:
- Dispositivo especificado com endereço baixo, endereço alto e canal predeterminados.
- Transmitir mensagem para um conjunto de dispositivos de canal Modo normal Basta enviar a mensagem.
Etapa 3: modo do dispositivo
Modo normalSimplesmente enviar mensagem.
Modo de despertar e modo de economia de energia
Como você pode querer, se um dispositivo estiver no modo Despertar pode “despertar” um ou mais dispositivos que estão no modo de economia de energia com uma comunicação de preâmbulo.
Modo programa / hibernar
Com esta configuração, você pode alterar a configuração do seu dispositivo.
Etapa 4: Dispositivo de fiação
Aqui o esquema de conexão do dispositivo, este é um totalmente conectado, com gerenciamento de pino M0 e M1 permite alterar a modalidade do dispositivo, para que você possa alternar para o modo de configuração ou despertar com o programa, a biblioteca ajuda em tudo isso Operação.
Etapa 5: configuração
Existe um comando especificado para definir e obter a configuração
void setup () {Serial.begin (9600); atraso (500); // Iniciar todos os pinos e UART e32ttl100.begin (); ResponseStructContainer c; c = e32ttl100.getConfiguration (); // É importante obter o ponteiro de configuração antes de todas as outras operações Configuration configuration = * (Configuration *) c.data; Serial.println (c.status.getResponseDescription ()); Serial.println (c.status.code); printParameters (configuração); ResponseStructContainer cMi; cMi = e32ttl100.getModuleInformation (); // É importante obter o ponteiro de informações antes de todas as outras operações ModuleInformation mi = * (ModuleInformation *) cMi.data; Serial.println (cMi.status.getResponseDescription ()); Serial.println (cMi.status.code); printModuleInformation (mi); }
Etapa 6: Resultado da configuração
E o resultado se torna
Começar com sucesso 1 ---------------------------------------- HEAD BIN: 11000000 192 C0 AddH BIN: 0 AddL BIN: 0 Chan BIN: 23 -> 433 MHz SpeedParityBit BIN: 0 -> 8N1 (padrão) SpeedUARTDataRate BIN: 11 -> 9600bps (padrão) SpeedAirDataRate BIN: 10 -> 2,4 kbps (padrão) OptionTrans BIN: 0 - > Transmissão transparente (padrão) OptionPullup BIN: 1 -> TXD, RXD, AUX são push-pulls / pull-ups OptionWakeup BIN: 0 -> 250ms (padrão) OptionFEC BIN: 1 -> Ligue a chave de correção de erro de encaminhamento (padrão) OptionPower BIN: 0 -> 20dBm (padrão) ---------------------------------------- Sucesso 1 ---------------------------------------- HEAD BIN: 11000011 195 C3 Modelo no.: 32 Versão: 44 Recursos: 14 ----------------------------------------
Etapa 7: enviar mensagem
Aqui está um esboço simples para enviar uma mensagem a todos os dispositivos anexados ao canal
void loop () {// Se algo disponível if (e32ttl100.available ()> 1) {// leia a mensagem String ResponseContainer rc = e32ttl100.receiveMessage (); // Algo dá errado imprimir erro if (rc.status.code! = 1) {rc.status.getResponseDescription (); } else {// Imprime os dados recebidos Serial.println (rc.data); }} if (Serial.available ()) {String input = Serial.readString (); e32ttl100.sendMessage (entrada); }}
Etapa 8: escudo para Arduino
Eu também crio um escudo para o Arduino que se torna muito útil para prototipagem.
E eu o lanço como um projeto de código aberto aqui
www.pcbway.com/project/shareproject/LoRa_E32_Series_device_Arduino_shield.html
Etapa 9: Biblioteca
Repositório GitHub
Fórum de suporte
Documentação adicional
Recomendado:
Relógio Nixie com Arduino - Design mais simples: 4 etapas
Relógio Nixie com Arduino | Design mais simples: Depois de um longo dia de trabalho, finalmente consegui fazer um relógio Nixie com Arduino e chip de opto-isolamento, sem necessidade de driver Nixie, que é difícil de comprar
Alimentador automático para animais de estimação DIY mais simples com Arduino: 3 etapas
DIY Alimentador automático de animais de estimação mais simples com Arduino: Olá amantes de animais de estimação! Bem no fundo, todos nós queremos ter um cachorrinho fofo ou um gatinho ou provavelmente até uma família de peixes em nossa casa. Mas, devido às nossas vidas ocupadas, muitas vezes duvidamos de nós mesmos: 'Serei capaz de cuidar do meu animal de estimação?' A principal responsabilidade
Mais seguro, melhor: tornando as estações de trem mais seguras: 7 etapas
Mais seguro, melhor: tornando as estações de trem mais seguras: Muitas estações de trem hoje não são seguras devido à falta de segurança, barreiras e aviso de chegada do trem. Vimos a necessidade de consertar isso. Para resolver este problema, criamos o Safer Better. Usamos sensores de vibração, sensores de movimento e
Pike - Dirija com mais segurança, dirija com mais inteligência, dirija um Pike !: 5 etapas
Pike - Dirija com mais segurança, Dirija com mais inteligência, Dirija um Pike !: Bem-vindo ao meu projeto chamado Pike! Este é um projeto que faz parte da minha educação. Sou estudante NMCT em Howest na Bélgica. O objetivo era fazer algo inteligente usando um Raspberry Pi. Tínhamos total liberdade na qual queríamos fazer smart.Para mim foi
Como deixar seu computador mais rápido e mais rápido !: 5 etapas
Como deixar o seu computador mais rápido e mais rápido !: Instruções fáceis de seguir sobre como acelerar facilmente o seu computador