Just as an update, I have the MQTT version with mongoose mostly working. Thanks for that recommendation @marceloaqno. Still very much a work in progress. If anyone is interested in following, here is the link: https://github.com/aaron832/Arduino/tree/raspberry-gateway-MQTT/libraries/MySensors/examples_RPi
aaron832
@aaron832
Best posts made by aaron832
-
RE: MySensors Raspberry port suggestions
-
RE: MySensors Raspberry port suggestions
Thanks a bunch @marceloaqno for you update to 2.0. Some initial testing shows its working fine. I went ahead and just re-implemented my MQTT addition on top of this branch. Its significantly cleaner and just sits alongside your ethernet implementation. This way you can still connect with a controller via ethernet while getting the benefit of MQTT as well if desired.
For the initial changes I created a pull request:
https://github.com/marceloaqno/Arduino/pull/2
for my branch
https://github.com/aaron832/Arduino/tree/feature/MQTTSupport
Latest posts made by aaron832
-
Sensor continue without connection
Is there a way to allow the normal loop routine to run with or without the sensor connected to a gateway?
I have an idea for a "sensor" that really just makes a request from the gateway periodically to see if it should activate or not. I would also want this device to activate with the push of a button even if it is currently not connected via radio.
-
RE: Using mqttGateway2.pl for Serial to MQTT on RaspberryPI
Try typing
"uname -m"
into your console (that hosts the gateway). If it does not say
"armv6l" or "armv7l" (edit: correction)
then the Makefile will not include -lrf24-bcm in the LDFLAGS (libraries include). If this is the problem then what hardware are you making the gateway on? -
RE: Using mqttGateway2.pl for Serial to MQTT on RaspberryPI
@Artur-Maj You also have the option of going towards a prototype 2.0 branch that is being worked on. Doing this, you will be able to get support and updates in the future.
My branch is here: https://github.com/aaron832/Arduino/tree/feature/MQTTSupport
Perform "make mqtt" under Arduino/libraries/MySensors
You can change any mqtt settings by uncommenting lines in Arduino/libraries/MySensors/examples_RPi/PiGateway.cpp
The format MQTT messages are as follows:
From MySensors to Openhab: mygateway1-out/node/sensor/command/ack/dataType
From OpenHab to MySensors: mygateway1-in/node/sensor/command/ack/dataTypeThere is still more work to be done, but it works at least as well as the previous version.
-
RE: MySensors Raspberry port suggestions
Thanks a bunch @marceloaqno for you update to 2.0. Some initial testing shows its working fine. I went ahead and just re-implemented my MQTT addition on top of this branch. Its significantly cleaner and just sits alongside your ethernet implementation. This way you can still connect with a controller via ethernet while getting the benefit of MQTT as well if desired.
For the initial changes I created a pull request:
https://github.com/marceloaqno/Arduino/pull/2
for my branch
https://github.com/aaron832/Arduino/tree/feature/MQTTSupport -
RE: Serial Gateway connection to Openhab
@knoid
Found out that you can use locks in the rules to prevent uncertainty with the "Arduino" variable caused from multiple instances of the rule running simultaneously.
Example:import java.util.concurrent.locks.ReentrantLock var java.util.concurrent.locks.ReentrantLock lock = new java.util.concurrent.locks.ReentrantLock() rule "Arduino sends to Openhab" when Item Arduino received update then lock.lock() try { // do stuff (e.g. create and start a timer ...) } finally{ lock.unlock() } end
-
RE: MySensors Raspberry port suggestions
@marceloaqno This is good news because I was about to give up trying to do the port. Hopefully some of my stuff was of some use.
-
RE: Using mqttGateway2.pl for Serial to MQTT on RaspberryPI
@hoegaarden_bier I have the same setup (raspberry pi running openhab with a radio). Two of the different methods for getting Raspberry Pi Gateway sensor serial data to Openhab have failed me. One being the perl script mentioned here. Still haven't figured out why it won't work (fully) under a raspberry pi environment. The other option is having openhab read from serial rather than MQTT as mentioned here: http://forum.mysensors.org/topic/655/serial-gateway-connection-to-openhab/32 However, I have noticed that openhab will run the "Item Arduino received update" rule in parrallel when receiving serial messages in short succession. This causes the parrallel rule to overwrite the currently running rules' variable and it becomes a problem. Its also pretty messy and would require you to update your openhab rules on any mysensor updates.
Not to mention, the Serial Gateway you are likely running on your raspberry pi is for opensensor 1.4 (i think) and it going to be completely left in the dust as soon as 2.0 comes around I think.
If you dare, you can follow my project here:
https://github.com/aaron832/Arduino/tree/raspberry-gateway-MQTT(Edit: See Newer Version Below)
Basically I took an updated Raspberry PI serial gateway and updated it to include MQTT.
Just run 'make' under libraries/MySensors and run libraries/MySensors/examples_RPi/PiGatewayMQTTI am currently looking at getting this stuff onto the develop branch so that it will be around with 2.0
-
RE: MySensors Raspberry port suggestions
FYI I had to ditch mongoose. It just wan't working properly. libmosquitto from http://mosquitto.org/ seems to work a lot better. Any idea about getting @marceloaqno 's branch merged into develop or vise versa? Would be nice to be working on 2.0
-
RE: MySensors Raspberry port suggestions
Just as an update, I have the MQTT version with mongoose mostly working. Thanks for that recommendation @marceloaqno. Still very much a work in progress. If anyone is interested in following, here is the link: https://github.com/aaron832/Arduino/tree/raspberry-gateway-MQTT/libraries/MySensors/examples_RPi
-
RE: MySensors Raspberry port suggestions
@marceloaqno Ha, Cool. Happy to hear you are looking at MQTT. I will keep a watch on your repository and will try experimenting with using mongoose as well.