Автор Тема: Фотон-100-50 контроллер солнечных панелей  (Прочитано 1477 раз)

Оффлайн Александр

  • Пользователь
  • **
  • Сообщений: 81
  • Репутация: 1
Re: Фотон-100-50 контроллер солнечных панелей
« Ответ #15 : 07 Январь 2019, 00:18:14 »
Еще немного информации для Фотон-100-50-IoT

"Простыни" исходных кодов страниц выкладываю на всякий случай. Естественно, что их можно получить самостоятельно, но вдруг пригодится кому-то, у кого нет такого контроллера.

Адрес по которому отдаются данные о текущем состоянии контроллера http://IP/data.json
Авторизация организуется стандартно http://login:password@192.168.100.47/data.json
Получить данные можно при помощи GET запроса.
Пример ответа:
{"vin":281,"vout":281,"cin":0,"cout":0,"temp":22,"charge":72,"relay":0,"pwr":0,"vch":303,"vfl":303,"ich":40,"ifl":1,"v_relay_on":260,"v_relay_off":250,"mppt_percent":75,"snd_ena":1,"light_mode":1,"contrOn":0,"bat_lo":240,"bat_hi":297,"ssidPass":"password","ssid":"SSID","iLogin":"login","iPass":"password","cloudName":"url","cloudKey":"api_key","ApPass":"11111111","relay_mode":0,"mppt_mode":3,"st_mode":0,"refr":10,"modd":41,"eday":7,"etot":8,"sec":45,"min":48,"hour":23,"date":6,"month":1,"year":19}

Хорошая задумка видимо была - есть "eday" и "etot" да вот беда - они всегда одни и те же и не используются на странице состояния.

Получить отдельные параметры в переменные можно вот таким скриптом.
<?php

$login_url 
'http://login:password@192.168.100.47/data.json'// URL запроса

$ch curl_init(); // создание объекта curl
curl_setopt($chCURLOPT_URL$login_url ); // задаем URL
curl_setopt($chCURLOPT_RETURNTRANSFERtrue); // вернуть результат запроса
$json curl_exec($ch); // выполнить запрос
$array json_decode($jsontrue);

$result $array['vin']/10;
echo 
$result;
echo 
"<br>"

$result $array['cin']/10;
echo 
$result;
echo 
"<br>";


$result $array['vout']/10;
echo 
$result;
echo 
"<br>";

$result $array['cout']/10;
echo 
$result;
echo 
"<br>";

$result $array['pwr']/10;
echo 
$result;
echo 
"<br>";

$result $array['temp'];
echo 
$result;
echo 
"<br>";
?>


Исходный код страницы текущего состояния контроллера.
[spoiler]
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<link rel="icon" href="/favicon.ico" type="image/x-icon">
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
<title>Фотон-100-50-IOT мониторинг</title>
</head>
<body>
<div align="center"><img  src="ae.jpg"  height="133" width="200" alt="logo"/>  </div>
<font size="7">
<div align="center">Мониторинг контроллера</div>
<table align="center" >
<tr>
<td align="right"> Фотон-100-50-</td>
<td align="left"><img src="iot.jpg"  height="70" width="70" alt="iot"/></td>
</tr>
</table>
</font>

<p align="left"><font size="5">
<a href="\setting.html">Настройки контроллера</a>
<a href="\internet.html">Сетевые настройки</a>
<a href="\graph.html">Графики работы</a>
<a href="\help.html">Справка по функциям</a>
</font></p>
<table align="center" width="100%">
<tr>
<td colspan=2 align="right"  width="20%" ><img id="panel" src="sol.jpg"  width="100%" alt="panel" /><img id="night" src="night.jpg"  width="1%" alt="night" /></td>
<td  width="20%"><marquee direction="right" scrollamount="2" scrolldelay="150" ><img id="arrow1" src="arr.jpg" height="46" width="91" alt="arrow" /></marquee></td>
<td colspan=2 align="center" width="20%"><img src="cont.jpg" width="100%" alt="controller" alt="" /></td>
<td  width="20%"><marquee direction="right" scrollamount="2" scrolldelay="150"><img id="arrow2" src="arr.jpg" height="46" width="91" alt="arrow" /></marquee></td>
<td colspan=2 width="20%"><img src="bat2.jpg" " width="100%" alt="battery" /></td>
</tr>
<tr>
<td align="right">Входное напряжение</td>
<td  id="vin"  align="right" bgcolor="#f0f0f0" style="font-size:200%;border-style:inset" >12,5B</td>
<td></td>
<td align="right">Температура</td>
<td id="temp"  align="right" bgcolor="#f0f0f0" style="font-size:200%;border-style:inset">0C</td>
<td></td>
<td align="right"  >Выходное напряжение</td>
<td id="vout" align="right" bgcolor="#f0f0f0" style="font-size:200%;border-style:inset">0B</td>
</tr>
<tr>
<td align="right">Входной ток</td>
<td id="cin"  align="right" bgcolor="#f0f0f0" style="font-size:200%;border-style:inset">10,1A</td>
<td></td>
<td align="right">Режим работы</td>
<td id="modd"   bgcolor="#f0f0f0" style="font-size:100%;border-style:inset">--</td>
<td></td>
<td align="right">Выходной ток</td>
<td id="cout" align="right" bgcolor="#f0f0f0" style="font-size:200%;border-style:inset">0A</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td rowspan=2 align="right">реле</td>
<td rowspan=2 align="center">
<img id="relayOff" src="relOff2.jpg"  height="99%" alt="relay" />
<img id="relayOn" src="relOn.jpg" height="1%" alt="relay" />
</td>
<td></td>
<td align="right">Мощность</td>
<td id="pwr" align="right"  bgcolor="#f0f0f0" style="font-size:200%;border-style:inset">0.1W</td>
</tr>


<tr>
<td></td><td></td><td></td><td></td>
<td align="right">Заряд</td>
<td id="charge"  align="right" bgcolor="#f0f0f0" style="font-size:200%;border-style:inset">0%</td>
</tr>


</table>
<p align="right"><a href="http://www.a-electronica.ru " >www.a-electronica.ru 2018</a></p>
<script type="text/javascript">
window.onload = setTimeout(instData,1000);//instData();

//window.addEventListener("load", instData());

function instData(){
var request= new XMLHttpRequest();
request.open('POST','/data.json',true);
request.setRequestHeader('Content-Type', 'text-plain');// Отправляем кодировку
request.onreadystatechange=function(){
if( request.readyState==4 ){
var data=JSON.parse(request.responseText);
if( data.contrOn!=1){
document.getElementById('vin').innerHTML="-";
document.getElementById('cin').innerHTML="-";
document.getElementById('cout').innerHTML="0A";
document.getElementById('modd').innerHTML="ожидание";
document.getElementById('pwr').innerHTML="0W";
document.getElementById('arrow1').style="display:none";
document.getElementById('arrow2').style="display:none";

document.getElementById('panel').style.width = "1%";
document.getElementById('night').style.width = "100%";
}
else {
document.getElementById('vin').innerHTML=(data.vin/10).toFixed(1)+"В";
document.getElementById('cin').innerHTML=(data.cin/10).toFixed(1)+"A";
document.getElementById('cout').innerHTML=(data.cout/10).toFixed(1)+"A";
if( data.modd==1){
document.getElementById('modd').innerHTML="заряд постоянным напряжением";}
else if (data.modd==0){
document.getElementById('modd').innerHTML="заряд постоянным током";}
else {
document.getElementById('modd').innerHTML="поддерживающий заряд";}
document.getElementById('pwr').innerHTML=(data.pwr/10).toFixed(1)+"W";
document.getElementById('arrow1').style="";
document.getElementById('arrow2').style="";

document.getElementById('panel').style.width = "100%";
document.getElementById('night').style.width = "1%";
}
document.getElementById('vout').innerHTML=(data.vout/10).toFixed(1)+"В";
document.getElementById('temp').innerHTML=data.temp+"\u00B0C";

if( data.relay==1) {
document.getElementById('relayOn').style.height="99%";
document.getElementById('relayOff').style.height="1%";
}
else {
document.getElementById('relayOn').style.height="1%";
document.getElementById('relayOff').style.height="99%";
}


document.getElementById('charge').innerHTML=data.charge+"%";

//document.getElementById('panel').width = "1%";
//document.getElementById('night').width = "100%";

setTimeout(instData,1000);
}
}
request.timeout = 15000;
request.onerror=function(){ setTimeout(instData,30000); };
request.ontimeout=function(){ setTimeout(instData,30000); };

request.send(null);
}

</script>
</body>
</html>
[/spoiler]
« Последнее редактирование: 07 Январь 2019, 01:06:30 от Александр »

Оффлайн Александр

  • Пользователь
  • **
  • Сообщений: 81
  • Репутация: 1
Re: Фотон-100-50 контроллер солнечных панелей
« Ответ #16 : 07 Февраль 2019, 21:38:52 »
Еще один сюрприз от чуда техники  Фотон-100-50-IoT. Не смотря на то, что на странице графиков можно выбрать день, неделю, месяц и даже произвольный промежуток времени, раельно данные можно получить только за последнюю неделю.
Похоже, что на сегодня это самое бестолковое устройство, какое мне доводилось видеть.
« Последнее редактирование: 07 Февраль 2019, 22:17:26 от Александр »

Оффлайн Александр

  • Пользователь
  • **
  • Сообщений: 81
  • Репутация: 1
Re: Фотон-100-50 контроллер солнечных панелей
« Ответ #17 : 12 Февраль 2019, 21:27:11 »
Сегодня днем меня не было дома, поэтому не могу с уверенностью сказать, что это было, но по графику очень похоже на ограничение тока контроллером на уровне 20А при том, что задано ограничение 40А. Режим CV точно еще не наступил, т.к. напряжение на АКБ было существенно ниже заданного.

Оффлайн Александр

  • Пользователь
  • **
  • Сообщений: 81
  • Репутация: 1
Re: Фотон-100-50 контроллер солнечных панелей
« Ответ #18 : 15 Февраль 2019, 12:58:10 »
После перезагрузки путем отключения и повторного включения проблема ушла.

Оффлайн Tomson

  • Новичок
  • *
  • Сообщений: 19
  • Репутация: 1
Re: Фотон-100-50 контроллер солнечных панелей
« Ответ #19 : 15 Февраль 2019, 15:34:54 »
А какая емкость батарей у вас?

Оффлайн past went

  • Новичок
  • *
  • Сообщений: 46
  • Репутация: 0
Re: Фотон-100-50 контроллер солнечных панелей
« Ответ #20 : 16 Февраль 2019, 08:12:39 »
В общем, отправляются оба фотона в ремонт. Эпопею Вашу прочёл, сделать удобоваримое по энергозатратам и эффективности внешнее охлаждение не получилось, а на ремонт вроде как договорились с родионовым.

Оффлайн past went

  • Новичок
  • *
  • Сообщений: 46
  • Репутация: 0
Re: Фотон-100-50 контроллер солнечных панелей
« Ответ #21 : 16 Февраль 2019, 08:15:47 »
А какая емкость батарей у вас?
Свинца реальных полтораста ач, и щёлочи по 125 ач подключаются. Батарею в 500 ач щелочи сейчас не успевает заряжать порой, ну и на ютубе попалсь видео, где человек по 10 банок тоже подключает.

Оффлайн past went

  • Новичок
  • *
  • Сообщений: 46
  • Репутация: 0
Re: Фотон-100-50 контроллер солнечных панелей
« Ответ #22 : 16 Февраль 2019, 08:17:29 »
После перезагрузки путем отключения и повторного включения проблема ушла.
Заметил, что часто стал виснуть при хорошем заряде с кодом "другая ошибка" 150 иот который

 

Яндекс.Метрика