ArduinoにpySerialしてみた

pySerial

Python3

余裕でしょ、と高を括っていたら意外とハマった。

最終的なソース(Python3)はこう。

  # -*- coding: utf-8 -*-

  import serial
  import sys
  import time


  def main(message):
      ser = serial.Serial("/dev/tty.usbserial-A9KJF5TL", 115200)
      time.sleep(3)
      ser.write(message.encode("utf-8"))
      time.sleep(1)
      ser.close()


  if __name__ == '__main__':
      if(len(sys.argv) == 2):
          main(sys.argv[1])
      else:
          print("Usage: $ python send.py message")

盲点

byteにエンコードしなきゃいけないあたりは想定の範囲内。
予想外だったのが、通信を始めてから3秒と送った後に1秒ほど待たなければいけないこと。
前者を無くすと、bootに引っかかるし、後者をなくすとmessageが途切れる。
送りっぱなしのコネクションレス型ならでは。

SPONSORED BY
SPONSORED BY