AWS iot로 데이터를 보내는데 데이터가 소실됩니다.

hwoarang09의 이미지

안녕하세요 MQTT 영구 세션(Persistent Sessions) 기능에 대해서 궁금한 게 있습니다.
현재 차량으로부터 CAN통신으로 데이터를 받아서 LTE모뎀으로 AWS IOT에 데이터를 보내고 있습니다.
QoS를 1로 놓고 하니까 인터넷 연결이 불안정해서 끊기면 데이터를 모았다가 한번에 보내는데요.
그 과정에서 소실되는 데이터가 있습니다. (라즈베리파이 내부에는 데이터가 저장되어있는데, 서버로 보낼때는 데이터가 없어요.)

통신 자체에서 소실되는 데이터가 없도록 하는 방법이 있을까요??

그게 안된다면, 라즈베리파이 내부에 있는 데이터와 서버 DB로 보낸 데이터를
서버단에서 체크 후 누락된 것으로 보이는 데이터를 다시 보내라고 구성할 수 있을까요?

일단 이게 되려나 상상하고 있는 방식은.

라즈베리파이에서 데이터를 받고,
그걸 서버단에서 db데이터를 변환해서 어떤 데이터가 비었는지 확인 후

서버에서 라즈베리파이한테 이런 데이터를 다시 보내라고 명령(혹은 라즈베리파이한테 PUBLISH???)
라즈베리파이는 이 명령을 받으면 기기 내부에 저장되어있는 파일을 열어서 데이터를 읽고 다시 보냄.

이것도 안된다면 어떤 식으로 해야 해결할 수 있을까요??

https://github.com/aws/aws-iot-device-sdk-python-v2/blob/main/samples/pubsub.py
이 코드를 수정해서 사용하고 있습니다. (edited)

chocokeki의 이미지

소실되는 정확한 파트를 알면 좋을 것 같습니다.
lte 모뎀 버퍼내부까지 정확하게 데이터가 살아 있으나 무선으로 나가는 동안 사라지는 거라면 정말 물리적으로 손실된 것이기 때문에 재시도 하도록하는 수 밖에 없습니다

아니면 버퍼까지 가는 동안 사라진다면 그 원인을 내부에서 찾아봐야겠죠
버퍼가 full인데 계속 tx 요청을 한다든지 등등

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.