Настройка Node-RED + Raspberry PI 3 + ZWave Razberry (Raspbian 9 Stretch)

Для того, чтобы заработала связка Node-RED с Z-Wave (open-zwave) на RPI3, нужно выполнить следующий набор манипуляций:

  1. Сначала ставим из коробки Node-RED (настоятельно рекомендую делать все операции из-под юзера, например pi, без sudo)
    bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered
    sudo systemctl enable nodered.service
  2. Собираем руками open-zwave
    sudo apt install libudev-dev # ставим зависимости
    git clone https://github.com/OpenZWave/open-zwave
    make -j 4
    sudo make install # чтобы npm смог найти потом либу
    # если это не сделать, то потом при запуске node-red в логе
    # будут жалобы на линк: Error: libopenzwave.so.1.4: cannot open shared object file: No such file or directory
    export LD_LIBRARY_PATH=/usr/local/lib
    sudo ldconfig
  3. Для корректной работоспособности Razberry на RPI3 нужно отключить bluetooth, потому что они оба используют один и тот же UART
    в /boot/config.txt добавить строчку
    dtoverlay=pi3-disable-bt
  4. Устанавливаем в node-red нужные ноды
    cd ~/.node-red
    npm install openzwave-shared
    npm install node-red-contrib-openzwave
  5. Для того, чтобы node-red смогла открыть порт /dev/ttyAMA0 (через который работает razberry) меняем настройку
    systemctl mask serial-getty@ttyAMA0.service
    в файле /boot/cmdline.txt убираем console=serial0,115200 чтобы ядро перестало писать в serial
  6. reboot

Similar Posts

  • Add-in stable alpha

    Ура! Я наконец-то сделал более-менее стабильный адд-ин, который может работать не только на моей машине 🙂 На данный момент реализовано: 1. Компиляция 1.1. Компилируется каждый файл по отдельности. Файлы берутся из проекта в студии. 1.2. Ошибки/предупреждения парсятся и выводятся в формате, который понимает студия, благодаря чему можно кликнуть на ошибку и перейти на строчку в…

  • Навеяно слонменами и бетменами

    Народ, если вы знаете, что бедмена нету, то почему вы решили, что все остальное должно существовать на самом деле? Откуда идет гон на то, что таких костюмов не существует, машины так не прыгают, а телки тают от одного взгляда? ЗЫ: Ну и мысли с бодуна 🙂 Share this post: Share on X (Twitter) Share on…

  • Metallica

    Я открыл для себя металлику. Как я раньше мог её пропустить?… Офигенный музон, посыпаю голову пеплом и навёрстываю упущенное теперь 🙂 Share this post: Share on X (Twitter) Share on Facebook Share on LinkedIn Share on Email Share on Reddit

  • Windows installer

    Похоже, что Setup Project, который встроен в студию можно выбросить на свалку по причине полной бестолковости. Для того, чтобы установить более-менее серьезное приложение, с разными предусловиями, всякими-разными guid и записями в реестр надо что-то более толковое. Почитав MSDN нашёл интересную тулзу WiX. Вот её-то и попробуем для установки плагина на чистую машину. Поможет нам в…

  • Снова автомобиль

    Похоже, что траблы с совиет каром – это норма жизни, только разобрался с геном, как на меня обрушилась новая проблема. Уезжал вчера с военки, все хорошо, кроме одной мелочи – отказал один цилиндр, хорошо, что я еще не выехал на большую дорогу, плохо что при этом шел дождь. Каким-то чудом мне удалось пофиксить этот баг,…

  • проблема с компиляцией glBindBufferARB

    Возникла аццкая проблема – вот этот кусок не компилился glGenBuffersARB((GLsizei)1, &idx); постоянно вываливая ошибки error C2664: ‘void (GLsizei,GLuint *)’ : cannot convert parameter 1 from ‘int *’ to ‘GLsizei’ error C2664: ‘void (GLsizei,GLuint *)’ : cannot convert parameter 2 from ‘int *’ to ‘GLuint *’ если второе еще понять, можно, то первое ни в какие…