เมนู

แสดงโพสต์

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

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

ข้อความ - sunbrightz

#1
อ่อออ กระจ่างเลยครับ หาอยู่ตั้งนาน ขอบคุณคร้าบบบ  :-[
#2
พวกเว็บที่รับจด domain 300/ปี อะไรแบบนี้อะครับ เราสามารถทำ domain ขึ้นมาใช้เองเลยได้ไหมที่เป็น www._______.com หรือ . อื่นๆ โดยไม่ต้องเช่า เขามีวิธีทำอย่างไรเรียกว่าอะไร คนทั่วไปสามารถทำเองได้ไหมครับ หรือต้องมีอุปกรณ์เพิ่มเติม  :wanwan017:
#3
อ้างถึงจาก: Twenty-One ใน 25 พฤษภาคม 2020, 19:34:08
ถ้า location มีจำกัดผมว่าแบบที่ 2 น่าสนใจนะครับ แต่ทั้งนี้ทั้งนั้นผมว่าต้องให้ข้อมูลเพิ่มเติมด้วยว่า plot กราฟประมาณไหน
เอาข้อมูลไป plot ยังไง น่าจะให้คำตอบได้ดีขึ้น

ยกตัวอย่าง plot ธรรมดาก็ได้ครับ แค่เอาข้อมูล kwh ไป plot ตามวัน เช่น อยากดู 20/5/63 ถีง 22/5/63 ก็เอาข้อมูล kwh มา plot ตึงๆๆ
ถ้าออกแบบ แบบที่ 1 คือมีข้อมูลรวมๆกัน ต้องไป query where หาข้อมูลที่ต้องการมันจะช้าไหมครับ ข้อมูลเก็บไปเรื่อยๆ อาจจะ หมื่น แสน record
ตอนนี้เลยไม่รู้ว่าแบบไหนจะเหมาะกว่ากัน บางงานอาจจะมีสัก 10 location บางงานก็อาจจะมีถึง 40 50
#4
สมมุติว่าผมต้องการเก็บข้อมูลการใช้ไฟฟ้า 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
#5
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 อยู่ครับ
#6
อ้างถึงจาก: sinomoney ใน 07 กรกฎาคม 2019, 19:17:47

Cronjob น่าจะช่วยได้ครับ

ใช้รันไฟล์หน้า php ที่ต้องการแทนเราเปิดเองครับ

ถ้า server เป็น vps ปกติจะมีให้ใช้ได้เลย ถ้าหากใช้แชรืโฮส ก็ใช้จากเว็บภายนอกได้ครับ

ผมใช้ของเจ้านี้อยู่ครับ  https://www.easycron.com/

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

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

:-X
#8
แล้วในด้านประสิทธิภาพละครับ ความเร็ว ความหน่วง จะต่างกันไหมครับ
#9
สงสัยว่าถ้าเขียน PHP โดยเขียนแบบ Object oriented style ที่เป็นแบบ -> อะไรแบบนี้



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

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




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