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

【IoT 毕业设计】Ruff硬件+阿里云IoT+微信小程序构建环境监控系统

   0.技术架构   

 IoT 物联网毕业设计实战采用 Ruff 开发板,串口连接温湿度传感器DHT11和气质量传感器SDS011,每5分钟采集一次数据,通过MQTT协议发送到阿里云 IoT 物联网平台,写入云端的设备影子中。微信小程序调用阿里云函数计算FC,读取 IoT 物联网平台的设备影子中的数据,通过ECharts的仪表盘来展示空气质量 PM2.5 指数,温度和湿度值。

整体架构如下图所示:

e8f15cece5e96aa31a54ee6d572a706a.png

   1.硬件设备   

本次开发实战硬件清单如下:

5ec3ab8fd752fd85ecc5172774e33b1c.png

万能的淘宝有售

   2.阿里云开发   

2.1 物联网平台开发

2.1.1.免费开通阿里云 IoT物联网云服务:

https://www.aliyun.com/product/iot

67a48c5db7481c78d5315c3453eb8348.png

2.1.2.创建产品家居环境监测器,选择自定义品类,直连设备:

76ab11e5a20b0f775d89e2c893663662.png

2.1.3.注册设备,此时设备为未激活状态。

74867cbd9c644bbaf1ebe508559fd7c7.png

点击DeviceSecret的查看,获取设备身份三元组。

921ca318c085b57a2d3cc2224f20d9c7.png

2.1.4.设备更新最新传感器数据到设备影子中,对应的通信Topic和Payload格式如下:

通信 Topic:
/shadow/update/${ProductKey}/${DeviceName}
数据 Payload:
{"method":"update","state":{"reported":{"temperature":27,"humidity":45,"pm25":23,"pm10":36}},"version":156768564324
}

2.2 函数计算FC开发

2.2.1.免费开通阿里云 函数计算FC 云服务:

https://www.aliyun.com/product/fc

4a78b75efe9e2278ca616ad289f41ecb.png

2.2.2.创建基于HTTP触发器的函数服务:

6c3b15bb4bcff8952375ac500aa9ff41.png

2.2.3.采用 Nodejs 语言来编写函数,调用IoT物联网平台的 POP API :getDeviceShadow 来获取设备上报的实时数据。

官网文档:

https://help.aliyun.com/document_detail/69953.html

d6cf4bee72790341c3c13720e509b96d.png

获取设备影子核心代码,如下:

// 1.构造获取设备影子 API参数
const action = 'GetDeviceShadow';
const params = {ProductKey: productKey,DeviceName: deviceName
};//2.发送请求
const response = yield aliyunPopAPIClient.request(action, params);
const ShadowMessage = JSON.parse(response.ShadowMessage)

   3.Ruff 硬件开发   

Ruff 是一个支持 JavaScript 开发应用的物联网操作系统,为软件开发者提供开放、高效、敏捷的物联网应用开发平台,让 IoT 应用开发更简单。

整个 Ruff 开发体系包括 Ruff OS、Ruff SDK、Ruff 软件仓库、Ruff Kit 开发套件。只要您有JavaScript开发经验,就可以用 Ruff 开发硬件应用。

3.1.传感器驱动依赖:

058cbe6edd7c2b58f460bafe1b152a5f.png

3.2.读取温湿度和空气质量传感器数据:

// 空气质量数据
$('#air').on('aqi', function(error, pm25, pm10) {if (error) return;reported.pm25 = pm25;reported.pm10 = pm10;
});
// 温度数据
$('#dht').getTemperature(function(error, temperature) {if (!error) {reported.temperature = temperature;}
});
// 湿度数据
$('#dht').getRelativeHumidity(function(error, humidity) {if (!error) {reported.humidity = humidity;}
});

3.3.上报数据到 IoT 物联网平台云端:

// 设备身份三元组信息
var options = {productKey: "替换productKey",deviceName: "替换deviceName",deviceSecret: "替换deviceSecret",host: "MQTT接入点域名",
};var updateShadowTopic = "/shadow/update/" + options.productKey + "/" + options.deviceName;
// 建立 MQTT 连接
var client = MQTT.createAliyunIotMqttClient(options);
var data = {method: "update",state: {reported: reported},version: Date.now()}
// 上报数据
client.publish(updateShadowTopic, JSON.stringify(data));

   4.微信小程序   

4.1.在微信小程序后台配置合法域名:

28aeba5711bb0f1ce2814f399694659f.png

4.2.微信小程序交互界面开发:

3945cbf5decafda97f37befae38f168a.png

4.3.使用 wx.request 完成网络请求,获取云端设备影子数据:

7797a6129d9b7d09047f8840ef8d4a06.png

请求代码如下:

wx.request({url: '函数计算的 HTTP API url',method: 'POST',data: {"deviceName": "设备名", "productKey": "产品code"},header: {'content-type': 'application/json'},success(res) {console.log(res.data)wx.hideLoading()// 更新到 UI 界面updateUI(res.data)}})

4.4.使用ECharts中的仪表盘组件展示空气质量指数

import * as echarts from '../../ec-canvas/echarts';function initChart(canvas, width, height) {const chart = echarts.init(canvas, null, {width: width,height: height});canvas.setChart(chart);var option = {backgroundColor: "#f8f8f8",color: ["#37A2DA", "#32C5E9", "#67E0E3"],series: [{name: '空气质量',min: 0, max: 500,   splitNumber: 10,  type: 'gauge',detail: {formatter: '{value}'},axisLine: {show: true,lineStyle: {width: 10,shadowBlur: 0,color: [[0.3, '#67e0e3'],[0.7, '#37a2da'],[1, '#fd666d']]}},data: [{value: 80,name:'空气质量'}],splitLine: { show: true, length: 13, lineStyle: { color: '#aaa',width: 2,type: 'solid'}},title: {show: true,offsetCenter: [0, 70],textStyle: {color: '#333',fontSize: 15}},pointer: {length: '90%',width: 6,color: 'auto'}}]};chart.setOption(option, true);return chart;
}Page({data: {ec: {onInit: initChart}}
})

至此,我们基于JavaScript 语言完成了智能家居环境监测IoT应用场景的落地。

207e1511b1ee19b05910fdf3e56e2542.png


最后,赠送16元优惠券,加入国内最大IoT物联网开发者社区,获取1000+行业资料

5aa5a1edb30ac234adcc523933a93b08.png

往期推荐

☞ 中国云计算第一股关停 IoT云服务

☞ 2022年IoT平台趋势:私有化部署

☞ 国内MCU行业发展研究报告

☞ 2021年4G通信模组企业排行

☞ 国内4大 IoT物联网平台选型对比

☞ 云厂商的[IoT物联网平台]不香了吗?

4cc82bcbc7e5b804bedb764a097bdab5.gif

b145fe488dd093600dcc48f16d80ee75.gif

f9fc43f0c21572d73f27889125144f81.gif

cd29d55a062b8b23fb573794eb84e02f.gif

a87fa8b540e26c6dc81b1eda4aee518d.gif

相关文章:

基于Hadoop的电商数据分析系统设计与实现

基于Hadoop的电商数据分析系统设计与实现 Design and Implementation of E-commerce Data Analysis System based on Hadoop 完整下载链接:基于Hadoop的电商数据分析系统设计与实现 文章目录 基于Hadoop的电商数据分析系统设计与实现摘要第一章 绪论1.1 研究背景1.2 研究目的…...

IntelliJ IDEA2020下使用Maven构建Scala 项目

1.创建maven文件 2.进入pom.xml导入依赖 <!--添加spark的依赖--><dependency><groupId>org.apache.spark</groupId><artifactId>spark-core_2.12</artifactId><version>3.2.1</version></dependency><!--添加scala依…...

如何有效报告Bug

良好的态度: 礼貌提问, 保持谦卑,保持好奇; 得到回答请说“谢”。 准确描述问题:报错信息(文本和截图)要完整。 不完整的报错信息无法获得有效回答 预期结果要讲清楚, 不符合预期的现象要标明常见的错误原因:路径错误:报错信息包含了路径,但被你忽略; 报错信息没有…...

浮动布局

浮动 应用场景文字环绕(最初的使用场景) 横向排列浮动的基本特点当一个元素浮动后,元素必定为块盒(会更改display为block) 浮动元素的包含块与常规流一致为父元素的内容盒。盒子尺寸宽度为auto时,适应内容高度 高度为auto时,与常规流一致,适应内容高度 margin为auto, 为…...

Godot中设置Sprite2D节点透明度

Godot中设置Sprite2D节点透明度 该方法可以用于所有CanvasItem​类及其子类# 假设在`CancasItem`节点自身脚本中执行# 设置范围0~1 ## 设置自己及子节点 modulate.a = 0.5 ## 仅设置自己节点的透明度 self_modulate.a = 0.5# 设置范围(0~255)8bit ## 设置自己及子节点 mo…...

Java基础(向B站狂神说Java学习)

Java 基础 注释注释可以方便我们更好的读代码,必要的注释可以提高差错效率注释有三种 //单行注释 /*多行注释 */ /**文档注释**/标识符 类名,方法名以及变量名都可以叫做标识符 命名有规则,不可以乱命名,一些特殊符号如& % 等不可以出现。一般由大小写字母,数字_和$组…...

【IoT 毕业设计】Ruff硬件+阿里云IoT+微信小程序构建环境监控系统

0.技术架构 IoT 物联网毕业设计实战采用 Ruff 开发板&#xff0c;串口连接温湿度传感器DHT11和空气质量传感器SDS011&#xff0c;每5分钟采集一次数据&#xff0c;通过MQTT协议发送到阿里云 IoT 物联网平台&#xff0c;写入云端的设备影子中。微信小程序调用阿里云函数计算FC…...

【VUE3】计算属性及其缓存特性

计算属性 基础示例 模板中的表达式虽然方便&#xff0c;但也只能用来做简单的操作。如果在模板中写太多逻辑&#xff0c;会让模板变得臃肿&#xff0c;难以维护。比如说&#xff0c;我们有这样一个包含嵌套数组的对象&#xff1a; const author reactive({name: John Doe,b…...

【计算机网络】从输入网址到网页显示,期间发生了什么?

【计算机网络】从输入网址到网页显示&#xff0c;期间发生了什么&#xff1f; 接下来以下图较简单的网络拓扑模型作为例子&#xff0c;探究探究其间发生了什么&#xff1f; 文章目录【计算机网络】从输入网址到网页显示&#xff0c;期间发生了什么&#xff1f;一&#xff1a;孤…...

【vue2】近期bug收集与整理01

&#x1f973;博 主&#xff1a;初映CY的前说(前端领域) &#x1f31e;个人信条&#xff1a;想要变成得到&#xff0c;中间还有做到&#xff01; &#x1f918;本文核心&#xff1a;记录博主在vue2中遇到过的坑&#xff0c;本文是博主的学习使用总结 目录 1登陆token的问…...

JSON和AJAX

JSON JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。JSON采用完全独立于语言的文本格式&#xff0c;而且很多语言都提供了对json的支持(包括C&#xff0c;C&#xff0c;C#&#xff0c;Java&#xff0c;JavaScript…...

Python入门到精通【精品】第六章 - 函数

Python入门到精通【精品】第六章 - 函数 1. 如何理解函数2. 函数的定义3. 函数的使用3.1. 函数的调用3.2. 实参与形参3.3. 函数的返回3.4. 完整的函数设计3.5. 位置参数和关键参数1. 如何理解函数 当你第一次接触到“函数”这个概念的时候,你肯定会不由自主的联想到数学里面也…...

春招大盘点:找工作除了招聘网站还有哪些渠道?

又是一年毕业季&#xff0c;估计同学们都正在写论文、找工作两头忙&#xff0c;很多同学和小C“诉苦”说现在找实习的渠道太少了&#xff0c;招聘网站都刷完了&#xff0c;也没看到很合适的岗位。那找工作除了招聘网站还有什么渠道呢&#xff1f;其实是有的&#xff0c;今天就为…...

雷电4模拟器安装xposed框架(2022年)

别问我都2202年了为什么还在用雷电4安卓7。我特么哪知道Xposed的相关资料这么难找啊&#xff0c;只能搜到一些老旧的资料&#xff0c;尝试在老旧的平台上实现了。 最初的Xposed框架现在已经停止更新了&#xff0c;只支持到安卓8。如果要在更高版本的安卓系统上使用Xposed得看看…...

Gartner发布CNAPP市场指南 腾讯云为国内唯一入选云厂商

近日&#xff0c;国际研究机构Gartner发布《Market Guide for Cloud-Native Application Protection Platforms》&#xff08;《云原生应用保护平台&#xff08;CNAPP&#xff09;市场指南》&#xff09;&#xff08;以下简称《市场指南》&#xff09;&#xff0c;腾讯云凭借集…...

数字藏品应用场景分析

数字藏品应用场景广泛&#xff0c;个人资料图片&#xff08;PFP&#xff09;元宇宙、艺术收藏、游戏、体育、文物、音乐等等都可以上链&#xff0c;以数字藏品的形式发行。国际市场中&#xff0c;个人资料图片占大多数&#xff0c;国内多以艺术收藏、文物藏品等为主。 数字藏品…...

spring boot项目:实现与数据库的连接

步骤【写在前面】定义数据库连接信息&#xff1a;引入数据库驱动&#xff1a;创建数据源&#xff1a;创建JdbcTemplate&#xff1a;编写DAO层&#xff1a;使用Service注解标注Service层&#xff1a;使用RestController注解标注Controller层&#xff1a;示例代码&#xff1a;app…...

解析vue中的process.env

一、介绍 1、process process是 nodejs 下的一个全局变量&#xff0c;它存储着 nodejs 中进程有关的信息。 2、process.env env 是 environment 的简称&#xff0c;process.env属性返回一个包含用户环境的对象。 3、dotenv Dotenv 是一个零依赖的模块&#xff0c;它能将环境变…...

ESP32 开启 Wi-Fi 热点与手机端 Iperf 测试 APP 来测试 ESP32 Wi-Fi AP 速率的流程

# 测试需求&#xff1a; ESP32 开启 WiFi AP Server 模式手机连接 ESP32 WiFi AP 热点通过手机端 Iperf 测试 APP 测试 ESP32 WiFi 热点的 Iperf 速率 测试用例&#xff1a; 可以基于 “esp-idf/examples/wifi/iperf” 例程进行测试。ESP32 设备下载 Iperf 例程后&#xff0…...

msfconsole之制作windows木马并成功获取shell

msfconsole之制作windows木马并成功获取shell 一、工具简介     msfconsole 简称 msf 是一款常用的安全测试工具&#xff0c;包含了常见的漏洞利用模块和生成各种木马&#xff0c;其提供了一个一体化的集中控制台&#xff0c;通过msfconsole&#xff0c;你可以访问和使用所…...

【小杨带你玩转C语言】(入门篇)初识C语言(下)

本章目录 每篇前言1.导语 2.目标 3.知识点 一&#xff0c;常见关键字       1&#xff0c;认识关键字       2&#xff0c;关键字分类           2.1&#xff0c;数据类型关键字             2.1.1&#xff0c;基本数据类型关键字             2.…...

一文快速回顾 Java 操作数据库的方式-JDBC

前言 数据库的重要性不言而喻&#xff0c;不管是什么系统&#xff0c;什么应用软件&#xff0c;也不管它们是 Windows 上的应用程序&#xff0c;还是 Web 应用程序&#xff0c;存储&#xff08;持久化&#xff09;和查询&#xff08;检索&#xff09;数据都是核心的功能。 大…...

92年程序员发帖晒薪资称自己很迷茫,网友:老弟你可以了

当下&#xff0c;是一个“向钱看&#xff0c;向厚赚”的社会。快节奏的生活下&#xff0c;家庭、工作各方面压力很容易使年轻人陷入迷茫和焦虑。 与其他行业相比&#xff0c;程序员的高薪让人羡慕。那么&#xff0c;对于那些真正达到这么多收入的人来说&#xff0c;他们是怎么…...

太敢说了,编程如果这么自学,培训班都得倒闭,直接省去上万元的学费

写了20多年的代码&#xff0c;之前做过阿里的高级架构师&#xff0c;在技术这条路上跌跌撞撞了很多&#xff0c;我今天分享一些我个人的自学方法给各位。现在在网上报个正经点的班得花几千块钱&#xff0c;线下就更夸张&#xff0c;都是万元起步,我的这些学习方法如果你能用好&…...

别急着给中国版ChatGPT唱赞歌:“追风者”无缘“星辰大海”

文心一言发布十余天后&#xff0c;争论仍未有止歇的迹象。 有人给出了“拉垮”的评价&#xff0c;相比于多轮迭代的ChatGPT&#xff0c;文心一言在逻辑推理、多轮对话等方面的表现不尽如人意&#xff1b;也有人认为给文心一言值得肯定&#xff0c;原因是填补了中文互联网的空白…...

异常:Error和Exception

异常机制&#xff08;Exception&#xff09; 什么是异常 实际工作中&#xff0c;遇到的情况不可能是非常完美的。比如&#xff1a;你写的某个模块&#xff0c;用户输入不一定符合你的要求、你的程序要打开某个文件&#xff0c;这个文件可能不存在或者文件格式不对&#xff0c…...

Python满屏表白代码

目录 前言 爱心界面 无限弹窗 前言 人生苦短&#xff0c;我用Python&#xff01;又是新的一周啦&#xff0c;本期博主给大家带来了一个全新的作品&#xff1a;满屏表白代码&#xff0c;无限弹窗版&#xff01;快快收藏起来送给她吧~ 爱心界面 def Heart(): roottk.Tk…...

Unity --- Transform类

1.一个很有意思的事实是Transform类不仅用来管理游戏物体的位置缩放旋转&#xff0c;还用来管理游戏物体的父物体与子物体之间的关系 当游戏物体A的trasnform类a是游戏物体B的transform类b的父类的话&#xff0c;游戏物体A就是游戏物体B的父物体 2.如何访问脚本当前挂载的游戏…...

ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found

Bug描述 今天主要解决一个 Bug&#xff1a;libstdc.so.6: version GLIBCXX_3.4.29 not found 主要是和 libstc版本问题相关&#xff0c;找了很多方法&#xff0c;其他很多方法都是直接修改libstc.so的版本&#xff0c;但是直接修改这种可能被多个共享库依赖的库版本将会牵一发…...

Unity IL2CPP 游戏分析入门

一、目标 很多时候App加密本身并不难&#xff0c;难得是他用了一套新玩意&#xff0c;天生自带加密光环。例如PC时代的VB&#xff0c;直接ida的话&#xff0c;汇编代码能把你看懵。 但是要是搞明白了他的玩法&#xff0c;VB Decompiler一上&#xff0c;那妥妥的就是源码。 U…...

设置鼠标右键打开方式,添加IDEA的打开方式

一、问题描述 已下载IDEA&#xff0c;但是右键打开之前保存的项目文件&#xff0c;无法显示以IDEA方式打开。 二、解决步骤 1. 打开注册表 winR键输入regedit 2、查找路径为计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell &#xff08;我找了半天没看到Class…...

手机(Android)刷NetHunter安装指南,无需ssh执行kali命令, NetHunter支持的无线网卡列表!

一、安装NetHunter 前提&#xff1a;确保手机已经root&#xff0c;已装上magisk。如果没有root&#xff0c;可用尝试magisk root 后执行此文 1、下载Nethunter&#xff1a;Get Kali | Kali Linux 然后push 到sdcard 里&#xff0c; 2、打开magisk&#xff0c;选择刚刚下好的…...

Maven和Eclipse联合开发

Maven和Eclipse联合开发 java list 对象个数 size java List 取第一个对象.get(0) baseCrmSpecialclient.get(0).getFxid() System.out.print 换行 System.out.print(item.getCode()"\r\n"); java for循环用法 https://blog.csdn.net/rank/list/total Java for-ea…...

宝塔面板部署node+vue项目注意事项

宝塔面板部署nodevue项目注意事项 宝塔连接云服务器 如果服务器上没有安装宝塔面板&#xff0c;需要先安装&#xff0c;安装流程如下&#xff1a; 从宝塔官网主页进去&#xff0c;点击下载安装&#xff0c;然后点击在线安装 输入服务器IP和密码在服务器上安装宝塔面板 等待一…...

MATLAB | R2023a更新了哪些好玩的东西

R2023a来啦&#xff01;&#xff01;废话不多说看看新版本有啥有趣的玩意和好玩的特性叭&#xff01;&#xff01;把绘图放最前面叭&#xff0c;有图的内容看的人多。。 1 区域填充 可以使用xregion及yregion进行区域填充啦&#xff01;&#xff01; x -10:0.25:10; y x.^…...

MySQL对表操作

目录 CRUD 增加(Create) 查询&#xff08;Retrieve&#xff09; 全列查询 指定列查询 查询字段为表达式 别名 去重&#xff1a;DISTINCT 排序&#xff1a;ORDER BY 条件查询&#xff1a;WHERE 逻辑运算符&#xff1a; 修改&#xff08;Update&#xff09; 删除&…...

Downie 4 4.6.12 MAC上最好的一款视频下载工具

Downie for Mac 简介 Downie是Mac下一个简单的下载管理器&#xff0c;可以让您快速将不同的视频网站上的视频下载并保存到电脑磁盘里然后使用您的默认媒体播放器观看它们。 Downie 4 Downie 4 for Mac Downie 4 for Mac软件特点 支持许多站点 -当前支持1000多个不同的站点&…...

使用Android高性能音频--OpenSL ES和AAudio

AAudio的概念介绍: AAudio 是作为 OpenSL ES 库的轻量级原生 Android 替代项而开发。 与 OpenSL ES 相比&#xff0c;AAudio API 不仅较小&#xff0c;而且容易使用。 AAudio 是在 Android O 版本中引入的全新 Android C API。 因此 API 是专为需要低延迟的高性能音频应用而设…...

eNSP 构建基本WLAN

配置项配置参数AP组 名称&#xff1a;hcia-group 应用模板&#xff1a;域管理模板hcia-domain、VAP模板hcia-vap 域管理模板 名称&#xff1a;hcia-domain 国家码&#xff1a;cn SSID模板 名称&#xff1a;hcia-ssid SSID名称&#xff1a;hcia-wlan 安全模板 名称&#xff1a;h…...

记录一次C#/.NET以及VB p-code/native的逆向破解

记录一次C#/.NET以及VB p-code/native的逆向破解 玩了5份样本&#xff0c;2份dotnet的&#xff0c;2份native的和1份pcode的。 dotnet framework程序 dotnet的相对会简单&#xff0c;只需要使用dnspy工具打开目标程序&#xff0c;找到逻辑点后&#xff0c;点编辑函数&#xff0…...

IO-操作系统

用户态和内核态 现代操作系统&#xff0c;为了保护系统的安全&#xff0c;都会划分出内核空间和用户空间&#xff0c;或者我们经常说的内核态和用户态。简单来说&#xff0c;就是划分为内核态和用户态两个等级&#xff0c;运行在用户态的进程大都是一些应用程序&#xff0c;能够…...

Elasticsearch基本查询语法

先造点数据 基于elasticsearch7.10.0 POST /hotel {"mappings":{"properties":{"title":{"type":"text"},"city":{"type":"keyword"},"price":{"type":"double&q…...

百度地图入门

百度地图官网百度api 进入官网选择javascript API 里面有详细的教程&#xff0c; 跟着教程先登录注册一个个人开发账号 并创建一个应用获取ak 创建时js需要填白名单&#xff0c;如果是在本地运行填写localhost就好了 当你在控制台看到这个界面是代表创建成功了&#xff0c;…...

Endor Labs:2023年十大开源安全风险

近日&#xff0c;Endor Labs发布了一份新报告&#xff0c;确定了2023年的十大开源安全风险。报告显示&#xff0c;许多软件公司依赖于开源软件代码&#xff0c;但在如何衡量和处理与开源软件相关的风险和漏洞方面缺乏一致性。调查发现&#xff0c;在应用程序中超过80%的代码可能…...

linux 产生随机数 并遍历

1、产生随机数 varRANDOMvarRANDOM varRANDOMvar[ $var % 150 ] 2、产生不重复的随机数 $ entries($(shuf -i 0-149 -n 15)) $ echo “${entries[]}” 3、对随机数排序 $ entries($(shuf -i 0-149 -n 15 | sort -n)) $ echo “entries[]"12224549546678798393118119124140…...

OAuth2协议

OAuth2协议流程图协议角色和流程授权所需信息授权方式授权码模式&#xff08;authorization code&#xff09;参数简化模式密码模式客户端模式授权方式小结流程图 协议角色和流程 user-agent&#xff1a;浏览器或者手机App平台 资源所有者&#xff08;resourc owner&#xff0…...

Kafka在Mac下的安装与使用

mac 安装kafka安装kafka的原因安装kafka启动Zookeeper启动Kafka创建topic查看topic生产数据消费数据关闭zookeeper关闭kafka测试安装kafka的原因 用户微服务登录后需要向广告微服务中发送用户登录的信息以获取用户画像&#xff08;这个过程是异步的&#xff09;&#xff0c;故…...

Linux之sshd_config配置文件说明及实践

一、sshd_config文件说明 sshd_config 是 OpenSSH SSH 服务器守护进程配置文件&#xff0c;主要用于设置ssh server服务的相关参数&#xff0c;包括监听地址、监听端口、允许验证次数、是否允许root账户登录等等。sshd服务从/etc/ssh/sshd_config&#xff08;或命令行中用-f指定…...

如何将pdf大小压缩?怎么缩小pdf的文件大小?

PDF文件常常会因为内容的多样和丰富而导致文件过大&#xff0c;这个时候我们可以选择将pdf压缩大小&#xff0c;这样即使你的电脑中有大量PDF文档也不怕占用太多内存啦&#xff0c;今天分享给大家的是使用pdf在线压缩工具进行pdf压缩&#xff08;https://www.yasuotu.com/pdfya…...

WuThreat身份安全云-TVD每日漏洞情报-2023-03-28

漏洞名称:ABB RCCMD 硬编码密码漏洞 漏洞级别:严重 漏洞编号:CVE-2022-4126 相关涉及:RCCMD: 4.40之前230207 漏洞状态:未定义 参考链接:https://tvd.wuthreat.com/#/listDetail?TVD_IDTVD-2023-07407 漏洞名称:SOFTNEXT 垃圾邮件 SQR 代码注入 漏洞级别:高危 漏洞编号:CVE-2…...

在芯片设计行业,从项目的初期到交付,不同的岗位的工程师主要负责什么?

大家都知道在芯片设计行业&#xff0c;项目是至关重要的一环。从项目的初期到交付&#xff0c;不同的岗位的工程师在项目的各环节主要负责什么?他们是怎样配合的?下面看看资深工程师怎么说。 一个项目&#xff0c;从初期到交付的过程是比较漫长的。我们知道最早的时候&#…...

给你一个购物车模块,你会如何设计测试用例?【测试用例设计】

测试购物车 从使用场景上&#xff0c;把自己想象成一个使用购物车的人&#xff0c;模拟流程&#xff0c;可以主要从两个方面进行考虑&#xff1a; 涉及操作&#xff1a;增&#xff08;添加商品&#xff09;删&#xff08;删除商品&#xff09;改&#xff08;编辑、跳转商品&a…...

centos7配置pytorch和tensorflow

1、安装anaconda 1.1镜像源下载对应anaconda版本后传到服务器上 1.2进入对应文件夹 首先赋权再执行安装程序 chmod x Anaconda3-2022.10-Linux-x86_64.sh ./Anaconda3-2022.10-Linux-x86_64.sh chmod x Anaconda3-2022.10-Linux-x86_64.sh 1.3交互确认 确认许可协议&…...

libmemunreachable+malloc debug分析内存泄露

使用lsan遇到困难 一般使用lsan来查memleak效率最高&#xff0c;不过针对cameraserver hook到asan库时有一些其他的报错。 而且报错看起来还不太好解决&#xff1a; 看下如何针对camerasever使能lsan&#xff0c;后续研究。 使用libmemunreachablemallocdebug分析 原理 相关…...

关于Error和Exception的一些思考 小结

目录 1. ERROR 2. Exception 2.1 checked Exception 2.2 unchecked Exception 2.3 区别 3. 内存溢出 3.1 堆溢出 3.2 永久代/元空间溢出 3.3 方法栈溢出 Java中&#xff0c;所有的异常都有一个共同的父类&#xff1a;Throwable类。 Throwable类有两个重要的子类&#…...

Docker学习记录

阅读前请看一下&#xff1a;我是一个热衷于记录的人&#xff0c;每次写博客会反复研读&#xff0c;尽量不断提升博客质量。文章设置为仅粉丝可见&#xff0c;是因为写博客确实花了不少精力。希望互相进步谢谢&#xff01;&#xff01; 文章目录阅读前请看一下&#xff1a;我是一…...

python-excel自动化-openpyxl

openpyxl学习笔记 创建或打开表格存储和遍历数据设置单元格风格过滤器和排序更改工作表的背景颜色合并单元格冻结窗口数字格式公式图像图表条形图折线图散点图 创建或打开表格 # 创建 import datetime from openpyxl import Workbook # 实例化 wb Workbook() # 激活 work…...

代码随想录训练营23day-贪心算法

一、贪心算法 贪心算法核心思想是局部最优&#xff0c;以确定全局最优。当然需要使用数学归纳去总结&#xff0c;但是实际应用过程&#xff0c;可以举反例来验证是不是可以使用贪心算法。参考代码随想录 贪心算法一般分为如下四步&#xff1a; 将问题分解为若干个子问题找出…...

【图说】VMware Ubuntu22.04 详细安装教程

前言 无论是从事 Linux 开发工作&#xff0c;还是希望电脑运行双系统&#xff0c;VMware 虚拟机都是我们日常工作不可或缺的工具。本章将会重点介绍 VMware 安装流程&#xff0c;以及在 VMware 上如何运行、使用 Ubuntu22.04 系统。 一、VMware 下载安装 1.1 VMware 官网下载…...

深入理解GTK、Qt、AWTK:跨平台GUI框架对比

目录标题 GTK特性&#xff1a;优点&#xff1a;缺点&#xff1a; Qt特性&#xff1a;优点&#xff1a;缺点&#xff1a; AWTK特性&#xff1a;优点&#xff1a;缺点&#xff1a; 适用场景 在当今的软件开发领域&#xff0c;图形用户界面&#xff08;GUI&#xff09;的开发是不可…...

IP地址 0.0.0.0 和 127.0.0.1之间的区别

你好&#xff0c;我是 shengjk1&#xff0c;多年大厂经验&#xff0c;努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注&#xff01;你会有如下收益&#xff1a; 了解大厂经验拥有和大厂相匹配的技术等 希望看什么&#xff0c;评论或者私信告诉我&#xff01; 文章目录 一…...

python获取文件路径

文件&#xff1a;allpath_parameter.py # 获取当前目录路径 # current_dir os.getcwd() # 获取当前目录路径 realpath00 os.path.abspath(os.path.join(os.path.dirname(os.path.split(os.path.realpath(__file__))[0]), .)) print(realpath00)# 获取当前目录的上级目录路…...