Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [mosquitto-dev] MQTT-based voltage sensor
  • From: Josef Möllers <josef.moellers@xxxxxx>
  • Date: Fri, 16 Oct 2020 08:55:40 +0200
  • Autocrypt: addr=josef.moellers@xxxxxx; keydata= xsFNBFZCOZIBEADO1jj3wmrKqK9Cek53m91rmD6X7YT3z9ejhc09DkR5WSItF87UdhrMAZqe 9EhAdYyuJX5Bwb43ZjVU4wg5O7A3aakc1Nsijt7ka1+siWyM7KLkWUG2pahyAldOh2WtnEgY HQjnXM/eq9RCDR5wh0fAFGLuzpTgeBs8IzvUnz7q33eUcwDYByzBQES0nk2tbsXsk1Fd/HGu z9rJOgDdwdZL0JMPfFEykgySVjGBFSdrDCSR1aGmWCS0SSTL+1FKhsFbUGM1+guv/Mw2JauT iaJkedUSFToCIZPny2dcaHm8LG8rFe/im0wpaPtdI3c2Tf1QUh0mWXAwSUEiH+tGabhuLNzA L49cVb4GuITUb2mI5XlmTFwV+TihDumJ+bgus7goDVqY94UGIq3kWa8SwRFqnE+1onfaRBAZ hcB+zy5y9lyWM5ZSPUkeiecfzG7PylFYUxUWsWrJKj587MwUj2Fe4SYi9OinakBWiMxSvp6n BO6YHjWk1sEALYHNRKElQWv75ddOwt020v3beZwnlZC/SNBf9znsgdWAUnnIHHOdJk9b7Lc1 FnBCqzg14659lqa96HKJKlUCiW6jBqV4b8+2Ou8IbCHq9lQhmlYL+dibIJ5lgxkjqZl4nFHI TTnjLntNdNVqxRKKJoVq2VVVg9Wve2WnYVjpUFqUpvrjAybeeQARAQABzTRKb3NlZiBNw7Zs bGVycyAoU3VTRSBMaW51eCBHbWJIKSA8am1vZWxsZXJzQHN1c2UuZGU+wsF3BBMBAgAhBQJX fgpsAhsDBgsJCAcDAgYVCAIJCgsDFgIBAh4BAheAAAoJEI6bsj2ds39FA/MQAL07dd604Dp1 gJsW8fKOku574PwdNhnLslXPfSf2QNmE6UCC8OH7hhPjeooz816B++PdSqHc+NpK3qAsSEv4 FdUWc3oj9Mw4EE3JPlBXUzh8iNF2LQAaSavvr9h4twDJFfVjAg7Vc3zlwHcVyW0Tl/uIyjYq 9oaTtaBC53OJ+dK1D26iJRs63jVCMGP7LSuCN1UBYvgXQ1v96RdppFKz2CjxV6XJIP62BZMs uz+W+OQ6m/8026032jDLJUy22Nmy1yjjZ2mYGuRTuOr1PFANEqZCV1DZNhCX/01OwXPWXV1S 4q76k9YPMIQt+w5iHOritQG+LlnlCBHkTDkV7oteSRe2gRILYkYckx5PUilDY7ynvil132ri SqzQdfNMjbOZ/eSJAlEdwbblQormXGDxEPPDIbsSa+NvBeXVtV1PnkY96ClC7yg0LPV+h9NP czusRgOD6yrVDnrS7nnsLrMm9+EMbj0x880HREWOxV5GxmC3Kniu+1EX3rmxVb1ryEDj8zKB fOi46KVuAdpJgBpTS7+IRgsPy5P6nrwyspNvbupqnXs6dSCFmJafZhg2271WS3d9JiqKVhef bo+aLxzo4y8H4VuUxTGlpuSp0sJbMhwSZiaTYM82UoxTpNbLqE7ZxpJHuWMJQ2r6ZAserpm/ K7Ul4OD+gxZyDJjn+sl4rfsmzsFNBFZCOZIBEADMafXvXbJbdL8Yacs/Nco7zWslxUx6qWm6 Qh2OXmApaLCkEc81ELzY4qzPItisMvgPGGDS6FTWS+tQTdKvSsT3vak5xnPP06K+hhZBuEDq ioR30UVyNh52Iu8xSJ2Uf1Y05wInjHx8a7u432E2wbhTaQyIP/dmXfnW7LXyR+RaVLl9HKgI aAZICfC7woTnJIA6o3cG+Ct9zgRMFd/VthIDEXmhZGXrHv/nmG36vcX0Uy5dVEauOCh2twTW NI10Ut7keZ/lPM+2qw4PUiYKj84U2r/V8wVzPpMt7JksXS2me498EXnjXGxjZfpS0YYCjnfC PGAdTxqBQhBZCIz2HfuAZ8OAp7t7BQgbJHPkEWUqdZBjhYglv7MJVPm1uDIHWu6X6QXUCgov ZmAVYvE6jZgsYNDWFUO2dRpqMnKg+6KSaisDdswsvEs0P9n+0cHzdb++j+jnH+3HY5a6787e Zwl8IIBy4loh7G18vR4nHYJsfGzkGIBWmq5aoq1SCSbiChpaNnS0Z9ZW81p/ny4yLyuPEguF ncPZDEHV15h0oyM6dWLA/zRJvTLtfIeXpPlYccceUp2gTAWWjYitjAqRTmuv2O0eJImxNWf6 rw5LrS2/wHuI6oEvDW0I1J40osLRiY6ehESOh/El/OxxQpO03yqEzrvMccsWwxcIhWZHrYSZ 3QARAQABwsFfBBgBAgAJBQJWQjmSAhsMAAoJEI6bsj2ds39F49gQAMJojFSCd6fglZNxjo5p G3dIiv4CkEYA6zt3rg1BtGuWRQVgUaUtXR2uuU0rJu7fqESq0XWM/FPB5H/9y6QiuADj0lvx 2OrbvFssvh+KEqmLF6QkrBHPv+IxjY2G74W8F+et2MpmQW3ZD33IbdJ1EP2hzDCuKtQs4G6F 36P/nMX1BqsgdLa6O9BC72Q9zJ5ETA0SEG0EfLAPXlkyxL2Kjih1zhhxr93V/Z+ukZIAjNi+ QAJzYAAxrZxtj1EjD+vrA+xm73fqtkGPgDNKHzDQoVL7LNf/vxmU9qaf/bnntGWPp4vKxJVI aw94lCGl/qtrkeG/Af99Wtczj1aPpIMwa4QOvvueawSvYMYovucIrwXXf57BxaupdjbR/vNK KPz8IlWVD/j/XFunE/7iURHBLg9T5Mf+M4/10bwcXYvtGrEI4sSVOSQ34/J4lsxws8E3Eons KQ4YGAdMTOptSRVoxYnkoP6XalVqLFMtStiaB3uzZ8Or7rpYwLpC3C1O3VwZxhMjStLwMYS1 XK6J9/LBjePden0V7yWf/LoNLkckr+dWFM1sNrvtzEEIaPyGBcWN1hcjZ4G5kRtQOGcT25hC GZlG7IYZZyyCqlDFPz46QyR6ThjBgvQT3ggoojWHNYtGrIgD5D2+zQBskSe/GpXjPahdeOSK 7kADtm+NISzmmhDK
  • Delivered-to: mosquitto-dev@xxxxxxxxxxx
  • List-archive: <https://www.eclipse.org/mailman/private/mosquitto-dev>
  • List-help: <mailto:mosquitto-dev-request@eclipse.org?subject=help>
  • List-subscribe: <https://www.eclipse.org/mailman/listinfo/mosquitto-dev>, <mailto:mosquitto-dev-request@eclipse.org?subject=subscribe>
  • List-unsubscribe: <https://www.eclipse.org/mailman/options/mosquitto-dev>, <mailto:mosquitto-dev-request@eclipse.org?subject=unsubscribe>
  • User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0

On 16.10.20 00:33, mohamed Abdulmajid wrote:
hello everyone ,
i'm working on a voltage sensor that reads the input voltage and sends it through MQTT to a mobile application . i need help in the part of the code that is related to publishing the readings to the mqtt broker . 
this is my code : 

That was an awful lot of code and it reached my site not properly formatted:

client.begin(mqtt_server, atoi(mqtt_port), net);

Also, I'm not sure if I understand the idea of setting up an HTTP server to publish MQTT topics.

My code just does this at a fairly low level:

1) set up parameters required like broker IP, broker port, broker username, broker password

2) make a measurement

3) mosquitto_lib_init();

4) mosq = mosquitto_new(client_id, true, NULL);

5) mosquitto_publish_callback_set(mosq, my_publish_callback);    // my_publish_callback just does "outstanding--;"

6) mosquitto_username_pw_set(mosq, username, password)

7) mosquitto_reconnect_delay_set(mosq, 5, 60, 1);

8) mosquitto_connect(mosq, host, port, 60)

9)  mosquitto_publish(mosq, NULL, topic, strlen(m->value), m->value, 1, 1); outstanding++;

10) while (outstanding > 0) mosquitto_loop(mosq, -1, 1);

11) mosquitto_disconnect(mosq);

12) mosquitto_destroy(mosq);

Please read up on the functions in the manual pages.

I usually wrap this into one MQTT-specific source file with another source file containing the sensor-specific code which returns a GList (*) of measurements to publish. I have attached the sources (hehe maybe somebody will point at bugs to me ;-) ). So when I need an MQTT publisher for a new sensor, I just write the new sensor-specific code and be done with it.

Josef

(*)https://developer.gnome.org/glib/stable/glib-Doubly-Linked-Lists.html

Attachment: HTU21D.tgz
Description: application/compressed-tar


Back to the top