modbus_rt:本人编写的纯C实现的跨平台modbus协议通信库
该项目的演示视频,详见:
GitHub仓库: https://github.com/SenySunny/modbus_rt.git
Gitee仓库: https://gitee.com/SenySunny/modbus_rt.git
B站介绍视频和教程:https://www.bilibili.com/video/BV1cc411m72m/
一、介绍 modbus_rt是一款完全基于C语言实现的可以运行在windows, linux, macos, RTOS上的modbus通信库。主要目的是针对控制系统和工业物联网的方向使用。modbus_rt可以同时支持slave模式和master模式,基于类似socket句柄的实现思想,可以很方便的支持多例模式。它不仅仅是modbus协议的解析和实现,而是尽可能的在应用层做好实现和封装,做到开箱即用,而不需要做过多的应用层移植。
modbus_rt支持几乎市面上常用的所有的modbus协议的实现,包括modbus RTU,modbus ASCII,modbus TCP,modbus ...
git学习笔记(一):git客户端基本使用方法
1、git的常用基本指令 下面是一些git常用的基本指令集,这里只是简单罗列一下,方便参考:
1234567891011121314151617181920212223242526272829303132333435# 配置git基本信息git config --global user.name "Your Name"git config --global user.email "youremail@example.com"# git仓库初始化git init# git克隆仓库git clone https://gitee.com/SenySunny/pikapython.git# 检查当前的工作目录状态(哪些文件被修改了但还没提交)git status# 添加文件,用.表示添加所有文件git add filenamegit add .# 将暂存区的更改提交到本地仓库。通常附带一条消息说明这次提交的内容。git commit -m "Commit message"# 将本地的更改推送到远程仓库,如果是推送到主仓 ...
ESP32学习笔记(一):ESP-IDF配合VSCode的一些方法和技巧
1、idf的常用基本命令(1). 查看芯片信息:esptool.py -p COM4 flash_id1esptool.py -p COM4 flash_id
(2). 选择芯片命令:idf.py set-target esp32 详细的命令格式为:idf.py set-target [OPTIONS] {esp32|esp32s2|esp32c3|esp32s3|esp32c2|esp32c6|esp32h2|linux}
所以我们如果选择ESP32S3,则可以:
1idf.py set-target esp32s3
(3). 编译命令:idf.py build1idf.py build
(4). 配置命令: idf.py menuconfig1idf.py menuconfig
(6). 下载命令: idf.py -p COM3 flash1idf.py -p COM3 flash
(7). console调试命令: idf.py -p COM3 monitor1idf.py -p COM3 monitor
(8). 退出调试模 ...
hexo博客使用的一些常见问题(一):外站图片显示,站内链接,嵌入B站视频
1、关于网站使用外网图片无法显示的问题。
如果只需要文章能够正常显示,只需要在文章前面最前方加上如下语句即可:
1<meta name="referrer" content="no-referrer" />
该方法参考这篇文章的说法:https://www.cnblogs.com/selier/p/9570650.html, 大致的原理是:
一般浏览器向服务器请求一个资源(如图片)时,通常会包括一个Referer头部,它包含了发起请求的页面的URL。这有助于服务器理解请求的来源。
而有些图片网站为了防止其它网站盗链其资源(比如我是直接吧图片上传到gitee中,然后再文章中加载)。如果Referer头部显示图片请求来自于非授权的域名,服务器可能拒绝请求。
所以该条语句的意思是:告诉浏览器不要发送Referer头部给服务器。这样,图床服务器就无法判断请求是否来自于非授权的域,因而可能“默认”允许请求。
当然如果不想每次创建文章的时候都手动添加该 ...
hexo博客搭建(四):本地Linux系统部署,搭建宝塔Linux面板,通过内网传统实现域名访问
本文主要讲解如何搭建hexo博客网站,并直接部署在github上,实现通过xxx.github.io来访问博客,同时针对云服务器的用户,可以把Hexo博客同步部署到服务器上,通过宝塔Linux面板架设网站,并实现域名解析和绑定。针对没有云服务器的用户,也给出了直接部署在个人的Linux终端(比如:树莓派或者其他Linux开发板,软路由,NAS等)的方案和思路,并给出通过内网穿透方法实现通过自主域名访问博客的方法。最终实现可以通过xxx.github.io和自主域名访问博客网页。
这里不对Hexo博客的特性做说明,详细的Hexo相关的内容,可以参考Hexo官方网站:https://hexo.io/zh-cn/
这里用宝塔面板主要因为:一方面宝塔面板免去了Nginx的相关配置,可以直接用可视化操作来部署网页;另外一方面,一台Linux服务器可以同属部署多个网站,可以统一用宝塔面板统一管理。也方便该服务器不仅可以用来部署网站,还可以同时作为其他左右使用(比如可以用来做远程代码调试,内网穿透服务等)。
本文主要分四个章节 ...
hexo博客搭建(三):部署云端Linux服务器,搭建宝塔Linux面板,实现远程或域名访问。
本文主要讲解如何搭建hexo博客网站,并直接部署在github上,实现通过xxx.github.io来访问博客,同时针对云服务器的用户,可以把Hexo博客同步部署到服务器上,通过宝塔Linux面板架设网站,并实现域名解析和绑定。针对没有云服务器的用户,也给出了直接部署在个人的Linux终端(比如:树莓派或者其他Linux开发板,软路由,NAS等)的方案和思路,并给出通过内网穿透方法实现通过自主域名访问博客的方法。最终实现可以通过xxx.github.io和自主域名访问博客网页。
这里不对Hexo博客的特性做说明,详细的Hexo相关的内容,可以参考Hexo官方网站:https://hexo.io/zh-cn/
这里用宝塔面板主要因为:一方面宝塔面板免去了Nginx的相关配置,可以直接用可视化操作来部署网页;另外一方面,一台Linux服务器可以同属部署多个网站,可以统一用宝塔面板统一管理。也方便该服务器不仅可以用来部署网站,还可以同时作为其他左右使用(比如可以用来做远程代码调试,内网穿透服务等)。
本文主要分四个章节 ...
hexo博客搭建(二):把hexo博客部署到github网页托管,实现通过类似xxx.github.io来访问博客
本文主要讲解如何搭建hexo博客网站,并直接部署在github上,实现通过xxx.github.io来访问博客,同时针对云服务器的用户,可以把Hexo博客同步部署到服务器上,通过宝塔Linux面板架设网站,并实现域名解析和绑定。针对没有云服务器的用户,也给出了直接部署在个人的Linux终端(比如:树莓派或者其他Linux开发板,软路由,NAS等)的方案和思路,并给出通过内网穿透方法实现通过自主域名访问博客的方法。最终实现可以通过xxx.github.io和自主域名访问博客网页。
这里不对Hexo博客的特性做说明,详细的Hexo相关的内容,可以参考Hexo官方网站:https://hexo.io/zh-cn/
这里用宝塔面板主要因为:一方面宝塔面板免去了Nginx的相关配置,可以直接用可视化操作来部署网页;另外一方面,一台Linux服务器可以同属部署多个网站,可以统一用宝塔面板统一管理。也方便该服务器不仅可以用来部署网站,还可以同时作为其他左右使用(比如可以用来做远程代码调试,内网穿透服务等)。
本文主要分四个章节 ...
hexo博客搭建(一):在PC上搭建Hexo博客系统,并设置博客主题
本文主要讲解如何搭建hexo博客网站,并直接部署在github上,实现通过xxx.github.io来访问博客,同时针对云服务器的用户,可以把Hexo博客同步部署到服务器上,通过宝塔Linux面板架设网站,并实现域名解析和绑定。针对没有云服务器的用户,也给出了直接部署在个人的Linux终端(比如:树莓派或者其他Linux开发板,软路由,NAS等)的方案和思路,并给出通过内网穿透方法实现通过自主域名访问博客的方法。最终实现可以通过xxx.github.io和自主域名访问博客网页。
这里不对Hexo博客的特性做说明,详细的Hexo相关的内容,可以参考Hexo官方网站:https://hexo.io/zh-cn/
这里用宝塔面板主要因为:一方面宝塔面板免去了Nginx的相关配置,可以直接用可视化操作来部署网页;另外一方面,一台Linux服务器可以同属部署多个网站,可以统一用宝塔面板统一管理。也方便该服务器不仅可以用来部署网站,还可以同时作为其他左右使用(比如可以用来做远程代码调试,内网穿透服务等)。
本文主要分四个章节 ...