VM暫存
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

142 lignes
4.3KB

  1. <?php
  2. /*
  3. file: pks.php 車位在席模組
  4. IVS -> 車號, 影像
  5. 鼎高IVS傳送車號及影像檔
  6. http://203.75.167.89/pks.html/cameras/sno/12112/ivsno/3/pksno/2016/io/KI/type/C/lpr/ABC1234/color/red/sq/5236
  7. http://203.75.167.89/pks.html/cameras/sno/12119/ivsno/3/pksno/195/io/KO/type/C/lpr/NONE/color/red/sq/5236
  8. sno: 場站編號(新北市圖書館:12118)
  9. ivsno: ivs編號, 每一支都是獨立編號(序號)
  10. pksno: 車位編號
  11. io: KI:進車格, KO:出車格, KL:車牌
  12. type: C:汽車, H:重機, M:機車
  13. lpr: ABC1234(車號), 無:NONE
  14. color: red(紅色), 若無請用NONE(4個字)
  15. sq: 序號(查詢時參考用)
  16. http設定說明:
  17. method: POST
  18. 上傳圖檔名英數字, 副檔名為gif/jpg/png均可
  19. 上傳圖檔欄位名稱為cars
  20. */
  21. class Pks extends CC_Controller
  22. {
  23. function __construct()
  24. {
  25. parent::__construct('pks');
  26. ignore_user_abort(); // 接受client斷線, 繼續run
  27. if ($this->router->fetch_method() == 'cameras')
  28. {
  29. ob_end_clean();
  30. ignore_user_abort();
  31. ob_start();
  32. header('Connection: close');
  33. header('Content-Length: ' . ob_get_length());
  34. ob_end_flush();
  35. flush();
  36. }
  37. }
  38. public function parked()
  39. {
  40. $data['group_id'] = $this->uri->segment(3);
  41. $data['init_value'] = $this->uri->segment(4);
  42. // $data['client_id'] = uniqid();
  43. // $data['mqtt_ip'] = '192.168.10.201';
  44. // $data['port_no'] = 8000;
  45. $this->load->view(APP_NAME.'/parked', $data);
  46. }
  47. // 樓層平面圖
  48. // http://203.75.167.89/parkingquery.html/floor_map
  49. public function floor_map()
  50. {
  51. /*
  52. header('Access-Control-Allow-Origin: *');
  53. header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS');
  54. header('Access-Control-Allow-Headers: X-Requested-With, Content-Type, Accept');
  55. */
  56. $this->load->view("parkingquery/floor_map");
  57. }
  58. // IVS -> 車號, 影像
  59. /*
  60. IVS -> 車號, 影像
  61. 鼎高IVS傳送車號及影像檔
  62. http://203.75.167.89/pks.html/cameras/sno/12119/ivsno/3/pksno/102/io/KI/type/C/lpr/ABC1234/color/red/sq/5236
  63. sno: 場站編號(新北市圖書館:12118)
  64. ivsno: ivs編號, 每一支都是獨立編號(序號)
  65. pksno: 車位編號
  66. io: KI:進車格, KO:出車格, KL:車牌辨識
  67. type: C:汽車, H:重機, M:機車
  68. lpr: ABC1234(車號)
  69. color: red(紅色), 若無請用NONE(4個字)
  70. sq: 序號(查詢時參考用)
  71. http設定說明:
  72. method: POST
  73. 上傳圖檔名英數字, 副檔名為gif/jpg/png均可
  74. 上傳圖檔欄位名稱為cars
  75. */
  76. public function cameras()
  77. {
  78. $parms = $this->uri->uri_to_assoc(3);
  79. // 調整 pksno 為 pks 格式
  80. if (strpos($parms['pksno'], 'B') !== false){
  81. if($parms['sno'] == '40709')
  82. $parms['pksno'] = '8' . intval(preg_replace('/[^0-9\-]/', '', $parms['pksno'])); // 地下 B
  83. else {
  84. $parms['pksno'] = '9' . intval(preg_replace('/[^0-9\-]/', '', $parms['pksno'])); // 地下 B
  85. }
  86. }
  87. else
  88. $parms['pksno'] = intval(preg_replace('/[^0-9\-]/', '', $parms['pksno']));
  89. trigger_error('在席參數傳入:'.print_r($parms, true));
  90. // 初始 mqtt
  91. $this->init_mqtt();
  92. // 執行
  93. $this->app_model()->pksio($parms); // 車輛進出車格資料庫處理
  94. exit;
  95. }
  96. // 重新計算
  97. // http://203.75.167.89/pks.html/reculc/
  98. public function reculc()
  99. {
  100. $this->app_model()->reculc();
  101. }
  102. // 取得所有車位狀態資訊
  103. // http://203.75.167.89/pks.html/query_station_status/12112
  104. public function query_station_status()
  105. {
  106. $station_no = $this->uri->segment(3);
  107. $data = $this->app_model()->query_station_status($station_no);
  108. echo json_encode($data, JSON_UNESCAPED_UNICODE);
  109. }
  110. // 取得車位資訊
  111. // http://203.75.167.89/pks.html/query_station_pks/12112/2021
  112. public function query_station_pks(){
  113. $station_no = $this->uri->segment(3);
  114. $pksno = $this->uri->segment(4);
  115. $data = $this->app_model()->query_station_pks($station_no, $pksno);
  116. echo json_encode($data, JSON_UNESCAPED_UNICODE);
  117. }
  118. // 車位狀態資訊圖
  119. // http://203.75.167.89/pks.html/status_map
  120. public function status_map()
  121. {
  122. $this->show_page("status_map");
  123. }
  124. }