Raspberry Pi ZeroでのSPI出力

とあるコントローラをSPIにて制御したいので、手順をまとめておく。

1.導入
秋月電子Raspberry Pi Zero WHを購入.
RASPBIAN STRETCH LITEをダウンロードする.
Win32 Disk Imagerを使用してMicroSDに記録する.
HDMI+Keybord環境にて起動確認する.

2.環境設定
・sudo raspi-config
・ローケルを日本に設定.
・シェルを日本語化.
・wlan0を自宅のネットワークに接続する.
ifconfig にて、dhcp addressを確認しておく.
・家のルータのdhcpをip固定にしておく
ssh serverをenable

以降から、Teraterm環境にて
Pythonのライブラリを最新にする
・Interfacing Option にて SPIをEnableにする。
・gitをinstall
・sudo apt-get install git
・公開鍵を生成

3.コード作成
・下記のように記述。クロックは控えめに10kHz.

                                                                                                                                • -


#!/usr/bin/env python
# -*- config: utf-8 -*-

#Import Library
import spidev
import time

spi=spidev.SpiDev()
spi.open(0,0)
spi.max_speed_hz=10000


resp=spi.xfer2([0xbb])
print(resp[0])

                                                                                                                                • -

sudo python filename で起動.

・ロジアナ(Saleae Logic 16)にて、波形を確認
SSH接続中にトリガキャプチャすると、Teratermが遅くなるので注意(原因不明)。


うまくできました.