当前位置: 首页 > news >正文

广西今天疫情最新政策广州seo网站推广公司

广西今天疫情最新政策,广州seo网站推广公司,专业维护网站的公司,led网站模板首先打开链接如何在 PHP 项目中使用 MQTT 根据文章让所用依赖安装一下: composer require php-mqtt/client 安装之后弄一个部署 之后在工具里边可以相应链接上 接下来是代码: /**** 订阅消息* return void* throws \PhpMqtt\Client\Exceptions\Confi…

首先打开链接如何在 PHP 项目中使用 MQTT

根据文章让所用依赖安装一下: composer require php-mqtt/client

安装之后弄一个部署
在这里插入图片描述
之后在工具里边可以相应链接上
在这里插入图片描述
接下来是代码:

 /**** 订阅消息* @return void* @throws \PhpMqtt\Client\Exceptions\ConfigurationInvalidException* @throws \PhpMqtt\Client\Exceptions\ConnectingToBrokerFailedException* @throws \PhpMqtt\Client\Exceptions\DataTransferException* @throws \PhpMqtt\Client\Exceptions\InvalidMessageException* @throws \PhpMqtt\Client\Exceptions\MqttClientException* @throws \PhpMqtt\Client\Exceptions\ProtocolNotSupportedException* @throws \PhpMqtt\Client\Exceptions\ProtocolViolationException* @throws \PhpMqtt\Client\Exceptions\RepositoryException*/public function dingyue(){$server = '*********.aliyun.emqxcloud.cn';//连接地址$port = 1883;$clientId = rand(5, 15);$username = '用户名';$password = '密码';$clean_session = false;$mqtt_version = MqttClient::MQTT_3_1_1;$connectionSettings = (new ConnectionSettings)->setUsername($username)->setPassword($password)->setKeepAliveInterval(60)->setLastWillTopic('emqx/test/last-will')->setLastWillMessage('client disconnect')->setLastWillQualityOfService(1);$mqtt = new MqttClient($server, $port, $clientId, $mqtt_version);$mqtt->connect($connectionSettings, $clean_session);//订阅消息//      下边是轮询订阅,订阅多个设备//        查数据库中设备列表$list = DeviceBall::where(['topic'=>['<>','']])->field('topic')->select();
//        获取topic$list = array_column($list, 'topic');//去重$list = array_unique($list);
//        dump($list);exit;foreach ($list as $i) {$mqtt->subscribe('CIOT/2000/DEVICE/' . $i, function ($topic,$message) use ($mqtt, $i) {printf("Received message on topic [%s]: %s\n", $topic, $message);$message = json_decode($message, true);if (isset($message['Body']['Info']['Msg']['Pass'])) {if ($message['Body']['Info']['Msg']['Pass'] == 1) {
//                        关闭订单$ball_id = DeviceBall::where(['topic' => $i])->find();$order_no = BallOrder::where(['ball_id' => $ball_id['id']])->order('id DESC')->where('status', 1)->value('order_no');$this->confirmorder($order_no);//语音指令,提前关闭,电源关闭$payload = array('Header' => ["Code" => '1004',"Time" => time() . '000',"Sign" => "lvzaina"],'Body' => ["MsgId" => time(),'Cmd' => "Voice",'Index' => 41]);$mqtt->publish(// topic'CIOT/2000/HOST/' . $i,// payloadjson_encode($payload),// qos0,// retaintrue);//可以关闭锁球器//发送关闭指令$payload = array('Header' => ["Code" => '1004',"Time" => time() . '000',"Sign" => "lvzaina"],'Body' => ["Mode" => "0","MsgId" => time(),'Cmd' => "Order",'ID' => 1,'Delay' => 0,'Type' => 0,"DCL" => 0,]);$mqtt->publish(// topic'CIOT/2000/HOST/' . $i,// payloadjson_encode($payload),// qos0,// retaintrue);} else {//异常,播报语音,不关闭锁球器,关锁失败请检车$payload = array('Header' => ["Code" => '1004',"Time" => time() . '000',"Sign" => "lvzaina"],'Body' => ["MsgId" => time(),'Cmd' => "Voice",'Index' => 45]);$mqtt->publish(// topic'CIOT/2000/HOST/' . $i,// payloadjson_encode($payload),// qos0,// retaintrue);}}}, 0);}$mqtt->loop(true);}

发送指令

static function publish(){$server = '********ted.aliyun.emqxcloud.cn';$port = 1883;$clientId = rand(5, 15);$username = '用户名';$password = '密码';$clean_session = false;$mqtt_version = MqttClient::MQTT_3_1_1;$connectionSettings = (new ConnectionSettings)->setUsername($username)->setPassword($password)->setKeepAliveInterval(60)->setLastWillTopic('emqx/test/last-will')->setLastWillMessage('client disconnect')->setLastWillQualityOfService(1);$mqtt = new MqttClient($server, $port, $clientId, $mqtt_version);$mqtt->connect($connectionSettings, $clean_session);$payload = array('Header' => ["Code" => '1004',"Time" => time() . '000',"Sign" => "lvzaina"],'Body' => ["Mode" => "0","MsgId" => time(),'Cmd' => "Check",]);$mqtt->publish(// topic'CIOT/2000/HOST/RE2BBEEC78',//推送的地址// payloadjson_encode($payload),// qos0,// retaintrue);}

上边是代码,下边事最重要的

1首先如果在本地测试的话,新建一个.bat文件,放在根目录
在这里插入图片描述
.bat文件内容,然后双击文件执行,这里执行的是上边订阅消息的方法,执行之后,可以在小黑窗里边看到打印的信息

chcp 65001
@echo off
:loop
E:\phpstudy_pro\Extensions\php\php7.4.3nts\php.exe public/index.php api/Billiards/dingyue
ping -n 3 127.1 >nul
goto loop
pause

2,如果是在linux中执行

新建一个.sh文件
在这里插入图片描述
.sh文件内容

#!/bin/bash
while true
do# 这里是要执行的代码/www/server/php/72/bin/php public/index.php api/Billiards/dingyue# 这里是要执行的代码endDate=`date +"%Y-%m-%d %H:%M:%S"`echo "At [$endDate] Successful"echo "----------------------------------------------------------------------------"sleep 3
done

在这里插入图片描述

开启列队:运行队列的代码

nohup bash run-api.sh >> run-api.out &
然后敲回车敲两下
查看执行文件返回内容
tail -f run-api.out
在这里插入图片描述
执行前,要看下是否已经在运行:
ps aux | grep bash
在这里插入图片描述
如果已经在执行
结束命令:
kill -9 进程号(256300)

然后再执行ps aux | grep bash 看是否已经停止,重新启动即可。

这样一个.sh文件就启动了

http://www.skylitedrivein.com/news/415.html

相关文章:

  • 网站开发实战教程百度关键词seo公司
  • 任务网站的接口怎么做网站推广策划书范文
  • 销售网站建设怎么做网站建设费用都选网络
  • 网站开发 青岛百度搜索热度查询
  • 灯塔网站制作公司怎么制作网站二维码
  • 东莞市官网网站建设怎么样手机自己怎么建电影网站
  • 做网站被坑能找司法吗深圳网络推广公司排名
  • 日照网站建建设新闻 最新消息
  • 网站标题的写法网址大全下载
  • 在线教育网站开发实例温州seo招聘
  • 朝阳区网站开发公司贵州seo技术培训
  • 免费试用网站网站关键词优化的步骤和过程
  • 网站重定向怎么做推广seo公司
  • phpcms怎么做网站郑州高端网站建设哪家好
  • 诸城做网站公司友情链接的网站
  • 网站cms系统下载西安网站seo价格
  • 广州一起做网站网店培训
  • 淮安哪里有做网站的人软文标题写作技巧
  • 商业网站域名后缀重庆网站建设技术外包
  • wordpress网站插件下载失败十大门户网站
  • 百度网站源码优化检测免费b站在线观看人数在哪儿
  • 样asp.net做网站google网站入口
  • 昆明做网站seo的跨境电商有哪些平台
  • 网站改版公告市场营销毕业论文
  • 建设什么网站好茂名seo顾问服务
  • 校园网络规划设计厦门seo俱乐部
  • dede网站建设教程云盘网络推广工作好做不
  • 网站负责人 法人百度竞价推广开户多少钱
  • 网站可以做的活动推广seo自己怎么做
  • 网站背景尺寸萧山市seo关键词排名