Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

シリアル通信テスト: LED制御

このプロジェクトは、Lキーを押すとNucleoボードのLEDが点灯するシリアル通信のテストです。以下の手順に従って、WindowsおよびUbuntuでテストを実行できます。

必要なソフトウェア

  • PlatformIO (VSCode)
  • Python 3.x
  • pyserialライブラリ
  • (オプション) Tera Term (Windows用)

概要

  1. Windows環境でのセットアップ
  2. Ubuntu (Linux)環境でのセットアップ

1. Windowsでのセットアップ

手順

  1. PlatformIOでプロジェクトをアップロード
    PlatformIOを使って、SerialtestプロジェクトをNucleoボードにアップロードします。

  2. COMポート番号の確認
    VSCodeの下部に表示されるシリアルポート情報、またはTera TermでCOMポート番号を確認します。

  3. serialtest.pyの実行
    Pythonスクリプトserialtest.pyを実行し、COMポート番号を適切に設定します。

    ser = serial.Serial('COM3', 115200)  # COM番号を適宜変更

2. Linuxでのセットアップ

手順

  1. PlatformIOでプロジェクトをアップロード

    PlatformIOを使って、SerialtestプロジェクトをNucleoボードにアップロードします。

  2. Pythonファイルの変更

    erialtest.pyの6行目を次のように変更

    ser = serial.Serial('/dev/ttyACM0', 115200)
  3. シリアポートの確認

    nucleoを接続してるときとしてないときで変わるやつが多分/dev/ttyACM0になってると思います。

    ls /dev/tty*
    
  4. 一時的なシリアルポートの権限を付与

    これで一時的に権限を付与できます。ただし接続時毎回やんなきゃだめです

    sudo chmod 666 /dev/ttyACM0
    
  5. 永続的なシリアルポートの権限を付与

  /lib/udev/rules.d/50-udev-default.rules について次のように変更する(こういうの変えてもいいのかな...なんかイヤホンが接続されなくなったけどきにしない

(WAS)
KERNEL=="tty[A-Z]*[0-9]|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="dialout"
(IS) 
KERNEL=="tty[A-Z]*[0-9]|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="dialout", MODE="0666" 

ここで、私の場合このファイルが読み取り専用ファイルになっていたので次のコマンドで編集していきます

sudo chmod u+w /lib/udev/rules.d/50-udev-default.rules
sudo nano /lib/udev/rules.d/50-udev-default.rules

これで十字キーを用いて該当場所まで移動して , MODE="0666"を追加します

sudo chmod u-w /lib/udev/rules.d/50-udev-default.rules
sudo udevadm control --reload-rules

これで一時的に読み取り解除していたものをもとに戻し,変更が反映されているはずです 以上ですお疲れ様でした

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages