INHOUDSOPGAWE:

Baken/eddystone en Adafruit NRF52, adverteer maklik u webwerf/produk: 4 stappe
Baken/eddystone en Adafruit NRF52, adverteer maklik u webwerf/produk: 4 stappe

Video: Baken/eddystone en Adafruit NRF52, adverteer maklik u webwerf/produk: 4 stappe

Video: Baken/eddystone en Adafruit NRF52, adverteer maklik u webwerf/produk: 4 stappe
Video: Eddystone demo using nRF52 2024, Julie
Anonim
Baken/eddystone en Adafruit NRF52, adverteer maklik u webwerf/produk
Baken/eddystone en Adafruit NRF52, adverteer maklik u webwerf/produk
Baken/eddystone en Adafruit NRF52, adverteer maklik u webwerf/produk
Baken/eddystone en Adafruit NRF52, adverteer maklik u webwerf/produk
Baken/eddystone en Adafruit NRF52, adverteer maklik u webwerf/produk
Baken/eddystone en Adafruit NRF52, adverteer maklik u webwerf/produk

Hallo almal, vandag wil ek 'n projek wat ek onlangs gedoen het met julle deel; ek het 'n toestel gesoek om dit binne/buite aan te sluit en die mense daardeur met hul slimfoon te laat skakel, en hulle 'n geleentheid te gee om 'n spesifieke webwerf te besoek of adverteer 'n produk vir hulle.

die beste oplossing was om iets met die naam 'Eddystone' te gebruik, waarmee u 'n url na 'slimfoon /tablet' van 'n kliënt kan stuur.

so in hierdie artikel sal ek u stap vir stap wys wat ek gebruik het en hoe ek alles bymekaargemaak het en die sagteware/programme wat ek in hierdie projek gebruik het.

Eerstens: illustreer die probleem

Om enige toestel binne / buite te gebruik, moet u dit maak:

  1. waterdig.
  2. dryf dit van 'n battery af
  3. batterylewe so lank as moontlik
  4. Laai 'n battery maklik weer op "byvoorbeeld deur 'n mikro-USB"

Om dit waterdig te maak, was die beste oplossing om 'n 3D -gedrukte voorwerp te vind wat die toestel binne kan hou en dit maklik kan oopmaak en weer sluit, en verseker dat die water nie binne die toestel kom nie en dit beskadig.

Die gebruik van 'n Li-ion polimeer battery was die beste keuse, klein grootte, hoë kapasiteit en maklik om te laai, aangesien Adafruit nRF52 veer 'n ingeboude li-ion battery laaier het.

laat ons begin met die 3D -gedrukte voorwerp; ek het hierdie ontwerp op 'n ander webwerf gevind, ontwerp deur: Jorg Jorgensen "dankie Jorg" Ek het dit met 'n skaal van 100% gedruk, maar dit was baie klein om al die komponente daarin te pas, sodat ek dit met 'n skaal van 200% en gee my presies wat ek wil hê

Ek hou van hierdie ontwerp, want as jy dit stewig toemaak, kom die water nie binne nie.

laai die ontwerp af vanaf hierdie skakel hieronder

https://www.thingiverse.com/thing:2246144

Stap 1: Komponente vir hierdie projek

Komponente vir hierdie projek
Komponente vir hierdie projek
Komponente vir hierdie projek
Komponente vir hierdie projek
Komponente vir hierdie projek
Komponente vir hierdie projek

slegs 'n paar komponente wat u nodig het om hierdie projek te doen:

  1. Adafruit nRF52 veerplank, kom met nRF52832 BE.
  2. Speld kop, vroulike of manlike kop "en dit is opsioneel".
  3. Li-ioon polimeer battery, ek het 'n 3.7V / 1000mA battery gebruik, as die battery sonder aansluiting kom, moet u 'n JST 2-pins aansluiting koop.
  4. mini broodbord.
  5. UHU kleeflym.

Stap 2: Berei die hardeware / sagteware voor

Die voorbereiding van die hardeware / sagteware
Die voorbereiding van die hardeware / sagteware
Die voorbereiding van die hardeware / sagteware
Die voorbereiding van die hardeware / sagteware
Die voorbereiding van die hardeware / sagteware
Die voorbereiding van die hardeware / sagteware

Dit is nie te moeilik om alles aan te sluit nie, maar eers moet ons die mini -broodbord en die battery in die toestel met UHU -kleeflym installeer, en dit moet ten minste 'n uur laat droog word.

laai die Li-ion battery, in my geval het ek 'n drade aan die battery gesoldeer om dit aan die JST-aansluiting te koppel.

Kom ons gaan nou na die sagteware:

Eerstens moet u Arduino IDE "laai dit van hier af" en dan na lêer >> Voorkeure gaan

Voeg https://www.adafruit.com/package_adafruit_index.js… by as 'n 'Addisionele raadbestuurder -URL' (sien prent hieronder).

Gaan dan na gereedskap >> bord >> borde bestuurder en soek na nRF52 en installeer dit

herbegin nou arduino IDE, en kies uit die planke adafruit nRF52.

die sagteware is gereed om te gebruik en u kan sketse na die nRF52 -bord oplaai

Stap 3: Bakenmodus

Bakenmodus
Bakenmodus
Bakenmodus
Bakenmodus
Bakenmodus
Bakenmodus
Bakenmodus
Bakenmodus

Van Wikipedia haal ek aan "Bluetooth bakens is hardeware -senders - 'n klas Bluetooth -lae -energie (LE) toestelle wat hul identifikasie na draagbare elektroniese toestelle in die buurt uitsaai. Die tegnologie stel slimfone, tablette en ander toestelle in staat om aksies uit te voer wanneer dit naby 'n baken is "sodat ons 'n UUID" universeel unieke identifiseerder "kan stuur na toestelle in die omgewing

U kan UUID, majeur en klein nommer stuur en die tx -krag en RSSI @ 1 meter stel.

laai hierdie kode op na u nRF52 -bord

u kan dit van github aflaai

/************************************************ ******************** MIT -lisensie, kyk na LISENSIE vir meer inligting Alle teks hierbo en die spatskerm hieronder moet by enige herverdeling ingesluit word

Oorspronklike kode geneem uit die voorbeeld van Adafruit Bluefruit

Gewysig deur: Mohannad Rawashdeh https://mb-raw.blogspot.com/ hierdie kode werk op Android/ IOS-toestelle

Android -appnaam: Beacon -skandeerder

naam van die app-app: kernbakens gaan na die baken-app, en u sien die toestelnaam (ibeacon /Rawashdeh) UUID: B3D6F818-DA71-09ED-EA80-F3C45FB19A50 Major = 0x01 Minor = 0x08 Beacon_RSSI -73db; ************************************************* *******************/ #insluit

#define MANUFACTURER_ID 0x004C // Apple -geldige vervaardiger -ID

int Majeur = 0x01;

int Minor = 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, 0x5, 0x,, 0x50,}; BLEBeacon baken (bakenUuid, majeur, kleiner, baken_RSSI);

leemte opstelling ()

{Bluefruit.begin (); Bluefruit.autoConnLed (vals); Bluefruit.setTxPower (Tx_power); Bluefruit.setName ("Rawashdeh"); beacon.setManufacturer (MANUFACTURER_ID); Bluefruit. ScanResponse.addName (); Bluefruit. Advertising.setBeacon (baken); Bluefruit. Advertising.restartOnDisconnect (waar); Bluefruit. Advertising.setInterval (160, 160); // in 'n eenheid van 0,625 ms Bluefruit. Advertising.setFastTimeout (15); // aantal sekondes in die vinnige modus Bluefruit. Advertising.start (0); // 0 = Moenie ophou adverteer na n sekondes nie // Suspend Loop () om krag te suspendLoop (); }

leemte lus ()

{ }

as u 'n Android -toestel het

Gaan na die speelwinkel en laai die beacon -skandeerder -app af "Ek het 2 apps hier en hier gebruik"

Koppel die battery maklik aan die toestel en maak die app oop, en u sal die resultate sien "kyk na die prent hierbo"

as u 'n IOS -toestel "iphone/ipad" het

die beste app wat ek gevind het, is Core beacons, laai dit af in die app store

'n ander app, "slegs vir bakens", is bakenafstand ", nie so goed nie, maar ek het dit gebruik vir 'n vinnige toets.

Vir IOS -toestelle, as u beacon Ranging gebruik, moet u eers UUID byvoeg en dan aan die toestel koppel wat nie betroubaar is nie, dus gebruik eerder Core beacon

Stap 4: Eddystone, deel u webwerf/produk/diens met almal

Image
Image
Eddystone, deel u webwerf/produk/diens met almal
Eddystone, deel u webwerf/produk/diens met almal
Eddystone, deel u webwerf/produk/diens met almal
Eddystone, deel u webwerf/produk/diens met almal

Met eddystone kan u 'n URL na 'n nabygeleë toestel stuur en dit na u webwerf of 'n webblad of selfs 'n ligging -URL stuur… ens

laai die kode op, u kan dit aflaai van github

/************************************************ ******************** MIT -lisensie, kyk na LISENSIE vir meer inligting Alle teks hierbo en die spatskerm hieronder moet by enige herverdeling ingesluit word

Oorspronklike kode geneem uit die voorbeeld van Adafruit Bluefruit

Gewysig deur: Mohannad Rawashdeh https://mb-raw.blogspot.com/ hierdie kode werk op Android/ IOS-toestelle

Android -appnaam: Beacon -skandeerder

app -appnaam: kernbakens gaan na die baken -app, en u sal die toestelnaam (ibeacon/Rawashdeh) url sien: https://mb-raw.blogspot.com Beacon_RSSI -56db; ************************************************* *******************/ #insluit

// my blog url

#define URL "https://mb-raw.blogspot.com" //#definieer URL "https://www.instructables.com" int Tx_power = 4; int Beacon_RSSI = -56; EddyStoneUrl eddyUrl (Beacon_RSSI, URL);

leemte opstelling ()

{Bluefruit.begin (); Bluefruit.setTxPower (Tx_power); Bluefruit.setName ("Rawashdeh"); Bluefruit. ScanResponse.addName (); Bluefruit. Advertising.setBeacon (eddyUrl); Bluefruit. Advertising.restartOnDisconnect (waar); Bluefruit. Advertising.setInterval (320, 320); // in 'n eenheid van 0,625 ms Bluefruit. Advertising.setFastTimeout (15); // aantal sekondes in die vinnige modus Bluefruit. Advertising.start (0);

}

leemte lus ()

{

}

As u 'n Android -toestel het, gaan na die speelwinkel en laai die beacon -skandeerder -app af "Ek het 2 apps hier gebruik", koppel die battery maklik aan die toestel en maak die app oop, en u sal 'n resultaat sien "kyk na die prent hierbo"

As u 'n IOS -toestel "iphone/ipad" het, is die beste app wat ek gevind het, Core beacons, laai dit dan af in die app store.

u kan die video sien vir my vinnige toets vir die kode.

Aanbeveel: