c++ 串口通信-发送数据
一、安装VS软件,安装的时候选择 c++编译器,即可直接创建完c++环境
先添加下面的串口两个文件,之后在main.cpp中调用函数即可使用串口
if (w.open("COM7")) //串口初始化,选择合适的com口{ cout << "打开成功" << endl; cout << "在这里我发送:恭喜发财" << endl; w.send("恭喜发财"); //串口发送函数 //w.close(); //串口关闭函数}
readport.cpp内容如下:
#include "readport.h"#include <stdio.h>#include <string.h>#include <WinSock2.h>#include <windows.h>WZSerialPort::WZSerialPort(){}WZSerialPort ...
linux板上运行yolov5 目标检测
前言 YOLOv5 是一个目标检测算法,它是由 Ultralytics 开发的基于深度学习的实时目标检测框架。我这里主要是想在 orangepi5 plus板子上实现目标检测。
我所使用的配置和环境:1、linux板子(orangepi5 plus 16G)2、linux操作系统(ubuntu22.04)3、USB摄像头
如何使用yolov5 yolov5是基于python开发的,他的使用有些类似opencv的使用,首先要给他创建python环境,最好是用Anaconda+Pycharm的环境结构,他是通过构建一个python的虚拟环境,类似虚拟机,然后在这个环境下安装yolov5的虚拟环境。看到也有使用docker跑yolov5的,那样更简单。 我之前以为Anaconda像docker一样,创建的容器互不影响,没想到他巨垃圾,他不同镜像之间的库是公用的,也就是你在一个镜像里升级一个库,那么如果其他镜像中也有这个库,那这两个库的版本会保持一致,很恶心,你想测试在不同版本下的运行情况就行不通了。
ubuntu环境下测试现在办公室的闲置主机上跑yolov5训练,之后将程序移植 ...
200SMART PLC单片机
前言 200smart使用的是STEP 7-MicroWIN SMART 这款开发软件,相比博途软件要容易,方便的多。 但是他无法模拟仿真,必须接200smart单片机才可以仿真。
200SMART io输出也分型号,有的是继电器输出口,有的是晶体管输出,按需求选择型号。PIC功能相对较少,默认只有I/O控制和485,网卡通信,AD模拟输入输出需要外接模块。
S7 200SMART 手册 <https://yun.laohu.space/share/2aK4cOuV
控制io输入/输出硬件介绍
PLC的输入和输出是看他回路的通断决定他是开还是关,与输入/输出电压的高低电平无关。
输入是在单片机的上面,DIa和DIb两部分,对应的引脚端地址分别为 I0.0-I0.7 I1.0-I0.3
比如在接开关时,开关的一端接 I0.0另一端接1M口,同时1M口需要外接开关能承受的电源+,从而构成回路;
同理,DO0-DO7 为输出口,1L 2L分别为两块区域的闭合回路端
程序设计下载程序使用网线连接,使PLC和电脑共处同一网关下,通过软件上的PL ...
部署 Nginx Proxy Manger 反向代理 配置阿里云SSL证书
前言(小白建议看下) NGINX Proxy Manager是一个基于Web界面的代理服务器管理工具,用于简化和集中管理NGINX反向代理服务器。 简单点说,就是比如你的服务器有好多个网站需要管理,但是服务器只有一个80和443端口,你就没办法让每一个网站都是用80 443 也就是无法使用http https 直接加域名使用,反向代理的作用就是将所有的网站给他加个代理转发,让新的域名代替旧的 域名+端口的域名;举个例子:你服务器IP绑定的域名是 laohu.space ,你搭建了两个网站使用了两个端口 8000,8001. 那么你就可以通过使用 http://laohu.space:8000 和http://laohu.space:8001 去访问这两个网站,但是 用端口去访问网站 别人是不知道你在哪个端口的,在浏览器上也不会搜索到你的网站,只有在80 443的网站才能被别人搜索到。 反向代理的作用就是可以将 http://laohu.space:8000 的原本域名,用一个新的域名 http://uu.laohu.space 的域名去代替,他改变的的域名前缀,要比修改端口也要方 ...
嵌入式linux mp157 开发
开发环境mp157开发板在烧录系统之前,需要先烧写 TF-A ,该程序是写在ARM处理器里面的,处理器里面也有点内存,几M的大小吧,像M的单片机的运行程序就是直接烧写在处理器里面,烧写linux一般是烧写在emmc,sd卡,硬盘里。TF-A的作用是保护系统的环节,系统启动后,先开始运行TF-A,检测系统以及硬件配置这些。每个做arm芯片的厂家会提供一套TF-A源码,然后制作板子再根据厂家提供的源码进行修改,打补丁,使其兼容自己的板子。
正点原子mp157的板子烧写TF-A步骤:
烧写的文件[tf-a-stm32mp157d-atk-serialboot.stm32] 用于将烧录工具和arm先连接[tf-a-stm32mp157d-atk-trusted.stm32] tf-a的源码[u-boot.stm32] 在该uboot系统下进行烧写tf-a源码[flashlayout.tsv] 类似与目录,说明烧烤程序的具体位置,在烧录时将这个文件添加后,即可开始下载程序
烧写工具1、打开[STM32CubeProgrammer]软件,将拨码开关开启USB启动,然后连接usb ...
docker 部署 ipsec 服务器
前言用于实现网络共享
准备环境mkdir -p /data/ipsec-vpn-server/vim vpn.env#IPsec预共享密钥VPN_IPSEC_PSK=1qaz2wsx#vpn 用户VPN_USER=vpnVPN_PASSWORD=123456#IPsec VPN 使用的公网地址VPN_PUBLIC_IP=114.115.253.155#添加而外的用户,需要空格隔开VPN_ADDL_USERS=vpn1 vpn2#额外用户的密码,也一样需要空格隔开VPN_ADDL_PASSWORDS=vpn11234 pass21234
添加用户需要删除容器,重新创建容器才可生效
创建运行容器docker run --name ipsec-vpn-server --env-file /root/docker-date/vpn.env --restart=always -p 500:500/udp -p 4500:4500/udp -v /lib/modules:/lib/modules:ro -d --privileged hwdsl2/ipsec-vpn-server
服务器搭建clash服务
ubuntu无桌面版 部署clash下载必要文件1、下载clash 压缩包 :https://github.com/Dreamacro/clash/releases 在官网选择合适的压缩包2、下载Country.mmdb 文件 : wget -O Country.mmdb www.sub-speeder.com/client-download/Country.mmdb需要科学上网才可下载,这属实是矛盾了,可先在windows下载 再传过去。 网盘链接:https://yun.laohu.space/share/c4J1_IHJ(Country.mmdb 是一个 MaxMind 公司提供的 IP 地址 → 国家的映射数据库)
安装1、仔细看每条指令,clash必须安装在/etc/clash下! chmod +x clash 获取运行权限2、wget -O config.yaml <clash订阅url> 下载订阅文件 config.yaml
mkdir /etc/clash ...
内网服务器搭建共享网盘
前言 我是在服务器上通过docker部署File Browser网盘,用于做共享网盘,比如办公室内文件传输,保存,速度可以达到100MB/S.比U盘传输都快,并且可以多人同时访问上传或下载;然后再配合内网穿透frp,将内网的网盘端口暴露在公网上,使用户可在其他网络下访问网盘。
准备环境1、一台ubuntu服务器,可以使用旧电脑或者其他工控机,有足够大的硬盘,带宽10MB以上,太慢传输体验差2、安装完docker环境。3、服务器如果有公网IP最好,没有的话需要准备内网穿透的工具
docker 部署 File Browser网盘这里主要修改下映射端口和数据存储位置即可,如何是放在新添加的网盘,请参考另一篇文章,如何挂载新硬盘 https://laohu.space/linux.html
docker run -d --name filebrowser --restart=always -p 80:80 -v /mnt/sda_1T/filebrowser/srv:/srv -v /mnt/sda_1T/filebrowser/filebrowser.db:/database ...
“frp-内网穿透-远程访问家中电脑”
frp用于没有公网IP的场合,比如办公室电脑连接的网络没有公网IP,你在外面就无法访问到家中电脑(除非使用向日葵等软件,这些软件也是内置了内网穿透的客户端,服务器是他们公司提供,所以这类软件不可能会免费使用,就会对客户端进行限速,远远没有windows自带的远程桌面流畅,当然也可以自制远程桌面软件)。这时就需要用到frp内网穿透,将你的电脑数据发送到frp服务器上,这样你在外网可以通过访问frp服务器来访问你家中的电脑。 具体操作:需要先在具有公网IP的服务器(电脑)上安装frp服务端,再在需要被访问的电脑(或路由器)上安装frpc客户端,然后修改客户端配置文件,连接服务端,服务端打开对应的端口。
frpc 客户端 先在github上下载frp的软件包,里面包含客户端和服务端,只有十几兆大小。frp中文文档 https://github.com/fatedier/frp/blob/master/README_zh.md frp下载地址https://github.com/fatedier/frp/releases 下载windows amd64.zip.
解压后 ...
“petalinux操作笔记”
petalinux 连接ubuntu NFS服务器ubuntu开启nfs服务器1、安装nfs服务器
sudo apt-get install nfs-kernel-server
2、新建一个目录作为共享目录3、编辑/etc/exports 文件,配置 NFS 服务路径
sudo gedit /etc/exports
在diamagnetic最下方添加 /home/alinx/work *(rw,sync,no_root_squash,no_subtree_check) /home/alinx/work 目录为 NFS 的一个工作目录。
4、执行下面命令重启 rpcbind 服务。nfs 是一个 RPC 程序,使用它前,需要映射好端口,通过rpcbind 设定
sudo /etc/init.d/rpcbind restart
5、执行下面命令重启 nfs 服务
sudo /etc/init.d/nfs-kernel-server restart
petalinux连接nfs服务器1、通过下面命令挂载 ...