💬 Building a Raspberry Pi Gateway
-
@marceloaqno Thanks for the hint! This actually solves the lock up. But shouldnt the interrupt offer a superior connectivity and thus be desireable? Until yesterday (before I did the RPi upgrading) this worked - or at least it appeared to work (I dont know if the interrupt was actually used)
@Velo17 I had the same problem in the past but I thought it was because of my nrf24 module wasn't properly shielded or my cables was too long, causing some kind of interference to the irq pin.
I end up disabling the interrupt options until I replace my nrf24 module or rearrange the cables, which I haven't done yet.Could you give more details on what kind of nrf module you are using and how it is connected to rpi?
-
Hi everyone.
I´m trying to build a new homeController with the following parts / software.Raspberry Pi 3
Home Assistant
MySensors
Tellstick
Mosquitto MQTT BrokerI got everything working beside the MySensors. I´m trying to connect the NRF 24L01+ chip directly to the RPI with help from https://www.mysensors.org/build/raspberry.
I want to use MQTT between MySensors and HomeAssistant
The MQTT broker is working when i´m testing it.
The Mosquitto is configurated with username and Password in the config of Mosquitto.The config i´m using when Make Mysensors is the following:
./configure --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 --my-transport=nrf24 --my-rf24-irq-pin=15I also changed in the file /examples_linux/mysgw.cpp
#define MY_MQTT_USER "My User"
#define MY_MQTT_PASSWORD "My Password"When i´m running the command: sudo systemctl status mysgw I got following result.
● mysgw.service - MySensors Gateway daemon
Loaded: loaded (/etc/systemd/system/mysgw.service; enabled)
Active: active (running) since tis 2016-12-27 18:52:34 CET; 25min ago
Main PID: 1405 (mysgw)
CGroup: /system.slice/mysgw.service
└─1405 /usr/local/bin/mysgwdec 27 19:18:10 HomeAssistant mysgw[1405]: failed to connect
dec 27 19:18:10 HomeAssistant mysgw[1405]: socket: Too many open files
dec 27 19:18:10 HomeAssistant mysgw[1405]: failed to connect
dec 27 19:18:10 HomeAssistant mysgw[1405]: socket: Too many open files
dec 27 19:18:10 HomeAssistant mysgw[1405]: failed to connect
dec 27 19:18:10 HomeAssistant mysgw[1405]: socket: Too many open files
dec 27 19:18:10 HomeAssistant mysgw[1405]: failed to connect
dec 27 19:18:10 HomeAssistant mysgw[1405]: socket: Too many open files
dec 27 19:18:10 HomeAssistant mysgw[1405]: failed to connect
dec 27 19:18:10 HomeAssistant mysgw[1405]: socket: Too many open filesWhen trying to run command sudo mysgw -d it shows following info in a endless loop:
mysgw: Attempting MQTT connection...
mysgw: connected to 127.0.0.1
mysgw: Attempting MQTT connection...
mysgw: connected to 127.0.0.1
mysgw: Attempting MQTT connection...
mysgw: connected to 127.0.0.1
mysgw: Attempting MQTT connection...
mysgw: connected to 127.0.0.1
mysgw: Attempting MQTT connection...
mysgw: connected to 127.0.0.1
mysgw: Attempting MQTT connection...
mysgw: connected to 127.0.0.1
mysgw: Attempting MQTT connection...
mysgw: connected to 127.0.0.1
mysgw: Attempting MQTT connection...
mysgw: connected to 127.0.0.1Please help figure this out.
//PeTi
-
Hello
The past two days I've been trying to setup the gateway on my RPi 2 with domoticz.
Here's what I did.
I installed domoticz onto my raspi, then I tried the install the gateway.git clone https://github.com/mysensors/MySensors.git cd MySensorsAfterwards I did the following
./configure --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 -dThen it seems to start normally onto the point where it refuses to connect to anything.
Does anyone have a clue what's going wrong?
I can't seem to figure it out. I've tried it several times over, and always go similar results.
I was using GertSanders's connector for the RPi Hub and I've tried it with normal wiring too.
As far as I can see it shouldn't be a wiring problem...EDIT:
!UPDATE!
I think I just fixed it. I reconfigured it to include the IRQ Pin and now it's just listening for throughputpi@raspberrypi:~/MySensors $ sudo ./bin/mysgw -d mysgw: Starting gateway... mysgw: Protocol version - 2.1.0-beta mysgw: MCO:BGN:INIT GW,CP=RNNG--Q,VER=2.1.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 -
I got the previous problem out of the way for now...
Now onto the next one.I started a node and now I can clearly see data being sent and received on my serial log and ssh. (See picture)
So I tried adding the gateway to domoticz using following settings:
Yet if I check hardware setup I can see no nodes being presented.
Are there settings or steps I missed?
Greetings
Flor -
I got the previous problem out of the way for now...
Now onto the next one.I started a node and now I can clearly see data being sent and received on my serial log and ssh. (See picture)
So I tried adding the gateway to domoticz using following settings:
Yet if I check hardware setup I can see no nodes being presented.
Are there settings or steps I missed?
Greetings
Flor@Flor-Sanders I think you maybe should choose not USB but Ethernet gateway in domoticz.
-
@Tigroenot
That fixed it indeed XD
Thanks for helping me out -
Hi everyone.
I´m trying to build a new homeController with the following parts / software.Raspberry Pi 3
Home Assistant
MySensors
Tellstick
Mosquitto MQTT BrokerI got everything working beside the MySensors. I´m trying to connect the NRF 24L01+ chip directly to the RPI with help from https://www.mysensors.org/build/raspberry.
I want to use MQTT between MySensors and HomeAssistant
The MQTT broker is working when i´m testing it.
The Mosquitto is configurated with username and Password in the config of Mosquitto.The config i´m using when Make Mysensors is the following:
./configure --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 --my-transport=nrf24 --my-rf24-irq-pin=15I also changed in the file /examples_linux/mysgw.cpp
#define MY_MQTT_USER "My User"
#define MY_MQTT_PASSWORD "My Password"When i´m running the command: sudo systemctl status mysgw I got following result.
● mysgw.service - MySensors Gateway daemon
Loaded: loaded (/etc/systemd/system/mysgw.service; enabled)
Active: active (running) since tis 2016-12-27 18:52:34 CET; 25min ago
Main PID: 1405 (mysgw)
CGroup: /system.slice/mysgw.service
└─1405 /usr/local/bin/mysgwdec 27 19:18:10 HomeAssistant mysgw[1405]: failed to connect
dec 27 19:18:10 HomeAssistant mysgw[1405]: socket: Too many open files
dec 27 19:18:10 HomeAssistant mysgw[1405]: failed to connect
dec 27 19:18:10 HomeAssistant mysgw[1405]: socket: Too many open files
dec 27 19:18:10 HomeAssistant mysgw[1405]: failed to connect
dec 27 19:18:10 HomeAssistant mysgw[1405]: socket: Too many open files
dec 27 19:18:10 HomeAssistant mysgw[1405]: failed to connect
dec 27 19:18:10 HomeAssistant mysgw[1405]: socket: Too many open files
dec 27 19:18:10 HomeAssistant mysgw[1405]: failed to connect
dec 27 19:18:10 HomeAssistant mysgw[1405]: socket: Too many open filesWhen trying to run command sudo mysgw -d it shows following info in a endless loop:
mysgw: Attempting MQTT connection...
mysgw: connected to 127.0.0.1
mysgw: Attempting MQTT connection...
mysgw: connected to 127.0.0.1
mysgw: Attempting MQTT connection...
mysgw: connected to 127.0.0.1
mysgw: Attempting MQTT connection...
mysgw: connected to 127.0.0.1
mysgw: Attempting MQTT connection...
mysgw: connected to 127.0.0.1
mysgw: Attempting MQTT connection...
mysgw: connected to 127.0.0.1
mysgw: Attempting MQTT connection...
mysgw: connected to 127.0.0.1
mysgw: Attempting MQTT connection...
mysgw: connected to 127.0.0.1Please help figure this out.
//PeTi
@pettib Could it be that you are using an old version of Mosquitto?
mosquitto -h -
@pettib Could it be that you are using an old version of Mosquitto?
mosquitto -h@marceloaqno
How so?
I've tried running the command you've supplied, but it doesn't work... Do I have to install mosquitto?
I didn't see it anywhere in the guide.
Everything is working at the moment, you think it can pose a problem later? -
Hello everyone,
I've been working gateway on RPi, but I don't know how to configure MY_SIGNING_SOFT .
File mysgw.cpp contains MY_SIGNING_SOFT definition and I can uncomment it, but I don't know where and how I should define: SOFT_HMAC_KEY, SOFT_SERIAL and AES_KEY ?
Could you give more details how to configure soft signing on RPi?
thanks
//Robert -
Has anyone successfully built on an Orange Pi One running armbian? RPi running raspbinan is supported, but on my Orange Pi One running armbian I get
./MySensors.h:258:2: error: #error No support for nRF24 radio on this platformI already have TMRh20's RF24 code running on this system, so I know it's capable.
-
Has anyone successfully built on an Orange Pi One running armbian? RPi running raspbinan is supported, but on my Orange Pi One running armbian I get
./MySensors.h:258:2: error: #error No support for nRF24 radio on this platformI already have TMRh20's RF24 code running on this system, so I know it's capable.
working on the same setup, unfortunately was not able to compile the mysensors gateway...
this is the error i get:root@orangepizero:~/MySensors# make
g++ -MT build/examples_linux/mysgw.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DMY_IS_SERIAL_PTY -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -c examples_linux/mysgw.cpp -o build/examples_linux/mysgw.o
In file included from examples_linux/mysgw.cpp:74:0:
./MySensors.h:258:2: error: #error No support for nRF24 radio on this platform
#error No support for nRF24 radio on this platform
^
In file included from ./drivers/RF24/RF24.cpp:23:0,
from ./MySensors.h:294,
from examples_linux/mysgw.cpp:74:
./drivers/RF24/RF24.h:52:17: fatal error: SPI.h: No such file or directory
#include <SPI.h>
^
compilation terminated.
Makefile:98: recipe for target 'build/examples_linux/mysgw.o' failed
make: *** [build/examples_linux/mysgw.o] Error 1
root@orangepizero:~/MySensors#seems spi is missing...
however it seems to be available in the system:
root@orangepizero:~/MySensors# ll /dev/spidev0.0
crw------- 1 root root 153, 0 Dec 30 16:26 /dev/spidev0.0root@orangepizero:~/MySensors# dmesg | grep -i spi
[ 0.814155] sunxi_spi_chan_cfg()1376 - [spi-0] has no spi_regulator.
[ 0.814185] sunxi_spi_chan_cfg()1376 - [spi-1] has no spi_regulator.
[ 0.815261] spi spi0: master is unqueued, this is deprecatedsetup:
Orangepi zero
Armbianhope that we get native OPI support soon, any way all help is appreciated!!
kind regards,
Tag
-
working on the same setup, unfortunately was not able to compile the mysensors gateway...
this is the error i get:root@orangepizero:~/MySensors# make
g++ -MT build/examples_linux/mysgw.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DMY_IS_SERIAL_PTY -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -c examples_linux/mysgw.cpp -o build/examples_linux/mysgw.o
In file included from examples_linux/mysgw.cpp:74:0:
./MySensors.h:258:2: error: #error No support for nRF24 radio on this platform
#error No support for nRF24 radio on this platform
^
In file included from ./drivers/RF24/RF24.cpp:23:0,
from ./MySensors.h:294,
from examples_linux/mysgw.cpp:74:
./drivers/RF24/RF24.h:52:17: fatal error: SPI.h: No such file or directory
#include <SPI.h>
^
compilation terminated.
Makefile:98: recipe for target 'build/examples_linux/mysgw.o' failed
make: *** [build/examples_linux/mysgw.o] Error 1
root@orangepizero:~/MySensors#seems spi is missing...
however it seems to be available in the system:
root@orangepizero:~/MySensors# ll /dev/spidev0.0
crw------- 1 root root 153, 0 Dec 30 16:26 /dev/spidev0.0root@orangepizero:~/MySensors# dmesg | grep -i spi
[ 0.814155] sunxi_spi_chan_cfg()1376 - [spi-0] has no spi_regulator.
[ 0.814185] sunxi_spi_chan_cfg()1376 - [spi-1] has no spi_regulator.
[ 0.815261] spi spi0: master is unqueued, this is deprecatedsetup:
Orangepi zero
Armbianhope that we get native OPI support soon, any way all help is appreciated!!
kind regards,
Tag
@aand said:
Orange Pi One
I think, maybe the hardware nrf24 radio its not properly detected or ready on OPI?
Seems ready state of the nrf24 board is needed in the moment to build/make the compilation of that module for the myGateway.We have any chance to run any Raspbian version (not armbian) on OPI ?
Sure have so much differences about raspbian and armbian to aply same softw installation methods on both without adaptat in each case.Im so interesed too for use OPI One like my HA Controller and MQTT Gateway, so will be really good if you can post here any evolution and impressions about using OPI for that.
Cheers
-
jirm daid "I think, maybe the hardware nrf24 radio its not properly detected or ready on OPI?"
nrf24l01 radios WORK FINE on the Orange Pi One running armbian.
I downloaded TMRh20's RF24 GitHub files and successfully tested the Linux example code "gettingstarted" in which an Orange Pi One (tx) sent data to another Orange Pi One (rx).
-
jirm daid "I think, maybe the hardware nrf24 radio its not properly detected or ready on OPI?"
nrf24l01 radios WORK FINE on the Orange Pi One running armbian.
I downloaded TMRh20's RF24 GitHub files and successfully tested the Linux example code "gettingstarted" in which an Orange Pi One (tx) sent data to another Orange Pi One (rx).
@aand.
No dubt that NRF24 is detected and working on Armbian, but seems not properly detected on the build module process for the gateway installation process made for Raspbian. Sure because OS diferences from Raspbian and Armbian, raise this issue.
Why not directly use Raspbian on OPI to avoid that and sure other issues that will by found because all software are mainly build for Raspberry (Raspbian OS) and that is the only well tested?I see Raspbian is available and updated for OPI trough his manufacturer.
http://www.orangepi.org/downloadresources/orangepipc/oragepipc_e930546e866b23585721e5d2a6.html
Regards
-
@jirm Thanks for the suggestion. I've downloaded the raspian image. To duplicate the path I used with armbian, I downloaded TMRh20's RF24 code so I can test the radio with code I've already had up and running on the hardware.. However, this version of raspbian is really bad. So far nothing compiles. Regular raspbian, and armbian on the orange pi one do not have this kind of problem out of the box; they compile a wide range of packages. I'll spend some more time on it to be diligent, but this distro looks like it needs to be put on the abandon pile.
I tried compiling mysensors gateway too but no luck with that yet either. This is what I get:
./configure
[SECTION] Detecting target machine.
[OK] machine detected: SoC=H3, Type=unknown, CPU=armv7l.
[OK] init system detected: sysvinit
[SECTION] Saving configuration.
[SECTION] Cleaning previous builds.
[OK] Finished.make
gcc -MT build/drivers/Linux/log.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RA
DIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -c drivers/Linux/log
.c -o build/drivers/Linux/log.o
cc1: error: bad value (armv8-a) for -march switch
cc1: error: bad value (cortex-a53) for -mtune switch
Makefile:102: recipe for target 'build/drivers/Linux/log.o' failed
make: *** [build/drivers/Linux/log.o] Error 1 -
@jirm Thanks for the suggestion. I've downloaded the raspian image. To duplicate the path I used with armbian, I downloaded TMRh20's RF24 code so I can test the radio with code I've already had up and running on the hardware.. However, this version of raspbian is really bad. So far nothing compiles. Regular raspbian, and armbian on the orange pi one do not have this kind of problem out of the box; they compile a wide range of packages. I'll spend some more time on it to be diligent, but this distro looks like it needs to be put on the abandon pile.
I tried compiling mysensors gateway too but no luck with that yet either. This is what I get:
./configure
[SECTION] Detecting target machine.
[OK] machine detected: SoC=H3, Type=unknown, CPU=armv7l.
[OK] init system detected: sysvinit
[SECTION] Saving configuration.
[SECTION] Cleaning previous builds.
[OK] Finished.make
gcc -MT build/drivers/Linux/log.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RA
DIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -c drivers/Linux/log
.c -o build/drivers/Linux/log.o
cc1: error: bad value (armv8-a) for -march switch
cc1: error: bad value (cortex-a53) for -mtune switch
Makefile:102: recipe for target 'build/drivers/Linux/log.o' failed
make: *** [build/drivers/Linux/log.o] Error 1Ok. Arrrggg ! .
So sad ear that OPI Raspbian fork is too not working out the box and but its not surprise because the poor software support form manufacturer. Maybe this is another no way road.
So seems only keep fighting with both OS (arm and rasp) to make it working.
Some sugestions ...
Will be fine if can post this issue but in software section here on mysensors forums. Maybe some mysensors gateway developers or any linux hack can help to trace the error you have on armbian or raspbian.
Maybe can find another "no official" OPI Raspbian fork that compile better to mygateway. Maybe post this issue in OPI forums will be good and someone there can help or provide other better Raspbian fork.Sadly in this days I dont have time to try install on my OPI´s to help more. :-1:
Regards
-
@jirm Thanks for the suggestion. I've downloaded the raspian image. To duplicate the path I used with armbian, I downloaded TMRh20's RF24 code so I can test the radio with code I've already had up and running on the hardware.. However, this version of raspbian is really bad. So far nothing compiles. Regular raspbian, and armbian on the orange pi one do not have this kind of problem out of the box; they compile a wide range of packages. I'll spend some more time on it to be diligent, but this distro looks like it needs to be put on the abandon pile.
I tried compiling mysensors gateway too but no luck with that yet either. This is what I get:
./configure
[SECTION] Detecting target machine.
[OK] machine detected: SoC=H3, Type=unknown, CPU=armv7l.
[OK] init system detected: sysvinit
[SECTION] Saving configuration.
[SECTION] Cleaning previous builds.
[OK] Finished.make
gcc -MT build/drivers/Linux/log.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RA
DIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -c drivers/Linux/log
.c -o build/drivers/Linux/log.o
cc1: error: bad value (armv8-a) for -march switch
cc1: error: bad value (cortex-a53) for -mtune switch
Makefile:102: recipe for target 'build/drivers/Linux/log.o' failed
make: *** [build/drivers/Linux/log.o] Error 1The las error you posted...is not on Raspbian but in Armbian ????
"gcc -MT build/drivers/Linux/log.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RA
DIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -c drivers/Linux/log
.c -o build/drivers/Linux/log.o
cc1: error: bad value (armv8-a) for -march switch
cc1: error: bad value (cortex-a53) for -mtune switch"In any case seems this is a gcc compiler error maybe because "wrong" version for that processor...so maybe trying to update gcc compiler can help to avoid that error?
-
@jirm The compiler error was from the raspbian image running on the orange pi one hardware. I installed the image, ran apt-get update and apt-get upgrade, then tried the mysensors installation. The error was unusual enough to stop me in my tracks ... it didn't look like a simple dependency error.
armbian is not as well known as raspbian, but it is a very good distribution with an active and friendly development team. I like raspbian because it is a mature distro, and that's why I wanted to give it a try when you pointed out it's availability, but armbian is a very good alternative. I like armbian a lot and I hope we can get mysensors to work on it. Armbian also supports some of the newest and exciting hardware like the Nano Pi Neo and the Orange Pi Zero, each with a lot of IoT possibilities (they are very small form factors and low cost).
As you can tell, I think it's a big win if we can get it working on armbian. I will look for the place you mentioned on the forum that might be a good place to post this issue -- please let me know if you have a suggestion on where it's best to post. And I'd like to thank you for your consideration of this problem.
-
I´m in the same boat as you, because for the moment I choose OPI hardware for my HA (Home Automation) system.
Agree with you that Armbian is much better OS than Raspbian in general terms and preferably the path to walk through for OPI, but in that case always we walk on a parallel side because Raspbian is today the most prefered OS for IoT on developments because Raspberry is the predominant hardware. So that means in future we need fight each installation.In that case, Armbian forums sure is necesary place that can help to solve that problem too, but I think first better post here on mysensors software forums to try to get some more light about that specific error about mysensors gateway install process, and then at least have more info to report to someone that can help in Armbian.
I'm trying to find some help more about the issues you raise and if you maintain posting updates here will be so good for me and sure for others that can use OPI too now or on future.
OPI´s I´m sure is in near future a very good hardware (because they're so good relation cost-performance and quality) that mucho more people would choose for next coming IoT projects.
Regards
-
I´m in the same boat as you, because for the moment I choose OPI hardware for my HA (Home Automation) system.
Agree with you that Armbian is much better OS than Raspbian in general terms and preferably the path to walk through for OPI, but in that case always we walk on a parallel side because Raspbian is today the most prefered OS for IoT on developments because Raspberry is the predominant hardware. So that means in future we need fight each installation.In that case, Armbian forums sure is necesary place that can help to solve that problem too, but I think first better post here on mysensors software forums to try to get some more light about that specific error about mysensors gateway install process, and then at least have more info to report to someone that can help in Armbian.
I'm trying to find some help more about the issues you raise and if you maintain posting updates here will be so good for me and sure for others that can use OPI too now or on future.
OPI´s I´m sure is in near future a very good hardware (because they're so good relation cost-performance and quality) that mucho more people would choose for next coming IoT projects.
Regards
The error you post seems because gcc compiler is not well supporting the processor, so maybe need substitute all gcc compiler version in the OS to solve the issue (that's I wanted say before with update).
apt-get update/upgrade cannot substituting "any" software to other because doing this only can push to last version the existing installed branch on the yet installed software on the OS.
So It's not any dependence error it's a gcc compiler error raised for some weird version incompatibility with the hardware installed. Strange error but this is seems means message error you posted. So seems needed reinstall all gcc compiler to avoid that.
Hope I explain enough...sorry about my bad english ;-)
See you...