土地形状スキャン015 制御プログラム作成の準備

造成

前回は、NanoPiNEOからLinuxコマンドによりGNSS受信機からの測位データを取得できる仕組みを作れるようになった。

この仕組みを使って、スタンドアロンで測位できるような制御プログラムの作成に挑戦する。

ハードウェア構成

・スライドスイッチ

NanoPiNEOへの電源供給用

・フルカラーLED

装置の状態を発光色で伝える

・プッシュボタン

測位データ取得開始と終了

制御プログラム(案)

フロー

1. 電源ON

2. Linux起動及び制御プログラム起動:LED緑点灯

3. プッシュボタン押下

4. str2str常駐開始:LED青点灯

5. プッシュボタン押下

6. str2str常駐終了:LED緑点灯

言語

python

使ったことが無いがライブラリが豊富で情報も多いため勉強も兼ねて

アプリの導入

Python準備

armbianには最初からPythonがインストールされている

バージョン確認

% python3 -V

Python 3.10.6

pipインストール

% sudo apt install python3-pip python3-libgpiod

※libgpiodも必要らしい(インターネット情報)

WiringNP導入

WiringNPとは : NanoPI用のGPIOアクセスライブラリ

シェルからgpioコマンドを使ってGPIOを制御することもできる

インストール方法

git clone https://github.com/friendlyarm/WiringNP

cd WiringNP/

chmod 755 build

sudo ./build

RPi.GPIO_NP導入

RPi.GPIO_NPとは : NanoPi NEO/NEO2上の GPIO を制御するための Python モジュール

インストール方法

sudo apt-get install python3-dev

git clone https://github.com/friendlyarm/RPi.GPIO_NP

cd RPi.GPIO_NP

sudo python3 setup.py install

エラー発生

setup.py installの所で以下のエラーで失敗する

collect2: error: ld returned 1 exit status

error: command ‘/usr/bin/arm-linux-gnueabihf-gcc’ failed with exit code 1

エラー検討

pythonバージョンを変えて再セットアップ -> 変わらずエラー

gpioコマンドでエラー確認

% gpio readall

piBoardRev: Unable to determine board revision from /proc/cpuinfo

-> Is not NanoPi based board.

-> You may want to check:

-> http://www.lemaker.org/

open /sys/class/sunxi_info/sys_info failed.%

WiringNPソース取得元を下記に変更

% git clone https://github.com/wertyzp/WiringNP.git

gpio readallコマンドは正常表示を確認

(NanoPI M1と認識されるが)

しかしsetup.py installでエラーは変わらず

インターネット情報を色々調べてみたが、armbianではボード自動判別機能が原因でRPi.GPIO_NPを使うのが難しい模様

後戻りになるが、OSをFriendlycoreに変えて、環境の再構築を試す予定

タイトルとURLをコピーしました