Cześć ;)
Pracuję nad własnym systemem #smarthome. Szukając ciągłych możliwości rozwoju tego systemu stwierdziłem, że dobrze byłoby ustandaryzować protokół. Obecnie urządzenia komunikują się po socketach TCP, a protokół, który jest w użyciu wymyśliłem sam, są to komunikaty typu "Pomieszczenie-czujnik-wartość" itp.
Czy znacie jakieś protokoły, którymi posługują się komercyjne urządzenia? Chciałbym mieć możliwość połączenia swojego systemu z gotowymi rozwiązaniami na rynku, np. od #xiaomi.
#programowanie #raspberrypi #stm32 #esp8266 #cpp
Pracuję nad własnym systemem #smarthome. Szukając ciągłych możliwości rozwoju tego systemu stwierdziłem, że dobrze byłoby ustandaryzować protokół. Obecnie urządzenia komunikują się po socketach TCP, a protokół, który jest w użyciu wymyśliłem sam, są to komunikaty typu "Pomieszczenie-czujnik-wartość" itp.
Czy znacie jakieś protokoły, którymi posługują się komercyjne urządzenia? Chciałbym mieć możliwość połączenia swojego systemu z gotowymi rozwiązaniami na rynku, np. od #xiaomi.
#programowanie #raspberrypi #stm32 #esp8266 #cpp






![Warszawa: "Potwór" w bieliźnie na Pradze Południe [ZDJĘCIA]](https://wykop.pl/cdn/c3397993/link_sUxGdJINSqME2aR2zZkZCMYAPY0tjuwh,w220h142.jpg)

Mam taki kawałek kodu jak na screenie. Obiekty klas Socket oraz Alarm muszą się wzajemnie widzieć, a w dodatku używają obiektu klasy XMLParser. Czy jest jakaś bardziej elegancka metoda na ich wzajemne "zazębienie"?
#cpp #programowanie #programista15k
@Saly:
- Klasa XMLParser zawiera metody parsujące pliki XML z różnymi parametrami, klientami, alarmami itp.
- Klasa Socket zawiera metodę nasł#!$%@?ącą za przychodzącymi danymi, używa klasy XMLParser do sprawdzania czy odebrane dane pochodzą od Klienta, który znajduje się w "bazie" (plik .xml). Służy też do rozsyłania różnych wiadomości do klientów (też dane zaczytywane z .xml). Używa metod klasy alarm
1. Lepiej jest utworzyć jeden globalny obiekt parsujący XML'a czy dla każdego obiektu, który wymaga jakiejś interakcji z XML'em tworzyć osobny obiekt?
2. Kiedy stworzę klasę np. ClientObserver, to obiekt takiej klasy powinien zawierać listę wszystkich klientów, a obserwator znajdujący się w sockecie dostaje jakieś dane i wtedy podejmuje decyzje, co zrobić z danym klientem?