OrangePiPC принимаем и отправляем данные по радиоканалу 315/433 МГц

В этой статье будет рассказано, как подключить приемники и передатчики 315 и 433 МГц одновременно к OrangePiPC

Поскольку у нас приемников и передатчиков по 2 ибо мы будем использовать приемники и передатчики и 315 МГц и 433 МГц

1. Устанавливаем WiringOP

git clone https://github.com/zhaolei/WiringOP.git -b h3 
cd WiringOP
chmod +x ./build
sudo ./build
2. Устанавливаем 433Utils
git clone --recursive git://github.com/ninjablocks/433Utils.git
cd 433Utils/RPi_utils

перед тем как делать make надо поменять порты к которым подключены приемник и передатчик правим файлы: RFSniffer.cpp, codesend.cpp и send.cpp находим там строчку в которой задается порт int PIN = 0; для RFSniffer.cpp порт 7 для codesend.cpp и send.cpp порт 1 теперь можно делать:

make

копируем RFSniffer.cpp, codesend.cpp и send.cpp или переименовываем и снова правим файлы: RFSniffer.cpp, codesend.cpp и send.cpp для RFSniffer.cpp порт 22 для codesend.cpp и send.cpp порт 4 теперь в консоли можно получать данные и отправлять, но нам надо это делать в МД Если не компилируется и выдает ошибки
ошибка:
make: *** Нет правила для сборки цели «../rc-switch/RCSwitch.o», требуемой для «send». Останов.
решение:

cd 433Utils
git submodule init
git submodule update
cd RPi_utils
make

ошибка:

g++ -DRPI -c -o ../rc-switch/RCSwitch.o ../rc-switch/RCSwitch.cpp
g++ -DRPI -c -o send.o send.cpp
g++ -DRPI ../rc-switch/RCSwitch.o send.o -o send -lwiringPi
//usr/local/lib/libwiringPi.so: undefined reference to `pthread_join'
//usr/local/lib/libwiringPi.so: undefined reference to `pthread_create'
//usr/local/lib/libwiringPi.so: undefined reference to `pthread_cancel'
collect2: error: ld returned 1 exit status
Makefile:8: recipe for target 'send' failed
make: *** [send] Error 1

решение:

в файле /433Utils/RPi_utils/Makefile
в трех строках после
-lwiringPi добавить через пробел параметр -lpthread

3. Устанавливаем pi-switch-python
ставим необходимые пакеты

sudo apt-get install python-dev libboost-python-dev python-pip

устанавливаем pi-switch-python

git clone https://github.com/lexruee/pi-switch-python.git
cd pi-switch-python
sudo python setup.py install

 

Теперь нам надо чтобы код отсылал в МД данные, для этого надо модифицировать файл
измените строку МД на свою
если питон 3 то раскоментируйте строки для питона 3 и закоментируйте для питона 2.7

сохраняем файл с названием pi_receiver.py
добавляем в загрузку этот файл под root, например rc.local

sudo python /root/pi_receiver.py

теперь код будет посылаться в МД.

Для отправки кода через передатчик создаем файл с названием csend в удобном месте, например в корне сайта со следующим содержимым
Код:

#!/bin/bash
sudo ./codesend $1

копируем из папки 433Utils/RPi_utils файл codesend
Для отправки кода из МД вставляем в место откуда надо отправлять код:
Код:
exec («/var/www/csend 777777»);

где 777777 заменяем на свой код.

OrangePiPC принимаем и отправляем данные по радиоканалу 315/433 МГц

Навигация по записям