・2018/01/04
Orange Pi PC 2 H5で WiringOP(WiringPiの Orange Pi版)を使用して GPIO、SPIを操作する方法
(オレンジパイPC2 H5で WiringOPで GPIO、SPIを操作する方法、最新の Kernel 4.13対応版)
Tags: [Raspberry Pi], [Orange Pi], [電子工作], [海外通販], [通信販売]
● Shenzhen Xunlong Software社の Orange Pi PC 2を買ってみた
中国深圳のShenzhen Xunlong Software社の製品。
ラズパイを意識した作りで、2匹目のドジョウを狙っているんでしょうか?
ラズパイよりも低価格で高性能です。また、オレンジパイは非常に多くの種類を出しています。
Orange Pi PC 2はその内の一つとなります。
What’s Orange Pi PC 2?
Allwinner H5 Cortex-A53(4core)を搭載
ギガビットLAN
AliExpressの公式ストア(購入はここからできます)
AliExpress - Store: Shenzhen Xunlong Software CO.,Limited
● Orange Pi PC2用の WiringPi WiringOP H5
kazukioishi/WiringOP - modified version of WiringPi for OrangePi PC2.
2018/01/04 現在は下記にリダイレクトされます(リポジトリの内容から同一人物っぽい?)
https://github.com/tumugin/WiringOP
cd
git clone https://github.com/kazukioishi/WiringOP.git -b h5
cd WiringOP
chmod +x ./build
sudo ./build
● 2017年後半からの Linux Kernel 4.13では WiringOPに対応パッチが必要です。
当ホ-ムページの WiringOPの記事が「No "Hardware" line」で動かず、原因として「/proc/cpuinfo 内に "Hardware" という文字列が無い為」と言う報告をメールにて戴きました。
私の方で追試してみた所、Armbianの カーネル 4.11では動き、カーネル 4.13では動かない事を確認しました。
# Linux Kernel 4.13
$ gpio readall
piBoardRev: Unable to determine board revision from /proc/cpuinfo
-> No "Hardware" line
-> You may want to check:
-> http://www.lemaker.org/
メールでの報告通り、
cat /proc/cpuinfo
で "Hardware"文字列の情報を返さなくなったのが原因です。
ググったら下記でも同様の報告がありました。(ラズパイですが、同じく機器判別ができなくなったと報告しています)
/proc/cpuinfo missing Hardware/Revision/Serial on arm64
/proc/cpuinfo is missing information
Kernel 4.13対策として、wiringPi.cの isH5関数内で /proc/cpuinfoを処理している所に "CPU architecture"の判定を追加しました。
FREEWING-JP/WiringOP - Modify missing Hardware info new Linux Kernel 4.13
私の GitHubに Forkして Linux Kernel 4.13対応版の WiringOPを置きました。
(ついでに SPIデバイスの SPI1側のデバイス番号の指定文字列も修正しています。)
FREEWING-JP/WiringOP - modified version of WiringPi for OrangePi PC2.
uname -a
# Linux orangepipc2 4.13.14-sunxi64 #246 SMP Mon Nov 20 01:58:09 CET 2017 aarch64 aarch64 aarch64 GNU/Linux
# Support Linux Kernel 4.13 WiringOP Orange Pi PC 2 H5
cd
git clone https://github.com/FREEWING-JP/WiringOP -b h5
cd WiringOP
chmod +x ./build
sudo ./build
※ GPIOを操作する場合はラズパイの GPIOの番号を指定します。
例)Orange Pi PC2の 29ピン PA7 (SIM_CLK/PA_EINT7)の場合。ラズパイでは GPIO5に相当。
# 出力例 Lチカ
gpio -g mode 5 out
gpio -g write 5 1
gpio -g write 5 0
例)Orange Pi PC2の 22ピン PA2 (UART2_RTS/JTAG_DO0/PA_EINT2)の場合。ラズパイでは GPIO25に相当。
# 入力例(プルアップ指定)
gpio -g mode 25 in
gpio -g mode 25 up
gpio -g read 25
# 入力例(プルダウン指定)
gpio -g mode 25 in
gpio -g mode 25 down
gpio -g read 25
※ gpio readallで表示される情報(番号)は使えません。ラズパイの GPIOの番号を使います。
root@orangepipc2:~/WiringOP# gpio readall
+-----+-----+----------+------+---+-Orange Pi+---+---+------+---------+-----+--+
| BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
+-----+-----+----------+------+---+----++----+---+------+----------+-----+-----+
| | | 3.3v | | | 1 || 2 | | | 5v | | |
| 12 | 8 | SDA.0 | ALT3 | 0 | 3 || 4 | | | 5V | | |
| 11 | 9 | SCL.0 | ALT3 | 0 | 5 || 6 | | | 0v | | |
| 6 | 7 | GPIO.7 | ALT3 | 0 | 7 || 8 | 0 | ALT3 | TxD3 | 15 | 13 |
| | | 0v | | | 9 || 10 | 0 | ALT3 | RxD3 | 16 | 14 |
| 1 | 0 | RxD2 | ALT3 | 0 | 11 || 12 | 0 | ALT3 | GPIO.1 | 1 | 110 |
| 0 | 2 | TxD2 | ALT3 | 0 | 13 || 14 | | | 0v | | |
| 3 | 3 | CTS2 | ALT3 | 0 | 15 || 16 | 0 | ALT3 | GPIO.4 | 4 | 68 |
| | | 3.3v | | | 17 || 18 | 0 | ALT3 | GPIO.5 | 5 | 71 |
| 64 | 12 | MOSI | ALT4 | 0 | 19 || 20 | | | 0v | | |
| 65 | 13 | MISO | ALT4 | 0 | 21 || 22 | 0 | ALT3 | RTS2 | 6 | 2 |
| 66 | 14 | SCLK | ALT4 | 0 | 23 || 24 | 0 | ALT4 | CE0 | 10 | 67 |
| | | 0v | | | 25 || 26 | 0 | ALT3 | GPIO.11 | 11 | 21 |
| 19 | 30 | SDA.1 | ALT3 | 0 | 27 || 28 | 0 | ALT3 | SCL.1 | 31 | 18 |
| 7 | 21 | GPIO.21 | ALT3 | 0 | 29 || 30 | | | 0v | | |
| 8 | 22 | GPIO.22 | ALT3 | 0 | 31 || 32 | 0 | ALT3 | RTS1 | 26 | 200 |
| 9 | 23 | GPIO.23 | ALT3 | 0 | 33 || 34 | | | 0v | | |
| 10 | 24 | GPIO.24 | ALT3 | 0 | 35 || 36 | 0 | ALT3 | CTS1 | 27 | 201 |
| 20 | 25 | GPIO.25 | OUT | 0 | 37 || 38 | 0 | ALT3 | TxD1 | 28 | 198 |
| | | 0v | | | 39 || 40 | 0 | ALT3 | RxD1 | 29 | 199 |
+-----+-----+----------+------+---+----++----+---+------+----------+-----+-----+
| BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
+-----+-----+----------+------+---+-Orange Pi+---+------+----------+-----+-----+
● Orange Pi PC2用の cat /proc/cpuinfo
● Welcome to ARMBIAN 5.34.171115 nightly Ubuntu 16.04.3 LTS 4.13.12-sunxi64
user@orangepipc2:~$ uname -a
Linux orangepipc2 4.13.12-sunxi64 #198 SMP Tue Nov 14 09:06:02 CET 2017 aarch64 aarch64 aarch64 GNU/Linux
user@orangepipc2:~$ cat /proc/cpuinfo
processor : 0
BogoMIPS : 48.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
下記の 4.11版では "Processor"と "Hardware"が存在しているが、4.13版では無い。
● Welcome to ARMBIAN 5.27.170614 nightly Ubuntu 16.04.2 LTS 4.11.1-sun50iw2
Armbian_5.27.170614_Orangepipc2_Ubuntu_xenial_dev_4.11.1.img
root@orangepipc2:~# uname -a
Linux orangepipc2 4.11.1-sun50iw2 #13 SMP Tue Jun 13 05:20:14 CEST 2017 aarch64 aarch64 aarch64 GNU/Linux
root@orangepipc2:~# cat /proc/cpuinfo
processor : 0
Processor : AArch64 Processor rev 4 (aarch64)
Hardware : sun50iw1p1
BogoMIPS : 48.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
● Orange Pi PC2の Device Tree Overlay DT-Overlay
Xunlong Orange Pi PC 2
Armbian User Guide - Allwinner DT overlays
このファイルを編集します。
/boot/armbianEnv.txt
# nano /boot/armbianEnv.txt
verbosity=1
console=both
overlay_prefix=sun50i-h5
rootdev=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
rootfstype=ext4
# overlays=spi0-spidev w1-gpio uart1 i2c0
overlays=spi0-spidev spi1-spidev
# param_spidev_spi_bus=0
# param_w1_pin=PA20
# param_w1_pin_int_pullup=1
# param_uart1_rtscts=1
Welcome to ARMBIAN 5.27.170415 nightly Ubuntu 16.04.2 LTS 4.10.0-sun50iw2
# ls -l /boot/dtb/allwinner/overlays/
total 40
-rw-r--r-- 1 root root 374 Apr 14 02:08 sun50i-h5-i2c0.dtbo
-rw-r--r-- 1 root root 374 Apr 14 02:08 sun50i-h5-i2c1.dtbo
-rw-r--r-- 1 root root 374 Apr 14 02:08 sun50i-h5-i2c2.dtbo
-rw-r--r-- 1 root root 837 Apr 14 02:08 sun50i-h5-spi0-jedec-nor.dtbo
-rw-r--r-- 1 root root 527 Apr 14 02:08 sun50i-h5-spi0-spidev.dtbo
-rw-r--r-- 1 root root 837 Apr 14 02:08 sun50i-h5-spi1-jedec-nor.dtbo
-rw-r--r-- 1 root root 527 Apr 14 02:08 sun50i-h5-spi1-spidev.dtbo
-rw-r--r-- 1 root root 506 Apr 14 02:08 sun50i-h5-uart1.dtbo
-rw-r--r-- 1 root root 506 Apr 14 02:08 sun50i-h5-uart2.dtbo
-rw-r--r-- 1 root root 506 Apr 14 02:08 sun50i-h5-uart3.dtbo
● Orange Pi PC 2で Raspberry Pi用 FBTFT fbflex対応の汎用 3.5インチ TFT液晶を自前のプログラムで制御する方法
詳しくは下記にまとめました。
・2017/04/29
Orange Pi PC 2で Raspberry Pi用 FBTFT対応の汎用 3.5インチ TFT液晶を自前のプログラムで SPI制御する方法
オレンジパイPC2 H5で SPI機能を有効にして FBTFT対応の汎用 3.5インチ TFT液晶を自前で制御する方法
Tags: [Raspberry Pi], [Orange Pi], [電子工作], [海外通販], [通信販売]
●関連するコンテンツ(この記事を読んだ人は、次の記事も読んでいます)
ラズパイを意識した別物製品 Orange Pi Zeroを買ってみた、Allwinner H2+ Cortex-A7 4core
オレンジパイはラズパイよりもコスパは良いが情報が無いので利用者側に一定のスキルが必要
Orange Pi PC 2を買ってみた、Allwinner H5 Cortex-A53 4core ARM64
ラズパイを意識した別物製品、オレンジパイはラズパイよりもコスパが良い、でも情報が無い
Raspberry Pi Zero Wを海外通販の Pimoroni等での購入方法、購入できる通販ショップ一覧まとめ
ラズパイゼロW ワイヤレスモデルを海外通販でサクッと簡単に個人輸入で入手。技適通過でも国内販売は常に品切れ
Raspberry Pi 3で安定して使える相性の無い最適な microSDカードの種類のまとめ
ラズパイ3で安定して使える microSDカードを購入する Teamと SanDiskは絶対に買わない
Raspberry Pi 3の Linuxコンソール上で使用する各種コマンドまとめ
ラズパイの Raspbian OSのコマンドラインで使用する便利コマンド、負荷試験や CPUシリアル番号の確認方法等も
大人気の CPUボード、Raspberry Pi 3 Model Bで作ってみよう
Raspberry Piの開発環境の構築やタッチパネル付き液晶ディスプレイや各種センサーの使い方まとめ
Espressif ESP8266 Arduino互換でスケッチが使える ESP-12Eモジュール基板
Espressif ESP8266 ESP-12-E NodeMCU V1 ESP12 CP2102
BangGood通販はドローン以外にも面白い商品がまだまだ有った(電子工作編)
レーザー彫刻機、カラー液晶の DIYオシロ、Arduinoや Raspberry Pi用の小型カラー液晶
[HOME]
|
[BACK]
リンクフリー(連絡不要、ただしトップページ以外は Web構成の変更で移動する場合があります)
Copyright (c)
2017-2018 FREE WING,Y.Sakamoto
Powered by 猫屋敷工房 & HTML Generator
http://www.neko.ne.jp/~freewing/raspberry_pi/orange_pi_pc2_wiringop_gpio/