오늘은 dynamoDB data_table에 라즈베리파이에서 보낸 값을 저장해야한다.
어제 저녁까지 작업해봤으나 원인을 찾지 못하고 있다.
원인을 찾았다.
코드를 수정하는 과정에서 qos에 1이라는 값으로 전달했기 때문에 받는쪽에서 이 메시지가 제대로 된 것이 아니라 판단해 버리고 있었던 것이다.
오류 메시지가 따로 뜨지 않아서 전송이 제대로 되고 있는 줄 알았더니 그것이 아니었다.

이제 센서값까지 제대로 다이나모 DB에 저장이 되었다.
다음에 할일은 다시 백엔드 로직으로 돌아가 이 값들을 어떤식으로 활용할지를 구현하는 것이다.
우선 당분간 라즈베리파이에서 작업을 하지 않아도 되기 때문에 전원만 넣으면 자동으로 실행되도록 구현
파이썬 파일을 자동으로 실행하도록 서비스화
[Unit]
Description=SmartHome AWS IoT Service
After=network.target
[Service]
# 실행 경로를 파일이 있는 곳으로 지정 (인증서 상대경로 문제 해결)
WorkingDirectory=/home/smarthome/myenv/certs
# 가상환경 내의 파이썬 실행 파일을 사용하여 스크립트 실행
ExecStart=/home/smarthome/myenv/bin/python3 smarthome.py
StandardOutput=inherit
StandardError=inherit
Restart=always
RestartSec=5
User=smarthome
[Install]
WantedBy=multi-user.target
서비스 등록 방법 및 시작 명령어
# 1. 시스템 매니저에게 새 서비스 알림
sudo systemctl daemon-reload
# 2. 부팅 시 자동 시작 등록
sudo systemctl enable smarthome.service
# 3. 지금 즉시 서비스 시작
sudo systemctl start smarthome.service
서비스 관리를 위한 여려가지 명령어
상태 확인: sudo systemctl status smarthome.service (실행중이면 초록색으로 active (running) 라고나옴)
로그 확인: journalctl -u smarthome.service -f (파이썬의 print 내용을 실시간으로 볼 수 있음.)
중지: sudo systemctl stop smarthome.service
재시작: sudo systemctl restart smarthome.service
'AWS 광주 개발일지(25.08.19~25.01.20) > 교육 25년 12월 일지' 카테고리의 다른 글
| 25. 12. 23 (화) 일지 : 프로젝트(9) (1) | 2025.12.23 |
|---|---|
| 25. 12. 22 (월) 일지 : 프로젝트(8) (0) | 2025.12.23 |
| 25. 12. 20 (토) 일지 : 프로젝트(6) (0) | 2025.12.20 |
| 25. 12. 19 (금) 일지 : 프로젝트(5) (0) | 2025.12.19 |
| 25. 12. 18 (목) 일지 : 프로젝트(4) (0) | 2025.12.18 |