Пример #1
0
 def mqtt_post(httpClient, httpResponse):
     """
     Send test message to MQTT server
     """
     settings_dict = httpClient.ReadRequestContentAsJSON()
     test_msg = ujson.dumps({'test-message': 200})
     from mqtt_client import MQTT
     try:
         test_mqtt = MQTT(settings_dict)
         test_mqtt.publish(test_msg)
     except:
         httpResponse.WriteResponseInternalServerError()
     else:
         httpResponse.WriteResponseOk()
Пример #2
0
 def mqtt_post(httpClient, httpResponse):
     """
     Send test message to MQTT server
     """
     settings_dict = httpClient.ReadRequestContentAsJSON()
     test_msg = {'test-message': 200}
     str_data = ujson.dumps(test_msg)
     from mqtt_client import MQTT
     try:
         client = MQTT(settings_dict)
         client.publish(str_data)
     except:
         print('Failed to send the message to the MQTT broker.')
         httpResponse.WriteResponseInternalServerError()
     else:
         print('The test message has been sent successfully.')
         httpResponse.WriteResponseOk()
Пример #3
0
        plato = round((-1 * 616.868) + (1111.14 * gravity) -
                      (630.272 * gravity**2) + (135.997 * gravity**3), 1)

    if wifi.is_connected():
        # 5.1. Send Specific Gravity data & battery level by MQTT
        if send_data_to_mqtt:
            from mqtt_client import MQTT
            hydrometer_dict = {
                'temperature': temp,
                'sg': sg,
                'plato': plato,
                'battery': battery_voltage
            }
            mqtt_data = ujson.dumps(hydrometer_dict)
            client = MQTT(settings)
            client.publish(mqtt_data)
        # 5.2. Send Specific Gravity data & battery level to Fermenter ESP32 by HTTP
        else:
            machine_id = int.from_bytes(machine.unique_id(), 'big')
            hydrometer_dict = {
                'name': settings.get('apSsid'),
                'ID': machine_id,
                'temperature': temp,
                'angle': tilt,
                'battery': battery_voltage,
                'fahrenheit': round(temp * 1.8 + 32, 1),
                'currentGravity': sg,
                'currentPlato': plato,
                'batteryLevel': battery_percent,
                'updateIntervalMs': int(settings['deepSleepIntervalMs'])
            }