rwblinn Geschrieben October 25, 2015 at 06:58 Share Geschrieben October 25, 2015 at 06:58 Hi, for the LCD20x4 how to control the 4 buttons using the MQTT Proxy, e.g. when pressing a Button an action is triggered using publish and how to subscribe. Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
photron Geschrieben October 26, 2015 at 19:11 Share Geschrieben October 26, 2015 at 19:11 It's a bit tricky. You could use the is_button_pressed() function to poll for button presses in the MQTT proxy. But it's easy to miss button presses this way. So you'd need to use the button_pressed and button_released callbacks. But currently there is no callback handling like this in the proxy. As an example, I've added a new button_pressed topic for the LCD Bricklets, that is fed via the button_pressed and button_released callbacks. Have a look at the latest Brick MQTT Proxy version on github. Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
rwblinn Geschrieben October 27, 2015 at 09:33 Autor Share Geschrieben October 27, 2015 at 09:33 Have tested and is working fine. Thanks. Consideration To check by the application which button is pressed, the JSON string is parsed. The keys checked are "0": ... "3":. The only caution is that the JSON string does not contain the word Button or LCD20x4, so in case "0": ... "3": are also used for other messages then a conflict is the result. Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
photron Geschrieben October 27, 2015 at 09:50 Share Geschrieben October 27, 2015 at 09:50 If you're subscribed to multiple topics at once and you want to distinguish the different messages, then you should due this based on their topic. Don't try to guess this based on the message content. The mosquitto_sub tool has a -v option that'll also output the topic the messages was received on. Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.