Files
iot-architeture/mqtt

35 lines
927 B
Plaintext
Raw Permalink Normal View History

2022-11-06 02:28:14 +02:00
#!/usr/bin/env python
import requests, sys
import paho.mqtt.publish as publish
#print(sys.argv[1])
res = requests.get('http://ipwho.is/'+ sys.argv[1]).json()
# print(res)
print(res['ip'])
print(res['latitude'])
print(res['longitude'])
msgs = [ {"topic": "name", "payload": res['ip'] },
{"topic": "lat", "payload": res['latitude'] },
{"topic": "lon", "payload": res['longitude'] } ]
print(msgs)
publish.multiple(msgs, hostname="mqtt.33co.de", port=8883, tls={'ca_certs':"/etc/ssl/certs/ca-certificates.crt"})
# in case of problem check SELinux
# many t=runs to release ports, access
# audit2allow -w -a
# audit2allow -a
# audit2allow -a -M fail2ban_t
# semodule -i fail2ban_t.pp
# or just run setsebool 0
# to get the location curl http://ipwho.is/197.26.19.254
# curl http://ipwho.is/197.26.19.254 | jq -r '.latitude, .longitude'
# guide to create custom action
# https://webcp.io/custom-fail2ban-action/