Armadilloフォーラム

G3LからA9Eへの通信ソフト移植について

manamana

2025年7月30日 18時03分

==========
製品型番:AG9130-C03Z
Debian/ABOSバージョン:5.10
カーネルバージョン:
3G/LTE モジュール情報 (Debianのみ):
その他:
==========

お世話になっております
現在、G3L向けに開発したpythonソフトをA9Eに移植するべく、調査しておりまして通信関連で教えていただきたいのですが
1. RS485通信
2. modbus通信
3. TCP通信

上記、1,2,3においてG3LとA9Eでの相違点、注意すべき点、参考文献など、
ご教示よろしくお願いいたします。

コメント

at_shota.shimoyama

2025年8月1日 12時59分

アットマークテクノの下山です。

コンテナの使用の有無による違いが大きく、1,2,3それぞれにおいて次のような相違点・注意すべき点があります

> 1. RS485通信
・デバイスファイルが異なる(G3Lは/dev/ttymxc1、A9Eは/dev/ttyrpmsg1)
・ABOSではコンテナ内で使用するために、/etc/atmark/containers/*.conf(プロジェクトディレクトリ内のapp.confに相当)に add_devices /dev/ttyrpmsg1 を加える必要がある

> 2. modbus通信
・ModBusはLinuxカーネルのレベルで制御されるものではなく、アプリケーションのレベルで制御されるものなので差異はありません

> 3. TCP通信
・外部からコンテナにアクセスする場合には/etc/atmark/containers/*.confにadd_portを追加する必要があります

何か具体的な部分で不明な点等ございましたら遠慮なくお聞きください
よろしくお願いします

> アットマークテクノの下山です。
>
> コンテナの使用の有無による違いが大きく、1,2,3それぞれにおいて次のような相違点・注意すべき点があります
>
> > 1. RS485通信
> ・デバイスファイルが異なる(G3Lは/dev/ttymxc1、A9Eは/dev/ttyrpmsg1)
> ・ABOSではコンテナ内で使用するために、/etc/atmark/containers/*.conf(プロジェクトディレクトリ内のapp.confに相当)に add_devices /dev/ttyrpmsg1 を加える必要がある
>
> > 2. modbus通信
> ・ModBusはLinuxカーネルのレベルで制御されるものではなく、アプリケーションのレベルで制御されるものなので差異はありません
>
> > 3. TCP通信
> ・外部からコンテナにアクセスする場合には/etc/atmark/containers/*.confにadd_portを追加する必要があります
>
> 何か具体的な部分で不明な点等ございましたら遠慮なくお聞きください
> よろしくお願いします

回答ありがとうございます。
1. RS485通信においてはデバイスファイルが異なる以外には差異がないとの認識でよろしいでしょうか?
 例えばストップビット、ボーレート、パリティチェックなど通信設定の指定方法に変わりありませんでしょうか

3. TCP通信
 コンテナ側をサーバーとして、クライアントを外部PCとしてみた場合、クライアントからコンテナ側に接続するのに
 例えばクライアントのIPアドレスをコンテナ側に登録する必要があるとか、何かしらの設定が必要でしょうか

よろしくお願いいたします。
 

at_shota.shimoyama

2025年8月1日 14時03分

> 1. RS485通信においてはデバイスファイルが異なる以外には差異がないとの認識でよろしいでしょうか?
>  例えばストップビット、ボーレート、パリティチェックなど通信設定の指定方法に変わりありませんでしょうか

はい、変わりません

> 3. TCP通信
>  コンテナ側をサーバーとして、クライアントを外部PCとしてみた場合、クライアントからコンテナ側に接続するのに
>  例えばクライアントのIPアドレスをコンテナ側に登録する必要があるとか、何かしらの設定が必要でしょうか

いいえ、そういった設定は必要ありません
ただ、クライアントからサーバーであるコンテナに対して通信を行うためには、上にも書きましたが/etc/atmark/*.confにadd_portsを追加して、ABOS側の転送元のポートとコンテナ側の転送先のポートを指定する必要があります
例えば、コンテナをHTTPサーバーとして利用する例↓では、add_ports 8080:80を追加して、ABOS側の 8080 番ポートをコンテナ内の 80 番ポートに転送する指定を行っています
https://manual.atmark-techno.com/armadillo-iot-a9e/armadillo-iotg-a9e_p…

> > 3. TCP通信
> >  コンテナ側をサーバーとして、クライアントを外部PCとしてみた場合、クライアントからコンテナ側に接続するのに
> >  例えばクライアントのIPアドレスをコンテナ側に登録する必要があるとか、何かしらの設定が必要でしょうか
>
> いいえ、そういった設定は必要ありません
> ただ、クライアントからサーバーであるコンテナに対して通信を行うためには、上にも書きましたが/etc/atmark/*.confにadd_portsを追加して、ABOS側の転送元のポートとコンテナ側の転送先のポートを指定する必要があります
> 例えば、コンテナをHTTPサーバーとして利用する例↓では、add_ports 8080:80を追加して、ABOS側の 8080 番ポートをコンテナ内の 80 番ポートに転送する指定を行っています
> https://manual.atmark-techno.com/armadillo-iot-a9e/armadillo-iotg-a9e_p…
>

ありがとうございます。
確認ですが、add_ports 8080:80とした場合に外部から実際にアクセスするのは8080番になるのでしょうか
また、コンテナ側では80番で接続待機する設定でよろしいでしょうか

よろしくお願いいたします。

at_shota.shimoyama

2025年8月18日 14時02分

> 確認ですが、add_ports 8080:80とした場合に外部から実際にアクセスするのは8080番になるのでしょうか
> また、コンテナ側では80番で接続待機する設定でよろしいでしょうか

はい、そのとおりです