前提・実現したいこと
Razuberry pi3B+でGPS受信機(GYSFDMAXB)を使用して、緯度経度情報を取得しようとしています。
下記のサイトを参考に、ラズパイのシリアル通信の有効化、pythonのシリアルモジュールのインストールの段階まで完了し、ラズパイにGPSモジュールを接続し、GPSデータを読み込むというところでエラーが出てしまって困っています。
・参考にしているサイト
引用テキスト
発生している問題・エラーメッセージ
pi@raspberrypi:~ $ python3 Python 3.7.3 (default, Apr 3 2019, 05:39:12) [GCC 8.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import serial #####ここまでは上手くいっていると思います >>> s = serial.Serial('/dev/serial0',9600,timeout=10) Traceback (most recent call last): ######ここからエラーが出てしまって困っています。 File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 265, in open self.fd = os.open(self.portstr, os.O_RDWR | os.O_NOCTTY | os.O_NONBLOCK) PermissionError: [Errno 13] Permission denied: '/dev/serial0' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python3/dist-packages/serial/serialutil.py", line 240, in __init__ self.open() File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 268, in open raise SerialException(msg.errno, "could not open port {}: {}".format(self._port, msg)) serial.serialutil.SerialException: [Errno 13] could not open port /dev/serial0: [Errno 13] Permission denied: '/dev/serial0' >>>
###サイトのプログラム
python
1pi$ python3 2>>> import serial 3>>> s = serial.Serial('/dev/serial0', 9600, timeout=10) 4>>> print(s.readline()) 5b'\x00\x00\xc0\x00\xfe\x00pK&&KLN\xcb14,302,,06,08,254,27,30,07,230,29*70\r\n' 6>>> print(s.readline()) 7b'$GPGSV,4,4,14,23,05,150,19,14,04,054,*74\r\n' 8>>>
試したこと
シリアル通信を有効化した後、
pi@raspberrypi:~ $ ls /dev/se* /dev/serial0 /dev/serial1
という表示を得ることができたのでラズパイ自体のシリアル通信は、有効化できているのではないかと考えています。
また、Razuberry pi本体のupdateやpython3ではなく、python2での実行など自分自身で考えられる方法を試してみましたが、同じエラーが出てしまいました。
###補足
このエラーを解決するとラズパイでGPSのデータを取得することができるようになるのではないかと考えています。
どうやったら解決できるのか分からず、行き詰っています。よろしくお願いします。
あなたの回答
tips
プレビュー