mqtt stuff 4
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful

This commit is contained in:
2024-01-14 15:03:26 +01:00
parent dd394877f3
commit 0215d2efd1
4 changed files with 11 additions and 7 deletions

View File

@ -25,7 +25,7 @@ spec:
- name: MQTT_BROKER - name: MQTT_BROKER
value: mqtt://emqx01-anonymous-cluster-internal.broker.svc.cluster.local:1883 value: mqtt://emqx01-anonymous-cluster-internal.broker.svc.cluster.local:1883
- name: MQTT_TOPIC - name: MQTT_TOPIC
value: Locative/Event value: locative/event
ports: ports:
- containerPort: 8080 - containerPort: 8080
protocol: TCP protocol: TCP

View File

@ -24,7 +24,7 @@ func New() *DatabaseHandle {
} else { } else {
db.dbh = conn db.dbh = conn
db.initialized = true db.initialized = true
//log.Println("Database connection opened") log.Println("Database connection opened")
} }
return &db return &db
} }

View File

@ -35,7 +35,6 @@ type locativeEvent struct {
func main() { func main() {
router := gin.Default() router := gin.Default()
ch := make(chan locativeEvent) ch := make(chan locativeEvent)
dbh := database.New() dbh := database.New()
mqtt := mqtt.New() mqtt := mqtt.New()
@ -56,7 +55,10 @@ func main() {
log.Printf("Unable to marshal event: %v", err2) log.Printf("Unable to marshal event: %v", err2)
} else { } else {
log.Printf("Message: %s", message) log.Printf("Message: %s", message)
mqtt.Publish(string(message)) err := mqtt.Publish(person, string(message))
if err != nil {
log.Printf("Failed to publish: %v", err)
}
} }
} }
} }

View File

@ -31,19 +31,21 @@ func New() *MqttHandle {
} }
mqttHandle.pubTopic = os.Getenv("MQTT_TOPIC") mqttHandle.pubTopic = os.Getenv("MQTT_TOPIC")
if mqttHandle.pubTopic != "" { if mqttHandle.pubTopic == "" {
log.Printf("No topic set") log.Printf("No topic set")
mqttHandle.initialized = false mqttHandle.initialized = false
} }
log.Printf("MQTT connection established")
return &mqttHandle return &mqttHandle
} }
func (self *MqttHandle) Publish(message string) error { func (self *MqttHandle) Publish(topicPost string, message string) error {
if ! self.initialized { if ! self.initialized {
return fmt.Errorf("MQTT connection not initialized") return fmt.Errorf("MQTT connection not initialized")
} }
token := self.client.Publish(self.pubTopic, 0, false, message) topic := fmt.Sprintf("%s/%s", self.pubTopic, topicPost)
token := self.client.Publish(topic, 0, false, message)
token.Wait() token.Wait()
if token.Error() != nil { if token.Error() != nil {
return fmt.Errorf("MQTT publish failed: %v", token.Error()) return fmt.Errorf("MQTT publish failed: %v", token.Error())