Man page - mqtt-publisher(1)
Packages contas this manual
- sim-torch(1)
- latency-plot(1)
- gladevcp(1)
- tool_watch(1)
- enum(9)
- puma560gui(1)
- bitslice(9)
- halmeter(1)
- differential(9)
- hm2_pci(9)
- tpcomp(9)
- schedrmt(1)
- hal_parport(9)
- mdi(1)
- estop_latch(9)
- halscope(1)
- halreport(1)
- 5axisgui(1)
- conv_bit_float(9)
- tool_mmap_read(1)
- joyhandle(9)
- comp(9)
- touchy(1)
- debounce(9)
- ohmic(9)
- linuxcncmkdesktop(1)
- xhc-hb04(1)
- vfs11_vfd(1)
- emccalib(1)
- streamer(9)
- edge(9)
- motion-logger(1)
- gremlin_view(1)
- halshow(1)
- gantrykins(9)
- moveoff_gui(1)
- charge_pump(9)
- wcomp(9)
- corexy_by_hal(9)
- spindle_monitor(9)
- limit1(9)
- eoffset_per_angle(9)
- biquad(9)
- scarakins(9)
- qtvcp(1)
- motion(9)
- watchdog(9)
- linuxcnc_module_helper(1)
- axis(9)
- conv_s32_u32(9)
- max5gui(1)
- sim_home_switch(9)
- bin2gray(9)
- trivkins(9)
- halcmd_twopass(1)
- clarkeinv(9)
- clarke2(9)
- toggle2nist(9)
- tristate_bit(9)
- tof(9)
- latency-test(1)
- filter_kalman(9)
- limit_axis(9)
- thermistor(1)
- mdro(1)
- sphereprobe(9)
- multiswitch(9)
- constant(9)
- mux16(9)
- pyngcgui(1)
- conv_bit_u32(9)
- knob2float(9)
- hm2_eth(9)
- tripodkins(9)
- encoder_ratio(9)
- elbpcom(1)
- lut5(9)
- tooledit(1)
- mux_generic(9)
- inivar(1)
- hal_input(1)
- oneshot(9)
- rotatekins(9)
- hm2_7i43(9)
- qtplasmac_gcode(1)
- conv_u32_float(9)
- pumakins(9)
- melfagui(1)
- flipflop(9)
- ddt(9)
- hostmot2(9)
- histobins(9)
- matrix_kb(9)
- qtplasmac-cfg2prefs(1)
- threads(9)
- clarke3(9)
- io(1)
- plasmac(9)
- pumagui(1)
- scorbot-er-3(1)
- hm2_7i90(9)
- rs274(1)
- conv_u32_s32(9)
- gs2_vfd(1)
- hal-histogram(1)
- xhc_hb04_util(9)
- sample_hold(9)
- simple_tp(9)
- linuxcnc_info(1)
- blend(9)
- scaled_s32_sums(9)
- lincurve(9)
- max31855(9)
- rotarydelta(1)
- linuxcnctop(1)
- millturn(1)
- thc(9)
- shuttle(1)
- spindle(9)
- multiclick(9)
- pmx485(1)
- abs_s32(9)
- ton(9)
- steptest(9)
- gladevcp(9)
- stepgen(9)
- pyui(1)
- sim_matrix_kb(9)
- halsampler(1)
- sampler(9)
- lowpass(9)
- gladevcp_demo(1)
- tristate_float(9)
- update_ini(1)
- near(9)
- linuxcncsvr(1)
- and2(9)
- demux(9)
- opto_ac5(9)
- pentakins(9)
- logic(9)
- select8(9)
- teach-in(1)
- dbounce(9)
- hm2_rpspi(9)
- encoder(9)
- pmx485-test(1)
- mult2(9)
- linuxcnclcd(1)
- tp(9)
- feedcomp(9)
- latency-histogram(1)
- iov2(1)
- pwmgen(9)
- kins(9)
- hexagui(1)
- linuxcncrsh(1)
- limit3(9)
- monitor-xhc-hb04(1)
- linuxcnc(1)
- millturn(9)
- axistest(9)
- gantry(9)
- qtplasmac-materials(1)
- image-to-gcode(1)
- hbmgui(1)
- gmoccapy(1)
- sim_pin(1)
- thcud(9)
- or2(9)
- conv_float_s32(9)
- timedelay(9)
- sum2(9)
- xyzab-tdr-gui(1)
- xhc-whb04b-6(1)
- sim_parport(9)
- setup_designer(1)
- pid(9)
- weighted_sum(9)
- ilowpass(9)
- mesa_7i65(9)
- counter(9)
- message(9)
- wj200_vfd(1)
- serport(9)
- scale(9)
- threadtest(9)
- mux4(9)
- xyzbc-trt-gui(1)
- pyvcp_demo(1)
- mux8(9)
- userkins(9)
- siggen(9)
- qtplasmac-plasmac2qt(1)
- ngcgui(1)
- pncconf(1)
- setsserial(9)
- xyzac-trt-gui(1)
- offset(9)
- mesa_uart(9)
- bitwise(9)
- conv_bit_s32(9)
- match8(9)
- abs(9)
- minmax(9)
- milltask(1)
- xyzab_tdr_kins(9)
- timedelta(9)
- lineardeltakins(9)
- toggle(9)
- simulate_probe(1)
- hm2_spi(9)
- rtapi_app(1)
- limit2(9)
- conv_s32_float(9)
- halstreamer(1)
- sim_encoder(9)
- updown(9)
- conv_u32_bit(9)
- hal_bb_gpio(9)
- hy_gt_vfd(1)
- halui(1)
- xhc-hb04-accels(1)
- pyvcp(1)
- axis(1)
- integ(9)
- halrmt(1)
- sserial(9)
- qtplasmac-setup(1)
- time(9)
- latencybins(9)
- mitsub_vfd(1)
- haltcl(1)
- vfdb_vfd(1)
- at_pid(9)
- classicladder(9)
- mb2hal(1)
- bldc(9)
- modcompile(1)
- panelui(1)
- mqtt-publisher(1)
- axis-remote(1)
- sim_axis_hardware(9)
- svd-ps_vfd(1)
- gentrivkins(9)
- conv_s32_bit(9)
- maj3(9)
- hm2_spix(9)
- lcd(9)
- orient(9)
- debuglevel(1)
- stepconf(1)
- conv_float_u32(9)
- supply(9)
- deadzone(9)
- anglejog(9)
- halcmd(1)
- moveoff(9)
- pi500_vfd(1)
- homecomp(9)
- maxkins(9)
- div2(9)
- scaragui(1)
- hal_manualtoolchange(1)
- mux2(9)
- halrun(1)
- genserkins(9)
- gearchange(9)
- sim_spindle(9)
- genhexkins(9)
- linuxcnc_var(1)
- carousel(9)
- gscreen(1)
- mesa_pktgyro_test(9)
- hypot(9)
- maho600gui(1)
- xor2(9)
- rosekins(9)
- iocontrol(1)
- invert(9)
- sendkeys(1)
- lineardelta(1)
- not(9)
- hy_vfd(1)
- gray2bin(9)
apt-get install linuxcnc-uspace
Manual
| MQTT-PUBLISHER(1) | LinuxCNC Documentation | MQTT-PUBLISHER(1) |
NAME
mqtt-publisher - send HAL pin data to MQTT broker periodically
SYNOPSIS
loadusr -W mqtt-publisher [options] keys=pin1[,pin2...]
DESCRIPTION
mqtt-publisher is a non-realtime program that reads HAL values periodically and passes the values to a MQTT broker.
When specifying the MQTT settings in the INI file, this is the recommended setup:
HAL file:
loadusr -W mqtt-publisher [MQTT]DRYRUN --mqtt-broker=[MQTT]BROKER \
--mqtt-user=[MQTT]USERNAME --mqtt-password=[MQTT]PASSWORD keys=halui.estop.is-activated
INI file:
[MQTT] DRYRUN = --dryrun BROKER = broker.local USERNAME = username PASSWORD = password
This component need the Paho python library installed to function. On debian this is available from the python3-paho-mqtt package.
OPTIONS
keys=pin1[,pin2,...]
--dryrun
--mqtt-broker=FQDN
--mqtt-port=PORTNUMBER
--mqtt-user=USERNAME
--mqtt-password=PASSWORD
--mqtt-prefix=PREFIX
FUNCTIONS
mqtt-publisher
PINS
mqtt-publisher.enable bit input
mqtt-publisher.period u32 input
mqtt-publisher.lastpublish u32 output
EXAMPLES
Any set of HAL pins and signals can be published. This setup might be a useful starting point:
loadusr -W mqtt-publisher \
[MQTT]DRYRUN \
--mqtt-broker=[MQTT]BROKER
--mqtt-user=[MQTT]USERNAME \
--mqtt-password=[MQTT]PASSWORD \
keys=halui.axis.a.pos-feedback,halui.axis.b.pos-feedback,\ halui.axis.c.pos-feedback,halui.axis.u.pos-feedback,\ halui.axis.v.pos-feedback,halui.axis.w.pos-feedback,\ halui.axis.x.pos-feedback,halui.axis.y.pos-feedback,\ halui.axis.z.pos-feedback \
keys=halui.estop.is-activated, halui.joint.0.is-homed,\ halui.joint.1.is-homed,halui.joint.2.is-homed,halui.joint.3.is-homed,\ halui.joint.4.is-homed,halui.joint.5.is-homed,halui.joint.6.is-homed,\ halui.joint.7.is-homed,halui.joint.8.is-homed \
keys=halui.machine.is-on,halui.max-velocity.value,halui.mode.is-auto, halui.mode.is-manual,halui.mode.is-mdi,halui.mode.is-teleop, halui.program.is-running
Note: It is recommended to use the line continuation character "\" as shown here to improve readability. But note that spaces must be left in to delimit options, and must not be included (including at the beginning of a line) inside a single option.
HAL limits a single option/token (for example "keys=") to 255 characters. To work around this issue use multiple "keys=" entries as shown.
SEE ALSO
hal(3hal)
AUTHOR
Component and documentation created by Petter Reinholdtsen, as part of the LinuxCNC project.
COPYRIGHT
Copyright © 2023 Petter Reinholdtsen. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
| 12/31/2025 | LinuxCNC |