Índice:
- Etapa 1: Material necessário
- Etapa 2: Parte de Programação
- Etapa 3: Montagem Eletrônica
- Etapa 4: aquisição de dados
- Etapa 5: Base de dados
- Etapa 6: Demonstração
Vídeo: Pulseira de orientação conectada: 6 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
Este projeto acadêmico, a pulseira de orientação conectada, foi realizado por quatro alunos da escola de engenharia Polytech Paris-UPMC: Sébastien Potet, Pauline Pham, Kevin Antunes e Boris Bras.
Qual é o nosso projeto?
Durante um semestre, tivemos que criar uma pulseira conectada que será usada por um corredor. O seu percurso será orientado por vários pontos onde irá marcar, o que permitirá registar o seu percurso. Esses dados serão armazenados em uma nuvem em tempo real.
Este produto pode fornecer a temperatura, a umidade e a orientação. Além disso, temos três botões incluindo um que envia uma posição GPS caso o corredor tenha algum problema (botão SOS), por isso precisamos dele em tempo real. O segundo permite etiquetar e o último desligar a pulseira porque queremos um produto de baixa potência.
Tínhamos um bugdet de 120 €. Para realizar uma pulseira de orientação conectada, siga nosso tutorial!
Etapa 1: Material necessário
Lista de componentes:
- STM32L432KC-Nucleo Ultra Low Power
- Módulo SigFox TD1208
- Leitor RFID 125 kHz
- Sensor de temperatura / umidade HTU21D
- Módulo acelerômetro de 3 eixos ADXL345
- Módulo de bússola de 3 eixos HMC5883L
- Tela OLED ADA938
- Módulo GPS Grove 31275
- Bateria 1,5 V LR6
- Regulador de tensão Pololu 3.3V U1V11F3
- Alguns botões de controle
Etapa 2: Parte de Programação
Em primeiro lugar, programamos cada componente com o site de desenvolvedor mbed. Para isso, usamos um microcontrolador STM32L476RG-Nucleo que é de baixo consumo.
A tela, o sensor de temperatura / umidade e a bússola funcionam na comunicação I²C. O leitor RFID e o acelerômetro funcionam em comunicação serial. Para cada componente, você tinha que adicionar sua própria biblioteca.
Para o sensor de temperatura / umidade, a bússola e o acelerômetro, você precisa chamar uma função definida em sua biblioteca para obter os dados.
O leitor RFID trabalha em comunicação serial, você tem que usar a função "getc ()" pois o tag retorna os dados em char.
Todos os códigos estão disponíveis em arquivo, exceto o código da tela OLED.
Etapa 3: Montagem Eletrônica
Depois de programar cada componente, pegamos uma placa labdec e os conectamos ao STM32L432KC-Nucleo. Siga o diagrama de fiação em anexo para montar todos os componentes, ou cada PIN é detalhado no conjunto do código.
Adicionamos três botões com três resitâncias de 10 Kilo ohms: um envia a posição GPS em caso de perigo, um para ligar / desligar e o último para permitir que o corredor marque o ponto. Adicionamos uma campainha quando você pressiona o botão SOS.
O arquivo "braceletOrientation" em anexo é nosso projeto no Fritzing. Este é um arquivo de resumo de nossos componentes e nossa fiação no labdec, bem como no PCB. Além disso, adicionamos o código de montagem de todos os componentes.
Etapa 4: aquisição de dados
Actoboard
Actoboard é uma ferramenta baseada em painel. Ele exibe todos os dados enviados pelo Módulo Sigfox. Em seguida, ele enviará via URL esses dados para nodered, a fim de serem inseridos no banco de dados.
Envie os dados:
Para enviar os dados através do seu código, em primeiro lugar você precisa declarar o PIN (Tx, Rx) do módulo Sigfox (você pode vê-lo em nosso código). Depois disso, graças a este comando: "sigfox.printf (" AT $ SF =% 02X% 02X% 02X% 02X% 02X% 02X / r / n ", lat_deg, long_deg, lat_10s, long_10s, lat_100s, long_100s);", este exemplo envia os dados do GPS para o Actoboard.
Receba os dados:
Depois de configurar suas fontes de dados em relação ao seu módulo Sigfox, você precisa configurar o formato de dados para receber os dados de seu código. Para o mesmo exemplo anterior (GPS), você precisa definir o formato de dados assim: "lat_deg:: uint: 8 long_deg:: uint: 8 lat_10s:: uint: 8 long_10s:: uint: 8 lat_100s:: uint: 8 long_100s:: uint: 8 ".
Tenha cuidado com o tipo e o número de bits, você precisa ter exatamente o mesmo comprimento. Portanto, recomendo que você lance seus dados em seu código assim: "lat_deg = (int8_t) lat_deg;".
Tenha cuidado também com o número de dígitos, neste exemplo nós apenas transmitimos dados com 2 dígitos no máximo. Mas se você quiser transferir dados maiores como "% 04X", você deve saber que o Actoboard irá inverter o dígito. Por exemplo, se você transmitir 0x3040, Actoboard entenderá 0x4030. Portanto, você deve inverter o dígito antes de enviar um formato de dados que exceda 2 dígitos.
Editar painel:
Para editar seus dados em um Dashboard no Actoboard, basta adicionar um widget. Existe uma lista de widget, você deve escolher aquele que melhor corresponda ao seu sistema. E depois você só tem que escolher quais dados vão preencher qual widget.
Transmitir para nodered:
Para transferir todos os dados que você recebe no Actoboard para nodered via URL, você apenas tem que preencher a caixa "forwarding url" em suas configurações com o URL do projeto nodered. Por exemplo, preenchemos a caixa com "https://noderedprojet.mybluemix.net/projet".
Etapa 5: Base de dados
Bluemix
- Acenou:
- Receba o formulário de dados Actoboard
Para obter o formulário de dados Actoboard, você precisa adicionar uma entrada "websocket" que você tem que configurar o método por "POST" e especificar sua URL (exemplo na foto).
Formatando dados
Você precisa extrair os dados que deseja adicionar em seu banco de dados (cloudant) e formatá-los. para isso, você deve adicionar um bloco de "funções". Veja a foto em anexo para entender como fazer isso.
Você pode adicionar coisas geográficas em um mapa, por exemplo, temos uma função que adiciona um ponto com a coordenada GPS em um mapa e os vincula. Usamos esta função para criar a corrida e depois, trocamos a outra função que vai criar o polígono ao redor do ponto se você checar um RFID TAG.
Enviar para nuvem
Após a formatação de seus dados, você precisa enviá-los para seu Cloudant DataBase. Para isso, deve-se adicionar um bloco de armazenamento "cloudant" e especificar as configurações como o nome do seu DataBase, a operação "inserir" veja nosso exemplo em anexo.
Não se esqueça de "implantar" seu nodered para que seu sistema funcione.
Nublado:
Em seu banco de dados cloudant, você agora pode ver todos os dados que você enviou com o sigfox e formatação em nó vermelho. Você pode escolher quais informações deseja ver como "data, dispositivo, TAG RFID, GPS".
E você pode visualizar as coisas geomtricas que você criou na função nodered no menu "Índices geoespaciais gps"
Etapa 6: Demonstração
Para resumir, tínhamos quatro Interfaces Homem-Máquina controladas por quatro botões.
A interface básica indica a temperatura, a umidade, o número da etiqueta, um cronômetro e a direção magnética.
Em um dos botões de ação, você encontrará uma bússola de interface real. Um círculo será desenhado na tela com a direção bem posicionada.
Em outra ação de botão, você enviará uma mensagem SOS que enviará sua localização para a base de dados. Além disso, você ouvirá uma mensagem SOS em código morse.
Além disso, na última ação do botão, você ativará a etiqueta RFID. Depois disso, você tem cinco segundos para marcar seu ponto de passagem. Então você ouvirá um bipe. Esta ação aumenta um contador no display e envia a tag com o tempo em nosso banco de dados. Finalmente, todas as tags desenharão o passeio em um mapa.
A automomia do nosso relógio é de cerca de 4h30 (cerca de 660mA / h). Depende do número da etiqueta verificada.
Para concluir após a corrida, você encontrará todas as ações do corredor em nosso bluemix de banco de dados.
Recomendado:
Orientação de programação interessante para designer - Faça sua foto funcionar (parte dois): 8 etapas
Orientação de programação interessante para designer - Faça sua imagem funcionar (Parte Dois): Matemática, para a maioria de vocês, parece inútil. O mais comumente usado em nossa vida diária é apenas adicionar, subtrair, multiplicar e dividir. No entanto, é bem diferente se você puder criar com o programa. Quanto mais você sabe, mais maravilhoso resultado você obterá
Orientação de programação de processamento interessante para designer - Controle de cores: 10 etapas
Orientação de programação de processamento interessante para Designer - Controle de cores: Nos capítulos anteriores, falamos mais sobre como usar código para fazer modelagem em vez de pontos de conhecimento sobre cores. Neste capítulo, vamos explorar este aspecto do conhecimento mais profundamente
Estudo da orientação com Raspberry Pi e MXC6226XU usando Python: 6 etapas
Estudo da orientação com Raspberry Pi e MXC6226XU usando Python: Os ruídos são simplesmente uma parte do funcionamento de um veículo. O zumbido de um motor de veículo muito afinado é um som magnífico. As marcas dos pneus murmuram contra a estrada, o vento assobia ao contornar espelhos, pedaços de plástico e peças no painel de instrumentos
Orientação do mapa por meio do servidor da Web: 6 etapas
Orientação de mapas por meio do servidor da Web: Internet das coisas (IoT) é um dos tópicos populares no planeta atualmente. E está crescendo rapidamente a cada dia com a Internet. A Internet das Coisas está transformando casas simples em casas inteligentes, onde tudo, desde luzes a fechaduras
Pulseira de corrida de orientação: 11 degraus
Pulseira de Orientação: Alguma vez tentou passar ao próximo nível da orientação? Tem todas as informações necessárias em mãos? Aqui você verá como melhoramos uma grande atividade com tecnologia. Vamos criar uma pulseira de orientação que lhe dará muitas informações