Commit message
This commit is contained in:
parent
8510d04753
commit
3bb08fbd7b
Binary file not shown.
|
@ -7,5 +7,5 @@ spec:
|
||||||
virtualEnv: base # 사용할 가상환경 이름입니다.
|
virtualEnv: base # 사용할 가상환경 이름입니다.
|
||||||
package: requirements.txt # 설치할 Python 패키지 정보 파일입니다.(기본 값은 requirement.txt 입니다.)
|
package: requirements.txt # 설치할 Python 패키지 정보 파일입니다.(기본 값은 requirement.txt 입니다.)
|
||||||
stackbase:
|
stackbase:
|
||||||
tagName: v0.0.5 # Stackbase(gitea)에 릴리즈 태그명 입니다.
|
tagName: v0.0.6 # Stackbase(gitea)에 릴리즈 태그명 입니다.
|
||||||
repoName: sampyo-dio # Stackbase(gitea)에 저장될 저장소 이릅니다.
|
repoName: sampyo-dio # Stackbase(gitea)에 저장될 저장소 이릅니다.
|
||||||
|
|
|
@ -5,7 +5,7 @@ spec:
|
||||||
env:
|
env:
|
||||||
bin: python3 # 앱을 실행할 바이너라 파일 종류입니다.(장비에 따라 다르므로 확인 후 정의해야 합니다.)
|
bin: python3 # 앱을 실행할 바이너라 파일 종류입니다.(장비에 따라 다르므로 확인 후 정의해야 합니다.)
|
||||||
virtualEnv: base # 사용할 가상환경 이름입니다.
|
virtualEnv: base # 사용할 가상환경 이름입니다.
|
||||||
package: requirement.txt # 설치할 Python 패키지 정보 파일입니다.(기본 값은 requirement.txt 입니다.)
|
package: requirements.txt # 설치할 Python 패키지 정보 파일입니다.(기본 값은 requirement.txt 입니다.)
|
||||||
stackbase:
|
stackbase:
|
||||||
tagName: v0.0.1 # Stackbase(gitea)에 릴리즈 태그명 입니다.
|
tagName: v0.0.5 # Stackbase(gitea)에 릴리즈 태그명 입니다.
|
||||||
repoName: sampyo-dio # Stackbase(gitea)에 저장될 저장소 이릅니다.
|
repoName: sampyo-dio # Stackbase(gitea)에 저장될 저장소 이릅니다.
|
||||||
|
|
62
main.py
62
main.py
|
@ -136,48 +136,7 @@ def Command_Read():
|
||||||
if cmd['device']['setzero']['action'] == 'On':
|
if cmd['device']['setzero']['action'] == 'On':
|
||||||
Set_Zero(client=client)
|
Set_Zero(client=client)
|
||||||
|
|
||||||
def connectMQTT(clientID, projectCode):
|
def runAction():
|
||||||
CLIENT_ID = clientID
|
|
||||||
ENDPOINT = "avk03ee629rck-ats.iot.ap-northeast-2.amazonaws.com"
|
|
||||||
PATH_TO_CERTIFICATE = f"/etc/sdt/cert/{projectCode}-certificate.pem"
|
|
||||||
PATH_TO_PRIVATE_KEY = f"/etc/sdt/cert/{projectCode}-private.pem"
|
|
||||||
PATH_TO_AMAZON_ROOT_CA_1 = f"/etc/sdt/cert/AmazonRootCA1.pem"
|
|
||||||
|
|
||||||
myAWSIoTMQTTClient = AWSIoTPyMQTT.AWSIoTMQTTClient(CLIENT_ID)
|
|
||||||
myAWSIoTMQTTClient.configureEndpoint(ENDPOINT, 8883)
|
|
||||||
myAWSIoTMQTTClient.configureCredentials(PATH_TO_AMAZON_ROOT_CA_1, PATH_TO_PRIVATE_KEY, PATH_TO_CERTIFICATE)
|
|
||||||
|
|
||||||
myAWSIoTMQTTClient.configureMQTTOperationTimeout(5)
|
|
||||||
myAWSIoTMQTTClient.configureConnectDisconnectTimeout(10)
|
|
||||||
myAWSIoTMQTTClient.configureOfflinePublishQueueing(-1) # Infinite offline Publish queueing
|
|
||||||
myAWSIoTMQTTClient.configureDrainingFrequency(2) # Draining: 2 Hz
|
|
||||||
|
|
||||||
return myAWSIoTMQTTClient
|
|
||||||
|
|
||||||
def publishMsg(mqttClient, topic, msg):
|
|
||||||
while True:
|
|
||||||
try:
|
|
||||||
mqttClient.connect()
|
|
||||||
break
|
|
||||||
except Exception as e:
|
|
||||||
print(f'Connection Fail: {e}')
|
|
||||||
continue
|
|
||||||
|
|
||||||
msg['timestamp'] = int(time.time() * 1000)
|
|
||||||
|
|
||||||
# Publish message to server desired number of times.
|
|
||||||
# print('Begin Publish')
|
|
||||||
mqttClient.publish(topic=topic, payload=json.dumps(msg), QoS=1)
|
|
||||||
|
|
||||||
while True:
|
|
||||||
try:
|
|
||||||
mqttClient.disconnect()
|
|
||||||
break
|
|
||||||
except Exception as e:
|
|
||||||
print(f'Disconnection Fail: {e}')
|
|
||||||
continue
|
|
||||||
|
|
||||||
def runAction(projectCode, assetCode, con_info):
|
|
||||||
# Write the app's actions in the "runAction" function.
|
# Write the app's actions in the "runAction" function.
|
||||||
|
|
||||||
# Connect MQTT Broker
|
# Connect MQTT Broker
|
||||||
|
@ -193,12 +152,6 @@ def runAction(projectCode, assetCode, con_info):
|
||||||
mqttClient3 = sdtcloud.setClient(f"device-app-3{uuid.uuid1()}") # parameter is client ID(string)
|
mqttClient3 = sdtcloud.setClient(f"device-app-3{uuid.uuid1()}") # parameter is client ID(string)
|
||||||
mqttClient4 = sdtcloud.setClient(f"device-app-4{uuid.uuid1()}") # parameter is client ID(string)
|
mqttClient4 = sdtcloud.setClient(f"device-app-4{uuid.uuid1()}") # parameter is client ID(string)
|
||||||
mqttClient5 = sdtcloud.setClient(f"device-app-5{uuid.uuid1()}") # parameter is client ID(string)
|
mqttClient5 = sdtcloud.setClient(f"device-app-5{uuid.uuid1()}") # parameter is client ID(string)
|
||||||
|
|
||||||
# mqttClient1 = connectMQTT("device-app-test1", projectCode)
|
|
||||||
# mqttClient2 = connectMQTT("device-app-test2", projectCode)
|
|
||||||
# mqttClient3 = connectMQTT("device-app-test3", projectCode)
|
|
||||||
# mqttClient4 = connectMQTT("device-app-test4", projectCode)
|
|
||||||
# mqttClient5 = connectMQTT("device-app-test5", projectCode)
|
|
||||||
mqttlist = [mqttClient1, mqttClient2, mqttClient3, mqttClient4, mqttClient5]
|
mqttlist = [mqttClient1, mqttClient2, mqttClient3, mqttClient4, mqttClient5]
|
||||||
|
|
||||||
# If you have config's value, please make config.json file.
|
# If you have config's value, please make config.json file.
|
||||||
|
@ -207,12 +160,11 @@ def runAction(projectCode, assetCode, con_info):
|
||||||
# - You may need it to create a topic.
|
# - You may need it to create a topic.
|
||||||
|
|
||||||
|
|
||||||
topic = f"sdtcloud/{projectCode}/{assetCode}/app/{con_info['appId']}/data"
|
|
||||||
|
|
||||||
cnt = 0
|
cnt = 0
|
||||||
while True:
|
while True:
|
||||||
start = time.time()
|
start = time.time()
|
||||||
Command_Read()
|
Command_Read()
|
||||||
|
data['timestamp'] = int(time.time() * 1000)
|
||||||
sdtcloud.pubMessage(mqttlist[cnt], data)
|
sdtcloud.pubMessage(mqttlist[cnt], data)
|
||||||
end = time.time()
|
end = time.time()
|
||||||
|
|
||||||
|
@ -362,12 +314,6 @@ if __name__ == "__main__":
|
||||||
|
|
||||||
client = ModbusTcpClient(modbus_addr, modbus_port)
|
client = ModbusTcpClient(modbus_addr, modbus_port)
|
||||||
|
|
||||||
parser = argparse.ArgumentParser()
|
|
||||||
parser.add_argument('-app',help='')
|
|
||||||
args = parser.parse_args()
|
|
||||||
|
|
||||||
# ROOT_PATH = f'/usr/local/sdt/app/{args.app}'
|
|
||||||
|
|
||||||
data = {
|
data = {
|
||||||
"timestamp": 0,
|
"timestamp": 0,
|
||||||
"data":{
|
"data":{
|
||||||
|
@ -377,11 +323,9 @@ if __name__ == "__main__":
|
||||||
}
|
}
|
||||||
|
|
||||||
## Get ProjectCode and AssetCode
|
## Get ProjectCode and AssetCode
|
||||||
with open(f'/etc/sdt/device.config/config.json', encoding='UTF-8') as f:
|
|
||||||
codeData = json.load(f)
|
|
||||||
|
|
||||||
## Execution main funcion
|
## Execution main funcion
|
||||||
operation_thread = threading.Thread(target=runAction, args=(codeData["projectcode"], codeData["assetcode"], jsonData))
|
operation_thread = threading.Thread(target=runAction, args=())
|
||||||
operation_thread.start()
|
operation_thread.start()
|
||||||
|
|
||||||
tcp_addr = jsonData['tcp-server']['address']
|
tcp_addr = jsonData['tcp-server']['address']
|
||||||
|
|
Loading…
Reference in New Issue