Управление реле Arduino из 1с

В продолжение вот этого. Если у arduino есть ethernet шиелд, то ей вполне можно управлять даже из 1С. Например Реле питания.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
&НаКлиенте
Функция ФункцияВосстановления(Свойство, Значение, ДополнительныеПараметры) Экспорт
   Если Свойство = "ДатаJSON"Тогда
      Возврат ПрочитатьДатуJSON(Значение, ФорматДатыJSON.ISO);
   КонецЕсли;
   Если Свойство = "СтрокаJSON" Тогда
      Возврат СокрЛП(Значение);
   КонецЕсли;
   Если Свойство = "uidJSON" Тогда
      Возврат Новый УникальныйИдентификатор(Значение);
   КонецЕсли;
КонецФункции
 
&НаКлиенте
Процедура СчитатьСтатус(Команда)
файл=новый чтениетекста("http://"+этаформа.Объект.ИП+"/");
фф=файл.Прочитать();
файл.Закрыть();
фф=стрзаменить(фф,"<!DOCTYPE HTML>","");
тЧтение=Новый ЧтениеJson;
тЧтение.УстановитьСтроку(фф);
тДанные = ПрочитатьJSON(тЧтение, Ложь, , , "ФункцияВосстановления", ЭтотОбъект);
пинсстат=тДанные.pinsstatus;
к=0;
для каждого стат из пинсстат цикл
к=к+1;
если к=1 и стат=1 тогда этаформа.Объект.Реле1=Истина иначе этаформа.Объект.Реле1=ложь;конецесли;
если к=2 и стат=1 тогда этаформа.Объект.Реле2=Истина иначе этаформа.Объект.Реле3=ложь;конецесли;
если к=3 и стат=1 тогда этаформа.Объект.Реле3=Истина иначе этаформа.Объект.Реле4=ложь;конецесли;
если к=4 и стат=1 тогда этаформа.Объект.Реле4=Истина иначе этаформа.Объект.Реле4=ложь;конецесли;
конеццикла;
   тЧтение.Закрыть();
этаформа.Объект.жсон=фф;
 
КонецПроцедуры
 
&НаКлиенте
Процедура СчитатьСтатус(Команда)
файл=новый чтениетекста("http://"+этаформа.Объект.ИП+"/");
фф=файл.Прочитать();
файл.Закрыть();
фф=стрзаменить(фф,"<!DOCTYPE HTML>","");
тЧтение=Новый ЧтениеJson;
тЧтение.УстановитьСтроку(фф);
тДанные = ПрочитатьJSON(тЧтение, Ложь, , , "ФункцияВосстановления", ЭтотОбъект);
пинсстат=тДанные.pinsstatus;
к=0;
для каждого стат из пинсстат цикл
к=к+1;
если к=1 и стат=1 тогда этаформа.Объект.Реле1=Истина иначе этаформа.Объект.Реле1=ложь;конецесли;
если к=2 и стат=1 тогда этаформа.Объект.Реле2=Истина иначе этаформа.Объект.Реле3=ложь;конецесли;
если к=3 и стат=1 тогда этаформа.Объект.Реле3=Истина иначе этаформа.Объект.Реле4=ложь;конецесли;
если к=4 и стат=1 тогда этаформа.Объект.Реле4=Истина иначе этаформа.Объект.Реле4=ложь;конецесли;
конеццикла;
   тЧтение.Закрыть();
этаформа.Объект.жсон=фф;
 
КонецПроцедуры