สารบัญ:

Beacon/eddystone และ Adafruit NRF52 โฆษณาเว็บไซต์/ผลิตภัณฑ์ของคุณอย่างง่ายดาย: 4 ขั้นตอน
Beacon/eddystone และ Adafruit NRF52 โฆษณาเว็บไซต์/ผลิตภัณฑ์ของคุณอย่างง่ายดาย: 4 ขั้นตอน

วีดีโอ: Beacon/eddystone และ Adafruit NRF52 โฆษณาเว็บไซต์/ผลิตภัณฑ์ของคุณอย่างง่ายดาย: 4 ขั้นตอน

วีดีโอ: Beacon/eddystone และ Adafruit NRF52 โฆษณาเว็บไซต์/ผลิตภัณฑ์ของคุณอย่างง่ายดาย: 4 ขั้นตอน
วีดีโอ: 429 NRF52 Bluetooth (BLE) Tutorial. Does it consume less than the ESP32? (Feather, XIAO, ItsyBitsy) 2024, กรกฎาคม
Anonim
Beacon/eddystone และ Adafruit NRF52 โฆษณาเว็บไซต์/ผลิตภัณฑ์ของคุณได้อย่างง่ายดาย
Beacon/eddystone และ Adafruit NRF52 โฆษณาเว็บไซต์/ผลิตภัณฑ์ของคุณได้อย่างง่ายดาย
Beacon/eddystone และ Adafruit NRF52 โฆษณาเว็บไซต์/ผลิตภัณฑ์ของคุณได้อย่างง่ายดาย
Beacon/eddystone และ Adafruit NRF52 โฆษณาเว็บไซต์/ผลิตภัณฑ์ของคุณได้อย่างง่ายดาย
Beacon/eddystone และ Adafruit NRF52 โฆษณาเว็บไซต์/ผลิตภัณฑ์ของคุณได้อย่างง่ายดาย
Beacon/eddystone และ Adafruit NRF52 โฆษณาเว็บไซต์/ผลิตภัณฑ์ของคุณได้อย่างง่ายดาย

สวัสดีทุกคน วันนี้ฉันต้องการแชร์โปรเจ็กต์ที่ฉันทำเมื่อเร็วๆ นี้กับคุณ ฉันมองหาอุปกรณ์เพื่อเชื่อมต่อในร่ม/กลางแจ้ง และให้ผู้คนเชื่อมต่อกับมันโดยใช้สมาร์ทโฟนของพวกเขา และให้ความสามารถในการเยี่ยมชมเว็บไซต์เฉพาะหรือ โฆษณาผลิตภัณฑ์สำหรับพวกเขา

ทางออกที่ดีที่สุดคือการใช้สิ่งที่เรียกว่า "Eddystone" ซึ่งอนุญาตให้คุณส่ง URL ไปยังอุปกรณ์ไคลเอนต์ "สมาร์ทโฟน / แท็บเล็ต"

ดังนั้นในบทความนี้ ผมจะแสดงให้คุณเห็นทีละขั้นตอนว่าผมใช้อะไรและเชื่อมโยงทุกอย่างเข้าด้วยกันอย่างไร และซอฟต์แวร์/แอพที่ผมใช้ในโปรเจ็กต์นี้

ขั้นแรก: อธิบายปัญหา

ในการใช้อุปกรณ์ใด ๆ ในร่ม / กลางแจ้ง คุณต้องทำ:

  1. กันน้ำ.
  2. ใช้พลังงานจากแบตเตอรี่
  3. อายุการใช้งานแบตเตอรี่ให้นานที่สุด
  4. ชาร์จแบตเตอรี่ใหม่อย่างง่ายดาย "ผ่าน micro USB เป็นต้น"

เพื่อให้กันน้ำได้ ทางออกที่ดีที่สุดคือการหาวัตถุที่พิมพ์ 3 มิติที่สามารถใส่อุปกรณ์ไว้ข้างในและเปิดและปิดได้ง่ายอีกครั้ง และป้องกันไม่ให้น้ำเข้าไปในอุปกรณ์และทำให้อุปกรณ์เสียหายได้อย่างแน่นอน

การใช้แบตเตอรี่ Li-ion polymer เป็นตัวเลือกที่ดีที่สุด ขนาดเล็ก ความจุสูงและชาร์จใหม่ได้ง่าย เนื่องจาก Adafruit nRF52 feather มีวงจรชาร์จแบตเตอรี่ Li-ion ในตัว

เริ่มจากวัตถุที่พิมพ์ 3 มิติ ฉันพบการออกแบบนี้ใน thingiversewebsite ออกแบบโดย:Jorg Jorgensen "ขอบคุณ Jorg" ฉันพิมพ์ด้วยมาตราส่วน 100% แต่มีขนาดเล็กมากเพื่อให้พอดีกับส่วนประกอบทั้งหมดภายใน ดังนั้นฉันจึงพิมพ์ด้วย มาตราส่วน 200% และให้สิ่งที่ฉันต้องการแก่ฉัน

ฉันชอบดีไซน์นี้เพราะถ้าปิดแน่นดีน้ำจะไม่เข้าไปข้างใน

ดาวน์โหลดการออกแบบจากลิงค์นี้ด้านล่าง

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

ขั้นตอนที่ 1: ส่วนประกอบสำหรับโครงการนี้

ส่วนประกอบสำหรับโครงการนี้
ส่วนประกอบสำหรับโครงการนี้
ส่วนประกอบสำหรับโครงการนี้
ส่วนประกอบสำหรับโครงการนี้
ส่วนประกอบสำหรับโครงการนี้
ส่วนประกอบสำหรับโครงการนี้

เพียงไม่กี่องค์ประกอบที่คุณต้องทำโครงการนี้:

  1. Adafruit nRF52 กระดานขนนก มาพร้อม nRF52832 BE.
  2. ส่วนหัวของหมุด ส่วนหัวของตัวเมียหรือตัวผู้ "และเป็นตัวเลือก"
  3. แบตเตอรี่ลิเธียมไอออนโพลีเมอร์ ฉันใช้แบตเตอรี่ 3.7V / 1000mA หากแบตเตอรี่มาโดยไม่มีขั้วต่อ ให้ซื้อแจ็ค 2 พิน JST
  4. มินิเขียงหั่นขนม
  5. กาว UHU กาว.

ขั้นตอนที่ 2: การเตรียมฮาร์ดแวร์ / ซอฟต์แวร์

การเตรียมฮาร์ดแวร์ / ซอฟต์แวร์
การเตรียมฮาร์ดแวร์ / ซอฟต์แวร์
การเตรียมฮาร์ดแวร์ / ซอฟต์แวร์
การเตรียมฮาร์ดแวร์ / ซอฟต์แวร์
การเตรียมฮาร์ดแวร์ / ซอฟต์แวร์
การเตรียมฮาร์ดแวร์ / ซอฟต์แวร์

ไม่ยากเกินไปที่จะเชื่อมต่อทุกอย่างเข้าด้วยกัน แต่ก่อนอื่นเราต้องติดตั้งบอร์ดทดลองขนาดเล็กและแบตเตอรี่ภายในอุปกรณ์โดยใช้กาวกาว UHU ตรวจสอบให้แน่ใจว่าปล่อยให้แห้งอย่างน้อยหนึ่งชั่วโมง

ชาร์จแบตเตอรี่ Li-ion ในกรณีของฉันฉันบัดกรีสายไฟเข้ากับแบตเตอรี่เพื่อเชื่อมต่อกับขั้วต่อ JST

ตอนนี้เรามาดูซอฟต์แวร์กัน:

ก่อนอื่นคุณต้องมี Arduino IDE "donwload it from here" จากนั้นไปที่ file >> Preferences

เพิ่ม https://www.adafruit.com/package_adafruit_index.js… เป็น 'Additional Board Manager URL' (ดูภาพด้านล่าง)

จากนั้นไปที่เครื่องมือ >> บอร์ด >> ตัวจัดการบอร์ด แล้วค้นหา nRF52 และติดตั้ง

ตอนนี้รีสตาร์ท arduino IDE และจากบอร์ดให้เลือก adafruit nRF52

ซอฟต์แวร์พร้อมใช้งานและคุณสามารถอัปโหลดภาพร่างไปยังบอร์ด nRF52 ได้

ขั้นตอนที่ 3: โหมดบีคอน

โหมดบีคอน
โหมดบีคอน
โหมดบีคอน
โหมดบีคอน
โหมดบีคอน
โหมดบีคอน
โหมดบีคอน
โหมดบีคอน

จากวิกิพีเดีย ฉันอ้าง " Bluetooth beacons เป็นเครื่องส่งฮาร์ดแวร์ - อุปกรณ์ Bluetooth พลังงานต่ำ (LE) ประเภทหนึ่งที่ออกอากาศตัวระบุไปยังอุปกรณ์อิเล็กทรอนิกส์แบบพกพาในบริเวณใกล้เคียง เทคโนโลยีนี้ช่วยให้สมาร์ทโฟน แท็บเล็ต และอุปกรณ์อื่น ๆ ดำเนินการเมื่ออยู่ใกล้กับบีคอน " เพื่อให้เราสามารถส่ง UUID "ตัวระบุที่ไม่ซ้ำแบบสากล" ไปยังอุปกรณ์ใกล้เคียง

คุณสามารถส่ง UUID, Major และ Minor Number และตั้งค่ากำลัง tx และ RSSI ที่ 1 เมตร

อัปโหลดรหัสนี้ไปยังบอร์ด nRF52 ของคุณ

คุณสามารถดาวน์โหลดได้จาก github

/****************************************************** ******************** ใบอนุญาต MIT ตรวจสอบใบอนุญาตสำหรับข้อมูลเพิ่มเติม ข้อความทั้งหมดด้านบนและหน้าจอเริ่มต้นด้านล่างจะต้องรวมอยู่ในการแจกจ่ายซ้ำ

รหัสดั้งเดิมนำมาจากตัวอย่าง Adafruit Bluefruit

แก้ไขโดย: Mohannad Rawashdeh https://mb-raw.blogspot.com/ รหัสนี้จะใช้งานได้บนอุปกรณ์ Android / IOS

ชื่อแอพ Android: เครื่องสแกนบีคอน

ชื่อแอพ apple: core beacons ไปที่ beacon app แล้วคุณจะเห็นชื่ออุปกรณ์ (ibeacon /Rawashdeh) UUID: B3D6F818-DA71-09ED-EA80-F3C45FB19A50 Major=0x01 Minor=0x08 Beacon_RSSI -73db; ******************************************************** *******************/ #รวม

#define MANUFACTURER_ID 0x004C // ID ผู้ผลิตที่ถูกต้องของ Apple

int เมเจอร์=0x01;

int ไมเนอร์=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, 0xF, 0xF, 0x09, 0xED, 0xEA, 0x80, 0xF, 0xF, 0x50, }; BLEBeacon บีคอน (beaconUuid, Major, Minor, Beacon_RSSI);

การตั้งค่าเป็นโมฆะ ()

{ Bluefruit.begin(); Bluefruit.autoConnLed (เท็จ); บลูฟรุ๊ต.setTxPower(Tx_power); Bluefruit.setName("Rawashdeh"); beacon.setManufacturer (MANUFACTURER_ID); บลูฟรุต. ScanResponse.addName(); Bluefruit. Advertising.setBeacon(บีคอน); Bluefruit. Advertising.restartOnDisconnect(จริง); บลูฟรุ๊ต. Advertising.setInterval(160, 160); // ในหน่วย 0.625 ms Bluefruit. Advertising.setFastTimeout(15); // จำนวนวินาทีในโหมดเร็ว Bluefruit. Advertising.start(0); // 0 = อย่าหยุดโฆษณาหลังจากผ่านไป n วินาที // Suspend Loop() เพื่อประหยัดพลังงาน suspendLoop(); }

วงเป็นโมฆะ ()

{ }

หากคุณมีอุปกรณ์ Android

ไปที่ play store และดาวน์โหลดแอป beacon scanner "ฉันใช้ 2 แอพที่นี่และที่นี่"

ต่อแบตเตอรี่เข้ากับเครื่องอย่างง่ายดาย แล้วเปิดแอพแล้วคุณจะเห็นผลลัพธ์ "ตรวจสอบภาพด้านบน"

หากคุณมีอุปกรณ์ IOS "iphone/ipad"

แอพที่ดีที่สุดที่ฉันพบคือ Core beacons ดาวน์โหลดจาก app store

แอพอื่น "สำหรับบีคอนเท่านั้น" เป็นบีคอนแรนเจอร์" ไม่ดีขนาดนั้น แต่ฉันใช้สำหรับการทดสอบอย่างรวดเร็ว

สำหรับอุปกรณ์ IOS หากคุณใช้ beacon Ranging คุณต้องเพิ่ม UUID ก่อนแล้วจึงเชื่อมต่อกับอุปกรณ์ ซึ่งไม่น่าเชื่อถือ ให้ใช้ Core beacon แทน

ขั้นตอนที่ 4: Eddystone แบ่งปันเว็บไซต์/ผลิตภัณฑ์/บริการของคุณให้กับทุกคน

Image
Image
Eddystone แบ่งปันเว็บไซต์/ผลิตภัณฑ์/บริการของคุณให้กับทุกคน
Eddystone แบ่งปันเว็บไซต์/ผลิตภัณฑ์/บริการของคุณให้กับทุกคน
Eddystone แบ่งปันเว็บไซต์/ผลิตภัณฑ์/บริการของคุณให้กับทุกคน
Eddystone แบ่งปันเว็บไซต์/ผลิตภัณฑ์/บริการของคุณให้กับทุกคน

ด้วย eddystone คุณสามารถส่ง URL ไปยังอุปกรณ์ใกล้เคียงและนำไปยังเว็บไซต์หรือหน้าเว็บของคุณ หรือแม้แต่ URL ตำแหน่ง..ฯลฯ

อัปโหลดรหัส คุณสามารถดาวน์โหลดได้จาก github

/****************************************************** ******************** ใบอนุญาต MIT ตรวจสอบใบอนุญาตสำหรับข้อมูลเพิ่มเติม ข้อความทั้งหมดด้านบนและหน้าจอเริ่มต้นด้านล่างจะต้องรวมอยู่ในการแจกจ่ายซ้ำ

รหัสดั้งเดิมนำมาจากตัวอย่าง Adafruit Bluefruit

แก้ไขโดย: Mohannad Rawashdeh https://mb-raw.blogspot.com/ รหัสนี้จะใช้งานได้บนอุปกรณ์ Android / IOS

ชื่อแอพ Android: เครื่องสแกนบีคอน

ชื่อแอพ apple: core beacons ไปที่ beacon app แล้วคุณจะเห็นชื่ออุปกรณ์ (ibeacon /Rawashdeh) url:https://mb-raw.blogspot.com Beacon_RSSI -56db; ******************************************************** *******************/ #รวม

// url บล็อกของฉัน

#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);

การตั้งค่าเป็นโมฆะ ()

{ Bluefruit.begin(); บลูฟรุ๊ต.setTxPower(Tx_power); Bluefruit.setName("Rawashdeh"); บลูฟรุต. ScanResponse.addName(); บลูฟรุ๊ต. Advertising.setBeacon(eddyUrl); Bluefruit. Advertising.restartOnDisconnect(จริง); บลูฟรุ๊ต. Advertising.setInterval(320, 320); // ในหน่วย 0.625 ms Bluefruit. Advertising.setFastTimeout(15); // จำนวนวินาทีในโหมดเร็ว Bluefruit. Advertising.start(0);

}

วงเป็นโมฆะ ()

{

}

หากคุณมีอุปกรณ์ Android ไปที่ play store และดาวน์โหลดแอป beacon scanner "ฉันใช้ 2 แอพที่นี่" เชื่อมต่อแบตเตอรี่กับอุปกรณ์อย่างง่ายดายและเปิดแอพแล้วคุณจะเห็นผลลัพธ์ "ตรวจสอบภาพด้านบน"

หากคุณมีอุปกรณ์ IOS "iphone/ipad" แอปที่ดีที่สุดที่ฉันพบคือ Core beacons ให้ดาวน์โหลดจาก App Store

คุณสามารถดูวิดีโอสำหรับการทดสอบรหัสอย่างรวดเร็วของฉัน

แนะนำ: