OrangePi и MySensors

immortal
Сообщения: 1112
Зарегистрирован: Вт янв 29, 2013 9:16 am
Откуда: Белозерск
Благодарил (а): 15 раз
Поблагодарили: 384 раза
Контактная информация:

OrangePi и MySensors

Сообщение immortal » Чт ноя 09, 2017 10:48 am

Подключение MySensors к OrangePi PC и другим апельсинкам без NAND и к Zero
Только если Armbian не ниже 5.30, в ранних версиях не работает SPI

1. Устанавливаем Armbian версии не ниже 5.30 (поскольку до этого не реализована работа с SPI)
2. Устанавливаем sunxi-tools

Код: Выделить всё

sudo apt-get update
sudo apt-get install sunxi-tools
3. Конфигурируем script.bin для включения SPI

Код: Выделить всё

bin2fex /boot/script.bin /tmp/orange.fex
nano /tmp/orange.fex
3.1. для Zero
СпойлерПоказать

Код: Выделить всё

[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
3.2. Для остальных достаточно включить только spi0
СпойлерПоказать

Код: Выделить всё

[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
4. Перезагружаемся.

Код: Выделить всё

sudo reboot
5. проверяем наличие SPI

Код: Выделить всё

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
Для Zero должен быть /dev/spidev1.0, для остальных достаточно только /dev/spidev0.0
6. загружаем модуль

Код: Выделить всё

sudo modprobe gpio-sunxi
echo "gpio-sunxi" >> /etc/modules
7. Качаем MySensors

Код: Выделить всё

git clone https://github.com/mysensors/MySensors.git
cd MySensors
8. Конфигурируем
Для 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
для RFM69

Код: Выделить всё

./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
Для PC, lite и т.п. CE подключаем на 22 контакт (РА2), CS подключаем на 26 контакт(PA21)
для NRF24

Код: Выделить всё

./configure --spi-spidev-device=/dev/spidev0.0 --my-transport=nrf24 --my-rf24-ce-pin=2 --my-rf24-cs-pin=21
для RFM69

Код: Выделить всё

./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
9. Так же указываем конфигурацию шлюза
Ethernet gateway

Код: Выделить всё

--my-gateway=ethernet --my-port=5003
Serial gateway

Код: Выделить всё

--my-gateway=serial --my-serial-is-pty --my-serial-pty=/dev/ttyMySensorsGateway
MQTT

Код: Выделить всё

--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
10. Собираем 11. проверяем

Код: Выделить всё

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
12. Устанавливаем

Код: Выделить всё

sudo make install
sudo systemctl enable mysgw.service
Возможно подключать не только к PA21, а к другому пину, при этом номер GPIO будет совпадать с номером вывода PA, если нужно подключить с другому пину не PA то соответствие номера GPIO с номером порта я не нашел, если кто подскажет, буду рад.
Последний раз редактировалось immortal Вт ноя 14, 2017 4:47 pm, всего редактировалось 1 раз.
За это сообщение автора immortal поблагодарили (всего 3):
lanket (Чт ноя 09, 2017 12:02 pm) • OEMBSOD (Вс дек 10, 2017 12:26 am) • Berkseo (Пн авг 27, 2018 4:44 pm)
Рейтинг: 3.7%
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 323 раза

Re: OrangePi и MySensors

Сообщение Ivan » Сб ноя 11, 2017 4:35 pm

Используйте лучше модуль MySensors.
Он даст вам больше возможностей MySensirs

Отправлено с моего SM-G7102 через Tapatalk
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
immortal
Сообщения: 1112
Зарегистрирован: Вт янв 29, 2013 9:16 am
Откуда: Белозерск
Благодарил (а): 15 раз
Поблагодарили: 384 раза
Контактная информация:

Re: OrangePi и MySensors

Сообщение immortal » Сб ноя 11, 2017 6:38 pm

Ivan писал(а):Используйте лучше модуль MySensors.
Он даст вам больше возможностей MySensirs

Отправлено с моего SM-G7102 через Tapatalk
В смысле? модель разве может работать без демона MySensors?
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
AlexeyKr
Сообщения: 28
Зарегистрирован: Сб мар 30, 2013 7:34 am
Благодарил (а): 3 раза
Поблагодарили: 4 раза

Re: OrangePi и MySensors

Сообщение AlexeyKr » Сб ноя 11, 2017 11:17 pm

Как раз сегодня разбирался, почему не работает в вашем образе nRF24L01. Хотел поделиться, а тут оказывается появилась темка :D

сначала нашел распиновку GPIO OrangePI PC и Zero. понял, что SPI надо использовать не 1, а 0.

Для определения номеров портов можно воспользоваться командой

Код: Выделить всё

root@orangepipc:~# gpio readall    
результат gpio readallПоказать

Код: Выделить всё

 +-----+-----+----------+------+---+-Orange Pi+---+---+------+---------+-----+--                                                                                                    +
 | BCM | wPi |   Name   | Mode | V | Physical | V | Mode | Name     | wPi | BCM                                                                                                     |
 +-----+-----+----------+------+---+----++----+---+------+----------+-----+-----                                                                                                    +
 |     |     |     3.3v |      |   |  1 || 2  |   |      | 5v       |     |                                                                                                         |
 |  12 |   8 |    SDA.0 | ALT5 | 0 |  3 || 4  |   |      | 5V       |     |                                                                                                         |
 |  11 |   9 |    SCL.0 | ALT5 | 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 | 1 | 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 | 1 | OUT  | RTS2     | 6   | 2                                                                                                       |
 |  66 |  14 |     SCLK | ALT4 | 0 | 23 || 24 | 1 | OUT  | CE0      | 10  | 67                                                                                                      |
 |     |     |       0v |      |   | 25 || 26 | 0 | ALT3 | GPIO.11  | 11  | 21                                                                                                      |
 |  19 |  30 |    SDA.1 | ALT4 | 0 | 27 || 28 | 0 | ALT4 | SCL.1    | 31  | 18                                                                                                      |
 |   7 |  21 |  GPIO.21 | ALT3 | 0 | 29 || 30 |   |      | 0v       |     |                                                                                                         |
 |   8 |  22 |  GPIO.22 | ALT3 | 0 | 31 || 32 | 0 | ALT5 | RTS1     | 26  | 200                                                                                                     |
 |   9 |  23 |  GPIO.23 | ALT3 | 0 | 33 || 34 |   |      | 0v       |     |                                                                                                         |
 |  10 |  24 |  GPIO.24 | ALT3 | 0 | 35 || 36 | 0 | ALT5 | CTS1     | 27  | 201                                                                                                     |
 |  20 |  25 |  GPIO.25 | ALT3 | 0 | 37 || 38 | 0 | ALT5 | TxD1     | 28  | 198                                                                                                     |
 |     |     |       0v |      |   | 39 || 40 | 0 | ALT5 | RxD1     | 29  | 199                                                                                                     |
 +-----+-----+----------+------+---+----++----+---+------+----------+-----+-----                                                                                                    +
 | BCM | wPi |   Name   | Mode | V | Physical | V | Mode | Name     | wPi | BCM                                                                                                     |
 +-----+-----+----------+------+---+-Orange Pi+---+------+----------+-----+----- 
В колонке BCM - номер пина.

У меня nRF24L01 с усилителем, для него надо устанавливать низкий уровень мощности.
В результате для того, чтобы заработал мой приемопередатчик, пересобрал mysgw со следующими настройками:

Код: Выделить всё

./configure --spi-spidev-device=/dev/spidev0.0 --my-transport=nrf24 --my-rf24-ce-pin=2 --my-rf24-cs-pin=67 --my-gateway=ethernet --my-port=5003 --my-rf24-pa-level=RF24_PA_LOW
AlexeyKr
Сообщения: 28
Зарегистрирован: Сб мар 30, 2013 7:34 am
Благодарил (а): 3 раза
Поблагодарили: 4 раза

Re: OrangePi и MySensors

Сообщение AlexeyKr » Сб ноя 11, 2017 11:28 pm

nRF24L01 подключена так:
17 - 3,3В - +nRF
19 - MOSI
21 - MISO
22 - CE
23 - SCK
24 - CSN
25 - GND
на ножках питания nRF висит дополнительно конденсатор

Использую модуль Mysensors, IP 0.0.0.0 порт 5003. Никаких дополнительных модулей для работы не требуется.

mosquitto за ненадобностью деинсталлировал.
vitar78
Сообщения: 128
Зарегистрирован: Пт июл 15, 2016 3:12 am
Благодарил (а): 6 раз
Поблагодарили: 2 раза

Re: OrangePi и MySensors

Сообщение vitar78 » Вт ноя 14, 2017 4:09 pm

AlexeyKr писал(а):nRF24L01 подключена так:
17 - 3,3В - +nRF
19 - MOSI
21 - MISO
22 - CE
23 - SCK
24 - CSN
25 - GND
на ножках питания nRF висит дополнительно конденсатор

Использую модуль Mysensors, IP 0.0.0.0 порт 5003. Никаких дополнительных модулей для работы не требуется.

mosquitto за ненадобностью деинсталлировал.
Странно по вашей схеме не работает
вот вывод gpio

Код: Выделить всё

root@orangepipc:~/MySensors# gpio readall
 +-----+-----+----------+------+---+-Orange Pi+---+---+------+---------+-----+--+
 | BCM | wPi |   Name   | Mode | V | Physical | V | Mode | Name     | wPi | BCM |
 +-----+-----+----------+------+---+----++----+---+------+----------+-----+-----+
 |     |     |     3.3v |      |   |  1 || 2  |   |      | 5v       |     |     |
 |  12 |   8 |    SDA.0 | ALT5 | 0 |  3 || 4  |   |      | 5V       |     |     |
 |  11 |   9 |    SCL.0 | ALT5 | 0 |  5 || 6  |   |      | 0v       |     |     |
 |   6 |   7 |   GPIO.7 | ALT3 | 0 |  7 || 8  | 1 | OUT  | TxD3     | 15  | 13  |
 |     |     |       0v |      |   |  9 || 10 | 0 | ALT5 | RxD3     | 16  | 14  |
 |   1 |   0 |     RxD2 | ALT3 | 0 | 11 || 12 | 0 | ALT3 | GPIO.1   | 1   | 110 |
 |   0 |   2 |     TxD2 | ALT3 | 1 | 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 | OUT  | 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 | ALT4 | 0 | 27 || 28 | 0 | ALT4 | SCL.1    | 31  | 18  |
 |   7 |  21 |  GPIO.21 | ALT3 | 0 | 29 || 30 |   |      | 0v       |     |     |
 |   8 |  22 |  GPIO.22 | ALT3 | 0 | 31 || 32 | 0 | ALT5 | RTS1     | 26  | 200 |
 |   9 |  23 |  GPIO.23 | ALT3 | 0 | 33 || 34 |   |      | 0v       |     |     |
 |  10 |  24 |  GPIO.24 | ALT3 | 0 | 35 || 36 | 0 | ALT5 | CTS1     | 27  | 201 |
 |  20 |  25 |  GPIO.25 | ALT3 | 0 | 37 || 38 | 0 | ALT5 | TxD1     | 28  | 198 |
 |     |     |       0v |      |   | 39 || 40 | 0 | ALT5 | RxD1     | 29  | 199 |
 +-----+-----+----------+------+---+----++----+---+------+----------+-----+-----+
 | BCM | wPi |   Name   | Mode | V | Physical | V | Mode | Name     | wPi | BCM |
 +-----+-----+----------+------+---+-Orange Pi+---+------+----------+-----+-----+
root@orangepipc:~/MySensors#
 
помогите подключить nRF24L01 к orange pi pc
immortal
Сообщения: 1112
Зарегистрирован: Вт янв 29, 2013 9:16 am
Откуда: Белозерск
Благодарил (а): 15 раз
Поблагодарили: 384 раза
Контактная информация:

Re: OrangePi и MySensors

Сообщение immortal » Вт ноя 14, 2017 4:43 pm

vitar78 писал(а): помогите подключить nRF24L01 к orange pi pc
а по инструкции в шапке? различия в них только в одном выводе, всё сделалт что написано в шапке? Armbian не ниже 5.30? если ниже то там не реализована работа SPI (надо пересобирать ядро)
Как вариант: экспортировать настройки МД в файл, скачать новый образ который выложен вчера и просто сконфигурировать там MySensors (лежит в папке /root/MySensors), загрузить сохраненные настройки МД
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
vitar78
Сообщения: 128
Зарегистрирован: Пт июл 15, 2016 3:12 am
Благодарил (а): 6 раз
Поблагодарили: 2 раза

Re: OrangePi и MySensors

Сообщение vitar78 » Вт ноя 14, 2017 5:14 pm

Я скачал и поставил вашу полследнюю сборку, пробовал и как вы писали и как в последнем посте.
но он почему то не видит модуль, пробовал несколько модулей
а можно для самых одаренных как я расписать пины на pi pc
immortal
Сообщения: 1112
Зарегистрирован: Вт янв 29, 2013 9:16 am
Откуда: Белозерск
Благодарил (а): 15 раз
Поблагодарили: 384 раза
Контактная информация:

Re: OrangePi и MySensors

Сообщение immortal » Вт ноя 14, 2017 8:35 pm

vitar78 писал(а):Я скачал и поставил вашу полследнюю сборку, пробовал и как вы писали и как в последнем посте.
но он почему то не видит модуль, пробовал несколько модулей
а можно для самых одаренных как я расписать пины на pi pc
где то писали, что для некоторые модули не работают от питания прямо с гребенки OrangePiPC, попробуйте внешнее питание, не забудьте объединнить GND внешнего питания nrf и апельсинке
или между между ногой 3.3V и GND конденсатор
Выделение_040.png
Выделение_040.png (67.64 КБ) 5310 просмотров
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
vitar78
Сообщения: 128
Зарегистрирован: Пт июл 15, 2016 3:12 am
Благодарил (а): 6 раз
Поблагодарили: 2 раза

Re: OrangePi и MySensors

Сообщение vitar78 » Вт ноя 14, 2017 10:25 pm

Блин не знаю что дклать
кондер повесил
питание отдельно подключил
гнд соединил с апельсинкой

Код: Выделить всё

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 FAIL
mysgw: TSM:FAIL:CNT=1
mysgw: TSM:FAIL:DIS
mysgw: TSF:TDI:TSL
mysgw: TSM:FAIL:RE-INIT
mysgw: TSM:INIT
mysgw: !TSM:INIT:TSP FAIL
mysgw: TSM:FAIL:CNT=2
mysgw: TSM:FAIL:DIS
mysgw: TSF:TDI:TSL
почему не работает не знаю (((
у меня одна только мысль не правельно может читаю таблицу пинов и не туда подключаю ((


Изображение

CE и на 22 и на 24 вешал
СS судя по таблице на 8 пин и на 26 и 22 вешал
CLK на 23
MOSI 19
MISO 21

не в какую не видит
Ответить