first
This commit is contained in:
commit
66139a5498
|
@ -0,0 +1,30 @@
|
||||||
|
# 이 코드 템플릿은 SDT Cloud 환경에서 mqtt 메세지를 발행하는 코드입니다.
|
||||||
|
|
||||||
|
# 패키지 설치
|
||||||
|
- 코드는 sdtcloudpubsub 패키지를 사용합니다. 아래 명령어로 패키지를 다운로드 해야합니다.
|
||||||
|
```bash
|
||||||
|
$ pip install sdtcloudpubsub
|
||||||
|
```
|
||||||
|
|
||||||
|
# 코드 작성
|
||||||
|
- 코드는 runAction 함수에서 동작하고자 하는 기능을 작성합니다.
|
||||||
|
- msg 변수는 발행될 메세지 입니다.
|
||||||
|
- sdtcloudpubsub의 pubMessage 함수는 발행할 메세지 내용인 dictionary 타입 변수를 입력 받아 처리합니다.
|
||||||
|
|
||||||
|
# 메세지 발행
|
||||||
|
- 다음 변수로 메세지를 발행하는 코드를 작성하면...
|
||||||
|
```bash
|
||||||
|
msg = {
|
||||||
|
"message": "Hello World"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
- 실제로 발행되는 메세지은 다음과 같습니다.
|
||||||
|
```bash
|
||||||
|
msg = {
|
||||||
|
"data": {
|
||||||
|
"message": "Hello World"
|
||||||
|
},
|
||||||
|
"timestamp": 12312311...
|
||||||
|
}
|
||||||
|
|
||||||
|
```
|
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
"KEY1": "VALUE1",
|
||||||
|
"KEY2": "VALUE2"
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
version: bwc/v2 # bwc 버전 정보입니다.
|
||||||
|
spec:
|
||||||
|
appName: dazayo-app2 # 앱의 이름입니다.
|
||||||
|
runFile: main.py # 앱의 실행 파일입니다.
|
||||||
|
env:
|
||||||
|
bin: python3 # 앱을 실행할 바이너라 파일 종류입니다.(장비에 따라 다르므로 확인 후 정의해야 합니다.)
|
||||||
|
virtualEnv: mqtt-env2 # 사용할 가상환경 이름입니다.
|
||||||
|
package: requirement.txt # 설치할 Python 패키지 정보 파일입니다.(기본 값은 requirement.txt 입니다.)
|
||||||
|
stackbase:
|
||||||
|
userName: sujune@sdt.inc # Stackbase(gitea) ID 입니다.
|
||||||
|
tagName: v1.0.0 # Stackbase(gitea)에 릴리즈 태그명 입니다.
|
||||||
|
repoName: dazzyo-app2 # Stackbase(gitea)에 저장될 저장소 이릅니다.
|
|
@ -0,0 +1,42 @@
|
||||||
|
import sdtcloudpubsub
|
||||||
|
import time
|
||||||
|
import uuid
|
||||||
|
import random
|
||||||
|
|
||||||
|
sdtcloud = sdtcloudpubsub.sdtcloudpubsub()
|
||||||
|
mqttClient = sdtcloud.setClient(f"device-app-{uuid.uuid1()}") # parameter is client ID(string)
|
||||||
|
|
||||||
|
def runAction():
|
||||||
|
while True:
|
||||||
|
msg = [
|
||||||
|
{
|
||||||
|
"house_id": "JJ59",
|
||||||
|
"device_type": "water",
|
||||||
|
"pulse_count": random.randint(0, 1)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"house_id": "JJ59",
|
||||||
|
"device_type": "electricity",
|
||||||
|
"pulse_count": random.randint(0, 1)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"house_id": "JJ59",
|
||||||
|
"device_type": "gas",
|
||||||
|
"pulse_count": random.randint(0, 1)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"house_id": "JJ58",
|
||||||
|
"device_type": "water",
|
||||||
|
"pulse_count": random.randint(0, 1)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"house_id": "JJ58",
|
||||||
|
"device_type": "electricity",
|
||||||
|
"pulse_count": random.randint(0, 1)
|
||||||
|
}
|
||||||
|
]
|
||||||
|
sdtcloud.pubMessage(mqttClient, msg)
|
||||||
|
time.sleep(10)
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
runAction()
|
|
@ -0,0 +1,4 @@
|
||||||
|
# Write package's name that need your app.
|
||||||
|
awsiotsdk
|
||||||
|
pyyaml
|
||||||
|
#sdtcloudpubsub
|
Loading…
Reference in New Issue