REST API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд░рдХреНрдд рд╢рд░реНрдХрд░рд╛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд DasKeyboard рдХреАрдмреЛрд░реНрдб рдмреИрдХрд▓рд╛рдЗрдЯрд┐рдВрдЧ

рд╕реНрдХреЙрдЯ рд╣реИрдиреЗрд▓рдореИрди, рд╢рд┐рдХреНрд╖рдХ, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдФрд░ рд╡реНрдпрд╛рдЦреНрдпрд╛рддрд╛ рдХреЗ рдмреНрд▓реЙрдЧ рд╕реЗ ред

рдореИрдВ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЕрдкрдиреЗ рдмреНрд▓реЙрдЧ рдореЗрдВ рдордзреБрдореЗрд╣ рдФрд░ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХреЗ рдЪреМрд░рд╛рд╣реЗ рдкрд░ рд╡рд┐рд╖рдпреЛрдВ рдкрд░ рд▓реЗрдЦ рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВред 2012 рдореЗрдВ, рдбрд╛рдпрдмрд┐рдЯреАрдЬ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рддрдХрдиреАрдХреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдЦрд░рд╛рдм рд╣реЛ рдЧрдИ рдереА , рд▓реЗрдХрд┐рди рдЕрдм рд╡реЗ рдПрдХ рдЖрд╢рд╛рдЬрдирдХ рдмрджрд▓рд╛рд╡ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЯрд╛рдЗрдк I рдбрд╛рдпрдмрд┐рдЯреАрдЬ рд╣реИ рдФрд░ рдПрдХ рдирд┐рд░рдВрддрд░ рдЧреНрд▓реВрдХреЛрдЬ рдореАрдЯрд░ (рд╕реАрдЬреАрдПрдо) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдирд╛рдЗрдЯреНрд╕рдХрд╛рдЙрдЯ рд╕реЗрд╡рд╛ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдФрд░ рдЖрдкрдХреЗ рд░рдХреНрдд рд╢рд░реНрдХрд░рд╛ рдХреЗ рдбреЗрдЯрд╛ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ REST API рд╣реЛрдЧрд╛ред рд╕реАрдЬреАрдПрдо рд╣рд░ 5 рдорд┐рдирдЯ рдореЗрдВ рдореЗрд░реЗ рд░рдХреНрдд рдореЗрдВ рдЧреНрд▓реВрдХреЛрдЬ рд╕реНрддрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ, рдХрдо-рд╢рдХреНрддрд┐ рд╡рд╛рд▓реЗ рдмреНрд▓реВрдЯреВрде рдЪреИрдирд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдбреЗрдЯрд╛ рдореЗрд░реЗ рдлреЛрди рдкрд░ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╡рд╣рд╛рдВ рд╕реЗ рдмрд╛рджрд▓ рдореЗрдВред рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рдЧреНрд▓реВрдХреЛрдЬ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред CGM рдирд┐рд░реНрдорд╛рддрд╛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдмрд╛рджрд▓реЛрдВ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рд╡рд╣рд╛рдВ рд╕реЗ MongoDB рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдирд┐рд░реНрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдореЗрд░рд╛ рдирд╛рдЗрдЯреНрд╕рдХрд╛рдЙрдЯ Azure рдкрд░ рдЪрд▓рддрд╛ рд╣реИ рдФрд░ рдореЗрд░реЗ рд╢рд░реАрд░ рдХрд╛ рдЕрдкрдирд╛ REST API рд╣реИред рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд HTTP GET рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ:

/api/v1/entries.json?count=3

рдФрд░ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдЙрддреНрддрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:

[ { _id: "5c6066d477b2a69a0a7810e5", sgv: 143, date: 1549821626000, dateString: "2019-02-10T18:00:26.000Z", trend: 4, direction: "Flat", device: "share2", type: "sgv" }, { _id: "5c6065a877b2a69a0a7801ce", sgv: 134, date: 1549821326000, dateString: "2019-02-10T17:55:26.000Z", trend: 4, direction: "Flat", device: "share2", type: "sgv" }, { _id: "5c60647b77b2a69a0a77f381", sgv: 130, date: 1549821026000, dateString: "2019-02-10T17:50:26.000Z", trend: 4, direction: "Flat", device: "share2", type: "sgv" } ] 

рдпрджрд┐ рдореИрдВ .json URL рдХреЛ .txt рдореЗрдВ рдмрджрд▓рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд┐рд▓рддреЗ рд╣реИрдВ:

 2019-02-10T18:00:26.000Z 1549821626000 143 Flat 2019-02-10T17:55:26.000Z 1549821326000 134 Flat 2019-02-10T17:50:26.000Z 1549821026000 130 Flat 

рдЕрдВрдд рдореЗрдВ рдлреНрд▓реИрдЯ рдореВрд▓реНрдп рдПрдХ рдПрдирдо рдореВрд▓реНрдп рд╣реИ рдЬреЛ рдореБрдЭреЗ рдЧреНрд▓реВрдХреЛрдЬ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдЪрд╛рд░ рджреЗрддрд╛ рд╣реИред рдордзреБрдореЗрд╣ рд░реЛрдЧрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рддрд┐ рдШрдВрдЯреЗ рдФрд░ рдХрднреА-рдХрднреА рдЧреНрд▓реВрдХреЛрдЬ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреА рд╣реЛрддреА рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдпрд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд╣рдо рдЬрд▓реНрджреА рд╕реЗ рджреЗрдЦ рд╕рдХреЗрдВред рдпрд╛рдиреА рдРрд╕реА рдХреЛрдИ рднреА рдЪреАрдЬ рдЬреЛ рдореЗрд░реА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЕрдВрджрд╛рдЬрд╛ рджреЗ рд╕рдХреЗред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

  • рдПрд▓реЗрдХреНрд╕рд╛, рдореЗрд░рд╛ рдЧреНрд▓реВрдХреЛрдЬ рд╕реНрддрд░ рдХреНрдпрд╛ рд╣реИ?
  • рдЗрдирдкреБрдЯ рд▓рд╛рдЗрди рдореЗрдВ Git / PATH рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдЧреНрд▓реВрдХреЛрдЬ рдбреЗрдЯрд╛ рдФрд░ рд░реБрдЭрд╛рди рдХреИрд╕реЗ рдЬреЛрдбрд╝реЗрдВред
  • рдПрд▓рд╕реАрдбреА рдХреЗ рд╕рд╛рде Arduinoред
  • DakBoard рдкрд░рд┐рд╡рд╛рд░ рдХреИрд▓реЗрдВрдбрд░ рджреАрд╡рд╛рд░ рдкрд░ рдЪрдврд╝рдХрд░ рдХреИрд▓реЗрдВрдбрд░ рдЬреЛ рдЧреНрд▓реВрдХреЛрдЬ рдХрд╛ рд╕реНрддрд░ рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИред



рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдПрдХ рджрд╛рд╕ рдХреАрдмреЛрд░реНрдб 5Q рдЦрд░реАрджрд╛ рд╣реИ - рдФрд░ рдкрд╣рд▓реА рдмрд╛рд░ рдореИрдВрдиреЗ 2006 рдореЗрдВ рджрд╛рд╕ рдХреАрдмреЛрд░реНрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛! рдЙрд╕рдХрд╛ рдЕрдкрдирд╛ REST API рд╣реИ ред рдФрд░ рдореИрдВ рдЕрдкрдиреЗ рд░рдХреНрдд рдореЗрдВ рдЧреНрд▓реВрдХреЛрдЬ рд╕реНрддрд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЗрд╕рдХреА рдКрдкрд░реА рдХреБрдВрдЬреА рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреАрдмреЛрд░реНрдб рд╕реЗ рдПрдкреНрд▓реЗрдЯ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ рдиреЛрдб рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛, рдФрд░ рд╕рдм рдХреБрдЫ рдЙрдирдХреЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЪреВрдВрдХрд┐ рдХреАрдмреЛрд░реНрдб рдореЗрдВ рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА REST рдПрдкреАрдЖрдИ рд╣реИ, рдФрд░ рдореЗрд░реЗ рдЧреНрд▓реВрдХреЛрдЬ рд╕реНрддрд░ рдореЗрдВ рднреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдШреБрдЯрдиреЗ рдкрд░ рдирд┐рдореНрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдИ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕реЗ рдХреНрд░реЛрди рдореЗрдВ рдЬреЛрдбрд╝рд╛, рдФрд░ рдЕрдм рдореЗрд░рд╛ рдХреАрдмреЛрд░реНрдб рдореЗрд░реЗ рд░рдХреНрдд рдореЗрдВ рдЧреНрд▓реВрдХреЛрдЬ рд╕реНрддрд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рд╛рде рдирд╛рд░рдВрдЧреА (рдирд┐рдореНрди) рд╕реЗ рдмреИрдХрд▓рд╛рдЗрдЯ рдХреЛ рд╣рд░рд╛, рдкреАрд▓рд╛ рдпрд╛ рд▓рд╛рд▓ (рдЙрдЪреНрдЪ) рдмрджрд▓рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдкреГрд╖реНрдарднреВрдорд┐ рд╕рдВрдХреЗрддрдХ рдирд┐рдХрд▓рд╛ред рдХрд┐рд╕реА рдиреЗ рдЯреНрд╡реАрдЯ рдХрд┐рдпрд╛ рдХрд┐, рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, рдХреЛрдИ рднреА рдХреАрдмреЛрд░реНрдб рдХреЛ рдирд╣реАрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реИред рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдпрд╣ рдмреЗрд╡рдХреВрдлреА рд╣реИред рдЕрдЧрд░ рдореЗрд░рд╛ рдХреАрдмреЛрд░реНрдб рд▓рд╛рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдореИрдВ рд╢рд╛рдпрдж рдиреЛрдЯрд┐рд╕ рдХрд░реВрдВрдЧрд╛ред рдпрд╣ рдЕрднреА рднреА рдПрдХ рдкреГрд╖реНрдарднреВрдорд┐ рдХреА рдЪреЗрддрд╛рд╡рдиреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдореИрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХреБрдЫ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд╕рдВрджреЗрд╢ рдореЗрдВ рдХреЙрд▓ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реВрдВред

 #!/bin/sh #      #  JSON-   API. #        Nightscout set -e # quit on first error. PORT=27301 #   5Q PID="DK5QPID" # product ID #  .  5Q  ,  166 #     . MAX_ZONE_ID=166 #      Nightscout   TEXT red=#f00 green=#0f0 yellow=#ff0 #   тАУ    COLOR=#f50 bgvalue=$(curl -s https://MYSITE/api/v1/entries.txt?count=1 | grep -Eo '000\s([0-9]{1,3})+\s' | cut -f 2) if [ $bgvalue -gt 80 ] then COLOR=$green if [ $bgvalue -gt 140 ] then COLOR=$yellow if [ $bgvalue -gt 200 ] then COLOR=$red fi fi fi echo "  $bgvalue,   $COLOR!" for i in `seq $MAX_ZONE_ID` do #echo "   zoneId: $i" # :    "name"  "message" ,   #     curl -s -S --output /dev/null -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ "name": "Nightscout", "id": "'$i'", "message": "Blood sugar is '$bgvalue'", "pid": "'$PID'", "zoneId": "'"$i"'", "color": "'$COLOR'", "effect": "SET_COLOR" }' "http://localhost:$PORT/api/1.0/signals" done echo "\n.\n\" 

рд╕реНрдерд╛рдиреАрдп рдХреАрдмреЛрд░реНрдб рдПрдкреАрдЖрдИ рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдЬрд╝реЛрди рдпрд╛ рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрдд рднреЗрдЬрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдПрдХ рдЫреЛрдЯрд╛ рд╣реИрдХ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛, рдкреВрд░реЗ рдХреАрдмреЛрд░реНрдб рдХреЛ рд░рдВрдЧ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реМ рд╕реЗ рдЕрдзрд┐рдХ REST рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпреЗ рд╕рднреА рдХреЙрд▓ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЕрдзрд┐рдХ рд▓реЛрдб рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдирдП рдПрдкреАрдЖрдИ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд╛рдж, рд╕рдм рдХреБрдЫ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред


рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реЙрд▓реНрдпреВрдо рдХреБрдВрдЬреА рджрдмрд╛рдХрд░, рдХрд┐рд╕реА рднреА рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХреА рдЧрдИ рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде, рдЧреНрд▓реВрдХреЛрдЬ рд╕реНрддрд░ рдХреЗ рд╕рдЯреАрдХ рдорд╛рди рдХреЗ рд╕рд╛рде рдПрдХ рдкреЙрдк-рдЕрдк рд╡рд┐рдВрдбреЛ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ (рдпрд╣ рдХрд░реНрд▓ рдХреЗ рд▓рд┐рдП рджреВрд╕рд░реА рдХреЙрд▓ рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢ рд╣реИ)ред рдпрд╣ рдлрд┐рд░ рд╕реЗ рдПрдХ рд╣реИрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕рд╕реЗ рдПрдХ рдФрдкрдЪрд╛рд░рд┐рдХ рдЖрд╡реЗрджрди рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ, рдЬрд┐рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрдЯреЛрд░ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдХреЛрдб рд▓рд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред

рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рд╢реБрдЧрд░ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдХреЗ рдкрд╛рд╕ рдФрд░ рдХреНрдпрд╛ рдЕрдЪреНрдЫреЗ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ? рдореЙрдирд┐рдЯрд░ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдПрд▓рдИрдбреА рдкрдЯреНрдЯреА? рд╕реНрдорд╛рд░реНрдЯ рдмрд▓реНрдм рдлрд┐рд▓рд┐рдкреНрд╕ рд╣реНрдпреВ?

рд╡реИрд╕реЗ, рдПрдХ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рд╛рде рд╡рд┐рдЪрд╛рд░ рдЬрд┐рд╕реЗ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЙрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреНрдп рд╕рдВрдХреЗрддрдХреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рд╣реГрджрдп рдЧрддрд┐, рдЪрд┐рдВрддрд╛, рд░рдХреНрддрдЪрд╛рдк - рд╕рдм рдХреБрдЫ рдЬреЛ рдЖрдкрдХреЗ рд╢рд░реАрд░ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ (рдпрд╛ рд▓рдЧрднрдЧ рд╡рд╛рд╕реНрддрд╡рд┐рдХ) рд╕рдордп рдореЗрдВ рдорд╛рдкрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

Source: https://habr.com/ru/post/hi443154/


All Articles