Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

現実世界との同期についての提案 #62

Closed
csenet opened this issue Jul 16, 2023 · 0 comments · Fixed by #63
Closed

現実世界との同期についての提案 #62

csenet opened this issue Jul 16, 2023 · 0 comments · Fixed by #63
Assignees
Labels
question Further information is requested

Comments

@csenet
Copy link
Member

csenet commented Jul 16, 2023

現状だと現実世界の同期の部分が少し冗長な気がした。MQTTの通信にはMQTT Brokerを用意しないといけないが、エンドポイントが2つに増えるよりは1つのMQTT Brokerで管理した方が良いような気がする。

flowchart RL
subgraph 状態管理
管理画面 <-->|"connect-web"| StateManager

MqttBroker <-->|"connect"| StateManager
StateManager <--> DB1[(state_db)]
end
subgraph 自動運転
TrainController <--> StateManager
DiagramManager --> PathPlanner
PathPlanner <--> TrainController
DiagramManager <--> DB2[(diagram_db)]
DiagramManager <-->|"connect-web"| 管理画面
end
subgraph 映像配信
Webカメラ --> |"USB"| 配信サイト
ESP-EYE -->|"mjpeg"| 配信サイト
配信サイト -->|"WebRTC"| SkyWay
SkyWay -->|"WebRTC"| 管理画面
end
subgraph エッジデバイス
MqttBroker  <-->|"MQTT"| Servo
Sensor -->|"MQTT"| MqttBroker 
end
Loading

プロトコルはMqttで共通なので、MqttBrokerが全てのMqttの通信を担うようにして、StateManagerに対して状態の更新と、StateManaegrが受け取ったポイントの切り替えの指示などをMQTTで流すようにする。

こんな感じの構成に変更するのどうでしょうか?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
Development

Successfully merging a pull request may close this issue.

2 participants