Apollo 配置管理中心(携程开源),Ubuntu虚拟机下使用cutecom进行串口通信的方法,go测试rs232串口,大端小端模式,golang 单元测试显示日志和关闭gotest缓存,git代码回滚与恢复

Apollo 配置管理中心(携程开源)

https://blog.csdn.net/chengyinwu/article/details/108059466

https://blog.csdn.net/m0_37583655/article/details/117458787

1. Apollo 介绍

阿菠萝官网地址:https://github.com/ctripcorp/apolloApollo(阿菠萝)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。Apollo支持4个维度管理Key-Value格式的配置:Namespace(名称空间)、Cluster(集群)、Environment(环境)、Application(应用)。具体介绍参考:https://github.com/ctripcorp/apollo/wiki

总结一句话:配置中心就是一种统一管理各种应用配置的基础服务组件。

2. Apollo 特性

• 统一管理不同环境(支持有限的环境关键词)、不同集群的配置
• 配置修改实时生效
• 版本发布管理
• 灰度发布
• 权限管理、发布审核、操作审计
• 客户端配置信息监控
• 提供Java和.Net原生客户端,且支持HTTP接口

3 配置中心对比

总的来看,Apollo和Nacos相对于Spring Cloud Config的生态支持更广,在配置管理流程上做的更好。Apollo相对于Nacos在配置管理做的更加全面,Nacos则使用起来相对比较简洁,在对性能要求比较高的大规模场景更适合。但对于一个开源项目的选型,项目上的人力投入(迭代进度、文档的完整性)、社区的活跃度(issue的数量和解决速度、Contributor数量、社群的交流频次等),这些因素也比较关键,考虑到Nacos开源时间不长和社区活跃度,所以从目前来看Apollo应该是最合适的配置中心选型。

Ubuntu虚拟机下使用cutecom进行串口通信的方法

https://blog.csdn.net/lvyiwuhen/article/details/117881869

接线方式:设备→rs232→电脑usb(设备管理中能看到串口端口)→VM虚拟机(添加串行端口COM3)→虚拟机安装cutecom→启动cutecom,设置波特率9600或115200→先用gui工具试一下能否正常收发→go 单元测试执行用例

将USB串口映射到vm虚拟机的Ubuntu

查看映射后的端口号,终端输入

 ls /dev/ttyS* -alt

第一行应该就是新映射的结果

https://www.bnskd.com/6312.html

Ubuntu虚拟机下使用cutecom进行串口通信

1. 安装cutecom

使用以下命令安装cutecom

sudo apt-get install cutecom -y

调用以下命令打开cutecom

sudo su
cutecom

其中,Device位置的如果使用USB转串口,需要手动填写路径/dev/ttyS1

2. 为虚拟机添加串口

在虚拟机关闭的状态下,打开虚拟机设置

点击添加按钮

点击下一步即完成串口的添加

3. 为虚拟机创建ttyS1端口

使用以下命令创建ttyUSB0端口

sudo mknod /dev/ttyUSB0 c 188 0

为ttyUSB0开放权限

sudo chmod 777/dev/ttyS1

go测试rs232串口

package main

import (
  "log"
  "time"

  "github.com/tarm/serial"
)

func main() {
  c := &serial.Config{Name: "COM3", Baud: 9600}
  s, err := serial.OpenPort(c)
  if err != nil {
    log.Fatal(err)
  }

    n, err := s.Write([]byte{0x81, 0x09, 0x04, 0x01, 0xFF})
    if err != nil {
      log.Fatal(err)
    }
    time.Sleep(time.Second)
    buf := make([]byte, 5)
    n, err = s.Read(buf)
    if err != nil {
      log.Fatal(err)
    }
    log.Print("111~~~", buf)
    log.Print("111~n~~", n)
    log.Printf("%q", buf[:])
  s.Flush()
  s.Close()

}

大端小端模式

https://blog.csdn.net/qq_33831708/article/details/119375749

一、什么是大/小端模式

不同字节的数据在内存中存储顺序称之为字节序。根据字节序的不同,可以将存储模式分为大端模式小端模式,以4字节16进制数0x12345678举例说明。

         高地址        低地址
大端模式     |12|34|56|78|         低字节放在低地址;高字节放在高地址
小端模式     |78|56|34|12|         低字节放在高地址;高字节放在低地址
123

golang 单元测试显示日志和关闭gotest缓存

https://blog.csdn.net/mostone/article/details/79934273

http://t.zoukankan.com/fengxm-p-9915062.html

  1. vscode菜单栏(文件,首选项,设置)
  2. 右上角(文件箭头logo),在里面新增下面一行
    或者.vis
"go.testFlags": ["-v","-count=1"],

git代码回滚与恢复

https://mp.weixin.qq.com/s/b7jlfhvVNeqPAcHlppURrg

回滚

已经提交未推送,先执行git add,又执行git commit,但未git push
git reset --hard HEAD^ //上个版本回退
//执行完已经恢复到上一个版本,写的代码还在暂存,可以恢复

恢复

1.git reflog //记下暂存区的id
2.git reset --hard "0751f09"
posted @ 2022-04-28 17:42  凌易说-lingyisay  阅读(722)  评论(0编辑  收藏  举报