Commit 6c0a8d47 by rakesh.pv

complted task

parents
# Default ignored files
/shelf/
/workspace.xml
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="PyPep8NamingInspection" enabled="true" level="WEAK WARNING" enabled_by_default="true">
<option name="ignoredErrors">
<list>
<option value="N802" />
<option value="N806" />
<option value="N801" />
</list>
</option>
</inspection_tool>
</profile>
</component>
\ No newline at end of file
<component name="InspectionProjectProfileManager">
<settings>
<option name="USE_PROJECT_PROFILE" value="false" />
<version value="1.0" />
</settings>
</component>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.11 (mqtt_time_interval)" project-jdk-type="Python SDK" />
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/mqtt_time_interval.iml" filepath="$PROJECT_DIR$/.idea/mqtt_time_interval.iml" />
</modules>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>
\ No newline at end of file
[mqtt]
broker = 192.168.0.220
port_mqtt = 1883
[redis]
redis_host = 127.0.0.1
redis_database_zero = 0
redis_database_one = 1
redis_database_two = 2
redis_port = 6379
from scripts.core.services.app import index
if __name__ == "__main__":
index()
from configparser import ConfigParser
# need to change this currently using direclty from redis connection
try:
config = ConfigParser()
config.read(r'conf/application.conf')
# redis connection
redis_host = config.get('redis', 'redis_host')
redis_port = config.get('redis', 'redis_port')
redis_database_zero = config.get('redis', 'redis_database_zero')
redis_database_one = config.get('redis', 'redis_database_one')
redis_database_two = config.get('redis', 'redis_database_two')
print("Postgres success!")
except Exception as e:
print("Exception occurred due to >> ", e)
import json
import paho.mqtt.client as mqtt
mqtt_client = mqtt.Client()
mqtt_client.connect("192.168.0.220", 1883, 60)
def on_message(client, userdata, message):
patient_details = json.loads(message.payload.decode())
topic = message.topic
print("Connected to " + topic)
print("Waiting for messages")
topic = f"data"
mqtt_client.subscribe(topic)
mqtt_client.on_message = on_message
mqtt_client.message_callback_add(topic, on_message)
mqtt_client.loop_forever()
import paho.mqtt.client as mqtt
import json
import time
import random
from scripts.database.redis.redis_connection import r, r1, r2
broker_address = "192.168.0.220"
broker_port = 1883
client = mqtt.Client()
client.connect(broker_address, broker_port)
# Define a function to consume data from MQTT and store it in Redis
def consume_data(message):
data = json.loads(message)
print(" the recived data is ", data)
data_quality = data["data_quality"]
data_site = data["site"]
print(" data quality for above is ", data_quality, " data site from which data reciver is ", data_site)
if data_quality == 0:
r.set(data_site, json.dumps(data))
elif data_quality == 1:
r1.set(data_site, json.dumps(data))
elif data_quality == 2:
r2.set(data_site, json.dumps(data))
def publish_data(site_name, data_quality):
# Generate random data
data = {"PHIO": random.randint(1, 100), "PM10": random.randint(1, 100), "PM25": random.randint(1, 100),
"SO2": random.randint(1, 100), "NO2": random.randint(1, 100), "site": site_name,
"data_quality": data_quality}
data_json = json.dumps(data)
topic = f"data"
client.publish(topic, data_json)
# Set up the MQTT message handler
client.on_message = consume_data(data_json)
client.subscribe("#")
client.loop_start()
while True:
# publish_data("site100", 0)
# publish_data("site200", 1)
# publish_data("site300", 2)
publish_data(random.randint(1, 100), 0)
publish_data(random.randint(101, 200), 1)
publish_data(random.randint(201, 300), 2)
time.sleep(10)
from scripts.core.handlers.publish import publish_data
def index():
print(" program started now\n")
publish_data()
import redis
try:
r = redis.StrictRedis(host="127.0.0.1", port=6379, db=0)
r1 = redis.StrictRedis(host="127.0.0.1", port=6379, db=1)
r2 = redis.StrictRedis(host="127.0.0.1", port=6379, db=2)
except Exception as e:
print("Exception occurred due to \"", e, "\"")
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment