Только если Armbian не ниже 5.30, в ранних версиях не работает SPI
1. Устанавливаем Armbian версии не ниже 5.30 (поскольку до этого не реализована работа с SPI)
2. Устанавливаем sunxi-tools
Код: Выделить всё
sudo apt-get update
sudo apt-get install sunxi-tools
Код: Выделить всё
bin2fex /boot/script.bin /tmp/orange.fex
nano /tmp/orange.fex
Код: Выделить всё
[spi0]
spi_used = 1
spi_cs_bitmap = 1
spi_mosi = port:PC00<3><default><default><default>
spi_miso = port:PC01<3><default><default><default>
spi_sclk = port:PC02<3><default><default><default>
spi_cs0 = port:PC03<3><1><default><default>
[spi1]
spi_used = 1
spi_cs_bitmap = 1
spi_cs0 = port:PA13<2><1><default><default>
spi_sclk = port:PA14<2><default><default><default>
spi_mosi = port:PA15<2><default><default><default>
spi_miso = port:PA16<2><default><default><default>
[spi_devices]
spi_dev_num = 2
[spi_board0]
modalias = "spidev"
max_speed_hz = 33000000
bus_num = 0
chip_select = 0
mode = 0
full_duplex = 1
manual_cs = 0
[spi_board1]
modalias = "spidev"
max_speed_hz = 33000000
bus_num = 1
chip_select = 0
mode = 0
full_duplex = 1
manual_cs = 0
Код: Выделить всё
[spi0]
spi_used = 1
spi_cs_bitmap = 1
spi_mosi = port:PC00<3><default><default><default>
spi_miso = port:PC01<3><default><default><default>
spi_sclk = port:PC02<3><default><default><default>
spi_cs0 = port:PC03<3><1><default><default>
[spi1]
spi_used = 0
spi_cs_bitmap = 1
spi_cs0 = port:PA13<2><1><default><default>
spi_sclk = port:PA14<2><default><default><default>
spi_mosi = port:PA15<2><default><default><default>
spi_miso = port:PA16<2><default><default><default>
[spi_devices]
spi_dev_num = 1
[spi_board0]
modalias = "spidev"
max_speed_hz = 33000000
bus_num = 0
chip_select = 0
mode = 0
full_duplex = 1
manual_cs = 0
[spi_board1]
modalias = "spidev"
max_speed_hz = 33000000
bus_num = 1
chip_select = 0
mode = 0
full_duplex = 1
manual_cs = 0
Код: Выделить всё
sudo fex2bin /tmp/orange.fex /boot/script.bin
Код: Выделить всё
sudo reboot
Код: Выделить всё
ls -l /dev/spidev*
crw------- 1 root root 153, 0 Jan 11 16:31 /dev/spidev0.0
crw------- 1 root root 153, 1 Jan 11 16:31 /dev/spidev1.0
6. загружаем модуль
Код: Выделить всё
sudo modprobe gpio-sunxi
echo "gpio-sunxi" >> /etc/modules
Код: Выделить всё
git clone https://github.com/mysensors/MySensors.git
cd MySensors
Для Zero СЕ подключаем на 22 контакт, CS подключаем на 24-й контакт
для NRF24
Код: Выделить всё
./configure --spi-spidev-device=/dev/spidev1.0 --my-transport=nrf24 --my-rf24-ce-pin=2 --my-rf24-cs-pin=13
Код: Выделить всё
./configure --spi-spidev-device=/dev/spidev1.0 --my-transport=rfm69 --my-rfm69-irq-pin=2 --my-rfm69-cs-pin=13 --my-rfm69-frequency=868 --my-is-rfm69hw
для NRF24
Код: Выделить всё
./configure --spi-spidev-device=/dev/spidev0.0 --my-transport=nrf24 --my-rf24-ce-pin=2 --my-rf24-cs-pin=21
Код: Выделить всё
./configure --spi-spidev-device=/dev/spidev0.0 --my-transport=rfm69 --my-rfm69-irq-pin=2 --my-rfm69-cs-pin=21 --my-rfm69-frequency=868 --my-is-rfm69hw
Ethernet gateway
Код: Выделить всё
--my-gateway=ethernet --my-port=5003
Код: Выделить всё
--my-gateway=serial --my-serial-is-pty --my-serial-pty=/dev/ttyMySensorsGateway
Код: Выделить всё
--my-gateway=mqtt --my-controller-ip-address=127.0.0.1 --my-mqtt-publish-topic-prefix=mysensors-out --my-mqtt-subscribe-topic-prefix=mysensors-in --my-mqtt-client-id=mygateway1
Код: Выделить всё
make
Код: Выделить всё
sudo ./bin/mysgw -d
Код: Выделить всё
mysgw: Starting gateway...
mysgw: Protocol version - 2.2.0-beta
mysgw: MCO:BGN:INIT GW,CP=RNNG---,VER=2.2.0-beta
mysgw: TSF:LRT:OK
mysgw: TSM:INIT
mysgw: TSF:WUR:MS=0
mysgw: TSM:INIT:TSP OK
mysgw: TSM:INIT:GW MODE
mysgw: TSM:READY:ID=0,PAR=0,DIS=0
mysgw: MCO:REG:NOT NEEDED
mysgw: Listening for connections on 0.0.0.0:5003
mysgw: MCO:BGN:STP
mysgw: MCO:BGN:INIT OK,TSP=1
Код: Выделить всё
sudo make install
sudo systemctl enable mysgw.service