開発環境は、Windows 10+Visual Studio 2017+.NET Core SDK。
実行環境は、raspbian+.NET Core runtime。
開発言語は、C#。
初めに、Alienリーダに付属のライブラリ「AlienRFID2.dll」がそのまま使えないかをテストしたところ、下記のエラーが発生。
pi@raspberrypi:~/work/HelloAlien/publish $ ./HelloAlien Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'System.IO.Ports, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified. at nsAlienRFID2.CAlienComPort2..ctor(Boolean log) at nsAlienRFID2.clsReader..ctor(String ipAddress, Int32 port) at HelloAlien.Program.Main(String[] args) in C:\Users\hnakano\source\repos\HelloAlien\HelloAlien\Program.cs:line 11 Aborted
ダメだったので、nugetからSystem.IO.Portsをインストールして試したところ、今度は下記のエラー。
COMポート使うつもりはないんだけどなあと思いつつ、この方法も断念。pi@raspberrypi:~/work/HelloAlien/publish $ ./HelloAlien Unhandled Exception: Unhandled Exception: System.PlatformNotSupportedException: System.IO.Ports is currently only supported on Windows. at System.IO.Ports.SerialPort.Dispose(Boolean disposing) at System.ComponentModel.Component.Finalize() Aborted
社内のリーダ制御ライブラリにTelnetプロトコルを使って、Alienリーダを制御するクラスがあったので、ちょこっと改変して流用してみたところ、すんなりと読取できるところまで確認できました。
0 件のコメント:
コメントを投稿