ዝርዝር ሁኔታ:

ሊለበስ የሚችል የእንቅስቃሴ መከታተያ ይገንቡ (BLE ከአርዲኖ ወደ ብጁ የ Android ስቱዲዮ መተግበሪያ) 4 ደረጃዎች
ሊለበስ የሚችል የእንቅስቃሴ መከታተያ ይገንቡ (BLE ከአርዲኖ ወደ ብጁ የ Android ስቱዲዮ መተግበሪያ) 4 ደረጃዎች

ቪዲዮ: ሊለበስ የሚችል የእንቅስቃሴ መከታተያ ይገንቡ (BLE ከአርዲኖ ወደ ብጁ የ Android ስቱዲዮ መተግበሪያ) 4 ደረጃዎች

ቪዲዮ: ሊለበስ የሚችል የእንቅስቃሴ መከታተያ ይገንቡ (BLE ከአርዲኖ ወደ ብጁ የ Android ስቱዲዮ መተግበሪያ) 4 ደረጃዎች
ቪዲዮ: ተቀያያሪ ልብስ(convertible modular designs) 2024, ሀምሌ
Anonim
ሊለበስ የሚችል የእንቅስቃሴ መከታተያ ይገንቡ (BLE ከአርዲኖ ወደ ብጁ የ Android ስቱዲዮ መተግበሪያ)
ሊለበስ የሚችል የእንቅስቃሴ መከታተያ ይገንቡ (BLE ከአርዲኖ ወደ ብጁ የ Android ስቱዲዮ መተግበሪያ)

ብሉቱዝ ዝቅተኛ ኃይል (BLE) ዝቅተኛ ኃይል የብሉቱዝ ግንኙነት ዓይነት ነው። ሊለበሱ የሚችሉ መሣሪያዎች ፣ እንደ ትንቢታዊ ልባስ ንድፍ እንደረዳሁት እንደ ዘመናዊ ልብሶች ፣ የባትሪ ዕድሜን ለማራዘም እና BLE ን በተደጋጋሚ ለመጠቀም የኃይል ፍጆታን መገደብ አለባቸው። የብሉቱዝ ልዩ ፍላጎት ቡድን (SIG) አንድ መሣሪያ “መገለጫዎች” ከሚለው የብሉቱዝ መሣሪያ ጋር መስተጋብር ሊፈጽምባቸው የሚገባቸውን በርካታ ዝርዝር መግለጫዎችን ይገልጻል። አብዛኛዎቹ የመተግበሪያ መገለጫዎች በ BLE አገናኝ ላይ መረጃን ለመላክ አጠቃላይ የባህሪ መገለጫ (GATT) ይጠቀማሉ። በ BLE ውስጥ ሦስት መሠረታዊ ፅንሰ -ሀሳቦች አሉ -መገለጫዎች ፣ አገልግሎቶች እና ባህሪዎች።

ብሉቱዝ SIG ብዙ የተለመዱ መገለጫዎችን ፣ አገልግሎቶችን እና ባህሪያትን ደረጃውን የጠበቀ አድርጓል። ሆኖም ፣ ብጁ ሃርድዌር ሲፈጥሩ ብዙውን ጊዜ ብጁ አገልግሎቶችን እና ባህሪያትን መፍጠር ያስፈልጋል እና ብዙ አጋዥ ሥልጠናዎች የሉም። ጉዳዮችን የበለጠ አስቸጋሪ ለማድረግ አዳፍሩት የሞባይል አፕሊኬሽኖችን ከ BLE ሞጁሎቻቸው ጋር ለማጣመር ምንም ዓይነት መመሪያ አይሰጥም እና የመተግበሪያዎቻቸው ምንጭ ኮድ መሐንዲስን ለመቀልበስ አስቸጋሪ ነው።

ይህ መማሪያ ለማብራራት ያለመ ነው-

  1. ብጁ የ GATT አገልግሎቶችን እና ባህሪያትን እንዴት ዲዛይን ማድረግ እንደሚቻል
  2. ለእነዚህ ብጁ አገልግሎቶች እና ባህሪዎች እንደ GATT አገልጋይ ሆኖ Adafruit Bluefruit LE SPI ጓደኛን እንዴት መርሃግብር እንደሚያደርግ።
  3. ከ GATT አገልጋዩ ውሂቡን ለማንበብ የ GATT ደንበኛ ሆኖ እንዲሠራ የ Android መሣሪያን እንዴት ፕሮግራም ማድረግ እንደሚቻል

ይህ መማሪያ ወደ ለምርት ዝግጁ ትግበራ ለመተርጎም የታሰበ አይደለም - ይህ በቀላሉ ለ BLE መግቢያ ነው።

የጀርባ ንባብ;

  • Adafruit Bluefruit LE SPI የጓደኛ ሰነድ
  • GATT ወይም BLE ን የማያውቁ ከሆነ

አቅርቦቶች

  • 1x - የአርዱዲኖ መሣሪያ (ለዚህ አጋዥ ስልጠና UNO ን እጠቀማለሁ)
  • 1x - Adafruit Bluefruit LE SPI ጓደኛ
  • 8x - ከወንድ እስከ ወንድ ዝላይ ሽቦዎች
  • መሰረታዊ የሽያጭ መሣሪያዎች (በ SPI ጓደኛ ላይ ወደ ራስጌ ፒን)
  • ኮምፒተር (የአርዱዲኖ መሣሪያን እና የ android መሣሪያን ፕሮግራም ለማድረግ)

ደረጃ 1 የዲዛይን ብጁ አገልግሎቶች እና ባህሪዎች

መግቢያ

ይህ ጽሑፍ ብጁ አገልግሎቶችን እና ባህሪያትን እንዴት ዲዛይን ማድረግ እንደሚቻል የሚያብራራ ታላቅ ሥራን ይሠራል። በዚህ ጽሑፍ ውስጥ እንዲያነቡ እመክራለሁ። ቀላልነትን በመደገፍ ረቂቆቹን ችላ የሚል ከዚህ በታች በጣም ቀላል አጠቃላይ እይታን እሰጣለሁ።

የ GATT አገልግሎቶች የባህሪዎች ስብስብ ናቸው።

የ GATT ባህሪዎች ንብረት ፣ እሴት እና ዜሮ ወይም ከዚያ በላይ ገላጭዎችን ይዘዋል።

  • ንብረት - ውሂቡ በደንበኛው (በ Android መተግበሪያ) ለምሳሌ እንዴት መያዝ እንዳለበት ያለ ምላሽ ያንብቡ ፣ ይፃፉ ፣ ይፃፉ ፣ ያሳውቁ እና ያመልክቱ።
  • ዋጋ - የባህሪው ትክክለኛ እሴት ለምሳሌ። 1089 እ.ኤ.አ.
  • ገላጮች - ይህ ስለ እሴቱ መረጃ ነው። አሃዱ ፣ ሚሊሰከንዶች

ንድፍ

እሺ ፣ አሁን ምን አገልግሎቶች እና ባህሪዎች እንደሆኑ ያውቃሉ ፣ እኛ ብጁ ውሂባችንን ለማግኘት አንዳንድ አገልግሎቶችን እና ባህሪያትን እንዴት ዲዛይን ማድረግ እና ከ GATT አገልጋያችን (አርዱinoኖ) ወደ ደንበኛው (የ Android መተግበሪያ) መላክ አለብን። ከአክስሌሮሜትር-ጋይሮስኮፕ ሞዱል (AGM) መረጃን የሚሰበስብ የአርዲኖ መሣሪያን እንመልከት። እኛ ከሶስት የቦታ መጥረቢያዎች እና እነዚህ መለኪያዎች በተወሰዱበት ጊዜ ጋይሮስኮፕ እና የፍጥነት መለኪያዎችን መሰብሰብ እና ይህንን መረጃ ወደ ተንቀሳቃሽ መተግበሪያችን ማስተላለፍ እንፈልጋለን። እንዲሁም መሣሪያውን መቼ መሙላት እንዳለብን ማወቅ እንፈልጋለን ፣ ስለሆነም የባትሪውን ደረጃ ለማንበብ እና ያንን ወደ ተንቀሳቃሽ መተግበሪያችን ለማስተላለፍ እንፈልጋለን።

1. ማንኛውንም መደበኛ አገልግሎቶችን እና ባህሪያትን መጠቀም እንችላለን?

ብሉቱዝ SIG ብዙ የተለመዱ አገልግሎቶችን እና ባህሪያትን ደረጃውን የጠበቀ አድርጓል። በመጀመሪያ ደረጃውን የጠበቁ አገልግሎቶችን እና ባህሪያትን ማናቸውንም በጋራ መምረጥ ይችሉ እንደሆነ ለማየት እነዚህን ይፈትሹ። ዩኒቨርሳል ልዩ መለያ (UUID) 16 ቢት በመሆኑ ብጁ አገልግሎቶች እና ባህሪዎች ለዩአይዲአቸው 128 ቢት መጠቀም አለባቸው። ተጨማሪ ስለ UUIDs በኋላ። ከፍለጋችን አንድ “ባህርይ ደረጃ” የያዘ አንድ ደረጃውን የጠበቀ “የባትሪ አገልግሎት” አግኝተናል።

2. በ BLE ላይ ለመላክ የሚፈልጓቸውን ሁሉንም የውሂብ እሴቶች ወደ ባህሪዎች እና አገልግሎቶች ይለዩ

በአንድ ብጁ አገልግሎት ውስጥ ብጁ የውሂብ ነጥቦቻችንን ወደ ሰባት ብጁ ባህሪዎች መከፋፈል እንችላለን። ይህንን አገልግሎት “AGM አገልግሎት” ብለን እንጠራዋለን። እሱ 7 ባህሪያትን ይይዛል-x-acceleration ፣ y-acceleration ፣ z-acceleration ፣ x-gyroscope ፣ y-gyroscope ፣ z-gyroscope ፣ እና time ማጣቀሻ።

3. ለእያንዳንዱ ባህሪ የሚያስፈልጉትን ንብረቶች ይወስኑ

አንድ ባህርይ ሊኖረው የሚችል በርካታ ንብረቶች አሉ።

  1. አንብብ - ደንበኛው (የ Android መተግበሪያ) ከ GATT አገልጋይ (አርዱዲኖ) እሴት ማንበብ ይችላል
  2. ይፃፉ -ደንበኛው ከ GATT አገልጋይ እሴትን መለወጥ ይችላል
  3. ይጠቁሙ: አንድ እሴት ከ GATT አገልጋይ ከተቀየረ እና ደንበኛው ማረጋገጫ ወደ GATT አገልጋይ እንደሚልክ ከተጠበቀ ደንበኛው እንዲያውቀው ይደረጋል።
  4. አሳውቅ - አንድ እሴት ከ GATT አገልጋይ ከተቀየረ እና ደንበኛው ለ GATT አገልጋዩ ማረጋገጫ ይልካል ተብሎ ካልተጠበቀ ደንበኛው እንዲያውቀው ይደረጋል።

ለዚህ መማሪያ ፣ ሁለቱንም የማሳወቂያ እና የንባብ ባህሪዎች ከሚኖሩት የባትሪ ደረጃ በስተቀር ፣ ለማንበብ ሁሉንም ባህሪያችንን እናዘጋጃለን።

4. ለብጁ አገልግሎቶች እና ባህሪዎች ዩአይዲዎችን ይፍጠሩ እና መደበኛ ዩአይዲዎችን ያግኙ

ቀደም ብዬ በአጭሩ እንደገለጽኩት ፣ ብሉቱዝ SIG ደረጃውን የጠበቀ አገልግሎቶች እና ባህሪዎች 16 ቢት UUID ን ይጠቀማሉ ፣ ብጁ አገልግሎቶች እና ባህሪዎች 128 ቢት UUID ን ይጠቀማሉ። ለምሳሌ ፣ በብሉቱዝ SIG ላይ የባትሪውን አገልግሎት የተመደበውን ቁጥር ይመልከቱ። የተመደበው ቁጥር 0x180F 128 ቢት UUID "0000180F-0000-1000-8000-00805F9B34FB" ን ይወክላል። አራቱ አሃዞች (16 ቢት) በደማቅ ሁኔታ ለተለየ ደረጃውን የጠበቀ አገልግሎት ወይም ባህሪ ልዩ ሲሆኑ ሌሎቹ ገጸ -ባህሪያት በሁሉም ደረጃውን የጠበቀ አገልግሎቶች እና ባህሪዎች መካከል ይጠበቃሉ። ሁለቱም ደንበኛው እና የ GATT አገልጋዩ ደረጃውን የጠበቀ አገልግሎቶች እና ባህሪዎች በደማቅ አሃዞች ብቻ እንደሚለያዩ ስለሚያውቁ ፣ የፓኬት መጠኖች በከፍተኛ ሁኔታ ሊቀንሱ ይችላሉ። ሆኖም ፣ ብጁ አገልግሎቶች እና ባህሪዎች በዚህ ተመሳሳይ ግምት ስር ሊሠሩ አይችሉም።

በምትኩ ፣ ብጁ አገልግሎቶች እና ባህሪዎች ያልተቀነሰ 128 ቢት UUID ን መጠቀም አለባቸው። የመስመር ላይ UUID ጄኔሬተር እዚህ አለ። ከተለመደው UUID በስተቀር ማንኛውም UUID ለብጁ UUID ተቀባይነት አለው። ሆኖም ፣ የተለመደው የመሰየሚያ ስምምነት ብጁ አገልግሎትን 00000001-… እና በዚያ ብጁ አገልግሎት 00000002-… ውስጥ ያሉትን ባህሪዎች ማመልከት ነው።

እኛ ከ UUID ዎች ጋር በመተግበር ላይ የምናደርጋቸው የአገልግሎቶች እና ባህሪዎች ማጠቃለያ ሉህ እዚህ አለ።

ደረጃ 2: የአርዲኖ ኮድ

BLUEFRUIT LE SPI ጓደኛን ያዘምኑ

በመጀመሪያ ፣ በአዳፍ ፍሬዝ ብሉፍሪት LE SPI ጓደኛቸው በመያዣ መመሪያቸው ውስጥ እንደገለፁ እና የአርዱዲኖ መሣሪያን ሲያጠናቅቁ። የብሉቱዝ መሣሪያዎችን በሚቃኙበት ጊዜ በ Android መሣሪያዎ ላይ Adafruit Bluefruit LE SPI ጓደኛን ማግኘትዎን ያረጋግጡ። የ Bluefruit አገናኝ መተግበሪያውን ያውርዱ ፣ ከአዳፍ ፍሬው ብሉፍሪት LE SPI ጓደኛ ጋር ይገናኙ እና በመሣሪያው ላይ ያለውን firmware እንዲያዘምኑ ይፍቀዱለት። ይህ እርምጃ አስፈላጊ ነው። Firmware ን ካላዘመኑ መሣሪያውን በአርዱዲኖ በኩል የሚያወጡዋቸው ትዕዛዞች ሳይሳኩ አይቀርም እና ችግሩ ምን እንደሆነ ለማወቅ ለእርስዎ ግልጽ የሆነ ስህተት አይኖርም።

ለዚህ ፕሮጀክት የእኔ ሪፖል እዚህ አለ። ሙሉውን የአርዱዲኖ ኮድ እዚህ ማየት ይችላሉ።

አጠቃላይ እይታ

ልብ ሊሏቸው የሚገቡ ጥቂት አስፈላጊ ነገሮች

  1. በማዋቀር () ዘዴ ሁሉም ብጁ ዩአይዲዎች በየሁለት ቁምፊዎች መካከል “-” መያዝ አለባቸው። ለምሳሌ ፣ “AT+GATTADDCHAR = UUID128 = 00-00-00-05-62-7E-47-E5-A3-FC-DD-AB-D9-7A-A9-66” ይሠራል። "AT+GATTADDCHAR = UUID128 = 00000005-627E-47E5-A3fCDDABD97AA966" አይሰራም።
  2. በቅንብር () ዘዴ ውስጥ "ባትሪ. ጀማሪ (እውነተኛ)" መሆኑን ልብ ይበሉ። ጥሪዎች "ble.reset ();" በራስ -ሰር። እኔ እንዳለሁ የባትሪ አገልግሎቱን የማይጠቀሙ ከሆነ ፣ ትዕዛዙ ያለኝበትን “ሞላ” ሞጁሉን (“ble.reset ();”) ን እንደገና መጠቀም አለብዎት)።
  3. በማዋቀር () ዘዴ ውስጥ ማረም ከፈለጉ "ከሆነ (! Ble.begin (ሐሰተኛ))" ወደ "ከሆነ (!

ይህ ኮድ በጣም ገላጭ ነው። የእያንዳንዱን ብጁ ዘዴ መግለጫዎች አካትቻለሁ። የማዋቀሪያ ዘዴው እንደ GATT አገልጋይ ሆኖ ለመስራት የ BLE ሞጁሉን ዝግጁ ያደርገዋል። የሉፕ ዘዴው በአክስሌሮሜትር ግሮሰስኮፕ ሞጁል (ኤግኤም) የሐሰት መጥረጊያ ውስጥ ያልፋል እና ለእነዚህ እሴቶች የዘፈቀደ ቁጥርን ከ 1 እስከ 100 ያመነጫል። የባትሪ አጠቃቀምን ለማስመሰል ባትሪው በ 1% ይፈስሳል። ይህንን ኮድ በእውነተኛ ዳሳሽ እሴቶች በቀላሉ መተካት ይችላሉ። የ AGM ውሂብ መስኮት መተንተን ከአንድ የውሂብ ነጥብ የበለጠ ጠቃሚ ሊሆን ስለሚችል ይህ ኮድ አንድ ነጠላ ልኬት ሳይሆን የ AGM ውሂብ ድርድርን ያስተላልፋል ብሎ ያስባል። የድርድር መጠኑን ከቀየሩ ፣ በ android ስቱዲዮ ኮድ ውስጥ ለውጦች እንደሚኖሩ ልብ ይበሉ። የውሂብ ድርድርን ለመያዝ ፣ ለመላክ ካሰቡት ውሂብ ጋር ቆጣሪን ማለፍ አለብዎት። በመስኮቱ ውስጥ የጎደሉትን የውሂብ ነጥቦችን ለማዳመጥ መጠበቅ እንዲችሉ ይህ ቆጣሪ ከ android ስቱዲዮ ትግበራ በመስኮቱ ውስጥ የት እንዳሉ እንዲያገኙ ያስችልዎታል። ያለ ቆጣሪው ወይም በተለያየ መጠን ድርድር ፣ የ android ስቱዲዮ ፕሮጀክት የውሂብ ነጥቦችን ያመልጣል ወይም የሚጠብቀውን ቀሪ የውሂብ ነጥቦችን በመጠባበቅ ላይ ይዘጋል።

ደረጃ 3 የ Android ስቱዲዮ ኮድ

ለዚህ ፕሮጀክት የእኔ ሪፖል እዚህ አለ። ሙሉውን የ Android ስቱዲዮ ኮድ እዚህ ማየት ይችላሉ።

አጠቃላይ እይታ

አርዱዲኖ እና የ android ኮድ በዝርዝር እንዴት እንደሚሠሩ በበለጠ አጠቃላይ እይታ ይህንን በማዘመን እቀጥላለሁ… መተግበሪያው ሙሉ በሙሉ ይሠራል ስለዚህ እስከዚያ ድረስ ኮዱን እራስዎ ለመመልከት ነፃነት ይሰማዎ።

ደረጃ 4: የመጨረሻ ማመልከቻ

የመጨረሻ ማመልከቻ
የመጨረሻ ማመልከቻ
የመጨረሻ ማመልከቻ
የመጨረሻ ማመልከቻ
የመጨረሻ ማመልከቻ
የመጨረሻ ማመልከቻ

እንኳን ደስ አላችሁ! የእርስዎ መተግበሪያ ወደ ስልክዎ ወርዷል እና ሊለበስ የሚችል መሣሪያዎ ኃይል ተሞልቶ ውሂብን ያስተላልፋል።

መተግበሪያውን ያስጀምሩ

ለመጀመር ለትግበራው አስጀማሪ አዶ ላይ ጠቅ ያድርጉ።

የስጦታ ፍቃዶች

ለመተግበሪያው በትክክል እንዲሠራ አንዳንድ ፈቃዶችን መጠቀምን ማጽደቅ ያስፈልግዎታል።

ለመሣሪያዎች ይቃኙ

በመቀጠል በመተግበሪያው በላይኛው ግራ ጥግ ላይ ባለው “ስካን” ቁልፍ ላይ ጠቅ ያድርጉ።

የሚለብሱ መሣሪያዎን ይምረጡ

በመቀጠል ፣ ሊለበሱ የሚችሉ መሣሪያዎን ከሚገኙት የ BLE መሣሪያዎች ዝርዝር ውስጥ ይምረጡ። ስሙ “BLE Arduino Hardware” ነው። መተግበሪያው የ AGM ውሂቡን ሲያገኝ እና ተጠቃሚው ያለበትን ወይም የሚንቀሳቀስበትን ቦታ ይወስናል። ውጤቶችዎን ይመልከቱ በማያ ገጹ ላይ ያሉትን ውጤቶች ይመልከቱ! ሌላ የውሂብ ንባብ ለማግኘት የማመሳሰል አዝራሩን ጠቅ ያድርጉ።

የሚመከር: