首页 文章 精选 留言 我的

精选列表

搜索[AI功能],共10000篇文章
优秀的个人博客,低调大师

阿里云IoT Studio服务开发定时关灯功能示例Demo

概述 IoT Studio服务开发是一个物联网业务逻辑的开发工具,通过编排服务节点的方式快速完成简单的物联网业务逻辑的设计。本文主要使用:定时触发、设备和钉钉机器人节点实现对灯泡的定时控制,并将控制后的结果发送给钉钉机器人。本文以官方文档:定时关灯为基础,针对文档中缺少设备属性上报,钉钉机器人配置参考较老等问题,逐一介绍整个链路的完整实现。 Step By Step 1、创建产品和设备,使用Code完成属性上报 1.1 创建产品和设备 1.2 使用开源Java MQTT SDK上报属性,参考链接:基于开源JAVA MQTT Client连接阿里云IoT import com.alibaba.taro.AliyunIoTSignUtil; import org.eclipse.paho.client.mqttv3.*; import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence; import java.util.HashMap; import java.util.Map; public class IoTDemoPubSubDemo { public static String productKey = "a1Agp******"; public static String deviceName = "LightDevice1"; public static String deviceSecret = "RLHDiBljxC7YQE7opM**************"; public static String regionId = "cn-shanghai"; // 物模型-属性上报topic private static String pubTopic = "/sys/" + productKey + "/" + deviceName + "/thing/event/property/post"; // 物模型-属性订阅topic private static String subTopic = "/sys/" + productKey + "/" + deviceName + "/thing/service/property/set"; private static MqttClient mqttClient; public static void main(String [] args){ initAliyunIoTClient(); postDeviceProperties(); try { mqttClient.unsubscribe(pubTopic); //取消订阅 mqttClient.subscribe(subTopic); // 订阅Topic } catch (MqttException e) { System.out.println("error:" + e.getMessage()); e.printStackTrace(); } // 设置订阅监听 mqttClient.setCallback(new MqttCallback() { @Override public void connectionLost(Throwable throwable) { System.out.println("connection Lost"); } @Override public void messageArrived(String s, MqttMessage mqttMessage) throws Exception { System.out.println("Sub message"); System.out.println("Topic : " + s); System.out.println(new String(mqttMessage.getPayload())); //打印输出消息payLoad // 订阅到消息后即刻汇报 System.out.println("收到云端下发指令后向平台上行消息"); mqttClient.publish(pubTopic, new MqttMessage((new String(mqttMessage.getPayload())).getBytes("utf-8"))); } @Override public void deliveryComplete(IMqttDeliveryToken iMqttDeliveryToken) { } }); } /** * 初始化 Client 对象 */ private static void initAliyunIoTClient() { try { // 构造连接需要的参数 String clientId = "java" + System.currentTimeMillis(); Map<String, String> params = new HashMap<>(16); params.put("productKey", productKey); params.put("deviceName", deviceName); params.put("clientId", clientId); String timestamp = String.valueOf(System.currentTimeMillis()); params.put("timestamp", timestamp); // cn-shanghai String targetServer = "tcp://" + productKey + ".iot-as-mqtt."+regionId+".aliyuncs.com:1883"; String mqttclientId = clientId + "|securemode=3,signmethod=hmacsha1,timestamp=" + timestamp + "|"; String mqttUsername = deviceName + "&" + productKey; String mqttPassword = AliyunIoTSignUtil.sign(params, deviceSecret, "hmacsha1"); connectMqtt(targetServer, mqttclientId, mqttUsername, mqttPassword); } catch (Exception e) { System.out.println("initAliyunIoTClient error " + e.getMessage()); } } public static void connectMqtt(String url, String clientId, String mqttUsername, String mqttPassword) throws Exception { MemoryPersistence persistence = new MemoryPersistence(); mqttClient = new MqttClient(url, clientId, persistence); MqttConnectOptions connOpts = new MqttConnectOptions(); // MQTT 3.1.1 connOpts.setMqttVersion(4); connOpts.setAutomaticReconnect(true); // connOpts.setCleanSession(true); connOpts.setCleanSession(false); connOpts.setUserName(mqttUsername); connOpts.setPassword(mqttPassword.toCharArray()); connOpts.setKeepAliveInterval(60); mqttClient.connect(connOpts); } /** * 汇报属性 */ private static void postDeviceProperties() { try { //上报数据 //高级版 物模型-属性上报payload System.out.println("上报属性值"); String payloadJson = "{\"params\":{\"LightSwitch\":1}}"; MqttMessage message = new MqttMessage(payloadJson.getBytes("utf-8")); message.setQos(0); mqttClient.publish(pubTopic, message); } catch (Exception e) { System.out.println(e.getMessage()); } } } 1.3 设备状态查看 2、IoT Studio中进行产品和设备绑定,完整服务开发模块搭建 2.1 绑定产品和设备 2.2 创建服务开发 2.3 钉钉机器人Webhook获取 2.4 部署启动定时任务 3 测试效果 3.1 钉钉群消息 3.2 程序运行日志 Sub message Topic : /sys/a1Agp******/LightDevice1/thing/service/property/set {"method":"thing.service.property.set","id":"50505571","params":{"LightSwitch":0},"version":"1.0.0"} 收到云端下发指令后向平台上行消息 参考链接 什么是IoT Studio定时关灯

优秀的个人博客,低调大师

带来站点分组功能

jSearch 发布到现在马上要满一年了,今天迎来了1.3版本。要只是满足我自己的需求的话其实很多更新都不是很必要了,因为我还挺能凑合的😂😂,所以能持续更新到现在真的是多亏了一批一直在用的用户和github上的issues。感谢大家! v1.3.0更新说明 1.新增搜索站点分组 支持快捷键Ctrl+1...9 切换分组; 支持非插件页面Ctrl+1...9 进行单组搜索; 2.新增地址栏搜索开关快捷键:Shift+D 本次更新图示: 更新历史: https://github.com/dubox/jSearch/releases

优秀的个人博客,低调大师

ImageMagick 7.0.9-14 发布,多功能图片处理软件

ImageMagick 7.0.9-14现已正式发布,该版本可以在Linux,Windows,Mac Os X,iOS,AndroidOS 等平台上运行。 ImageMagick 是一个用来创建、编辑、合成图片的软件。它可以读取、转换、写入超过 200 种格式的图片,包括 PNG、JPEG、GIF、HEIC、TIFF、DPX、EXR、WebP、Postscript、PDF 和 SVG 等等。 ImageMagick 可被用于图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线, 多边形,椭圆,曲线,附加到图片伸展旋转等。支持Linux、Windows、Mac OS X、iOS、Android OS 平台。 7.0.9-14版本的更新内容包括有: 支持扩展的 Fx 赋值运算符(例如*=,/=,++,--等) 支持 Fx for()迭代器 优化 Fx 性能 确保 circle.rb 对 IMv6 和 IMv7 呈现相同的效果(请参阅https://github.com/rmagick/rmagick/issues/905) 详细更新内容,以及了解以往版本更新可查阅更新记录。

优秀的个人博客,低调大师

ImageMagick 7.0.9-12 发布,多功能图片处理软件

ImageMagick 7.0.9-12现已正式发布,该版本可以在Linux,Windows,Mac Os X,iOS,AndroidOS 等平台上运行。 ImageMagick 是一个用来创建、编辑、合成图片的软件。它可以读取、转换、写入超过 200 种格式的图片,包括 PNG、JPEG、GIF、HEIC、TIFF、DPX、EXR、WebP、Postscript、PDF 和 SVG 等等。 ImageMagick 可被用于图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线, 多边形,椭圆,曲线,附加到图片伸展旋转等。支持Linux、Windows、Mac OS X、iOS、Android OS 平台。 7.0.9-12 版本的更新内容包括有: 使用 MinGW-w64 修复构建失败(参考:https://github.com/ImageMagick/ImageMagick6/issues/67) 读取图像后立即注入图像配置文件属性 详细更新内容,以及了解以往版本更新可查阅更新记录。

优秀的个人博客,低调大师

ImageMagick 7.0.9-10 发布,多功能图片处理软件

ImageMagick 7.0.9-10现已正式发布,该版本可以在Linux,Windows,Mac Os X,iOS,AndroidOS 等平台上运行。 ImageMagick 是一个用来创建、编辑、合成图片的软件。它可以读取、转换、写入超过 200 种格式的图片,包括 PNG、JPEG、GIF、HEIC、TIFF、DPX、EXR、WebP、Postscript、PDF 和 SVG 等等。 ImageMagick 可被用于图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线, 多边形,椭圆,曲线,附加到图片伸展旋转等。支持Linux、Windows、Mac OS X、iOS、Android OS 平台。 7.0.9-10 版本的更新内容包括有: 一些 clang版本不支持 _aligned_alloc() 支持-kmeans 命令行选项 详细更新内容,以及了解以往版本更新可查阅更新记录。

优秀的个人博客,低调大师

ImageMagick 7.0.9-6 发布,多功能图片处理软件

ImageMagick 7.0.9-6 已正式发布,该版本可以在Linux,Windows,Mac Os X,iOS,AndroidOS等平台上运行。 ImageMagick 是一个用来创建、编辑、合成图片的软件。它可以读取、转换、写入超过 200 种格式的图片,包括 PNG、JPEG、GIF、HEIC、TIFF、DPX、EXR、WebP、Postscript、PDF 和 SVG 等等。 据悉,7.0.9-6版本的新内容包括有: 增加贝塞尔曲线的最大数量 修正了TGA方向 在MYK图像上-compose Copy -extent的结果是CMYK 修复读取传真图像时潜在的缓冲区溢出 支持dng:use- camera-wb选项 ...... 详细信息: https://imagemagick.org/script/download.php https://www.filehorse.com/download-imagemagick-64/change-log/

优秀的个人博客,低调大师

Zulip Server 2.0.7 发布,功能强大的群组聊天软件

Zulip Server 2.0.7 发布了。Zulip 是一个强大的开源群组聊天软件,采用 Python 编写,使用 Django 框架,支持通过会话流的私人消息和群聊。Zulip 还支持快速搜索、拖放文件上传、图像预览、组私人消息、可听通知、错过电子邮件消息提醒与桌面应用等。 此版本更新内容如下: CVE-2019-18933:修复了通过社交身份验证创建不安全帐户的问题。 添加强制执行zxcvbn 密码强度检查。 更新说明: https://github.com/zulip/zulip/releases/tag/2.0.7

优秀的个人博客,低调大师

ImageMagick 7.0.9-5 发布,多功能图片处理软件

ImageMagick 7.0.9-5已正式发布,该版本可以在Linux,Windows,Mac Os X,iOS,AndroidOS等平台上运行。 据了解,ImageMagick 是一个用来创建、编辑、合成图片的软件。它可以读取、转换、写入超过 200 种格式的图片,包括 PNG、JPEG、GIF、HEIC、TIFF、DPX、EXR、WebP、Postscript、PDF 和 SVG 等等。 ImageMagick 可被用于图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线, 多边形,椭圆,曲线,附加到图片伸展旋转等。支持Linux、Windows、Mac OS X、iOS、Android OS 平台。 目前,该版本未列出详细的更新内容,了解以往版本更新可查阅更新记录。 下载地址:https://www.imagemagick.org/script/download.php

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册