В этой статье будет рассказано, как подключить приемники и передатчики 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 заменяем на свой код.