เด เดเตเดฏเตเดเตเดเตเดฑเดฟเดฏเดฒเดฟเตฝ Node.js เดเด เดตเตเดฌเต เดธเตเดชเตเดเตเดเต API เดเด เดเดชเดฏเตเดเดฟเดเตเดเต เดตเตเดฏเดฟเดธเต เดเตบเดเตเดฐเตเตพ เดเดณเตเดณ เดเดฐเต เดกเตเดฐเตเตบ เดเดฐเต เดชเตเดฐเตเดเตเดฐเดพเด เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเดคเต เดเดเตเดเตพ เดจเตเดเตเดเตเด. เดเตเดชเตเดฑเตเดฑเตผ - Parrot ARDrone 2.0.
เดเดเตเดเตพ เดเตผเดฎเตเดฎเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต: "Habr"-เดจเตเดฑเต เดเดฒเตเดฒเดพ เดตเดพเดฏเดจเดเตเดเดพเตผเดเตเดเตเด - "Habr" เดชเตเดฐเตเดฎเตเดทเดฃเตฝ เดเตเดกเต เดเดชเดฏเตเดเดฟเดเตเดเต เดเดคเตเดเตเดเดฟเดฒเตเด เดธเตเดเดฟเตฝเดฌเตเดเตเดธเต เดเตเดดเตเดธเดฟเตฝ เดเตเดฐเตเดฎเตเดชเตเตพ 10 เดฑเตเดฌเดฟเตพเดธเต เดเดฟเดดเดฟเดตเต.
เดธเตเดเดฟเตฝเดฌเตเดเตเดธเต เดถเตเดชเดพเตผเดถ เดเตเดฏเตเดฏเตเดจเตเดจเต: เดชเตเดฐเดพเดฏเตเดเดฟเด เดเตเดดเตเดธเต
"เดฎเตเดฌเตเตฝ เดกเตเดตเดฒเดชเตเดชเตผ PRO" .
เดเดฎเตเดเด
เดกเตเดฐเตเดฃเตเดเตพ เด เดคเดฟเดถเดฏเดเดฐเดฎเดพเดฃเต. เดเดจเตเดฑเต เดเตเดตเดพเดกเดฟเดจเตเดชเตเดชเด เดเดณเดฟเดเตเดเตเดจเตเดจเดคเตเด เดซเตเดเตเดเตเดเดณเตเด เดตเตเดกเดฟเดฏเตเดเดณเตเด เดเดเตเดเตเดเตเดจเตเดจเดคเตเด เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดเดธเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเดคเตเด เดเดพเตป เดถเดฐเดฟเดเตเดเตเด เดเดธเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต. เดเดจเตเดจเดพเตฝ เดเดณเดฟเดฒเตเดฒเดพ เดตเดฟเดฎเดพเดจเดเตเดเตพ (UAV) เดตเดฟเดจเตเดฆเดคเตเดคเดฟเดจเตเดเตเดเดพเดณเตเดฑเต เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต. เด เดตเตผ เดธเดฟเดจเดฟเดฎเดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเต, เดนเดฟเดฎเดพเดจเดฟเดเตพ เดชเด เดฟเดเตเดเตเดจเตเดจเต, เดธเตเดจเตเดฏเดตเตเด เดเดพเตผเดทเดฟเด เดฎเตเดเดฒเดฏเตเดเต เดชเตเดฐเดคเดฟเดจเดฟเดงเดฟเดเดณเตเด เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต.
เด เดเตเดฏเตเดเตเดเตเดฑเดฟเดฏเดฒเดฟเตฝ เดเดฐเต เดกเตเดฐเตเตบ เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดเตเดเดพเตป เดจเดฟเดเตเดเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจ เดเดฐเต เดชเตเดฐเตเดเตเดฐเดพเด เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเดคเต เดเดเตเดเตพ เดจเตเดเตเดเตเด. เดตเตเดฏเตเดธเต เดเดฎเดพเตปเดกเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเต. เด เดคเต, เดจเดฟเดเตเดเตพ เดเตเดฏเตเดฏเดพเตป เดชเดฑเดฏเตเดจเตเดจเดคเตเดชเตเดฒเต เดเตเดชเตเดฑเตเดฑเตผ เดเตเดฏเตเดฏเตเด. เดฒเตเดเดจเดคเตเดคเดฟเดจเตเดฑเต เด เดตเดธเดพเดจเด UAV เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดคเตเดคเดฟเดจเตเดฑเต เดเดฐเต เดฑเตเดกเดฟเดฎเตเดฏเตเดกเต เดชเตเดฐเตเดเตเดฐเดพเดฎเตเด เดตเตเดกเดฟเดฏเตเดฏเตเด เดเดฃเตเดเต.
เด เดฏเตบ
เดเดเตเดเตพเดเตเดเต เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดต เดเดตเดถเตเดฏเดฎเดพเดฃเต:
- เดชเดพเดฐเดฑเตเดฑเต ARDrone 2.0;
- เดเดฅเตผเดจเตเดฑเตเดฑเต เดเตเดฌเดฟเตพ;
- เดจเดฒเตเดฒ เดฎเตเดเตเดฐเตเดซเตเตบ.
Windows/Mac/Ubuntu เดเดณเตเดณ เดตเตผเดเตเดเตเดธเตเดฑเตเดฑเตเดทเดจเตเดเดณเดฟเตฝ เดตเดฟเดเดธเดจเดตเตเด เดฎเดพเดจเตเดเตเดฎเตเดจเตเดฑเตเด เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเตเด. เดตเตเดฏเดเตเดคเดฟเดชเดฐเดฎเดพเดฏเดฟ, เดเดพเตป Mac, Ubuntu 18.04 เดเดจเตเดจเดฟเดตเดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเต.
เดธเตเดซเตเดฑเตเดฑเตเดตเตเดฏเตผ
Node.js-เดจเตเดฑเต เดเดฑเตเดฑเดตเตเด เดชเตเดคเดฟเดฏ เดชเดคเดฟเดชเตเดชเต เดกเตเตบเดฒเตเดกเต เดเตเดฏเตเดฏเตเด
เดเตเดเดพเดคเต เดเดตเดถเตเดฏเดฎเดพเดฃเต
เดเตเดชเตเดฑเตเดฑเดฑเดฟเดจเต เดฎเดจเดธเตเดธเดฟเดฒเดพเดเตเดเตเดจเตเดจเต
Parrot ARDrone เดเดเตเดเดจเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเตเดตเตเดจเตเดจเต เดฎเดจเดธเดฟเดฒเดพเดเตเดเดพเตป เดถเตเดฐเดฎเดฟเดเตเดเดพเด. เด เดเตเดชเตเดฑเตเดฑเดฑเดฟเดจเต เดจเดพเดฒเต เดฎเตเดเตเดเตเดฑเตเดเดณเตเดฃเตเดเต.
เดเดคเดฟเตผเดเตเดเตเดจเตเดจ เดฎเตเดเตเดเตเดฑเตเดเตพ เดเดฐเต เดฆเดฟเดถเดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเต. เดเดฐเต เดเตเดกเดฟ เดเดเดฟเดเดพเดฐเดฆเดฟเดถเดฏเดฟเดฒเตเด เดฎเดฑเตเดฑเตเดจเตเดจเต เดเดคเดฟเตผ เดเดเดฟเดเดพเดฐเดฆเดฟเดถเดฏเดฟเดฒเตเด เดเดฑเดเตเดเตเดจเตเดจเต. เดญเตเดฎเดฟเดฏเตเดเต เดเดชเดฐเดฟเดคเดฒเดตเตเดฎเดพเดฏเดฟ เดคเดพเดฐเดคเดฎเตเดฏเดชเตเดชเตเดเตเดคเตเดคเตเดฎเตเดชเตเตพ เดเตเดฐเดฟเดตเดฟเดจเตเดฑเต เดเตเดฃเดฟเตฝ เดฎเดพเดฑเตเดฑเด เดตเดฐเตเดคเตเดคเดฟ, เดฎเตเดเตเดเตเดฑเตเดเดณเตเดเต เดญเตเดฐเดฎเดฃ เดตเตเดเดคเดฏเตเด เดฎเดฑเตเดฑเต เดจเดฟเดฐเดตเดงเดฟ เดเตเดคเตเดฐเดฟเดฎ เดเดฒเดจเดเตเดเดณเตเด เดฎเดพเดฑเตเดฑเดฟเดเตเดเตเดฃเตเดเต เดกเตเดฐเตเตบ เดจเตเดเตเดเตเดจเตเดจเต.
เดฎเตเดเดณเดฟเดฒเตเดณเตเดณ เดกเดฏเดเตเดฐเดพเดฎเดฟเตฝ เดจเดฎเตเดเตเดเต เดเดพเดฃเดพเตป เดเดดเดฟเดฏเตเดจเตเดจเดคเตเดชเตเดฒเต, เดตเดฟเดตเดฟเดง เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเตเดเตพ เดฎเดพเดฑเตเดฑเตเดจเตเดจเดคเต เดเตเดชเตเดฑเตเดฑเดฑเดฟเดจเตเดฑเต เดเดฒเดจเดคเตเดคเดฟเดจเตเดฑเต เดฆเดฟเดถเดฏเดฟเตฝ เดเดฐเต เดฎเดพเดฑเตเดฑเดคเตเดคเดฟเดฒเตเดเตเดเต เดจเดฏเดฟเดเตเดเตเดจเตเดจเต. เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดเดเดคเต, เดตเดฒเดคเต เดฑเตเดเตเดเดฑเตเดเดณเตเดเต เดญเตเดฐเดฎเดฃ เดตเตเดเดค เดเตเดฑเดฏเตเดเตเดเตเดเดฏเต เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเดเตเดเตเดเดฏเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเต เดเดฐเต เดฑเตเตพ เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเต. เดเดคเต เดกเตเดฐเตเดฃเดฟเดจเต เดฎเตเดจเตเดจเตเดเตเดเต เด
เดฒเตเดฒเตเดเตเดเดฟเตฝ เดชเดฟเดจเตเดจเดฟเดฒเตเดเตเดเต เดชเดฑเดเตเดเดพเตป เด
เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต.
เดฎเตเดเตเดเตเดฑเตเดเดณเตเดเต เดตเตเดเดคเดฏเตเด เดฆเดฟเดถเดฏเตเด เดฎเดพเดฑเตเดฑเตเดจเตเดจเดคเดฟเดฒเตเดเต, เดเตเดชเตเดฑเตเดฑเดฑเดฟเดจเต เดฎเดฑเตเดฑเต เดฆเดฟเดถเดเดณเดฟเดฒเตเดเตเดเต เดจเตเดเตเดเดพเตป เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจ เดเดฟเตฝเดฑเตเดฑเต เดเตเดฃเตเดเตพ เดเดเตเดเตพ เดธเดเตเดเดฎเดพเดเตเดเตเดจเตเดจเต. เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ, เดจเดฟเดฒเดตเดฟเดฒเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเดฟเดจเดพเดฏเดฟ เดเดฏเดฑเตเดกเตเดจเดพเดฎเดฟเดเตเดธเต เดชเด เดฟเดเตเดเตเดฃเตเด เดเดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ, เดจเดฟเดเตเดเตพ เด เดเดฟเดธเตเดฅเดพเดจ เดคเดคเตเดตเดเตเดเตพ เดฎเดจเดธเตเดธเดฟเดฒเดพเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต.
Parrot ARDrone เดเดเตเดเดจเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเต
เดเดฐเต เดตเตเดซเต เดนเตเดเตเดเตโเดธเตโเดชเตเดเตเดเต เดเดฃเต เดกเตเดฐเตเตบ. เดเตเดชเตเดฑเตเดฑเดฑเดฟเดฒเตเดเตเดเต เดเดฎเดพเตปเดกเตเดเตพ เดธเตเดตเตเดเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเด เด เดฏเดฏเตเดเตเดเตเดจเตเดจเดคเดฟเดจเตเด, เดจเดฟเดเตเดเตพ เด เดชเตเดฏเดฟเดจเตเดฑเดฟเดฒเตเดเตเดเต เดเดฃเดเตเดฑเตเดฑเตเดเตเดฏเตเดฏเตเดฃเตเดเดคเตเดฃเตเดเต. เดเตเดตเดพเดกเตโเดเตเดชเตเดฑเตเดฑเดฑเตเดเตพ เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดเตเดเดพเตป เดจเดฟเดเตเดเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจ เดจเดฟเดฐเดตเดงเดฟ เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดเตพ เดเดฃเตเดเต. เดเดฒเตเดฒเดพเด เดเดคเตเดชเตเดฒเต เดเดพเดฃเดชเตเดชเตเดเตเดจเตเดจเต:
เดกเตเดฐเตเตบ เดเดฃเดเตโเดฑเตเดฑเต เดเตเดฏเตโเดคเดฏเตเดเตป, เดเตเตผเดฎเดฟเดจเดฒเตเด เดเตเตฝเดจเตเดฑเตเดฑเตเด เดคเตเดฑเดเตเดเตเด 192.168.1.1 - เดเดคเดพเดฃเต เดเตเดชเตเดฑเตเดฑเดฑเดฟเดจเตเดฑเต เดเดชเดฟ. เดฒเดฟเดจเดเตเดธเดฟเดจเดพเดฏเดฟ เดจเดฟเดเตเดเตพเดเตเดเต เดเดชเดฏเตเดเดฟเดเตเดเดพเด
เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดเตผเดเตเดเดฟเดเตเดเตเดเตผ
เดเดเตเดเดณเตเดเต เดเตเดกเต เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดฎเตเดกเตเดฏเตเดณเตเดเดณเดพเดฏเดฟ เดตเดฟเดญเดเดฟเดเตเดเดชเตเดชเตเดเตเด:
- เดตเตเดฏเดฟเดธเต เดกเดฟเดฑเตเดฑเดเตเดทเดจเตเดณเตเดณ เดธเตเดชเตเดเตเดเต API เดเดณเตเดณ เดเดชเดฏเตเดเตเดคเต เดเดจเตเดฑเตผเดซเตเดธเต;
- เดเดฎเดพเตปเดกเตเดเตพ เดซเดฟเตฝเดเตเดเตผ เดเตเดฏเตเดฏเตเดเดฏเตเด เดเดฐเต เดธเตเดฑเตเดฑเดพเตปเดกเตเตผเดกเตเดฎเดพเดฏเดฟ เดคเดพเดฐเดคเดฎเตเดฏเด เดเตเดฏเตเดฏเตเดเดฏเตเด เดเตเดฏเตเดฏเตเด;
- เดกเตเดฐเตเดฃเดฟเดฒเตเดเตเดเต เดเดฎเดพเตปเดกเตเดเตพ เด เดฏเดฏเตเดเตเดเตเดจเตเดจเต;
- เดคเดคเตเดธเดฎเดฏ เดตเตเดกเดฟเดฏเต เดชเตเดฐเดเตเดทเตเดชเดฃเด.
เดเดจเตเดฑเตผเดจเตเดฑเตเดฑเต เดเดฃเดเตเดทเตป เดเดณเตเดณเดฟเดเดคเตเดคเตเดณเด API เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเต. เดเดคเต เดเดฑเดชเตเดชเดพเดเตเดเดพเตป, เดเดเตเดเตพ เดเดฐเต เดเดฅเตผเดจเตเดฑเตเดฑเต เดเดฃเดเตเดทเตป เดเตเตผเดเตเดเตเดจเตเดจเต.
เดเดฐเต เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดธเตเดทเตเดเดฟเดเตเดเดพเดจเตเดณเตเดณ เดธเดฎเดฏเดฎเดพเดฃเดฟเดคเต!
เดเตเดพเดกเต
เดเดฆเตเดฏเด, เดจเดฎเตเดเตเดเต เดเดฐเต เดชเตเดคเดฟเดฏ เดซเตเตพเดกเตผ เดธเตเดทเตเดเดฟเดเตเดเต เดเตเตผเดฎเดฟเดจเตฝ เดเดชเดฏเตเดเดฟเดเตเดเต เด เดคเดฟเดฒเตเดเตเดเต เดฎเดพเดฑเดพเด.
เดคเตเดเตผเดจเตเดจเต เดคเดพเดดเตเดฏเตเดณเตเดณ เดเดฎเดพเตปเดกเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเต เดเดเตเดเตพ เดเดฐเต เดจเตเดกเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเต เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเต.
เดเดฆเตเดฏเด, เดเดตเดถเตเดฏเดฎเดพเดฏ เดกเดฟเดชเตปเดกเตปเดธเดฟเดเตพ เดเดเตเดเตพ เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดฏเตเดจเตเดจเต.
npm เดเตปเดธเตเดฑเตเดฑเดพเดณเตเดเตเดฏเตเดฏเตเดโ
เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดเดฎเดพเตปเดกเตเดเตพ เดเดเตเดเตพ เดชเดฟเดจเตเดคเตเดฃเดฏเตเดเตเดเตเด:
- เดเดฑเตเดฑเตเดเตเดเตเดเตเด;
- เดฒเดพเตปเดกเดฟเดเดเต;
- เดฎเตเดเดณเดฟเดฒเตเดเตเดเต - เดกเตเดฐเตเตบ เด เดฐ เดฎเตเดฑเตเดฑเดฑเตเดณเด เดเดฏเตผเดจเตเดจเต เดชเตเดเตเดเดฟเดเตเดเดฟเดเดเตเดเตเดจเตเดจเต;
- เดคเดพเดดเตเดเตเดเต - เด เดฐ เดฎเตเดฑเตเดฑเตผ เดตเตเดดเตเดเดฏเตเด เดฎเดฐเดตเดฟเดชเตเดชเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต;
- เดเดเดคเตเดคเตเดเตเดเต - เด เดฐ เดฎเตเดฑเตเดฑเตผ เดเดเดคเตเดคเตเดเตเดเต เดชเตเดเตเดจเตเดจเต;
- เดตเดฒเดคเตเดคเตเดเตเดเต - เด เดฐ เดฎเตเดฑเตเดฑเตผ เดตเดฒเดคเตเดคเตเดเตเดเต เดชเตเดเตเดจเตเดจเต;
- เดญเตเดฐเดฎเดฃเด - เดเดเดฟเดเดพเดฐเดฆเดฟเดถเดฏเดฟเตฝ 90 เดกเดฟเดเตเดฐเดฟ เดเดฑเดเตเดเตเดจเตเดจเต;
- เดฎเตเดจเตเดจเตเดเตเดเต - เด เดฐ เดฎเตเดฑเตเดฑเตผ เดฎเตเดจเตเดจเตเดเตเดเต เดชเตเดเตเดจเตเดจเต;
- เดคเดฟเดฐเดฟเดเต - เด เดฐ เดฎเตเดฑเตเดฑเตผ เดชเดฟเดจเตเดจเดฟเดฒเตเดเตเดเต เดชเตเดเตเดจเตเดจเต;
- เดจเดฟเตผเดคเตเดคเตเด.
เดเดฎเดพเตปเดกเตเดเตพ เดธเตเดตเตเดเดฐเดฟเดเตเดเดพเดจเตเด เด เดต เดซเดฟเตฝเดเตเดเตผ เดเตเดฏเตเดฏเดพเดจเตเด เดกเตเดฐเตเตบ เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดเตเดเดพเดจเตเด เดจเดฟเดเตเดเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจ เดเตเดกเต เดเดคเดพ.
const express = require('express');
const bodyparser = require('body-parser');
var arDrone = require('ar-drone');
const router = express.Router();
const app = express();
const commands = ['takeoff', 'land','up','down','goleft','goright','turn','goforward','gobackward','stop'];
var drone = arDrone.createClient();
// disable emergency
drone.disableEmergency();
// express
app.use(bodyparser.json());
app.use(express.static(__dirname + '/public'));
router.get('/',(req,res) => {
res.sendFile('index.html');
});
router.post('/command',(req,res) => {
console.log('command recieved ', req.body);
console.log('existing commands', commands);
let command = req.body.command.replace(/ /g,'');
if(commands.indexOf(command) !== -1) {
switch(command.toUpperCase()) {
case "TAKEOFF":
console.log('taking off the drone');
drone.takeoff();
break;
case "LAND":
console.log('landing the drone');
drone.land();
break;
case "UP":
console.log('taking the drone up half meter');
drone.up(0.2);
setTimeout(() => {
drone.stop();
clearTimeout();
},2000);
break;
case "DOWN":
console.log('taking the drone down half meter');
drone.down(0.2);
setTimeout(() => {
drone.stop();
clearTimeout();
},2000);
break;
case "GOLEFT":
console.log('taking the drone left 1 meter');
drone.left(0.1);
setTimeout(() => {
drone.stop();
clearTimeout();
},1000);
break;
case "GORIGHT":
console.log('taking the drone right 1 meter');
drone.right(0.1);
setTimeout(() => {
drone.stop();
clearTimeout();
},1000);
break;
case "TURN":
console.log('turning the drone');
drone.clockwise(0.4);
setTimeout(() => {
drone.stop();
clearTimeout();
},2000);
break;
case "GOFORWARD":
console.log('moving the drone forward by 1 meter');
drone.front(0.1);
setTimeout(() => {
drone.stop();
clearTimeout();
},2000);
break;
case "GOBACKWARD":
console.log('moving the drone backward 1 meter');
drone.back(0.1);
setTimeout(() => {
drone.stop();
clearTimeout();
},2000);
break;
case "STOP":
drone.stop();
break;
default:
break;
}
}
res.send('OK');
});
app.use('/',router);
app.listen(process.env.port || 3000);
เดเดชเดฏเตเดเตเดคเดพเดตเดฟเดจเต เดถเตเดฐเดฆเตเดงเดฟเดเตเดเตเดเดฏเตเด เดจเตเดกเต เดธเตเตผเดตเดฑเดฟเดฒเตเดเตเดเต เดเดฐเต เดเดฎเดพเตปเดกเต เด เดฏเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจ HTML, JavaScript เดเตเดกเต เดเดตเดฟเดเตเดฏเตเดฃเตเดเต.
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Voice Controlled Notes App</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/shoelace-css/1.0.0-beta16/shoelace.css">
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="container">
<h1>Voice Controlled Drone</h1>
<p class="page-description">A tiny app that allows you to control AR drone using voice</p>
<h3 class="no-browser-support">Sorry, Your Browser Doesn't Support the Web Speech API. Try Opening This Demo In Google Chrome.</h3>
<div class="app">
<h3>Give the command</h3>
<div class="input-single">
<textarea id="note-textarea" placeholder="Create a new note by typing or using voice recognition." rows="6"></textarea>
</div>
<button id="start-record-btn" title="Start Recording">Start Recognition</button>
<button id="pause-record-btn" title="Pause Recording">Pause Recognition</button>
<p id="recording-instructions">Press the <strong>Start Recognition</strong> button and allow access.</p>
</div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="script.js"></script>
</body>
</html>
เดตเตเดฏเตโเดธเต เดเดฎเดพเตปเดกเตเดเตพเดเตเดเตเดชเตเดชเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเดพเดจเตเดณเตเดณ เดเดพเดตเดพเดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดเตเดกเตเด เดจเตเดกเต เดธเตเตผเดตเดฑเดฟเดฒเตเดเตเดเต เด เดฏเดฏเตเดเตเดเตเดจเตเดจเต.
try {
var SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;
var recognition = new SpeechRecognition();
}
catch(e) {
console.error(e);
$('.no-browser-support').show();
$('.app').hide();
}
// other code, please refer GitHub source
recognition.onresult = function(event) {
// event is a SpeechRecognitionEvent object.
// It holds all the lines we have captured so far.
// We only need the current one.
var current = event.resultIndex;
// Get a transcript of what was said.
var transcript = event.results[current][0].transcript;
// send it to the backend
$.ajax({
type: 'POST',
url: '/command/',
data: JSON.stringify({command: transcript}),
success: function(data) { console.log(data) },
contentType: "application/json",
dataType: 'json'
});
};
เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเตเดจเตเดจเต
เดชเตเดฐเตเดเตเดฐเดพเด เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดฐเตเดคเดฟเดฏเดฟเตฝ เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเดพเด (เดเตเดชเตเดฑเตเดฑเตผ Wi-Fi-เดฏเดฟเดฒเตเดเตเดเต เดเดฃเดเตเดฑเตเดฑเตเดเตเดฏเตเดคเดฟเดเตเดเตเดฃเตเดเตเดจเตเดจเตเด เดเดฅเตผเดจเตเดฑเตเดฑเต เดเตเดฌเดฟเตพ เดเดฎเตเดชเตเดฏเตเดเตเดเดฑเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดเตเดเดฟเดเตเดเตเดฃเตเดเตเดจเตเดจเตเด เดเดฑเดชเตเดชเดพเดเตเดเตเดฃเตเดเดคเต เดชเตเดฐเดงเดพเดจเดฎเดพเดฃเต).
เดฌเตเดฐเตเดธเดฑเดฟเตฝ เดฒเตเดเตเดเตฝเดนเตเดธเตเดฑเตเดฑเต:3000 เดคเตเดฑเดจเตเดจเต, เดคเดฟเดฐเดฟเดเตเดเดฑเดฟเดฏเตฝ เดเดฐเดเดญเดฟเดเตเดเตเด เดเตเดฒเดฟเดเตเดเตเดเตเดฏเตเดฏเตเด.
เดเดเตเดเตพ เดกเตเดฐเตเตบ เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดเตเดเดพเตป เดถเตเดฐเดฎเดฟเดเตเดเตเดเดฏเตเด เดธเดจเตเดคเตเดทเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต.
เดกเตเดฐเตเดฃเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดตเตเดกเดฟเดฏเต เดชเตเดฐเดเตเดทเตเดชเดฃเด เดเตเดฏเตเดฏเตเดจเตเดจเต
เดชเตเดฐเตเดเดเตเดฑเตเดฑเดฟเตฝ, เดเดฐเต เดชเตเดคเดฟเดฏ เดซเดฏเตฝ เดธเตเดทเตเดเดฟเดเตเดเต เด เดเตเดกเต เด เดตเดฟเดเต เดชเดเตผเดคเตเดคเตเด:
const http = require("http");
const drone = require("dronestream");
const server = http.createServer(function(req, res) {
require("fs").createReadStream(__dirname + "/public/video.html").pipe(res);
});
drone.listen(server);
server.listen(4000);
HTML เดเตเดกเต เดเดคเดพ, เดเดเตเดเตพ เด เดคเต เดชเตเดคเต เดซเตเตพเดกเดฑเดฟเดจเตเดณเตเดณเดฟเตฝ เดธเตเดฅเดพเดชเดฟเดเตเดเตเดจเตเดจเต.
<!doctype html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Stream as module</title>
<script src="/dronestream/nodecopter-client.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<h1 id="heading">Drone video stream</h1>
<div id="droneStream" style="width: 640px; height: 360px"> </div>
<script type="text/javascript" charset="utf-8">
new NodecopterStream(document.getElementById("droneStream"));
</script>
</body>
</html>
เดซเตเดฐเดฃเตเดเต เดเตเดฏเดพเดฎเดฑเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดกเดฟเดฏเต เดเดพเดฃเตเดจเตเดจเดคเดฟเดจเต เดฒเตเดเตเดเตฝ เดนเตเดธเตเดฑเตเดฑเต:8080-เดฒเตเดเตเดเต เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเต เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดเตเดเตเด.
เดธเดนเดพเดฏเดเดฐเดฎเดพเดฏ เดจเตเดฑเตเดเตเดเตเดเตพ
- เด เดกเตเดฐเตเตบ เดตเตเดเดฟเดจเตเดณเตเดณเดฟเตฝ เดชเดฑเดเตเดเตเด.
- เดชเดฑเดจเตเดจเตเดฏเดฐเตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เดเดฒเตเดฒเดพเดฏเตเดชเตเดชเตเดดเตเด เดจเดฟเดเตเดเดณเตเดเต เดกเตเดฐเตเดฃเดฟเตฝ เดธเดเดฐเดเตเดทเดฃ เดเดตเตผ เดเดเตเด.
- เดฌเดพเดฑเตเดฑเดฑเดฟ เดเดพเตผเดเตเดเต เดเตเดฏเตเดคเดฟเดเตเดเตเดฃเตเดเตเดฏเตเดจเตเดจเต เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเด.
- เดกเตเดฐเตเตบ เดตเดฟเดเดฟเดคเตเดฐเดฎเดพเดฏเดฟ เดชเตเดฐเตเดฎเดพเดฑเตเดเดฏเดพเดฃเตเดเตเดเดฟเตฝ, เด เดคเต เด เดฎเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเดฟเดเตเดเต เดฎเดฑเดฟเดเตเดเดฟเดเตเด. เด เดชเตเดฐเดตเตผเดคเตเดคเดจเด เดเตเดชเตเดฑเตเดฑเดฑเดฟเดจเต เดเดฎเตผเดเตปเดธเดฟ เดฎเตเดกเดฟเดฒเตเดเตเดเต เดฎเดพเดฑเตเดฑเตเดเดฏเตเด เดฑเตเดเตเดเดฑเตเดเตพ เดเดเดจเดเดฟ เดจเดฟเตผเดคเตเดคเตเดเดฏเตเด เดเตเดฏเตเดฏเตเด.
เดเตเดกเตเด เดกเตเดฎเตเดฏเตเด เดคเดฏเตเดฏเดพเดฑเดพเดฃเต
เดธเดเดญเดตเดฟเดเตเดเต!
เดเตเดกเต เดเดดเตเดคเตเดเดฏเตเด เดคเตเดเตผเดจเตเดจเต เดฎเตเดทเตเตป เด เดจเตเดธเดฐเดฟเดเตเดเดพเตป เดคเตเดเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเดคเต เดจเดฟเดเตเดเตพเดเตเดเต เดธเดจเตเดคเตเดทเด เดจเตฝเดเตเด! เดตเตเดฏเตโเดธเต เดเดฎเดพเตปเดกเตเดเตพ เดเตเตพเดเตเดเดพเตป เดกเตเดฐเตเตบ เดเดเตเดเดจเต เดชเด เดฟเดชเตเดชเดฟเดเตเดเดพเดฎเตเดจเตเดจเต เดเดชเตเดชเตเตพ เดเดเตเดเตพ เดเดฃเตเดเตเดคเตเดคเดฟ. เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ, เดเตเดเตเดคเตฝ เดธเดพเดงเตเดฏเดคเดเตพ เดเดฃเตเดเต: เดเดชเดฏเตเดเตเดคเต เดฎเตเดเด เดคเดฟเดฐเดฟเดเตเดเดฑเดฟเดฏเตฝ, เดธเตเดตเดฏเดเดญเดฐเดฃ เดซเตเดฒเตเดฑเตเดฑเตเดเตพ, เดเดเดเตเดฏ เดคเดฟเดฐเดฟเดเตเดเดฑเดฟเดฏเตฝ เดเดจเตเดจเดฟเดตเดฏเตเด เด เดคเดฟเดฒเตเดฑเตเดฏเตเด.
เดชเตเดฐเตเดเตเดฐเดพเด เดฎเตเดเตเดเดชเตเดชเตเดเตเดคเตเดคเดพเตป เดจเดฟเดเตเดเตพเดเตเดเต เดเดจเตเดคเดพเดฃเต เดจเดฟเตผเดฆเตเดฆเตเดถเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเด?
เดธเตเดเดฟเตฝเดฌเตเดเตเดธเต เดถเตเดชเดพเตผเดถ เดเตเดฏเตเดฏเตเดจเตเดจเต:
- เดเตบเดฒเตเตป เดเตเดดเตเดธเดฟเดจเต เด เดชเตเดเตเดทเดฟเดเตเดเต
"เดชเตเดคเตเดคเตบ เดกเดพเดฑเตเดฑ เด เดจเดฒเดฟเดธเตเดฑเตเดฑเต" .- เดเตบเดฒเตเตป เดเตเดดเตเดธเต
"เดชเตเดฐเตเดซเดทเตป เดซเตเดฐเดฃเตเดเตปเดกเต เดกเตเดตเดฒเดชเตเดชเตผ" .- เดชเตเดฐเดพเดฏเตเดเดฟเด เดตเตผเดท เดเตเดดเตเดธเต
"0 เดฎเตเดคเตฝ PRO เดตเดฐเตเดฏเตเดณเตเดณ PHP เดกเดตเดฒเดชเตเดชเตผ" .
เด เดตเดฒเดเดฌเด: www.habr.com