12345678910111213141516171819202122232425262728293031323334353637383940 |
- <?php
- namespace App\Servers;
- class BoxStatusServer extends BaseServer
- {
- public function main($body)
- {
- $body = $this->decodeBody($body);
- self::log($body, '状态');
- self::setCache($body['imei'] . ':' . ClientServer::STATUS_CMD, $body);
- return false;
- }
- private function decodeBody($body)
- {
- $i = 0;
- $imei = self::decodeBoxNo(self::stitching($body, $i, 15, false));
- $i += 15;
- $temperature = self::stitching($body, $i, 1);
- $i += 1;
- $water_level_warning = (int)self::stitching($body, $i, 1);
- $i += 1;
- $water_quality = self::stitching($body, $i, 1);
- $i += 1;
- $box_status = (int)self::stitching($body, $i, 1);
- $i += 1;
- return [
- 'imei' => $imei,
- 'temperature' => $temperature,
- 'water_level_warning' => $water_level_warning,
- 'water_quality' => $water_quality,
- 'box_status' => $box_status,
- ];
- }
- }
|