packages/fff: Add some mqtt packages #24
|
@ -17,8 +17,10 @@ define Package/fff-layer3
|
||||||
+fff-boardname \
|
+fff-boardname \
|
||||||
+fff-dhcp \
|
+fff-dhcp \
|
||||||
+fff-layer3-config \
|
+fff-layer3-config \
|
||||||
|
+fff-mqtt-monitoring \
|
||||||
+fff-network \
|
+fff-network \
|
||||||
+fff-ra \
|
+fff-ra \
|
||||||
|
+fff-web-mqtt \
|
||||||
+fff-wireguard \
|
+fff-wireguard \
|
||||||
+arptables \
|
+arptables \
|
||||||
+bmon \
|
+bmon \
|
||||||
|
|
35
src/packages/fff/fff-mqtt-monitoring/Makefile
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=fff-mqtt-monitoring
|
||||||
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
|
PKG_BUILD_DIR:=$(BUILD_DIR)/fff-mqtt-monitoring
|
||||||
ChristianD marked this conversation as resolved
Outdated
|
|||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
define Package/fff-mqtt-monitoring
|
||||||
|
SECTION:=base
|
||||||
|
CATEGORY:=Freifunk
|
||||||
|
TITLE:=Freifunk-Franken mqtt configuration
|
||||||
|
URL:=https://www.freifunk-franken.de
|
||||||
|
DEPENDS:= \
|
||||||
ChristianD marked this conversation as resolved
Outdated
ChristianD
commented
Absatz Absatz
|
|||||||
|
+alfred-json \
|
||||||
|
+fff-mqtt \
|
||||||
|
+micrond \
|
||||||
|
+fff-alfred
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/fff-mqtt-monitoring/description
|
||||||
|
This package send monitoring informations to
|
||||||
|
the mqtt broker
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/Compile
|
||||||
|
# nothing
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/fff-mqtt-monitoring/install
|
||||||
|
$(CP) ./files/* $(1)/
|
||||||
|
endef
|
||||||
|
|
||||||
ChristianD marked this conversation as resolved
Outdated
adschm
commented
Prepare und Configure können weg. Prepare und Configure können weg.
|
|||||||
|
$(eval $(call BuildPackage,fff-mqtt-monitoring))
|
|
@ -0,0 +1 @@
|
||||||
|
*/5 * * * * sleep $(/usr/bin/random 70 85); /usr/sbin/alfred-mqtt-proxy
|
||||||
ChristianD marked this conversation as resolved
Outdated
ChristianD
commented
Zeitverzögerung Zeitverzögerung
|
8
src/packages/fff/fff-mqtt-monitoring/files/usr/sbin/alfred-mqtt-proxy
Executable file
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/sh
|
||||||
ChristianD marked this conversation as resolved
Outdated
adschm
commented
reicht /bin/sh? reicht /bin/sh?
ChristianD
commented
getestet und reicht ;) getestet und reicht ;)
fbl
commented
Testen hilft hier nicht, da sowohl /bin/sh, als auch /bin/ash auf die busybox symlinkt, und die sich für sh und ash identisch verhält (afaik). Testen hilft hier nicht, da sowohl /bin/sh, als auch /bin/ash auf die busybox symlinkt, und die sich für sh und ash identisch verhält (afaik).
|
|||||||
|
MACADDR=$(cat /sys/class/net/br-client/address | /bin/sed 's/://g')
|
||||||
|
|
||||||
|
fetch_id="64"
|
||||||
|
if [ -n "$(uci -q get fff.mqtt.server)" ] ; then
|
||||||
McUles
commented
Publish an /monitoring/alfred/{MAC-ADRESS} schicken lassen. Publish an /monitoring/alfred/{MAC-ADRESS} schicken lassen.
ChristianD
commented
Ich finde Alfred beschreibt nicht den Aufbau des Datensatzes. Ich bin, wie im IRC bereits angemerkt, für durchversionieren: /monitoring/v1/{MAC-ADRESS} und wenn jemand eine bessere Struktur erfindet und einbaut, nutzt er einfach v2, wenns dann mal wieder was gibt v3 usw... Die MAC sollten wir auf jeden Fall mit ins Topic nehmen, dann kann man danach gut filtern beim lesen der Daten wenn man nach bestimmte Router sucht. Ich finde Alfred beschreibt nicht den Aufbau des Datensatzes. Ich bin, wie im IRC bereits angemerkt, für durchversionieren:
/monitoring/v1/{MAC-ADRESS}
und wenn jemand eine bessere Struktur erfindet und einbaut, nutzt er einfach v2, wenns dann mal wieder was gibt v3 usw...
Die MAC sollten wir auf jeden Fall mit ins Topic nehmen, dann kann man danach gut filtern beim lesen der Daten wenn man nach bestimmte Router sucht.
McUles
commented
Irgendwann hat dann aber keiner mehr den Durchblick welche Version für welches Format genutzt wird. Würde da schon sprechende Namen dafür nutzen wollen. Irgendwann hat dann aber keiner mehr den Durchblick welche Version für welches Format genutzt wird. Würde da schon sprechende Namen dafür nutzen wollen.
ChristianD
commented
Ich hab jetzt mal "v1" gemacht, wenn jemand noch einen besseren Vorschlag bringt der auch sinnvoll ist, hab ich kein Problem das nochmal zu ändern. "Alfred" halte ich aber generell für falsch und will ich nicht haben. Ich hab jetzt mal "v1" gemacht, wenn jemand noch einen besseren Vorschlag bringt der auch sinnvoll ist, hab ich kein Problem das nochmal zu ändern. "Alfred" halte ich aber generell für falsch und will ich nicht haben.
|
|||||||
|
mosquitto_pub -h "$(uci get fff.mqtt.server)" -p 1883 -t /monitoring/v1/$MACADDR -m "$(/bin/alfred-json -r "$fetch_id")"
|
||||||
|
fi
|
||||||
|
|
34
src/packages/fff/fff-mqtt/Makefile
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=fff-mqtt
|
||||||
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
|
PKG_BUILD_DIR:=$(BUILD_DIR)/fff-mqtt
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
define Package/fff-mqtt
|
||||||
|
SECTION:=base
|
||||||
|
CATEGORY:=Freifunk
|
||||||
|
TITLE:=Freifunk-Franken mqtt configuration
|
||||||
|
URL:=https://www.freifunk-franken.de
|
||||||
|
DEPENDS:= \
|
||||||
ChristianD marked this conversation as resolved
Outdated
ChristianD
commented
fehlt \ fehlt \
|
|||||||
|
+fff-config \
|
||||||
|
+libmosquitto-ssl \
|
||||||
|
+mosquitto-client-ssl \
|
||||||
|
+mosquitto-ssl
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/fff-mqtt/description
|
||||||
|
This package provides mosquitto and settings
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/Compile
|
||||||
|
# nothing
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/fff-mqtt/install
|
||||||
|
$(CP) ./files/* $(1)/
|
||||||
|
endef
|
||||||
ChristianD marked this conversation as resolved
Outdated
adschm
commented
Prepare und Configure weg. Prepare und Configure weg.
|
|||||||
|
|
||||||
|
$(eval $(call BuildPackage,fff-mqtt))
|
|
@ -0,0 +1,3 @@
|
||||||
|
uci set fff.mqtt=mqtt
|
||||||
|
|
||||||
|
exit 0
|
||||||
ChristianD marked this conversation as resolved
Outdated
adschm
commented
uci batch wegen einer Zeile ist irgendwie komisch, ich würde hier einfach
machen. Außer du hast vor, dass später noch zu erweitern. uci batch wegen einer Zeile ist irgendwie komisch, ich würde hier einfach
`uci set fff.mqtt=mqtt`
machen. Außer du hast vor, dass später noch zu erweitern.
|
32
src/packages/fff/fff-web-mqtt/Makefile
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=fff-web-mqtt
|
||||||
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
define Package/fff-web-mqtt
|
||||||
|
SECTION:=base
|
||||||
|
CATEGORY:=Freifunk
|
||||||
|
TITLE:=Freifunk-Franken mqtt config webui
|
||||||
|
URL:=http://www.freifunk-franken.de
|
||||||
|
DEPENDS:= \
|
||||||
|
+fff-mqtt \
|
||||||
|
+fff-web-ui
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/fff-web-mqtt/description
|
||||||
|
Configure mqtt via a web UI
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/Compile
|
||||||
|
# nothing
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/fff-web-mqtt/install
|
||||||
|
$(CP) ./files/* $(1)/
|
||||||
|
endef
|
||||||
ChristianD marked this conversation as resolved
Outdated
adschm
commented
Prepare und Configure weg. Prepare und Configure weg.
|
|||||||
|
|
||||||
|
$(eval $(call BuildPackage,fff-web-mqtt))
|
1
src/packages/fff/fff-web-mqtt/files/www/menu/ssl/17-mqtt
Normal file
|
@ -0,0 +1 @@
|
||||||
|
mqtt,MQTT-Einstellungen
|
26
src/packages/fff/fff-web-mqtt/files/www/ssl/cgi-bin/mqtt.html
Executable file
|
@ -0,0 +1,26 @@
|
||||||
|
#!/usr/bin/haserl
|
||||||
|
|
||||||
|
<%in /www/include/header %>
|
||||||
|
<%in /www/include/helpers %>
|
||||||
|
<% show_msg %>
|
||||||
|
|
||||||
|
<%
|
||||||
|
# write
|
||||||
|
if [ "$REQUEST_METHOD" = "POST" ] ; then
|
||||||
|
uci -q set "fff.mqtt.server=${POST_server}"
|
||||||
|
uci commit fff
|
||||||
|
fi
|
||||||
|
%>
|
||||||
|
|
||||||
|
<form method="post">
|
||||||
ChristianD marked this conversation as resolved
Outdated
adschm
commented
Eine Leerzeile reicht. Eine Leerzeile reicht.
|
|||||||
|
|
||||||
|
<fieldset style="min-height: 7em;" class="smallinput">
|
||||||
|
<legend>MQTT</legend>
|
||||||
|
<table>
|
||||||
|
<tr><th>Server:</th><td><input type="text" name="server" value="<%= $(uci -q get fff.mqtt.server) %>" /></td></tr>
|
||||||
|
</table>
|
||||||
|
</fieldset>
|
||||||
|
<input type="submit" style="margin-top: 5px; margin-left: 3px;" />
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<%in /www/include/footer %>
|
||||||
ChristianD marked this conversation as resolved
Outdated
adschm
commented
Hier könnte man überlegen, den uci get hier direkt reinzuschreiben, wenn man die Variable eh nur einmal braucht. Hängt von den Plänen für die Zukunft ab. Hier könnte man überlegen, den uci get hier direkt reinzuschreiben, wenn man die Variable eh nur einmal braucht. Hängt von den Plänen für die Zukunft ab.
ChristianD
commented
Ich denke ich mach es wie du sagst und wenn man es später dennoch mehrfach braucht, kann man das immer noch in diese Richtung wieder umbauen. Ganz sicher bin ich mir nicht ob und wann da noch was kommt wo man diese Variable vllt. nochmal benötigt. Ich denke ich mach es wie du sagst und wenn man es später dennoch mehrfach braucht, kann man das immer noch in diese Richtung wieder umbauen. Ganz sicher bin ich mir nicht ob und wann da noch was kommt wo man diese Variable vllt. nochmal benötigt.
|
Auch hier kann PKG_BUILD_DIR bei allen drei Packages weg, siehe #25