0
Answered
Oleg Bubnov 4 months ago in Applications / i3 Pro • updated 3 months ago 2

есть множество клиентских панелей на i3 pro. После апдейта клиента слетает старый hwid. Каждая панель должна иметь уникальный номер для связи с контроллером. Если номера дублируются, панель перестаёт работать и у других появляются проблемы. Номер задаю скриптом, привязывая его к hwid. Соответственно, после апдейта получаем новый hwid, а в скрипте остаётся старый. Как грамотно делать раздачу уникальных номеров множеству панелей? Вопрос про iOS, на андроиде не тестил

Answered

HWID может меняться даже при обновлении приложения или смене Apple ID, так что на него сложно рассчитывать. На Android та же ситуация.
Если есть возможность менеджмента DHCP на маршрутизаторе, я бы рекомендовала опираться на собственный IP адрес панели. Можно зарезервировать IP адреса за планшетами и быть уверенным в том, что они не пересекутся и не изменятся.


К тому же можно выдать под DHCP определенный диапазон адресов, например 0.100...150 - и этот же диапазон выделить как доступные ID для панелей iRidium на контроллере. Тогда даже не понадобится резервировать адреса - можно будет написать универсальное правило присвоения Panel ID по IP адерсу.

Спасибо, сделал, работает как надо. Вот код функции, формирующей ID панели:


function MakePanelID(){

var panelID = "Have no number";

var panelIP = panelIPInfo[0].IP;

var panelIPArray = panelIP.split(".");

//IR.Log("Четвертый кусок IP адреса равен " + panelIPArray[3]);

if (Number(panelIPArray[3]) < 100 ){

panelID = "100" + panelIPArray[3];

} else {

panelID = "10" + panelIPArray[3];

};

Return panelID;

};

Единственный момент, остается вопрос, как такой подход скажется на производительности контроллера, т.к, если я правильно понял, нужно описать 254 панели. Думаю, если появятся тормоза, вынесу панели в отдельную подсеть и сужу диапазон раздачи.