自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 资源 (5)
  • 收藏
  • 关注

原创 物联网通信之MQTT控制报文Connect连接服务端、Connack确认连接请求

前言上一篇帖子认识了MQTT协议,这篇帖子研究MQTT控制报文的内容。物联网通信专栏往期回顾:物联网通信之初识MQTTMQTT控制报文1.connect-连接服务端客户端到服务端的网络连接建立后,客户端发送给服务端的第一个报文必须是connect报文。(因为客户端和服务端必须要建立连接后才能进行通信)。(1)固定报头connect报文中固定报头中第一个字节中高四位必须是数值1,表示当前报文是connect报文。第四位是保留位reserved为0。第二个字节开始表示剩余长度,为可变报头加上

2020-06-20 17:10:28 3224

原创 物联那点事儿之SmartConfig技术一键配网!(arduino+点灯科技篇)

前言:好久没更新了,最近在研究用ardunio+阿里云物联网平台+微信开发者者工具做微信小程序的项目,先来更新一下使用点灯科技可以第三方平台编写程序的代码吧!最近接触了了阿里云物联网平台之后,尤其是mqtt的消息和订阅方面的知识,有点懵逼,发现还是点灯科技这个平台比较适合上手,因为blinker给出的库文件里面封装了mqtt的代码,新手是不需要考虑这个的,废话不多说,先上手如何使用smartCo...

2020-04-29 21:00:06 10369 9

原创 物联那点事儿之自制网络温湿度计(arduino+点灯科技篇)

前言物联那点事儿专栏也要着手写啦。。这次跟大家分享一下自制网络温湿度计的过程,当然这个作品我也是模仿的别人的,而且代码也是可以在点灯科技的代码里面找到的,当然我在模仿的过程中也认真地研究了一下工作原理。这里呢,跟大家分享一下我的过程以及我遇到的问题和解决的办法。作品展示在这里插入图片描述视频展示:作品展示”      &n...

2020-03-22 16:13:08 21668 62

原创 ROS工作空间以及Hello World测试

创建一个工作空间,在该工作空间中完成代码和任务代码的编写。(1)创建工作空间并初始化首先会创建一个工作空间以及一个src子目录,然后再进入工作空间执行catkin_make命令进行编译。注意这里是进入learn目录即可,不要进入learn/src目录,会报错。(2)进入src创建ros包添加依赖执行完命令后确实在src下新增加了一个learn的目录,这就是ros包吧!该功能包依赖于roscpp rospy std_msgs 三个库,其中分别是C++实现库、python实现库和标准消息库,创建R

2022-06-17 13:48:52 643 1

原创 ROS安装与测试

ros

2022-06-15 14:10:13 983

原创 docker推送镜像到Docker Hub、自动构建、镜像删除

dokcer学习

2022-06-09 10:26:12 824 1

原创 docker中Dockerfile指令

docker中的dockerfile指令

2022-06-08 13:28:40 1971

原创 物联那点事儿之PyQt5上位机连接EMQX服务器实现数据上下行

1 写在前面的话请支持原创!转载和参考请附带链接谢谢!博客主页:https://blog.csdn.net/JIANGYINGH?spm=1000.2115.3001.5343哈喽,各位读者你们好,大学生活即将结束,以后的工作很有可能不会从事物联网的工作,思考很久,决定将我在大学期间学习的财富整理一下,分享和帮助有需要的人,同时也感谢大家的支持!本文讲描述如何自己编写一个桌面应用程序连接emqx物联网服务器,本文的重点是自己编写上位机连接物联网服务器,嵌入式硬件连接emqx服务器需要自行查看我的帖子,

2022-05-30 15:58:57 1552 2

原创 docker构建镜像(一)

之前都是在拉取已经构建好了的带有定制内容的镜像,如果需要修改自己的镜像,并且需要更新和管理这些镜像,构建镜像的方法如下。(1)docker commit 命令(2)docker build命令和douckerfile文件不推荐使用第一种,第二种的方法更灵活、更强大。一般来说,我们不是真正的构建新镜像,而是基于一个已有的基础镜像,如ubuntu等,从而构建新镜像。当然也有从零构建一个全新的镜像的方法。1 创建docker hub 账号构建镜像需要共享和发布镜像,需要将镜像推送到docker hub

2022-05-25 15:40:11 994

原创 docker基础(三)镜像和仓库

1.列出镜像 docker images本地的镜像都保存在docker宿主机的/var/lib/docker目录下,每个镜像都保存在docker所采用的存储驱动目录下面,如aufs或者devicemapper,也可以在/var/lib/docker/containers目录下看到所有的容器。看到的容器都是容器ID命名的。镜像是从仓库下来下来的。镜像保存在仓库中,仓库存在与Registry中,默认是由docker公司运营的registry服务,即Docker hub。在dokcer regist

2022-05-23 12:56:29 543

原创 docker基础(二)

一、docker基础使用1、运行容器docker run 命令提供了docker容器的创建到启动的功能。sudo docker run -it ubuntu /bin/bash其中 -it是要给创建的容器分配一个伪tty终端,这样新建的容器才会有一个交互式的shell。/bin/bash 命令是在docker中启动了一个bash shell。当创建容器完成后,docker就会执行容器中的/bin/bash命令,然后就会进入容器内的shell了。如下图所示。2.使用第一个docker容器查

2022-05-22 14:58:31 635

原创 cuda基础(二)简单CUDA程序的基本框架和自定义设备函数

1 cuda程序的基本框架框架包含:头文件常量或者宏定义C++自定义函数和cuda核函数的原型声明main函数C++自定义函数核CUDA核函数的定义实现其中main函数中int main(){分配主机与设备代码内存初始化主机中的数据将某些数据从主机复制到设备调用核函数在设备中进行计算将某些数据从设备复制到主机释放主机与设备内存}...

2022-05-16 13:56:19 1507 1

原创 linux系统学习-systemd开机自启动服务

初版开机自启动,后续需要修改服务启动依赖。3.1 通用步骤(1)创建开机需要启动的脚本(2)为脚本增加可执行权限(3)进入systemd放置service的目录,在该目录下可看到大量服务配置文件,命令如下。进入 systemd 的 service 目录cd /etc/systemd/system查看文件列表ls -al(4)在该目录创建一个新的.service文件用于配置开机启动脚本,如MogoWeb.service,文件中的配置内容如下。[Unit]Description=Star

2022-05-11 13:42:30 1931

原创 docker安装和基本使用

1 docker安装环境:ubuntu20.04 (uname -n查看)脚本一键安装:curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun2 docker使用1.拉取一个unbuntu镜像sudo docker pull ubuntu2.运行dockersudo docker run -i -t ubuntu /bin/bash#-i 有无交互式的操作#-t 表示终端exit 退出docker

2022-05-04 17:19:08 1228

原创 cuda编程(一)基础

基于c/c++的编程方法支持异构编程的扩展方法简单明了的apis,能够轻松的管理存储系统cuda支持的编程语言:c/c++/python/fortran/java…1、CUDA并行计算基础异构计算CUDA 安装CUDA 程序的编写CUDA 程序编译利用NVProf查看程序执行情况gpu不是单独的在计算机中完成任务,而是通过协助cpu和整个系统完成计算机任务,把一部分代码和更多的计算任务放到gpu上处理,逻辑控制、变量处理以及数据预处理等等放在cpu上处理。host 指的是cp.

2022-05-04 16:22:30 14043

原创 shell编程案例(三)发送消息

背景我们可以利用linux自带的mesg和write工具,向其他用户发送消息。需求:实现一个向某个用户快速发送消息的脚本,输入用户名作为第一个参数,后面之间跟要发送的消息。脚本需要检测用户是否登陆在系统中、是否打开消息功能,以及当前发送消息是否为空。1.shell命令查看当前登陆的用户 who am i查看当前登陆的所有用户 whomesg 命令查看当前who -T 查看用户的消息功能是否开启 用+号表示mesg n 关闭消息功能mesg y 开启消息功能write xxx用户 p

2022-05-03 15:59:21 824

原创 shell编程(二)文本处理工具

1.cutcut的工作就是剪,具体的就是说在文件中负责剪切数据用的,cut命令从文件中的每一行剪切字节、字符和字段并将这些字节、字符和字段输出。1)基本用法cut [选项参数] filename大多数是配合管道符使用。2)选项参数说明-f 列号,提取第几列-d 分隔符,按照指定分隔符分割列,默认是制表符 “\t”-c 按照字符进行切割,后加n表示取第几列,比如 -c 1 取第1列#示例cut -d " " -f 1 xx.txt 使用空格作为分隔符,截取第一列cut -d " "

2022-05-03 15:05:47 1516

原创 shell编程案例(一)定时归档

一、归档操作实现一个每天对指定目录归档备份的脚本,输入一个目录名称(末尾不带/),将目录下所有的文件按天数归档保存,并将归档日期附加在归档文件名上,放在xxx目录下。1.shell 脚本#!bin/bash#判断当前输入的参数个数是否为1if [$# -ne 1]then echo "参数个数错误!应该输入一个参数,作为归档目录名" exitfi#从输入参数中获取目录名称if [-d $1]then echoelse echo #表示空行 echo "目录不存在" echo

2022-05-03 13:35:37 846

原创 pyhon实现matlab的czt算法

背景在移植matlab的算法程序到python中来发现,python中没有带czt算法的库函数,所以目前需要自己想办法解决一下。实现from scipy.fftpack import fftimport numpy as npdef czt(x, m=None, w=None, a=1): n = x.shape[0] if m is None: m = n if w is None: w = np.exp(-2j * np.pi / m)

2022-05-02 17:12:11 1348

原创 ardunio mega2560+esp01实现物联网的数据上行和数据下行

背景nodemcu 以及arduino nano开发板的资源引脚有限,使用mega2560单片机作为系统控制模块的资源优势可以解决很多问题,那么使用mega2560怎么实现物联网的功能呢?本次教程以连接公用emqx物联网服务器为例,使用mega2560单片机+esp01s模块实现物联网,主要是完成数据上行和数据下行功能。一、实现思想mega2560单片机与wifi模块esp01之间的通信是通过AT指令,所以这次的通信还是通过串口完成的.而arduino提供了软串口的方式完成串口通信。既然是通过软串

2022-05-02 16:45:03 2718 2

原创 shell编程基础

1.解释型语言解释一行执行一行,比较灵活,但是效率会比编译型语言©低一点。需要先新建、赋予执行权限2.shell变量shell编程没有数据类型,任何赋值给变量的值都解释为一串字符。(1)用户自定义变量(2)位置变量(3)预定义变量(4)环境变量...

2022-04-30 22:46:17 239

原创 shell命令(二)进程相关命令、文件系统、网络配置管理

1.ps命令显示进程的动态-aux 显示所有包含其他使用者的进程、-A 列出所有的进程-w 显示加宽可以显示较多的资讯-au 显示较详细的资讯进程的状态S 阻塞状态S+ 进程在前台阻塞R+ 进程在前台正在执行T 进程暂停Z: 不存在但暂时无法消除D:不可中断的静止状态。2.top命令监视进程会全屏显示,会随着进程状态的变化不断更新。3.pstree以树形图显示所有进程。4.终止进程kill [信号] PID信号默认为15;...

2022-04-15 13:50:57 696 2

原创 shell命令(一)

1.shell 命令的格式一条命令的三要素之间用空格隔开若将多个命令在一行书写,用分号;将各个命令隔开如果一条命令不能在一行写完,在行尾使用反斜杠\标明这条命令未结束2 命令行操作echo $HISTSIZE 显示历史命令容量HISTSIZE = 1000 修改历史命令容量3.shell中的通配符4.shell中的管道...

2022-03-31 13:59:21 1707

原创 文件操作、vim编辑器使用

一、文件和目录相关(1)文件权限r读,w写,x执行(2)df -T 显示文件系统信息(3) 查看文件内容cat xxx 显示cat -s xxx 空行合并cat -b xxx 加行号显示nl xxx加行号显示 相当于cat -bhead -x xxx 显示前x行tail -x xxx 显示后x行(4)移动mv 文件名 路径 文件移动mv 文件名 新的文件名 重命名(5)级联创建文件夹mkdir -p /////二、vi编辑器的使用(1

2022-03-28 13:53:25 690

原创 vue初上手

1.新建vue项目vue init webpack xxxxx2.运行vue项目npm run dev如果想要运行完项目让局域网的其他主机通过IP+端口号的方式访问,那么修改config/index.js下的dev下的host字段,将localhost改为0.0.0.0。3.打包vue项目npm run build打包后会发现dist目录下的index.html为空页面,原因是路径问题。修改工程config/index.js下的build中的路径,将“/”改为“./”。4.vue项目部署

2022-03-15 11:17:37 1400

原创 python upd接收数据+动态折线图+线程间通信+字节计算

功能需求1.发送方通过UDP发送到我这原始数据(十六进制),将原始数据按照n个字节拆分并计算成int数组。2.将得到的数据通过动态折线图显示出来。3.线程间通信(队列),因为动态计算函数也是一个死循环。代码如下:import queueimport socketimport threadingfrom matplotlib import pyplot as plt, animationfrom matplotlib.animation import FuncAnimationimpor

2021-11-16 14:33:40 951 4

原创 PYQT5+爬虫+图片尺寸处理+钉钉消息推送

整理一下这些天写的程序,主要是应用pyqt5实现GUI设计,并实现网络爬虫、图片处理,消息推送机器人,excel表格的读写操作等,接合业务逻辑,代码如下:import jsonimport osimport timeimport sysimport requestsfrom PyQt5 import QtCore, QtGui, QtWidgetsfrom PyQt5.QtCore import QThread, pyqtSignal, QMutex, QWaitConditionimpo

2021-11-12 08:53:56 836

原创 python实现图片尺寸修改与打包exe文件

前言因为图片大小不一致,想要将图片修改为统一的宽度,为了保证图片不变形不失真,所以高度要自适应才好。其实也就是一些计算高度宽度罢了,问题来了,在网上寻找一些现有的app但是没找到这个需求的,那么就自己写程序好喽,想了想用python写也比较好,代码思路如下:代码思路获取图片原来的长度宽度,根据标准的宽度计算自适应的高度,再将新的宽高给到新的图片,最后输出新的图片,大功告成,代码如下:import osimport tkinterfrom PIL import Imageimport cale

2021-10-19 10:50:58 285

原创 作品集之基于nodemcu的智能门禁系统(可用作毕设)

前言智能门禁系统主要分为WIFI联网部分、刷卡部分、OLED显示部分以及报警部分。通过nodemcu连接emqx自建服务器上,将用户刷卡的时间、刷卡卡号、是否刷卡成功等信息上报至物联网服务器emqx。如果需要,可联系!正文部分硬件电路原理图如下所示。PCB电路板如下如所示。系统测试使用 nodemcu 作为门禁管理系统的主控芯片,RC522 射频识别卡作为系统外设,LED 灯模拟门禁的开关状态,蜂鸣器作为报警工具,oled 显示屏用于显示卡号和提示卡号是否正确。提前向系统注册好一张卡片,当使

2021-08-17 09:52:41 1177 1

原创 物联那点事儿之nodemcu连接emqx自建服务器(arduino+esp8266)

前言之前总是没时间整理这一部分的内容,现在抽空整理一下arduino使用esp8266连接自己搭建的emqx服务器的内容吧!关于如何自建emqx服务器,可以自己百度百度,抽空我再整理一下如何连接emqx服务器!敬请期待。为什么要连接emqx呢?优点如下:(1)大部分的物联网平台对设备连接数量或者消息转发数量是有限制的,比如blinker是设备连接有限,而阿里云IOT平台的消息转发数量有限,还收到阿里云IOT的很多限制。那不如尝试一下自己购买一个云服务器,然后搭建一个自己的emqx服务器!(2)自己搭

2021-08-17 09:02:42 2105 4

原创 物联那点事儿之Blinker app控制继电器番外篇(esp8266+arduino)

前言此篇是物联那点事儿之小爱同学网络控制电脑开机(arduino+点灯科技篇)的番外篇,因为之前的继电器和某宝的一款继电器有点小小的区别,写下来给其他同学做个参考记录!此篇不再叙述小爱同学语音控制!1 硬件说明这款继电器支持高/低电平触发,顾名思义,高电平和低电平都能触发继电器执行动作,当然需要使用跳线帽设置一下,还是建议使用低电平触发继电器比较好,毕竟GPIO引脚的高电平输出能力不太强。好了,其他就是接线问题了,这是淘宝给的说明,接线就好说了,DC+和DC- 是用来给继电器供电的,所以用单片机

2021-08-05 10:17:21 1513

原创 gitee配置以及使用

1 生成公钥gitee生成公钥说明执行命令生成公钥根据cmd命令行返回的消息找到.pub文件,复制里面全部的内容,在gitee中添加公钥即可。2 测试连通首次使用需要确认并添加主机到本机SSH可信列表。第二次使用如果返回hi,说明添加成功!3 创建仓库输入仓库名称,根据需求选择配置,创建好之后这里的会出现这个界面,可以使用这些命令操作仓库代码等。直接复制粘贴配置Git全局设置,如下因为已经创建好仓库,所以不需要创建,使用“已有仓库”的几个命令即可!在自己的项目目录中打开powe

2021-08-05 09:32:36 2094

原创 NB-IOT专栏(QS-100模块二次开发)-onenet云平台+微信小程序实现下行数据控制设备开关

前言最近公司老总买了NB-IOT的模块,老总考虑到STM32芯片的价格涨的很快,而我们的内容做的不是很复杂,再加上支持一下本地企业,QS-100模块到价格超级实惠,决定使用QS-100模块作为通信模块,主要是做上位机控制设备开关的功能吧。QS-100购买链接如下:t淘宝购买直通车,支持一波!1.设计方案为实现用户远程控制设备开关,采用onenet云平台作为中转平台,QS-100模块作为通信和MCU,微信小程序作为上位机,实现一个简单到NB-IOT物联网Demo。当用户在小程序上点击button时,设备

2021-08-04 16:28:59 4729 2

原创 百度云盘下载速度太慢?教你亲手搭建一个文件服务器!(ubuntu+apache)

QQ传输文件只能4G,而百度云有点忙,想着自己服务器闲着也是闲着,就拿来搭建一个文件服务器吧,传输文件用也不错,当然也只是玩玩。1.首先在ubuntu下安装apache2. sudo apt-get install apache2可能你会出现下面的问题出现的原因是你没有更新源,那么我们来更新一下源。sudo apt-get update再安装就好啦!2.启动apache服务//启动/etc/init.d/apache2 start//停止/etc/init.d/apache2 s

2021-08-03 15:46:12 840

原创 本地navicat连接远程linux数据库

1.连接使用自己的电脑连接远程mqsl数据库,一开始我以为在常规下连接即可,主机IP输入远程主机IP,其实并不然。。。经过一番查阅后,发现在SSH中连接成功了!勾选使用SSH通道,主机名写公司用的远程服务器的IP地址,22不用管,用户名写服务器的用户名,我用的是密码校对,输入服务器登陆的密码。这里不是服务器的mysql的密码。。。最后连接成功。2.导出...

2021-07-03 16:32:40 429

原创 mqtt实战-Python接入阿里云物联网平台实现订阅/发布

1.安装阿里云物联网平台提供的python sdk 第三方库pip install aliyun-iot-linkkit2.阿里云物联网平台创建设备3.python代码from linkkit import linkkitimport timeimport json#连接阿里云ProductKey="a1Q6aDL1iKa" #你的产品keyDeviceName="demo" #你的设备名称DeviceSecret="ba14184b64f6bce3ca1284c7b2c411e

2021-05-10 23:47:45 5188 6

原创 毕设系列教程-基于Blinker和小爱同学的智能家居设计与现实-系统介绍

前言本系列教程只是针对刚入门的小白,大佬不喜勿喷,为了帮助一些小白毕业生顺利毕业,帮助电子爱好者制作自己的智能家居DIY,尽量减少对专业知识的描述,如果有毕业设计要求的同学当然也可以提供毕业论文的参考。一、系统介绍      系统以nodeMcu为主控模块,实现数据的处理和控制功能,通过NodeMcu驱动DHT11温湿度传感器获取室内温湿度,SR602人体感应传感器感知是否有人,BH1750光照强度传感器感知光照强度,使用继电器控制用电器的开

2021-04-27 11:54:05 1310 2

原创 原生andriod开发基础之SQLite数据库使用

layout<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activ

2021-04-15 11:23:44 132

原创 web前端原生开发基础(一)

1. 鼠标悬停练习对页面元素的调用<head><meta charset="UTF-8"><title>鼠标提示框</title><style> #div1 { width:200px; height:100px; background:#ccc; border:1px solid #999;/*边框*/ display:none;/*不显示 */ }</s

2021-04-14 18:02:00 826

原创 RT-Thread Studio---oled显示屏在main中使用与线程创建

前言前面记录了 ART-PI点亮OLED显示屏,我就发现,只能通过shell命令点亮OLED显示屏,那么如果说让OLED显示屏像创建一个线程那样,就会涉及到很多问题。这里我使用的开发工具是studio。1.重新创建display.cpp文件为什么要创建Cpp文件呢,基于OLED软件包,我发现软件包的以下代码在.c文件是识别不出来的,会报错,具体为什么还不清楚。static U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0,\

2021-04-05 11:54:32 1262

PyQt5上位机连接EMQX服务器实现数据上下行

代码对应博客地址:https://blog.csdn.net/JIANGYINGH/article/details/125016640, 该工程为Pycharm工程,完成代码均包含,零基础开发人员下载后搞不懂不负责讲解代码和环境配置,谨慎下载!

2022-05-30

自制网络温湿度计(arduino+点灯科技篇)所需资源V1.0

这是实现自制网络温湿度所需要的文件资源,包含ardunio IDE、 ESP8266扩展和第三方库文件(blinker、DHT11),原文地址https://blog.csdn.net/JIANGYINGH/article/details/105007516#comments_21599196,请支持正版博客!

2022-05-24

每天都要上报体温 微信小程序源码

基于微信小程序和微信云开发的数据库开发完成,其中数据库的表设计请看博文,该小程序目前已在微信小程序上发布上线,为防止其他人消耗我的云资源,需要提前在数据库中注册才可以使用,下载者可以根据自己的需求更改。另外零基础小白下载后搞不懂后果自负。

2022-04-22

STM32F103单片机驱动创思通信BC28核心板模块连接阿里云IOT平台代码

创思通信BC28模块提供的是L系列单片机使用的KEIL4编程,这个代码是我经过修改驱动BC26模块(NBIOT)之后并结合F103单片机写出的代码,数据上传只需要将main函数的数据value值改为自己要上传的数据,另外需要在BC26.C文件中将自己的阿里云IOT平台的三元组信息修改成自己的三元组信息。该工程验证OK,另外需要有稍微懂一些STM32开发技术的人员下载,如果你是小白,不会搞的话请后果自负。

2022-04-22

小爱同学语音查看温湿度(带数据曲线)源码

这是物联那点事儿专栏自制网络温湿度计的源码,其中包括了云存储函数实现温湿度曲线的方法,有需求就拿去就好。

2020-04-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除