Как правильно использовать протоколы передачи данных?

rush
rush аватар
Offline
Зарегистрирован: 21.05.2019

Я использую проток Wifi  IEEE 802.11 b/g/n режим проверки подлинности:  wpa2 Режим Шифрования: TKIP&AES

для передачи данных использую HTTP протокол:

например:

http://192.168.4.1/?rele1=0; - включает реле

http://192.168.4.1/?rele1=1; - выключает

Интересно, а как же в системе умный дом используют протоколы передачи данных, вдруг кто то подключиться к домашней сети и начнет все включать, я подумал сделать например вот так:

http://192.168.4.1/?rele1651115ААА45=15156523121; - включает реле

http://192.168.4.1/?rele1651115ААА45=15156545645;  - выключает

правильно ли это?

так же я решил зайти на свой принтер и посмотреть а как же там, а там тот же http, зашел в меню обновление прошивки а там значение переменной tm тоже имеет некую комбинацию

http://192.168.100.11/PRESENTATION/HTML/TOP/INDEX.HTML?tm=1576403199925

 

 
 
negavoid
Offline
Зарегистрирован: 09.07.2016

Ох уж этот tm, он ещё и меняется постоянно. На самом деле, tm - это time, количество миллисекунд, прошедших с 1 января 1970 года. Часто применяется для того, чтобы сервер возвращал свежий ответ, а не старый закэшированный.

А подумали совершенно правильно. Это общая и большая беда множества IoT устройств. Предполагается, что в вашей домашней сети только доверенные клиенты, а если кто к вам придёт и начнёт баловаться, так получит в бубен. Такая себе security через недоступность. Кому не нравится такой подход, прикручивают авторизацию по паролю.

rush
rush аватар
Offline
Зарегистрирован: 21.05.2019

ОбЪясню подробней: допустим я разрабатываю приложение для електро чайника, смоделировал на модуле ESP8266, АРДУИНЕ И ТД, у меня есть китайский производитель который у меня просит протоколы передачи данных. Вопрос: в каком виде мне их предоставить? 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

rush пишет:

ОбЪясню подробней: допустим я разрабатываю приложение для електро чайника, смоделировал на модуле ESP8266, АРДУИНЕ И ТД, у меня есть китайский производитель который у меня просит протоколы передачи данных. Вопрос: в каком виде мне их предоставить? 

а зачем ему протоколы?

rush
rush аватар
Offline
Зарегистрирован: 21.05.2019

что бы приложение на смартфоне управляло и мониторило состояние, пока локально по беспроводной сети допустим Wifi

Алексей.
Алексей. аватар
Offline
Зарегистрирован: 02.02.2018

rush пишет:

что бы приложение на смартфоне управляло и мониторило состояние, пока локально по беспроводной сети допустим Wifi

Если модуль esp (ардуино и т.п.) является сервером а приложение на смартфоне является клиентом, означает ли "пока локально" что в дальнейшем интерфейс для управления будет выставлен "на улицу"?
В этом решении недостатков больше чем преимуществ. Esp может быть просто перегружен запросами.
Проще управлять модулями через посредника, приложение на выделенном сервере видимым с улицы.
Модули являются клиентами и сообщают своё состояние, от сервера получают инструкции.
Для соединения используется обычный ssl, клиент на esp знает отпечаток удостоверяющего центра, таким образом контролировать трафик "человеку посередине" не получится.

Алексей.
Алексей. аватар
Offline
Зарегистрирован: 02.02.2018

rush пишет:

http://192.168.4.1/?rele1651115ААА45=15156523121; - включает реле

http://192.168.4.1/?rele1651115ААА45=15156545645;  - выключает

правильно ли это?

Если используется метод get и выполняя запрос, вы не спрашиваете в каком состоянии сейчас реле (включено или выключено), а выполняя на сервере метод get вы включаете/выключаете реле - логика совсем не понятна.
Не говорим серверу установи значение (не просим выполнить метод post), а запрашиваем ресурс для определенного url и в результате изменяем что-то на сервере.

rkit
Offline
Зарегистрирован: 23.11.2016

В серьезных системах всегда используется шифрование и цифровые подписи.