Upgrade to Pro — share decks privately, control downloads, hide ads and more …

竹のしん

 竹のしん

TelloをIoT化して遠隔から操作する方法を紹介します。
やり方は以下のブログに書いています。
https://take6shin-tech-diary.com/mqtt-remote-tello/

竹のしん

May 14, 2021
Tweet

More Decks by 竹のしん

Other Decks in How-to & DIY

Transcript

  1. ⾃⼰紹介 ⽵のしん • 仕事:半導体設計 • (株)KAMAKEのすすめ/技術⽀援フェロー http://kamake.co.jp/ • ブログ:⽵のしんのテック⽇記 https://take6shin-tech-diary.com/

    • YouTube:⽵のしんの「ものづくり」チャンネル https://www.youtube.com/channel/UCiWsCRWOpmpjlng_M4TQGyQ • Twitter:@tak6uch1 ものづくり関連の情報発信をしています
  2. Videoの送り⽅ • Tello側:テキスト情報base64にエンコードしてMQTT Publish • 操縦側:MQTT Subscribeで受け取ったbase64をデコード self.frame = self.tello.read()

    if self.frame is None or self.frame.size == 0: continue else: self.frame = cv2.resize(self.frame, dsize=(160, 120)) _, buf = cv2.imencode('.jpg', self.frame) jpg_as_text = base64.b64encode(buf) self.client.publish("Tello-Video/jpg-image", jpg_as_text) def on_message(client, userdata, msg): global frame img = base64.b64decode(msg.payload) # converting into numpy array from buffer npimg = np.frombuffer(img, dtype=np.uint8) tmp_frame = cv2.imdecode(npimg, 3) # Convert RBG to BGR for opencv image frame = cv2.cvtColor(tmp_frame, cv2.COLOR_RGB2BGR)