OrangePi-PCを使ってみる

1 Wire通信

Orange Piの1 Wire通信を紹介します。
使用したデバイスはDS18B20のディジタル温度計です。

最初に「/etc/default/cpufrequtils」を確認し、MIN_SPEEDが480000になっていないときは、
これを変更してリブートする必要が有ります。

【Orange Pi PC/LITE】
ENABLE=true
MIN_SPEED=480000
MAX_SPEED=1296000
GOVERNOR=interactive

【Orange Pi ZERO】
ENABLE=true
MIN_SPEED=240000 →  480000に変更してリブート
MAX_SPEED=1200000
GOVERNOR=interactive

次にドライバーをロードします。
sudo modprobe w1-sunxi
sudo modprobe w1-gpio
sudo modprobe w1-therm

dmesgを確認すると1 Wireで使うことができるGPIOを確認することができます。
[   82.733713] W1_SUNXI: Added w1-gpio on GPIO-20 → 1 Wireで使えるGPIO
[   41.420519] Driver for 1-wire Dallas network protocol.
[   41.465540] w1_master_driver w1_bus_master1: Family 28 for 28.021600b0a4ff.0f

1 Wireで使えるGPIOはscript.binの以下のセクションに定義されています。
[w1_para]
w1_used = 1
gpio = 20 → 1 Wire用のGPIO

GPIO20(Pin#37)に1 Wireデバイスのデータラインを接続してリブートして、ドライバーを読み込むとデバイスを認識します。
$ ls /sys/bus/w1/devices/
28-021600b0a4ff  w1_bus_master1

$ cat /sys/bus/w1/devices/28-021600b0a4ff/w1_slave
ce 01 4b 46 7f ff 0c 10 97 : crc=97 YES
ce 01 4b 46 7f ff 0c 10 97 t=28875

$ cat /sys/bus/w1/devices/28-021600b0a4ff/w1_slave
d0 01 4b 46 7f ff 0c 10 7a : crc=7a YES
d0 01 4b 46 7f ff 0c 10 7a t=29000

次回はオンボード上にあるIR(赤外線)受信機の使い方を紹介しま す。