ዝርዝር ሁኔታ:

የመንገድ ክትትል 15 ደረጃዎች
የመንገድ ክትትል 15 ደረጃዎች

ቪዲዮ: የመንገድ ክትትል 15 ደረጃዎች

ቪዲዮ: የመንገድ ክትትል 15 ደረጃዎች
ቪዲዮ: በ 4ተኛ ወር የእርግዝና ግዜ ምን ይፈጠራል? የእርግዝና ምልክቶች እና የፅንሱ እድገት| What to expect during 4 month of pregnancy 2024, ህዳር
Anonim
የመንገድ ክትትል
የመንገድ ክትትል

ዛሬ የፍጥነት መለኪያዎችን ፣ ሎራቫን ፣ የአማዞን ድር አገልግሎቶችን እና የጉግል ደመና ኤፒአይን መሠረት በማድረግ የመንገድ አለመመጣጠን ቁጥጥር ስርዓትን እንዴት እንደምናዘጋጅ እናሳይዎታለን።

ደረጃ 1: መስፈርቶች

  • DISCO-L072CZ-LRWAN1 ቦርድ
  • ኤክስ- NUCLEO-IKS01A2 የማስፋፊያ ሞዱል (ለ acellerometer)
  • X-NUCLEO-GNSS1A1 (ለትርጉም)
  • የ AWS መለያ
  • የ Google ደመና የመሳሪያ ስርዓት መለያ

ደረጃ 2 የአነፍናፊውን የጽኑዌር ግንባታ እና ብልጭ ድርግም ማለት

በ GPIO ፒኖች በኩል በቦርዱ አናት ላይ IKS01A2 እና GNSS1A1 ን ያገናኙ። የጽኑውን ኮድ ከ GitHub ያውርዱ። በ ARM Mbed ላይ መለያ ይፍጠሩ (እስካሁን ከሌለዎት) እና በመስመር ላይ አጠናቃሪው ላይ በሪፖው ውስጥ ያለውን ኮድ ያስመጡ። የታለመውን መድረክ ወደ DISCO-L072CZ-LRWAN1 ያዘጋጁ እና ፕሮጀክቱን ያስቀምጡ። አሁን ወደ የነገሮች አውታረ መረብ ይሂዱ እና እርስዎ ከሌለዎት መለያ ይፍጠሩ። መተግበሪያን ይፍጠሩ ፣ በመተግበሪያው ውስጥ አዲስ መሣሪያ ይፍጠሩ እና የግንኙነት ሁነታን ወደ OTAA ያዘጋጁ። በ mbed_app.json ፋይል ውስጥ የሚከተሉትን መስኮች ለመሙላት ተገቢውን መለኪያዎች ይያዙ-“lora.appskey” ፣ “lora.nwkskey” ፣ “lora.device-address”።

አነፍናፊው በየጊዜው የፍጥነት መለኪያ እና የጂኤንኤስኤስ መረጃን ይመዘግባል እና በሎራ ግንኙነት በኩል በአቅራቢያ ወዳለው መግቢያ በር ይልካል ፣ ይህም በእኛ ነገሮች አውታረ መረብ ላይ ወደ የእኛ መተግበሪያ ያስተላልፋል። ቀጣዩ ደረጃ የደመና አገልጋይ ፣ እና የኤችቲቲፒ ውህደት በ TTN ላይ ማዋቀር ነው።

ደረጃ 3 - ደመናን ማቀናበር

ደመናን ማቀናበር
ደመናን ማቀናበር

አሁን ከሁሉም የተሰማሩ ቦርዶች መረጃን የሚሰበስብ እና የሚያጣምር የደመና መሠረተ ልማት ለማቋቋም ዝግጁ ነን። ይህ መሠረተ ልማት ከዚህ በታች ባለው ሥዕል ውስጥ ይታያል እና እሱ ያቀፈ ነው-

  • Kinesis ፣ መጪውን የውሂብ ዥረት ለማስተናገድ;
  • Lambda ፣ ከማከማቸቱ በፊት ውሂቡን ለማጣራት እና አስቀድሞ ለማቀናበር;
  • S3 ፣ ሁሉንም ውሂብ ለማከማቸት ፣
  • EC2 ፣ መረጃን ለመተንተን እና ግንባራችንን ለማስተናገድ።

ደረጃ 4 AWS Lambda ን ያዋቅሩ

AWS Lambda ን ያዋቅሩ
AWS Lambda ን ያዋቅሩ

ከላምባ ጀምሮ ይህንን መሠረተ ልማት ለማቋቋም አስፈላጊዎቹን ደረጃዎች በምሳሌ እንገልፃለን።

  1. በ AWS መለያዎ ፣ እና ከመሥሪያ ቤቱ ዋና ገጽ ይግቡ እና ወደ Lambda ይሂዱ
  2. ተግባር ፍጠር ላይ ጠቅ ያድርጉ
  3. በገጹ የላይኛው ክፍል ውስጥ ከጭረት ውስጥ ደራሲ መመረጥ አለበት። ከዚያ በስዕሉ ላይ እንዳሉት ሌሎቹን መስኮች ያጠናቅቁ እና ከዚያ ተግባር ፍጠር የሚለውን ጠቅ ያድርጉ
  4. አሁን የ AWS Lambda ተግባር ስለፈጠሩ ፣ ወደ https://github.com/roadteam/data-server ይሂዱ እና የገጹን ሁለተኛ አጋማሽ በሚያገኙት የ aws_lambda.py ፋይል ይዘት ውስጥ ይቅዱ። የእርስዎ Lambda ተግባር አሁን ዝግጁ ነው:)

ደረጃ 5: AWS Kinesis Firehose Data Stream ን ያዋቅሩ

AWS Kinesis Firehose Data Stream ን ያዋቅሩ
AWS Kinesis Firehose Data Stream ን ያዋቅሩ
  1. አሁን ወደ AWS ኮንሶል ዋና ገጽ ይመለሱ ፣ እና ወደ አገልግሎቶች ወደ ኪኒስ ይሂዱ
  2. አሁን እርስዎ በኪኒስ ዋና ገጽ ውስጥ ነዎት። ከገጹ በስተቀኝ ፣ በ “ኪኒስ ፋየር እሳት ማድረስ ዥረቶች” ስር ፣ “አዲስ የመላኪያ ዥረት ፍጠር” ን ይምረጡ።
  3. በ ‹የመላኪያ ዥረት ስም› ውስጥ ‹የመንገድ ክትትል-ዥረት› ይፃፉ። ሌሎቹን መስኮች በነባሪነት ይተው እና ቀጣይን ጠቅ ያድርጉ
  4. አሁን ‹ከ AWS Lambda ጋር የመረጃ ምንጭ መዛግብሮችን ቀይር› ስር ነቅቷል የሚለውን ይምረጡ ፣ እና እንደ Lambda ተግባር አዲስ በተፈጠረው ‹የመንገድ-ክትትል-ላምዳ› ላይ ጠቅ ያድርጉ። እኛ የምናደርገው ክዋኔ በሂሳብ ስሌት ውድ ስላልሆነ ስለ ተግባር ማብቂያ ማስጠንቀቂያ ብቅ ቢል አይጨነቁ። ሌሎቹን መስኮች በነባሪነት ይተው እና ቀጣይን ጠቅ ያድርጉ
  5. እንደ መድረሻ አማዞን S3 ን ፣ እና እንደ S3 መድረሻ አዲስ ፍጠር የሚለውን ይምረጡ። የባልዲ ስም ‹የመንገድ ክትትል-ባልዲ› ውስጥ ሲገባ ከዚያ ይሂዱ። አሁን ሌሎቹን መስኮች በነባሪነት ይተዉ እና ቀጣይ የሚለውን ጠቅ ያድርጉ
  6. የ Buffer መጠንን ወደ 1 ሜባ እና የ Buffer ክፍተት ወደ 60 ሰከንዶች ማዘጋጀት ይፈልጉ ይሆናል። ከሁለቱ ሁኔታዎች አንዱ በተሟላ ቁጥር ቋሚው ወደ S3 ይታጠባል። ገጹን አይተዉ ፣ ቀጣዩን ደረጃ ይመልከቱ

ደረጃ 6 ለኪኒስ የ IAM ሚና ያዘጋጁ

ለኪኒሲስ የ IAM ሚና ያዘጋጁ
ለኪኒሲስ የ IAM ሚና ያዘጋጁ

የላምንዳ ተግባሩን ለቅድመ ዝግጅት መጥራት ስላለበት ከዚያ በ S3 ላይ ስለሚጽፍ አሁን ለኪኒስ የደህንነት ፈቃዶችን እናዘጋጃለን።

  1. እርስዎ በ ‹አይኤም ሚና› ውስጥ ባለው የገጹ ታችኛው ክፍል ላይ ‹አዲስ የመምረጥ ፍጠር› ን ይምረጡ ፣ በስዕሉ ላይ እንደሚታየው አዲስ የ IAM ሚና ይፍጠሩ እና ፍቀድ የሚለውን ጠቅ ያድርጉ።
  2. አሁን ወደ ቀዳሚው ገጽ ተመልሰዋል ፣ ቀጣይን ጠቅ ያድርጉ። አሁን ሁሉንም መለኪያዎች በእጥፍ ማረጋገጥ ይፈልጉ ይሆናል። ሲጨርሱ ‹የመላኪያ ዥረት ፍጠር› ላይ ጠቅ ያድርጉ።

የኪኒስ-ላምባ-ኤስ 3 ቧንቧ መስመር ተዘርግቷል!

ደረጃ 7 AWS EC2 ን ያዋቅሩ

AWS EC2 ን ያዋቅሩ
AWS EC2 ን ያዋቅሩ

አሁን እኛ ከኤኤስኤስ ደመና መረጃን ለመግፋት እና ለመጎተት የሚያስችለንን አንዳንድ ኤ.ፒ.አይ.ዎችን (ኤ.ፒ.አይ.) እናዘጋጃለን እና እንዲሁም የእኛን የትግበራ ግንባር የምናስተናግድበት አገልጋይ። በምርት አከባቢ ውስጥ ፣ የበለጠ ሊለዋወጥ የሚችል የ AWS ኤፒአይ በርን በመጠቀም ኤፒአይ ማተም ይፈልጉ ይሆናል።

  1. ከ AWS ኮንሶል ዋና ገጽ ወደ EC2 አገልግሎት ይሂዱ
  2. የማስጀመሪያ ማስጀመሪያን ጠቅ ያድርጉ
  3. በላይኛው የፍለጋ አሞሌ ውስጥ ይህንን ኮድ ‹ami-08935252a36e25f85› ይለጥፉ ፣ ያ ለመጠቀም ቀድሞ የተዋቀረው ምናባዊ ማሽን መለያ ኮድ ነው። በቀኝ በኩል ይምረጡ የሚለውን ጠቅ ያድርጉ
  4. ከ ‹ዓይነት› አምድ ውስጥ t2.micro ን ይምረጡ እና ‹ገምግም እና አስጀምር› ን ጠቅ ያድርጉ። ምሳሌውን ገና አያስጀምሩ ፣ ወደ ቀጣዩ ደረጃ ይሂዱ

ደረጃ 8 ለ EC2 የ IAM የደህንነት ሚና ያዘጋጁ

ለ EC2 የ IAM የደህንነት ሚና ያዘጋጁ
ለ EC2 የ IAM የደህንነት ሚና ያዘጋጁ
  1. ሥራ ከመጀመራችን በፊት የእኛን የደህንነት ቡድን ማሻሻል እንፈልጋለን። ይህንን ለማድረግ በ ‹የደህንነት ቡድኖች› ክፍል በስተቀኝ ላይ ‹የደህንነት ቡድኖችን አርትዕ› ን ጠቅ ያድርጉ አዲስ የደህንነት ቡድን እንደሚከተለው ያዘጋጁ። ይህ በመሠረቱ ለኤስኤስኤች ግንኙነት እና ወደብ 80 ለ http አገልግሎቶች ወደብ 22 የሚያጋልጥ የእርስዎን ምሳሌ ፋየርዎልን ያዋቅራል
  2. እንደገና ጠቅ ያድርጉ 'ገምግም እና አስጀምር'. አሁን ሁሉም መለኪያዎች እንደተዋቀሩ ያረጋግጡ። ሲጨርሱ አስጀምር የሚለውን ጠቅ ያድርጉ
  3. ጠቅ ሲያደርጉ ለኤስኤችኤስ ግንኙነት ቁልፍ ጥንድ ለማዋቀር አዲስ መስኮት ብቅ ይላል። 'አዲስ የቁልፍ ጥንድ ፍጠር' ን ይምረጡ እና እንደ ስም ‹ec2-road-monitoring› ን ያስገቡ። የቁልፍ ጥንድ አውርድ የሚለውን ጠቅ ያድርጉ። ይህ ፋይል ጠፍቶ ወይም (የከፋ) ደህንነቱ በተጠበቀ ሁኔታ መከማቸቱ በጣም አስፈላጊ ነው -ቁልፉን እንደገና ማውረድ አይችሉም። አንዴ የ.pem ቁልፍን ካወረዱ ምሳሌው ለመጀመር ዝግጁ ነው

ደረጃ 9 - የእርስዎን EC2 ትምህርት ይድረሱ

የእርስዎን EC2 ትምህርት ይድረሱ
የእርስዎን EC2 ትምህርት ይድረሱ

የእርስዎ አዲሱ EC2 ምሳሌ በ AWS ደመና ውስጥ ነው። ከዚህ በፊት በተወረደው የቁልፍ ፋይል ከእሱ ጋር መገናኘት ይችላሉ (ለዚህ አጋዥ ስልጠና የ ssh መሰረታዊ ነገሮችን ያውቃሉ ብለን እናስባለን)። በ ‹መግለጫ› ክፍል ውስጥ ባለው ዳሽቦርድ ውስጥ በመምረጥ ምሳሌውን አይፒን ሰርስረው ማውጣት ይችላሉ -ሁለቱንም ይፋዊ አይፒዎን ወይም ይፋዊ ዲ ኤን ኤስዎን አንድ ነው መጠቀም ይችላሉ። በ ssh ደንበኛ አሁን ትዕዛዙን ያስገቡ-

ssh -i ec2-road-monitoring.pem ec2-user@YOUR-IP-ADDR-OR-DNS

ec2-road-monitoring.pem ከዚህ በፊት የእርስዎ ቁልፍ የተፈጠረበት።

አሁን የአገልጋዩን-ጎን ኮድ ለመሳብ ይቀጥሉ

git clone-ተደጋጋሚ

ደረጃ 10 የ Google ካርታዎች ኤፒአይ ሰርስረው ያውጡ

የ Google ካርታዎች ኤፒአይ ሰርስረው ያውጡ
የ Google ካርታዎች ኤፒአይ ሰርስረው ያውጡ

ጨርሰናል ማለት ይቻላል። አሁን ካርታውን ለተጠቃሚው ለማሳየት የጉግል ካርታዎችን ኤፒአይ በእኛ html ገጽ ውስጥ ማዋቀር አለብን።

  1. ወደ ጉግል መለያዎ ይግቡ እና ወደ https://cloud.google.com/maps-platform/ ይሂዱ
  2. በገጹ ግራ ላይ ‹ጀምር› የሚለውን ጠቅ ያድርጉ
  3. በምናሌው ውስጥ ‹ካርታዎች› ን ይምረጡ እና ቀጥልን ጠቅ ያድርጉ
  4. የፕሮጀክቱ ስም ‹የመንገድ ክትትል› ሲገባ እና ቀጣይ የሚለውን ጠቅ ያድርጉ
  5. የሂሳብ አከፋፈል ዝርዝሮችዎን ያስገቡ እና ቀጥልን ጠቅ ያድርጉ
  6. አሁን የእርስዎ ፕሮጀክት ዝግጁ ነው እና ወደ ኤፒአይዎች እና አገልግሎቶች -> ምስክርነቶች ጠቅ በማድረግ የኤፒአይ ቁልፍን እናገኛለን

ደረጃ 11 አገልጋይ ያስጀምሩ

አገልጋይ አስጀምር
አገልጋይ አስጀምር

እና እዚያ የእርስዎ ኤፒአይ ቁልፍ ነው። ማድረግ ያለብዎት የመጨረሻው ነገር ወደ ‹ዳታ_ቪዥንላይዜሽን/anomalies_map.html› መሄድ እና ‹የእርስዎ-ቁልፍ-እዚህ› ን በመተካት እንደ ፋይሉ መጨረሻ ድረስ ቁልፍዎን መቅዳት ነው።

አሁን ሁሉም ተዘጋጅቷል እና ለመሄድ ዝግጁ ነው! በ EC2 ምሳሌ ውስጥ እንዲሠራ ለማድረግ ‹ሲዲ ዳታ-አገልጋይ› ‹Python flask_app.py›

የእርስዎን EC2 ምሳሌ የአይፒ ወይም የዲኤንኤስ አድራሻ በአሳሽዎ ውስጥ ያስገቡ ፣ አንዳንድ የማይረባ ውሂብ የያዘውን የካርታ ካርታ ማየት አለብዎት

ደረጃ 12 በኤችቲቲፒ ውህደት በነገሮች አውታረ መረብ ላይ ያከናውኑ

በነገሮች አውታረ መረብ ላይ የኤችቲቲፒ ውህደትን ያከናውኑ
በነገሮች አውታረ መረብ ላይ የኤችቲቲፒ ውህደትን ያከናውኑ

አሁን ሁሉም የኋላ መሠረተ ልማት ተዘርግቶ እየሠራን የኤችቲቲፒ ውህደትን ለማከናወን ልንሰራው እንችላለን።

  1. አዲስ መተግበሪያ ይፍጠሩ እና መሣሪያዎን ያስመዝግቡ። ፈጣን የጅማሬ መመሪያን ካልጠቀሰ የ TTN መሠረታዊ ዕውቀትን እንገምታለን
  2. በመተግበሪያዎ ምናሌ ውስጥ ‹ውህደቶች› ን ይምረጡ እና ከዚያ ‹ውህደትን ያክሉ›
  3. የኤችቲቲፒ ውህደትን ይምረጡ
  4. ምስሉን እየተከተሉ እና በእርስዎ EC2 ip ወይም በይፋ ዲ ኤን ኤስ በመተካት መስኮችን ያስገቡ

ደረጃ 13 የውሂብ ማቀናበር

ከእያንዳንዱ አነፍናፊ ለተሰበሰበው የውሂብ ቁጥር T የሚከተሉትን ደረጃዎች ማከናወን አለብዎት

  1. በቲ አካባቢው ውስጥ የሚወድቁ የጂፒኤስ መጋጠሚያዎች ያሉትን የ tuples ስብስብ ያግኙ የአከባቢው አካባቢ በ T ዙሪያ 100 ሜትር የሚሆኑት ሁሉም ቱፖች ናቸው።
  2. ለእያንዳንዱ በአቅራቢያ ያለ ቱፕ ኤን በ N ውስጥ የፍጥነት መለኪያውን የ Z- ዘንግ ካሬ አማካኝ ያሰላል።
  3. የካሬው መደበኛ መዛባት ያሰሉ። በሐሰተኛ ኮድ: std = ድምር ([(x. Z_accel ** 2 - አማካይ) ** 2 ለ x ቅርብ]))
  4. በዚህ ቅርጸት የሚወጣው ውጤት - lat ፣ ረጅም ፣ Z_accel ** 2 ፣ አማካይ ፣ std

የአከባቢውን አካባቢ ለማስላት የጂፒኤስ ርቀትን በሜትሮች ውስጥ ይጠቀሙ። በ C ++ ውስጥ ፦

#ጥራት D2R (M_PI / 180.0)

#ጥራት EARTH_RAY 6371 ድርብ ርቀት (ድርብ ላቲ 1 ፣ ድርብ ረዥም 1 ፣ ድርብ ላቲ 2 ፣ ድርብ long2) {ድርብ dlong = (long2 - long1) * D2R; ድርብ dlat = (lat2 - lat1) * D2R; እጥፍ ሀ = ፓው (ኃጢአት (dlat/2.0) ፣ 2) + cos (lat1 * D2R) * cos (lat2 * D2R) * ዱቄት (ኃጢአት (dlong/2.0) ፣ 2); ድርብ ሐ = 2 * atan2 (sqrt (a) ፣ sqrt (1-a));

አሁን ፣ በቀደመው ደረጃ የተፈጠረውን መካከለኛ ውሂብ በመጠቀም ፣ ያልተለመዱ ነገሮችን ይፈልጉ እና በእያንዳንዱ መስመር ላይ የተተገበረውን ይህንን የተገለበጠ በመጠቀም የዋህነት ምደባ ያድርጉ።

መስመር = ካርታ (ተንሳፋፊ ፣ መስመር። ክፍፍል ("፣"))

v = መስመር [2] አማካይ = መስመር [3] std = መስመር [4] ከሆነ v (አማካኝ + std*3): v ከሆነ (አማካይ + std*2): v ከሆነ (አማካይ + std): o.append ([1 ፣ መስመር [0] ፣ መስመር [1]) ሌላ ፦ o.append ([2 ፣ መስመር [0] ፣ መስመር [1])) ሌላ ፦ o.append ([3 ፣ መስመር [0] ፣ መስመር] 1])

ያልተለመዱዎቹ የ 68–95–99.7 ደንቡን በመጠቀም ተመድበዋል

አሁን በዚህ ቅርጸት [ዓይነት ፣ ላቲ ፣ ረዥም] ስብስብ አለዎት።

የአይነት ትርጉሙ የሚከተለው ነው

  1. ትንሽ ያልተለመደ ፣ ምናልባትም አግባብነት የለውም
  2. መካከለኛ ያልተለመደ
  3. ወሳኝ ያልተለመደ ሁኔታ

ደረጃ 14 - ምስላዊነት

ምስላዊነት
ምስላዊነት

የእይታ ክፍሉን ለመረዳት እና ለመለወጥ የ Google ካርታዎች ኤፒአይ ባህሪ https://developers.google.com/maps/documentation/… ብጁ ጠቋሚዎችን እንዴት እንደሚጠቀሙ መማር አለብን።

በመጀመሪያ ፣ ካርታው በመልሶ ጥሪ ውስጥ መነቃቃት አለበት -

ተግባር initMap () {

ውሂብ = queryData (); map = new google.maps. Map (document.getElementById ('map')) ፣ {zoom: 15, center: {lat: data [0] [1], lng: data [0] [2]}}); አስተያየት (); }

በኤችቲኤምኤል መለያ ውስጥ በዩአርኤል ውስጥ (እዚህ ከኤፒአይ ቁልፋችን በፊት አስገብተናል) የዚህን ጥሪ ተመላሽ ስም ይግለጹ

ስክሪፕት async defer src = "https://maps.googleapis.com/maps/api/js?key= [ቁልፍ]&allback=initMap"

ነገሩ ሲፈጠር አመልካች በካርታው ውስጥ ሊገባ ይችላል-

አዲስ google.maps. Marker ({አቀማመጥ ፦ {lat: LATITUDE ፣ lng: LONGITUDE} ፣ ካርታ ፣ ካርታ ፣ አዶ ፦ “/መንገድ/to/icon.png”})

በእያንዲንደ የውሂብ ስብስብ ውስጥ ሇእያንዲንደ መረጃ ጠቋሚው (የቃሌውን () ተግባርን ይመልከቱ) እና አዶው በአመዛኙ ክፍሌ ሊይ የተመሰረተ መሆኑን በኮዱ ውስጥ ማየት ይችሊለ። ይህንን ወደ አሳሽ ሲያስኬዱ በስዕሉ ላይ እንደሚታየው የአመልካች ሳጥኖችን በመጠቀም ያልተለመዱ ነገሮች የሚጣሩበትን ካርታ ማሰስ እንችላለን።

ደረጃ 15 ክሬዲቶች እና ውጫዊ አገናኞች

ይህ ፕሮጀክት የተሠራው በሮም ሳፒኤንዛ ዩኒቨርሲቲ በኮምፒውተር ሳይንስ ተማሪዎች በጂቫቫኒ ዴ ሉካ ፣ አንድሪያ ፊዮራልዲ እና ፒየትሮ ስፓዳቺኖ ፣ የመጀመሪያ ዓመት ኤም.ሲ.ኤስ.

  • ደራሲዎቹ ይህንን የፅንሰ -ሀሳብ ማረጋገጫ ለማቅረብ ያገለግሉ ነበር-

    www.slideshare.net/PietroSpadaccino/road-m…

  • GitHub በሁሉም ኮዱ ያርፋል-

    github.com/roadteam

የሚመከር: