VM暫存
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

118 lines
3.0KB

  1. <?php
  2. defined('BASEPATH') OR exit('No direct script access allowed');
  3. require_once('/home/bigbang/libs/phplibs/phpMQTT.php');
  4. class Update_pks_groups extends CI_Controller {
  5. public function __construct() {
  6. parent::__construct();
  7. $this->load->model('reports/Update_pks_groups_model','update_pks_groups');
  8. }
  9. public function index()
  10. {
  11. $station_no="40704";
  12. $group_type="2";
  13. $sel_pks_groups=$this->update_pks_groups->sel_pks_groups($station_no,$group_type);
  14. foreach($sel_pks_groups as $key0 => $value0){
  15. $station_no0=$value0['station_no'];
  16. $fgroup_id=$value0['group_id'];
  17. $sel_pks_all=$this->update_pks_groups->sel_pks_all($station_no, $fgroup_id);
  18. $sel_pks=$this->update_pks_groups->sel_pks($station_no, $fgroup_id);
  19. $data[$fgroup_id]=array(count($sel_pks_all),count($sel_pks),count($sel_pks_all)-count($sel_pks));
  20. $data0=array("tot"=>count($sel_pks_all),"parked"=>count($sel_pks),"availables"=>count($sel_pks_all)-count($sel_pks),"renum"=>count($sel_pks_all)-count($sel_pks));
  21. $this->update_pks_groups->update_pks_groups($data0, $fgroup_id);
  22. }
  23. //植物園
  24. $group_id1="P1";
  25. $gb_data=array('B1','B2');
  26. $data1=array();
  27. $data1tot0=0;
  28. $data1tot1=0;
  29. $data1tot2=0;
  30. foreach($gb_data as $key1=>$value1){
  31. $data1=$data[$value1];
  32. $data10=$data1[0];
  33. $data11=$data1[1];
  34. $data12=$data1[2];
  35. $data1tot0=$data1tot0+$data10;
  36. $data1tot1=$data1tot1+$data11;
  37. $data1tot2=$data1tot2+$data12;
  38. }
  39. $data19=array("tot"=>$data1tot0,"parked"=>$data1tot1,"availables"=>$data1tot2,"renum"=>$data1tot2);
  40. $this->update_pks_groups->update_pks_groups($data19, $group_id1);
  41. //植物園
  42. $group_id2="C888";
  43. $gb_data=array('B1','B2');
  44. $data2=array();
  45. $data2tot0=0;
  46. $data2tot1=0;
  47. $data2tot2=0;
  48. foreach($gb_data as $key2=>$value2){
  49. $data2=$data[$value2];
  50. $data20=$data2[0];
  51. $data21=$data2[1];
  52. $data22=$data2[2];
  53. $data2tot0=$data2tot0+$data20;
  54. $data2tot1=$data2tot1+$data21;
  55. $data2tot2=$data2tot2+$data22;
  56. }
  57. $data29=array("tot"=>$data2tot0,"parked"=>$data2tot1,"availables"=>$data2tot2,"renum"=>$data2tot2);
  58. $this->update_pks_groups->update_pks_groups($data29, $group_id2);
  59. $sel_pks_groups_all=$this->update_pks_groups->sel_pks_groups_all();
  60. foreach($sel_pks_groups_all as $key99 => $value99){
  61. $topic="SUBLEVEL";
  62. $mode=$value99['floors'];
  63. $floors=$value99['floors'];
  64. $availables=$value99['availables'];
  65. $mqtt_string=$floors.','.$availables;
  66. // $this->mq_send($topic, $mqtt_string);
  67. }
  68. }
  69. public function mq_send($topic, $msg)
  70. {
  71. // 取得 mqtt 設定
  72. $mqtt_ip = 'localhost';
  73. $mqtt_port = '1883';
  74. trigger_error("mqtt: {$mqtt_ip}:{$mqtt_port}");
  75. // mqtt subscribe
  76. $mqtt = new phpMQTT($mqtt_ip, $mqtt_port, uniqid());
  77. if($mqtt->connect()){
  78. $mqtt->publish($topic, $msg, 0);
  79. }
  80. trigger_error("mqtt:{$topic}|{$msg}");
  81. }
  82. }