티스토리 뷰
BMS : Bilient Measurement System
①[WRq01] 특정한 WiFiDevice에 대한 정보 확인
- ①입력 : WiFiDevicename
- ②반환 : WiFiDevicename, Tablename, CreatedTime
②[WRq02] 특정 시점을 포함하는 Tablename 확인
③[WRq03] 특정 시점 직전(또는 직후) 첫번째로 저장된 WiFiDevice에 대한 데이터
- ①입력 : WiFiDevicename, StartTime, (DataType ), PointofTime(1:직후, -1:직전)
- ②반환 : {Sno, DataType, Value1, Value2, …, Value8}
①[IRq01]특정 Instrument의 데이터 목록 확인
- ①입력 : WiFiDevicename, Tablename, InstrumentName, (DataType, DirectionofTime(-1, DESC))
- ②반환 : WiFiDevicename, Tablename, CreatedTime
②[IRq02] 특정한 시간값 이상(또는 이하) 값을 갖는 데이터 확인
- ①입력 : WiFiDevicename, Tablename, InstrumentName, ValueofMinutes, (DataType, DirectionofTime(-1, DESC), DataNumber)
- ②반환 : WiFiDevicename, Tablename, CreatedTime
③[IRq03] 특정한 값 이상(또는 이하) 값을 갖는 데이터 확인
- ①입력 : WiFiDevicename, Tablename, InstrumentName, ValueofMinutes, (DataType, DirectionofTime(-1, DESC), DataNumber)
- ②반환 : WiFiDevicename, Tablename, CreatedTime
<?php
$ColumnName_Time = "Value7";
$ColumnName_Minute = "Value4";
$ColumnName_Voltage = "Value1";
$ColumnName_Current = "Value2";
$ColumnName_Lux = "Value3";
$NumberLimitofData = 1000;
// To check information for the specified WiFi device
function b_MakeQuery_WRq01($RequestInfo){
$Tablename1 = "BMSTables";
$WiFiDevicename1 = $RequestInfo->WiFiDevicename;
if($WiFiDevicename1 == NULL) return "-[?]11";
$Query1 = "select * from ".$Tablename1." WHERE ";
$Query1 = $Query1."WFDevicename='".$WiFiDevicename1."' ";
if($RequestInfo->DirectionofTime == -1){ // Default
if($RequestInfo->StartSNo > 0){
$Query1 = $Query1."AND SNo<=".$RequestInfo->StartSNo." ";
}
$Query1 = $Query1."ORDER BY SNo DESC;";
}else if($RequestInfo->DirectionofTime == 1){
if($RequestInfo->StartSNo > 0){
$Query1 = $Query1."AND SNo>=".$RequestInfo->StartSNo." ";
}
$Query1 = $Query1."ORDER BY SNo ASC;";
}else{
return "-[?]19";
}
//echo $Query1."<br>";
return $Query1;
}
// To find datatablename that contains specified time
function b_MakeQuery_WRq02($RequestInfo){
$Tablename1 = "BMSTables";
$WiFiDevicename1 = $RequestInfo->WiFiDevicename;
if($WiFiDevicename1 == NULL) return "-[?]21";
$RefTime1 = $RequestInfo->StartTime;
if($RefTime1 == NULL) return "-[?]22";
$Query1 = "select * from ".$Tablename1." WHERE ";
$Query1 = $Query1."WFDevicename='".$WiFiDevicename1."' AND ";
$Query1 = $Query1."CreatedDate<'".$RefTime1."' ";
if($RequestInfo->DirectionofTime == -1){ // Default
$Query1 = $Query1."ORDER BY SNo DESC ";
}else if($RequestInfo->DirectionofTime == 1){
$Query1 = $Query1."ORDER BY SNo ASC ";
}else{
return "-[?]19";
}
$Query1 = $Query1."LIMIT 1;";
echo $Query1."<br>";
return $Query1;
}
// To find datalist just before(or just after) for a specified time
function b_MakeQuery_WRq03($RequestInfo){
// PointofTime : -1(Right before), 1(Right After)
global $ColumnName_Time;
global $NumberLimitofData;
$Tablename1 = $RequestInfo->Tablename;
if($Tablename1 == NULL) return "-[?]31";
$WiFiDevicename1 = $RequestInfo->WiFiDevicename;
if($WiFiDevicename1 == NULL) return "-[?]32";
$RefTime1 = $RequestInfo->StartTime;
if($RefTime1 == NULL) return "-[?]33";
$Query1 = "select * from ".$Tablename1." WHERE ";
$Query1 = $Query1."Devicename='".$WiFiDevicename1."' ";
if($RequestInfo->DataType != NULL){
$Query1 = $Query1."AND DataType='.".$RequestInfo->DataType."' ";
}
if($RequestInfo->DirectionofTime == -1){ // default, recent first
$Query1 = $Query1."AND ".$ColumnName_Time."<='".$RefTime1."' ";
$Query1 = $Query1."ORDER BY SNo DESC ";
}else if($RequestInfo->DirectionofTime == 1){
$Query1 = $Query1."AND ".$ColumnName_Time.">='".$RefTime1."' ";
$Query1 = $Query1."ORDER BY SNo ASC ";
}else{
$Query1 = $Query1."AND ".$ColumnName_Time."='".$RefTime1."' ";
$Query1 = $Query1."ORDER BY SNo ASC ";
}
if($RequestInfo->DataNumber > 0){
$Query1 = $Query1."LIMIT ".$RequestInfo->DataNumber.";";
}else{
$Query1 = $Query1."LIMIT ".$NumberLimitofData.";";
}
echo $Query1."<br>";
return $Query1;
}
// to get data list between SNos
function b_MakeQuery_WRq04($RequestInfo){
// DirectionofTime : -1(Right before), 1(Right After)
global $NumberLimitofData;
$Tablename1 = $RequestInfo->Tablename;
if($Tablename1 == NULL) return "-[?]41";
$RefSNo1 = $RequestInfo->StartSNo;
if($RefSNo1 == -1) return "-[?]43";
$RefSNo2 = $RequestInfo->EndSNo;
if(($RefSNo2 != -1) &&($RefSNo1 > $RefSNo2)) return "-[?]45";
$Query1 = "select * from ".$Tablename1." WHERE ";
$Query1 = $Query1."SNo>=".$RefSNo1." ";
if($RefSNo2 > 0){
$Query1 = $Query1."AND SNo<=".$RefSNo2." ";
}
if($RequestInfo->InstrumentName != NULL){
$Query1 = $Query1."AND Devicename='".$RequestInfo->InstrumentName."' ";
}
if($RequestInfo->DataType != NULL){
$Query1 = $Query1."AND DataType='".$RequestInfo->DataType."' ";
}
if($RequestInfo->DirectionofTime == -1){
$Query1 = $Query1."ORDER BY SNo DESC ";
}else if($RequestInfo->DirectionofTime == 1){
$Query1 = $Query1."ORDER BY SNo ASC ";
}else return "-[?]46";
if($RequestInfo->DataNumber > 0){
$Query1 = $Query1."LIMIT ".$RequestInfo->DataNumber.";";
}else{
$Query1 = $Query1."LIMIT ".$NumberLimitofData.";";
}
echo $Query1."<br>";
return $Query1;
}
function b_MakeQuery_WRq05($RequestInfo){
//
$Tablename1 = $RequestInfo->Tablename;
if($Tablename1 == NULL) return "-[?]51";
$InstrumentName = $RequestInfo->InstrumentName;
if($InstrumentName == NULL) return "-[?]52";
$Query1 = "select * from ".$Tablename1." WHERE ";
$Query1 = $Query1."AND Devicename='".$InstrumentName."' ";
if($RequestInfo->DataType != NULL){
$Query1 = $Query1."AND DataType='".$RequestInfo->DataType."' ";
}
if($RequestInfo->DirectionofTime == -1){
$Query1 = $Query1."ORDER BY SNo DESC ";
}else if($RequestInfo->DirectionofTime == 1){
$Query1 = $Query1."ORDER BY SNo ASC ";
}else return "-[?]46";
if($RequestInfo->DataNumber > 0){
$Query1 = $Query1."LIMIT ".$RequestInfo->DataNumber.";";
}else{
$Query1 = $Query1."LIMIT ".$NumberLimitofData.";";
}
echo $Query1."<br>";
return $Query1;
}
function b_MakeQuery_IRq01($RequestInfo){
// DirectionofTime : -1(DESC), 1(ASC)
global $NumberLimitofData;
$Tablename1 = $RequestInfo->Tablename;
if($Tablename1 == NULL) return "-[?]111";
$InstrumentName1 = $RequestInfo->InstrumentName;
if($InstrumentName1 == NULL) return "-[?]112";
$Query1 = "select * from ".$Tablename1." WHERE ";
$Query1 = $Query1."Devicename='".$InstrumentName1."' ";
if($RequestInfo->DataType != NULL){
$Query1 = $Query1."AND DataType='".$RequestInfo->DataType."' ";
}
//$Query1 = $Query1."ORDER BY SNo ";
if($RequestInfo->StartSNo > 0){
if($RequestInfo->DirectionofTime == -1){
$Query1 = $Query1."AND SNo<=".$RequestInfo->StartSNo." ORDER BY SNo DESC ";
}else if($RequestInfo->DirectionofTime == 1){
$Query1 = $Query1."AND SNo>=".$RequestInfo->StartSNo." ORDER BY SNo ASC ";
}else{
$Query1 = $Query1."AND SNo=".$RequestInfo->StartSNo." ORDER BY SNo DESC ";
}
}else{
if($RequestInfo->DirectionofTime == -1){
$Query1 = $Query1."ORDER BY SNo DESC ";
}else if($RequestInfo->DirectionofTime == 1){
$Query1 = $Query1."ORDER BY SNo ASC ";
}else{
$Query1 = $Query1."ORDER BY SNo DESC ";
}
}
if($RequestInfo->DataNumber > 0){
$Query1 = $Query1."LIMIT ".$RequestInfo->DataNumber.";";
}else{
$Query1 = $Query1."LIMIT ".$NumberLimitofData.";";
}
//echo $Query1."<br>";
return $Query1;
}
function b_MakeQuery_IRq02($RequestInfo){
// DirectionofTime : -1(DESC), 1(ASC)
global $NumberLimitofData;
global $ColumnName_Time;
$Tablename1 = $RequestInfo->Tablename;
if($Tablename1 == NULL) return "-[?]121";
$InstrumentName1 = $RequestInfo->InstrumentName;
if($InstrumentName1 == NULL) return "-[?]122";
$ValueofMinutes1 = $RequestInfo->ValueofMinutes;
if($ValueofMinutes1 < 0) return "-[?]123";
$Query1 = "select * from ".$Tablename1." WHERE ";
$Query1 = $Query1."Devicename='".$InstrumentName1."' ";
if($RequestInfo->DataType != NULL){
$Query1 = $Query1."AND DataType='".$RequestInfo->DataType."' ";
}
//$Query1 = $Query1."ORDER BY SNo ";
if($RequestInfo->StartSNo > 0){
if($RequestInfo->DirectionofTime == -1){
$Query1 = $Query1."AND ".$ColumnName_Time.">=".$RequestInfo->ValueofMinutes." ";
$Query1 = $Query1."AND SNo<=".$RequestInfo->StartSNo." ORDER BY SNo DESC ";
}else if($RequestInfo->DirectionofTime == 1){
$Query1 = $Query1."AND ".$ColumnName_Time."<=".$RequestInfo->ValueofMinutes." ";
$Query1 = $Query1."AND SNo>=".$RequestInfo->StartSNo." ORDER BY SNo ASC ";
}else{
$Query1 = $Query1."AND ".$ColumnName_Time."=".$RequestInfo->ValueofMinutes." ";
$Query1 = $Query1."ORDER BY SNo DESC ";
}
}else{
$Query1 = $Query1."AND ".$ColumnName_Time."=".$RequestInfo->ValueofMinutes." ";
$Query1 = $Query1."ORDER BY SNo DESC ";
}
if($RequestInfo->DataNumber > 0){
$Query1 = $Query1."LIMIT ".$RequestInfo->DataNumber.";";
}else{
$Query1 = $Query1."LIMIT ".$NumberLimitofData.";";
}
//echo $Query1."<br>";
return $Query1;
}
// To find data with a specified condition
function b_MakeQuery_IRq03($RequestInfo){
// DirectionofTime : -1(DESC), 1(ASC)
global $NumberLimitofData;
global $ColumnName_Time;
$Tablename1 = $RequestInfo->Tablename;
if($Tablename1 == NULL) return "-[?]131";
$InstrumentName1 = $RequestInfo->InstrumentName;
if($InstrumentName1 == NULL) return "-[?]132";
$ColumnName1 = $RequestInfo->ColumnName;
$ColumnValue1 = $RequestInfo->ColumnValue;
$DirectionofValue1 = $RequestInfo->DirectionofValue;
$Query1 = "select * from ".$Tablename1." WHERE ";
$Query1 = $Query1."Devicename='".$InstrumentName1."' ";
if($RequestInfo->DataType != NULL){
$Query1 = $Query1."AND DataType='".$RequestInfo->DataType."' ";
}
switch($DirectionofValue1){
case 1:
$Query1 = $Query1."AND ".$ColumnName.">=".$ColumnValue1." ";
break;
case -1:
$Query1 = $Query1."AND ".$ColumnName."<=".$ColumnValue1." ";
break;
default:
$Query1 = $Query1."AND ".$ColumnName."=".$ColumnValue1." ";
break;
}
if($RequestInfo->StartSNo > 0){
if($RequestInfo->DirectionofTime == -1){
$Query1 = $Query1."AND SNo<=".$RequestInfo->StartSNo." ORDER BY SNo DESC ";
}else if($RequestInfo->DirectionofTime == 1){
$Query1 = $Query1."AND SNo>=".$RequestInfo->StartSNo." ORDER BY SNo ASC ";
}else{
$Query1 = $Query1."ORDER BY SNo DESC ";
}
}else{
$Query1 = $Query1."ORDER BY SNo DESC ";
}
if($RequestInfo->DataNumber > 0){
$Query1 = $Query1."LIMIT ".$RequestInfo->DataNumber.";";
}else{
$Query1 = $Query1."LIMIT ".$NumberLimitofData.";";
}
//echo $Query1."<br>";
return $Query1;
}
function b_GetQueryResults($Conn, $QueryString){
$QueryResults = mysqli_query($Conn, $QueryString);
$ResultNumber = mysqli_num_rows($QueryResults);
if($ResultNumber < 1){
echo "[No Results] ".$QueryString."<br>";
exit;
}
return $QueryResults;
}
class cRequestInfo{
public $Tablename; //WF000_20010101
public $StartSNo = -1;
public $EndSNo = -1;
public $StartTime; //"2002-01-01 00:00:01";
public $EndTime; //"2020-01-01 00:00:02";
public $InstrumentName;
public $WiFiDevicename;
public $DataType;
public $RequestTypeNo = -1;
public $IsNew = 0;
public $DataNumber = -1;
public $DirectionofTime = -1; // -1(DESC, recent first), 1(ASC, oldest first)
public $PointofTime = 1; //1(right after) -1(right before)
public $ValueofMinutes = -1;
//public $ColmumnName; // 'Value1'
//public $RefValue;
//public $DirectionofValue=1; // 1(over), -1(below)
function __construct(){
}
}
class cWiFiInfo{
public $SNo = -1;
public $WFDevicename; //"WF000";
public $Tablename; //"WF000_20020101";
public $CreatedDate; //"2002-01-01 12:23:34";
function __construct($Row){
$this->SNo = $Row['SNo'];
$this->WFDevicename = $Row['WFDevicename'];
$this->Tablename = $Row['Tablename'];
$this->CreatedDate = $Row['CreatedDate'];
}
function DisplayValues(){
echo "=== Values of WiFiInfo ===<br>";
echo "[SNo] ".$this->SNo."<br>";
echo "[WiFiDevicename] ".$this->WFDevicename."<br>";
echo "[Tablename] ".$this->Tablename."<br>";
echo "[CreatedDate] ".$this->CreatedDate."<br>";
echo "<br>";
}
}
class cValuesofData{
public $SNo = -1;
public $DataType = "DT-1";
public $Value1 = -1.0;
public $Value2 = -1.0;
public $Value3 = -1.0;
public $Value4 = -1.0;
public $Value5 = -1.0;
public $Value6 = -1.0;
public $Value7 = "-1";
public $Value8 = "-1";
function __construct($Row){
$this->SNo = $Row['SNo'];
$this->DataType = $Row['DataType'];
$this->Value1 = $Row['Value1'];
$this->Value2 = $Row['Value2'];
$this->Value3 = $Row['Value3'];
$this->Value4 = $Row['Value4'];
$this->Value5 = $Row['Value5'];
$this->Value6 = $Row['Value6'];
$this->Value7 = $Row['Value7'];
$this->Value8 = $Row['Value8'];
}
function DisplayValues(){
echo "=== Values of Data ===<br>";
echo "[SNo] ".$this->SNo."<br>";
echo "[DataType] ".$this->DataType."<br>";
echo "[Value1] ".$this->Value1."<br>";
echo "[Value2] ".$this->Value2."<br>";
echo "[Value3] ".$this->Value3."<br>";
echo "[Value4] ".$this->Value4."<br>";
echo "[Value5] ".$this->Value5."<br>";
echo "[Value6] ".$this->Value6."<br>";
echo "[Value7] ".$this->Value7."<br>";
echo "[Value8] ".$this->Value8."<br>";
echo "<br>";
}
}
//============================================================
function Test06(){
echo "<h2>BMSManager_T02 : Test06</h2><br>";
$Conn = h_Connect2DB($Conn);
$RI1 = new cRequestInfo();
$RI1->WiFiDevicename = "WF100";
$RI1->StartTime = date('Y-m-d H:i:s');
$Query11 = b_MakeQuery_WRq02($RI1);
if(strpos($Query11, "[?]") > 0){
echo $Query11;
exit;
}
$QRs = b_GetQueryResults($Conn, $Query11);
foreach($QRs as $Row1){
$WI1 = new cWiFiInfo($Row1);
$Tablename1 = $WI1->Tablename;
$WI1->DisplayValues();
}
echo "<br>";
$RI1->Tablename = $Tablename1;
$RI1->InstrumentName = "VI1.01";
$RI1->DataType = "SC2";
$RI1->DataNumber = 2;
$RI1->DirectionofTime = -1;
$RI1->StartSNo = -1;
$Query21 = b_MakeQuery_IRq01($RI1);
$QRs = b_GetQueryResults($Conn, $Query21);
foreach($QRs as $Row1){
$VoD1 = new cValuesofData($Row1);
$StartSNo2 = $VoD1->SNo;
$VoD1->DisplayValues();
}
}
Test06();
h_DisconnectDB($Conn);
//===============================================================
function Test02(){
echo "<h2>BMSManager_T02</h2><br>";
$Conn = h_Connect2DB($Conn);
$RI1 = new cRequestInfo();
$RI1->WiFiDevicename = "WF100";
$RI1->StartTime = date('Y-m-d H:i:s');
$Query11 = b_MakeQuery_WRq02($RI1);
if(strpos($Query11, "[?]") > 0){
echo $Query11;
exit;
}
$QRs = b_GetQueryResults($Conn, $Query11);
foreach($QRs as $Row1){
$WI1 = new cWiFiInfo($Row1);
$Tablename1 = $WI1->Tablename;
$WI1->DisplayValues();
}
echo "<br>";
}
function Test03(){
echo "<h2>BMSManager_T02</h2><br>";
$Conn = h_Connect2DB($Conn);
$RI1 = new cRequestInfo();
$RI1->WiFiDevicename = "WF100";
$RI1->StartTime = date('Y-m-d H:i:s');
$Query11 = b_MakeQuery_WRq02($RI1);
if(strpos($Query11, "[?]") > 0){
echo $Query11;
exit;
}
$QRs = b_GetQueryResults($Conn, $Query11);
foreach($QRs as $Row1){
$WI1 = new cWiFiInfo($Row1);
$Tablename1 = $WI1->Tablename;
$WI1->DisplayValues();
}
echo "<br>";
$RI1->Tablename = $Tablename1;
$RI1->StartTime = "2020-06-27 12:00:00";
$RI1->DirectionofTime = -1; // Just before
$Query12 = b_MakeQuery_WRq03($RI1);
$QRs = b_GetQueryResults($Conn, $Query12);
foreach($QRs as $Row1){
$VoD1 = new cValuesofData($Row1);
$VoD1->DisplayValues();
}
echo "<br>";
}
function Test04(){
echo "<h2>BMSManager_T02 : Test04</h2><br>";
$Conn = h_Connect2DB($Conn);
$RI1 = new cRequestInfo();
$RI1->WiFiDevicename = "WF100";
$RI1->StartTime = date('Y-m-d H:i:s');
$Query11 = b_MakeQuery_WRq02($RI1);
if(strpos($Query11, "[?]") > 0){
echo $Query11;
exit;
}
$QRs = b_GetQueryResults($Conn, $Query11);
foreach($QRs as $Row1){
$WI1 = new cWiFiInfo($Row1);
$Tablename1 = $WI1->Tablename;
$WI1->DisplayValues();
}
echo "<br>";
$RI1->Tablename = $Tablename1;
$RI1->StartTime = "2020-06-27 12:00:00";
$RI1->DirectionofTime = -1; // Just before
$RI1->DataNumber = 1; // Just before
$Query12 = b_MakeQuery_WRq03($RI1);
$QRs = b_GetQueryResults($Conn, $Query12);
foreach($QRs as $Row1){
$VoD1 = new cValuesofData($Row1);
$StartSNo = $VoD1->SNo;
$VoD1->DisplayValues();
}
echo "<br>";
$RI1->DirectionofTime = -1; // Just before
$RI1->DataNumber = 1; // Just before
$RI1->InstrumentName = "VI1.01";
$RI1->StartSNo = $StartSNo;
// $RI1->DataType =
$Query21 = b_MakeQuery_IRq01($RI1);
$QRs = b_GetQueryResults($Conn, $Query21);
foreach($QRs as $Row1){
$VoD1 = new cValuesofData($Row1);
$VoD1->DisplayValues();
}
echo "<br>";
}
function Test05(){
echo "<h2>BMSManager_T02 : Test05</h2><br>";
$Conn = h_Connect2DB($Conn);
$RI1 = new cRequestInfo();
$RI1->WiFiDevicename = "WF100";
$RI1->StartTime = date('Y-m-d H:i:s');
$Query11 = b_MakeQuery_WRq02($RI1);
if(strpos($Query11, "[?]") > 0){
echo $Query11;
exit;
}
$QRs = b_GetQueryResults($Conn, $Query11);
foreach($QRs as $Row1){
$WI1 = new cWiFiInfo($Row1);
$Tablename1 = $WI1->Tablename;
$WI1->DisplayValues();
}
echo "<br>";
$RI1->Tablename = $Tablename1;
$RI1->StartTime = "2020-06-16 12:00:00";
$RI1->DirectionofTime = -1; // Just before
$RI1->DataNumber = 1; // Just before
$Query12 = b_MakeQuery_WRq03($RI1);
$QRs = b_GetQueryResults($Conn, $Query12);
foreach($QRs as $Row1){
$VoD1 = new cValuesofData($Row1);
$StartSNo = $VoD1->SNo;
$VoD1->DisplayValues();
}
echo "<br>";
$RI1->DirectionofTime = 1; // Just after
$RI1->DataNumber = 1; // Just before
$RI1->InstrumentName = "VI1.01";
$RI1->DataType = "SC2";
$RI1->StartSNo = $StartSNo;
// $RI1->DataType =
$Query21 = b_MakeQuery_IRq01($RI1);
$QRs = b_GetQueryResults($Conn, $Query21);
foreach($QRs as $Row1){
$VoD1 = new cValuesofData($Row1);
$StartSNo2 = $VoD1->SNo;
$VoD1->DisplayValues();
}
echo "<br>";
$RI1->StartSNo = $StartSNo2+1;
// $RI1->DataType =
$Query21 = b_MakeQuery_IRq01($RI1);
$QRs = b_GetQueryResults($Conn, $Query21);
foreach($QRs as $Row1){
$VoD1 = new cValuesofData($Row1);
$StartSNo2 = $VoD1->SNo;
$VoD1->DisplayValues();
}
echo "<br>";
$RI1->StartSNo = $StartSNo2+1;
// $RI1->DataType =
$Query21 = b_MakeQuery_IRq01($RI1);
$QRs = b_GetQueryResults($Conn, $Query21);
foreach($QRs as $Row1){
$VoD1 = new cValuesofData($Row1);
$StartSNo2 = $VoD1->SNo;
$VoD1->DisplayValues();
}
echo "<br>";
}
?>
<결과 출력 화면>
반응형
'SWDesk > Web' 카테고리의 다른 글
[BDS] Web page for Admin (0) | 2020.08.19 |
---|---|
Chart, Javascript, php (4) | 2020.07.23 |
PHP + Python Test (0) | 2020.06.23 |
[BPM] Updating Sources for Manager (0) | 2020.06.15 |
Cookie Test (0) | 2020.06.13 |
반응형
250x250
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 전압
- 혁신
- 티스토리챌린지
- Innovations
- 치매
- 허들
- 전압전류모니터링
- 아두이노
- Decorator
- Hurdles
- DYOV
- Innovations&Hurdles
- 오블완
- bilient
- Innovation&Hurdles
- Video
- ServantClock
- 빌리언트
- BSC
- 둎
- 치매방지
- 절연형
- 배프
- 심심풀이치매방지기
- arduino
- badp
- 심심풀이
- 혁신과허들
- 전류
- image
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함