2017-12-21 30 views
0

웹 서버와 통신하기 위해 SIM800L 모듈과 Arduino Uno를 사용하고 있습니다. 나는 Arduino에 의해 읽힌 센서가있다. 데이터베이스의 센서 값을 저장하고 싶습니다.SIM800L 웹 서버와의 HTTP 통신

내 웹 서버에는 데이터를 데이터베이스에 저장하는 PHP 페이지가 있습니다. 나는이 같은 GET 메서드를 사용하고있다 : http://www.isj.ir/Samples/sample.php?sen1=27.2.
SIM800L에 this library을 사용하고 있습니다.

그러나이 예제에서는 센서 값을 전달할 수 없습니다. 난 너무 혼란 스러워요! 도와 주시겠습니까? 어떻게해야합니까?

sprintf(body, "{\"name\": \"%s\"}", "Arduino"); 
result = http.post("isj.ir/Samples", body, response); 
Serial.println(body); 
print(F("HTTP POST: "), result); 
if (result == SUCCESS) { 
    Serial.println(response); 
    StaticJsonBuffer<32> jsonBuffer; 
    JsonObject& root = jsonBuffer.parseObject(response); 
    lastRunTime = millis(); 
    waitForRunTime = root["waitForRunTime"]; 
    print(F("Last run time: "), lastRunTime); 
    print(F("Next post in: "), waitForRunTime); 
} 

result = http.get("isj.ir/Samples", response); 
print(F("HTTP GET: "), result); 
if (result == SUCCESS) { 
    Serial.println(response); 
    StaticJsonBuffer<32> jsonBuffer; 
    JsonObject& root = jsonBuffer.parseObject(response); 
    lastRunTime = millis(); 
    waitForRunTime = root["waitForRunTime"]; 
    print(F("Last run time: "), lastRunTime); 
    print(F("Next post in: "), waitForRunTime); 
} 
+1

나는 많은 정보를 우리에게 전달하지 않았다. 위의 코드를 시도 할 때받을 내용을 지정하십시오. – Billa

답변

1

그래서 서버 측에서이 코드를 사용하여 센서 데이터를 MySql 데이터베이스에 저장합니다.

<?php 
$servername = "localhost"; 
$username = "admin"; 
$password = "#admin#"; 
$dbname = "admin"; 


    $sen1 = $_GET['sen1']; 
    $sen2 = $_GET['sen2']; 
    $sen3 = $_GET['sen3']; 
    $sen4 = $_GET['sen4']; 
    $sen5 = $_GET['sen5']; 
    $sen6 = $_GET['sen6']; 
    $sdate = $_GET['sdatetime']; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql = "INSERT INTO SensorTable (sen1, sen2, sen3,sen4,sen5,sen6,sdatetime) 
VALUES ('$sen1','$sen2','$sen3','$sen4','$sen5','$sen6','$sdate')"; 

if ($conn->query($sql) === TRUE) { 
    echo "New record created successfully"; 
} else { 
    echo "Error: " . $sql . "<br>" . $conn->error; 
} 

$conn->close(); 
?> 

나는 브라우저 주소 표시 줄에이 코드로 표를 채울 수 있습니다.

isj.ir/Samples/sample.php?sen1=1&sen2=5&sen3=10&sen4=15&sen5=20&sen6=33&sdatetime=20171211 

지금은 SIM800L로 전송하는 방법을 찾고 있습니다. (그리고 arduino UNO). 센서의 값을 어떻게 바꿀 수 있습니까? 어떻게 SIM800L과 함께 보낼 수 있습니까

isj.ir/Samples/sample.php?sen1=1&sen2=5&sen3=10&sen4=15&sen5=20&sen6=33&sdatetime=20171211 

감사합니다.