เมนู

แสดงโพสต์

ส่วนนี้ให้คุณดูโพสต์ทั้งหมดของสมาชิกท่านนี้ (เฉพาะโพสต์ในส่วนที่คุณมีสิทธิ์เข้าถึง)

เมนู แสดงโพสต์

หัวข้อ - sunbrightz

#1
พวกเว็บที่รับจด domain 300/ปี อะไรแบบนี้อะครับ เราสามารถทำ domain ขึ้นมาใช้เองเลยได้ไหมที่เป็น www._______.com หรือ . อื่นๆ โดยไม่ต้องเช่า เขามีวิธีทำอย่างไรเรียกว่าอะไร คนทั่วไปสามารถทำเองได้ไหมครับ หรือต้องมีอุปกรณ์เพิ่มเติม  :wanwan017:
#2
สมมุติว่าผมต้องการเก็บข้อมูลการใช้ไฟฟ้า kwh จาก sensor แต่ละที่(location) ที่ต้องการจะส่งเข้าฐานข้อมูล mysql
วัตถุประสงค์ แสดงข้อมูลหน้าเว็บแบบ real time และมีการ plot graph จากข้อมูลที่เก็บไว้ (เป็นช่วงเวลาอะไรก็ว่าไป)

กรณีที่ 1 เก็บข้อมูลแยกเป็น datanow datalog
datanow จะถูกส่งมาจาก sensor ทุกๆ กี่วิก็ว่าไป เพื่อนำไปแสดงข้อมูลแบบ real time ส่วน datalog ครบกำหนดเวลากี่นาทีก็เก็บลง datalog แต่ละจุดๆ

Database:


Datanow: เอา kwh ไปแสดงหน้าเว็บแบบ real time (update ข้อมูลแต่ละ id ตามที่ sensor ส่งมาต่อวิ)


Datalog: เอาไว้ plot graph (insert ข้อมูลลงไปตามนาทีที่ตั้งไว้) *ไม่ต้องสน id นะครับเป็นการ copy ข้อมูลมาเฉยๆ


----------------------------------------------- กับ ----------------------------------------------------------

กรณีที่ 2 แยก location เก็บเป็น table ซะ
เก็บลง table ใคร table มัน (อาจจะให้ sensor ที่ส่งมา update แค่ id 1 เพื่อนำไปแสดงหน้าเว็บแบบ real time (กี่วิก็ว่าไป)  ข้อมูลที่เหลือเมื่อครบกี่นาทีก็เก็บลง ต่อๆไปเรื่อยๆ)

Database: แยก table ออกตาม location


Table: เก็บของใครของมันลง table ตัวเอง *ไม่ต้องสน id นะครับเป็นการ copy ข้อมูลมาเฉยๆ


สอบถามพี่ๆหน่อยครับว่าความเห็นแต่ละท่านควรจะเป็นแบบไหนจะดีหรือเหมาะกว่า (ไม่นับการทำแยก pk fk ของ location นะครับ)

*ข้อมูล location อาจจะมีเยอะ 10 หรือหลายๆที่ ที่ต้องการติด sensor
#3
Programming / อัพขึ้น server ubuntu
09 กรกฎาคม 2019, 20:13:30
ที่ บ เช่า server ของ amazon เป็น cloud computer ไว้เข้าละก็อัพขึ้น server ubuntu อีกทีนึง
คราวนี้ผมใช้ไฟล์ php เขียน line notify ตามนี้

$Token = $_GET["Token"];
$message = $_GET["message "];

line_notify($Token, $message);

fucntion line_notify($Token, $message)
{
       $lineapi = $Token; // ใส่ token key ที่ได้มา
$mms =  trim($message); // ข้อความที่ต้องการส่ง
date_default_timezone_set("Asia/Bangkok");
$chOne = curl_init();
curl_setopt( $chOne, CURLOPT_URL, "https://notify-api.line.me/api/notify");
// SSL USE
curl_setopt( $chOne, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt( $chOne, CURLOPT_SSL_VERIFYPEER, 0);
//POST
curl_setopt( $chOne, CURLOPT_POST, 1);
curl_setopt( $chOne, CURLOPT_POSTFIELDS, "message=$mms");
curl_setopt( $chOne, CURLOPT_FOLLOWLOCATION, 1);
$headers = array( 'Content-type: application/x-www-form-urlencoded', 'Authorization: Bearer '.$lineapi.'', );
       curl_setopt($chOne, CURLOPT_HTTPHEADER, $headers);
curl_setopt( $chOne, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec( $chOne );
//Check error
if(curl_error($chOne))
{
          echo 'error:' . curl_error($chOne);
}
else {
$result_ = json_decode($result, true);
  echo "status : ".$result_['status']; echo "message : ". $result_['message'];
       }
curl_close( $chOne );  
}$Token = $_GET["Token"];
$message = $_GET["message "];

line_notify($Token, $message);

fucntion line_notify($Token, $message)
{
       $lineapi = $Token; // ใส่ token key ที่ได้มา
$mms =  trim($message); // ข้อความที่ต้องการส่ง
date_default_timezone_set("Asia/Bangkok");
$chOne = curl_init();
curl_setopt( $chOne, CURLOPT_URL, "https://notify-api.line.me/api/notify");
// SSL USE
curl_setopt( $chOne, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt( $chOne, CURLOPT_SSL_VERIFYPEER, 0);
//POST
curl_setopt( $chOne, CURLOPT_POST, 1);
curl_setopt( $chOne, CURLOPT_POSTFIELDS, "message=$mms");
curl_setopt( $chOne, CURLOPT_FOLLOWLOCATION, 1);
$headers = array( 'Content-type: application/x-www-form-urlencoded', 'Authorization: Bearer '.$lineapi.'', );
       curl_setopt($chOne, CURLOPT_HTTPHEADER, $headers);
curl_setopt( $chOne, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec( $chOne );
//Check error
if(curl_error($chOne))
{
          echo 'error:' . curl_error($chOne);
}
else {
$result_ = json_decode($result, true);
  echo "status : ".$result_['status']; echo "message : ". $result_['message'];
       }
curl_close( $chOne );  
}


เวลาเรียกใช้ผมเรียกใช้ผ่าน ajax ใน localhost ของผม (xampp) รันได้ปกติส่งได้แต่พอขึ้น host จริงดัน error 500 ใน console ของ F12
พอผมเปลี่ยนมาใช้

define('LINE_API',"https://notify-api.line.me/api/notify");

$token = ""; //ใส่Token ที่copy เอาไว้
$str = "Hello"; //ข้อความที่ต้องการส่ง สูงสุด 1000 ตัวอักษร

$res = notify_message($str,$token);
print_r($res);
function notify_message($message,$token){
$queryData = array('message' => $message);
$queryData = http_build_query($queryData,'','&');
$headerOptions = array(
        'http'=>array(
           'method'=>'POST',
           'header'=> "Content-Type: application/x-www-form-urlencoded\r\n"
                     ."Authorization: Bearer ".$token."\r\n"
                     ."Content-Length: ".strlen($queryData)."\r\n",
           'content' => $queryData
        ),
);
$context = stream_context_create($headerOptions);
$result = file_get_contents(LINE_API,FALSE,$context);
$res = json_decode($result);
return $res;
}


ดันใช้งานได้ เป็นเพราะอะไรครับ วิธีการเขียน php ไม่รองรับหรือว่ายังไง ตอนนี้ผมเขียน คำนวนเฉยๆแล้วส่งค่าไป js ก็ error 500 เหมือนเดิม //edit ล่าสุดโค้ดคำนวนใช้ได้แล้วครับชื่อ table ใน php ไม่ตรงกัน ตัวเล็กตัวใหญ่ แต่ยังสงสัยเรื่อง line อยู่ครับ
#4
สอบถามครับ ตอนนี้ผมแกะโปรเจคนึงของที่คนบริษัทเคยเขียนเขาทำแค่แจ้งเตือนผ่านเว็บเวลาที่ค่าอุณหภูมิหรืออื่นๆมากกว่าที่กำหนดไว้ โดยเขาใช้ timeout วนลูปไปเรื่อยๆเพื่อให้เว็บมีการ fetch ค่ามาจาก database ใหม่ๆ
หัวหน้าเขาอยากให้แจ้งเตือนผ่านไลน์ ผมเลยเขียนให้มันทำงานร่วมกับ php(มีการส่งค่าจากไฟล์ .js มาที่ php เพื่อแจ้งเตือนไลน์) เวลาที่หน้าเว็บมีการ  Alarm
ปัญหาคือ ถ้าเปิดเว็บหน้านั้นไว้แล้วมีค่ามากกว่าที่ตั้งไว้ ก็ Alarm เว็บและแจ้งเข้าไลน์ ได้แล้ว แต่ ถ้ามีการปิดหน้าเว็บไปก็จะไม่มีการส่งการแจ้งเตือนใดๆเลย มีวิธีไหนไหมครับที่ไป get ค่าจาก database
หรือให้มันทำงานเป็น background เพื่อที่ว่าค่ามากกว่าให้ส่งเข้าไลน์โดยไม่ต้องเปิดเว็บค้างไว้

โปรเจคคร่าวๆ
arduino -> database(mysql) -> php -> jquery -> html

:-X
#5
สงสัยว่าถ้าเขียน PHP โดยเขียนแบบ Object oriented style ที่เป็นแบบ -> อะไรแบบนี้



กับแบบ Procedural style ประมาณว่า

<?php
$strsql 
"SELECT * FROM keygen";
$query mysqli_query($connect,$strsql);
while(
$result mysqli_fetch_array($query)){}
?>




มันมีความแตกต่างกันยังไงไหมครับ  :-X
#6
พอดีตอนนี้อยากจะทำเป็นเว็บแอพในการโพสลงกลุ่มของ facebook หลายๆกลุ่มพร้อมกัน (เอาไว้โพสขายของ) ทาง facebook ยังทำได้อยู่ไหมครับ
พอดีไม่เห็น permission ที่โพสลงกลุ่มแล้ว เห็นแค่ user_managed_groups (จัดการเฉพาะกลุ่มของเรา)