Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Olá a todos, hoje quero compartilhar com vocês um projeto que fiz recentemente. Procurei um dispositivo para conectá-lo interno / externo e permitir que as pessoas se conectassem a ele usando seus smartphones, e dar-lhes a capacidade de visitar um site específico ou anunciar um produto para eles.
a melhor solução foi usar algo chamado "Eddystone" que permite enviar uma url para um dispositivo cliente "Smartphone / Tablet".
Portanto, neste artigo vou mostrar um passo a passo o que usei e como conectei tudo junto com os softwares / apps que usei neste projeto.
Primeiro: ilustre o problema
para usar qualquer dispositivo interno / externo, você deve torná-lo:
- à prova d'água.
- ligue-o a partir de uma bateria
- vida da bateria o maior possível
- recarregue a bateria facilmente "através de um micro USB, por exemplo"
Para torná-lo impermeável, a melhor solução foi encontrar um objeto impresso em 3d que segure o aparelho por dentro e seja fácil de abri-lo e fechá-lo novamente, e com certeza evitar que a água entre no aparelho e o danifique.
Usar bateria de polímero de íon de lítio foi a melhor escolha, tamanho pequeno, alta capacidade e fácil de recarregar, já que a pena Adafruit nRF52 tem um circuito de carregador de bateria de íon de lítio integrado.
vamos começar a partir do objeto impresso em 3D, encontrei este design no site thingiversewebsite, desenhado por: Jorg Jorgensen "obrigado Jorg" Eu imprimi com uma escala de 100% mas era muito pequeno para caber todos os componentes dentro dele, então imprimo com uma escala de 200% e me dê o que eu quero exatamente
Gosto deste desenho porque se fechar bem bem a água não entra.
baixe o design deste link abaixo
https://www.thingiverse.com/thing:2246144
Etapa 1: Componentes para este projeto
apenas alguns componentes de que você precisa para fazer este projeto:
- Prancha de penas Adafruit nRF52, vem com nRF52832 BE.
- Cabeçalho do pino, cabeçalho feminino ou masculino "e é opcional".
- Bateria de polímero de íon-lítio, usei bateria de 3,7 V / 1000 mA, se a bateria vier sem conector, certifique-se de comprar o conector JST de 2 pinos.
- mini breadboard.
- Cola adesiva UHU.
Etapa 2: Preparando o Hardware / Software
não é muito difícil conectar tudo, mas primeiro precisamos instalar a mini placa de ensaio e a bateria dentro do dispositivo usando cola adesiva UHU, certifique-se de dar pelo menos uma hora para secar.
carregar a bateria de íon de lítio, no meu caso eu soldei um fio na bateria para conectá-la ao conector JST.
Agora vamos passar para o software:
primeiro você deve ter o IDE do Arduino "baixe-o daqui" e depois vá para o arquivo >> Preferências
Adicione https://www.adafruit.com/package_adafruit_index.js… como um 'URL de gerente de placa adicional' (veja a imagem abaixo).
Em seguida, vá para ferramentas >> placa >> gerenciador de placas, pesquise nRF52 e instale-o
agora reinicie o IDE do arduino e, nas placas, selecione adafruit nRF52.
o software está pronto para usar e você pode fazer upload de esboços para a placa nRF52
Etapa 3: Modo Beacon
da Wikipedia, cito "Os beacons Bluetooth são transmissores de hardware - uma classe de dispositivos Bluetooth de baixa energia (LE) que transmitem seu identificador para dispositivos eletrônicos portáteis próximos. A tecnologia permite que smartphones, tablets e outros dispositivos executem ações quando próximos a um beacon "para que possamos transmitir um UUID" identificador universalmente exclusivo "para dispositivos próximos
você pode enviar UUID, número principal e secundário e definir a potência tx e RSSI @ 1 medidor.
carregue este código para a sua placa nRF52
você pode BAIXAR do github
/ *************************************************** ********************* Licença do MIT, verifique a LICENÇA para obter mais informações. Todo o texto acima e a tela inicial abaixo devem ser incluídos em qualquer redistribuição
Código original retirado do exemplo Adafruit Bluefruit
Modificado por: Mohannad Rawashdeh https://mb-raw.blogspot.com/ este código funcionará em dispositivos Android / IOS
Nome do aplicativo Android: scanner de beacon
nome do aplicativo da apple: beacons de núcleo acesse o aplicativo de beacon e você verá o nome do dispositivo (ibeacon / Rawashdeh) UUID: B3D6F818-DA71-09ED-EA80-F3C45FB19A50 Principal = 0x01 Menor = 0x08 Beacon_RSSI -73db; ************************************************** *******************/ #incluir
#define MANUFACTURER_ID 0x004C // ID de fabricante válido da Apple
int Maior = 0x01;
int Menor = 0x08; int Beacon_RSSI = -73; int Tx_power = 4; // AirLocate UUID: B3D6F818-DA71-09ED-EA80-F3C45FB19A50 uint8_t beaconUuid [16] = {0xB3, 0xD6, 0xF8, 0x18, 0xDA, 0x71, 0x09, 0xED, 0xEA, 0x80, 0xF3, 0xC4, 0x5F, 0x1, 0x50,}; BLEBeacon beacon (beaconUuid, Major, Minor, Beacon_RSSI);
void setup ()
{Bluefruit.begin (); Bluefruit.autoConnLed (false); Bluefruit.setTxPower (Tx_power); Bluefruit.setName ("Rawashdeh"); beacon.setManufacturer (MANUFACTURER_ID); Bluefruit. ScanResponse.addName (); Bluefruit. Advertising.setBeacon (beacon); Bluefruit. Advertising.restartOnDisconnect (true); Bluefruit. Advertising.setInterval (160, 160); // em unidade de 0,625 ms Bluefruit. Advertising.setFastTimeout (15); // número de segundos no modo rápido Bluefruit. Advertising.start (0); // 0 = Não pare de anunciar após n segundos // Suspender Loop () para economizar energia suspendLoop (); }
void loop ()
{ }
se você tiver um dispositivo Android
Vá para a Play Store e baixe o aplicativo beacon scanner "Eu usei 2 aplicativos aqui e aqui"
conecte facilmente a bateria ao dispositivo e abra o aplicativo e você verá um resultado "verifique a imagem acima"
se você tem dispositivo IOS "iphone / ipad"
o melhor aplicativo que encontrei é o Core beacons, faça o download da app store
outro app "apenas para beacons" é beacon Ranging ", não é muito bom, mas usei-o para um teste rápido.
para dispositivos IOS, se você usar beacon Ranging, você precisa adicionar UUID primeiro e, em seguida, conectar-se ao dispositivo que não é confiável, então use o beacon Core em vez disso
Etapa 4: Eddystone, compartilhe seu site / produto / serviço com todos
com eddystone, você pode enviar um URL para um dispositivo próximo e direcioná-los para o seu site ou página da web ou até mesmo um URL de local…etc
carregue o código, você pode baixá-lo do github
/ *************************************************** ********************* Licença do MIT, verifique a LICENÇA para obter mais informações. Todo o texto acima e a tela inicial abaixo devem ser incluídos em qualquer redistribuição
Código original retirado do exemplo Adafruit Bluefruit
Modificado por: Mohannad Rawashdeh https://mb-raw.blogspot.com/ este código funcionará em dispositivos Android / IOS
Nome do aplicativo Android: scanner de beacon
nome do aplicativo da apple: beacons principais acesse o aplicativo de beacon e você verá o nome do dispositivo (ibeacon / Rawashdeh) url: https://mb-raw.blogspot.com Beacon_RSSI -56db; *************************************************** *******************/ #incluir
// url do meu blog
#define URL "https://mb-raw.blogspot.com" // # define URL "https://www.instructables.com" int Tx_power = 4; int Beacon_RSSI = -56; EddyStoneUrl eddyUrl (Beacon_RSSI, URL);
void setup ()
{Bluefruit.begin (); Bluefruit.setTxPower (Tx_power); Bluefruit.setName ("Rawashdeh"); Bluefruit. ScanResponse.addName (); Bluefruit. Advertising.setBeacon (eddyUrl); Bluefruit. Advertising.restartOnDisconnect (true); Bluefruit. Advertising.setInterval (320, 320); // em unidade de 0,625 ms Bluefruit. Advertising.setFastTimeout (15); // número de segundos no modo rápido Bluefruit. Advertising.start (0);
}
void loop ()
{
}
se você tiver um dispositivo Android Vá para a Play Store e baixe o aplicativo do scanner beacon "Eu usei 2 aplicativos aqui e aqui" conecte facilmente a bateria ao dispositivo e abra o aplicativo e você verá um resultado "verifique a imagem acima"
Se você tiver um dispositivo IOS "iphone / ipad", o melhor aplicativo que encontrei é o Core beacons, faça o download da app store.
você pode ver o vídeo para meu teste rápido para o código.