用户工具

站点工具


paste

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
paste [2023/08/24 04:33] – [Copy and Paste] rootpaste [2026/01/16 17:22] (当前版本) root
行 3: 行 3:
 This page is used for copy and paste sharing. This page is used for copy and paste sharing.
  
 +<code>
 +slmgr /skms s1.kms.cx
 +slmgr /ipk FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4
 +slmgr /ato
 +slmgr /xpr
 +pause
 +</code>
 +
 +===== Guacamole部署 =====
  
-In yaml+转到guacamole
  
-<code yaml+<code bash
-Electronic Emergency Brake Lights EEBL: +#guacamole测试的docker,效果尚佳 
-  p_RVLongAccelerationThreshold_EEBL +docker run -p 6080:80 -p 5900:5900 -e VNC_PASSWORD=111222333 -v /dev/shm:/dev/shm --rm dorowu/ubuntu-desktop-lxde-vnc 
-Breakdown Vehicle: +docker run -p 8080:8080 --rm  flcontainers/guacamole
-  - p_StationaryThreshold +
-  eventHazardLights: +
-      p_TimePeriod_HazardLightsThreshold_Breakdown +
-      p_NumberEventsHazardLightsThreshold_Breakdown +
-  - eventFlatTire: +
-      p_TimePeriod_FlatTireThreshold_Breakdown +
-      p_NumberEventsFlatTireThreshold_Breakdown +
-  eventHazardLights: +
-      p_TimePeriod_DisabledVehicleThreshold_Breakdown +
-      p_NumberEventsDisabledVehicleThreshold_Breakdown +
-Accident Vehicle: +
-  p_StationaryThreshold +
-  - p_AccelerationThreshold_Accident +
-Slippery Road: +
-  eventABSactivated: +
-    p_HighAccelerationABS_TractionLoss +
-    p_NumberEventsABS_TractionLoss +
-    - p_TimePeriodABS_TractionLoss +
-  eventTractionControlLoss: +
-    - p_HighAccelerationASR_TractionLoss +
-    - p_NumberEventsASR_TractionLoss +
-    - p_TimePeriodASR_TractionLoss +
-  eventStabilityControlactivated: +
-    - p_HighAccelerationESC_TractionLoss +
-    - p_NumberEventsESC_TractionLoss +
-    - p_TimePeriodESC_TractionLoss +
-Safeguarding Emergency Vehicl(Static): +
-  - p_StationaryThreshold +
-  - p_NumberEvents_SafeguardingEV +
-  - p_TimePeriod_SafeguardingEV +
-Dynamic Emergency Vehicl: +
-  - p_StationaryThreshold +
-  - p_NumberEvents_DynamicEV +
-  - p_TimePeriod_DynamicEV +
-Misc: +
-  - p_PSD_Usage_Active +
-  - p_Environment_V_Urban +
-  - p_Environment_T +
-  - p_lateral +
-  - p_pathPlanning_confidence +
-  - p_AngleRelevancyCheck +
-  - p_heading_quality_threshold +
-  - p_Plausi_HeadingCfd +
-  - p_Plausi_Pos_Distance +
-  - p_Plausi_Pos_orientation +
-  - p_Plausi_Pos_semiMajor +
-  - p_Plausi_Pos_semiMinor +
-  - p_Plausi_SpeedCfd +
-  - p_Plausi_Speedvalue +
-  - p_v_sampling_time +
-已知晓需要确认: +
-  - p_TTCRelevancyCheckEEBL_0 +
-  - p_TTCRelevancyCheckEEBL_1 +
-  - p_TTCRelevancyCheckEEBL_2 +
-  - p_TTCRelevancyCheckEEBL_3 +
-  - p_TTCRelevancyCheckEEBL_4 +
-  - p_EgoBaseSpeeds_EEBL_0=2.7 +
-  - p_EgoBaseSpeeds_EEBL_1=9.7 +
-  - p_EgoBaseSpeeds_EEBL_2=18.7 +
-  - p_EgoBaseSpeeds_EEBL_3=21 +
-  - p_EgoBaseSpeeds_EEBL_4=48+
 </code> </code>
  
-纯粹提取 + 
-<code> +guacamole部署 
- p_AccelerationThreshold_Accident +<code bash
- p_AngleRelevancyCheck +docker run --name mysql --rm -e MYSQL_ROOT_PASSWORD=123456 \ 
- p_EgoBaseSpeeds_EEBL_0=2.7 +  -p 3306:3306 -v $HOME/mysql-data:/var/lib/mysql  mysql:8 
- p_EgoBaseSpeeds_EEBL_1=9.+#-e MYSQL_ALLOW_EMPTY_PASSWORD=yes 
- p_EgoBaseSpeeds_EEBL_2=18.7 +docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --mysql > initdb.sql 
- p_EgoBaseSpeeds_EEBL_3=21 + 
- p_EgoBaseSpeeds_EEBL_4=48 +mysql -h localhost -u root --protocol tcp 
- p_Environment_T +> CREATE DATABASE guacamole_db; 
- p_Environment_V_Urban +> quit 
- p_HighAccelerationABS_TractionLoss + 
- p_HighAccelerationASR_TractionLoss +cat initdb.sql | mysql -h localhost -u root --protocol tcp guacamole_db 
- p_HighAccelerationESC_TractionLoss + 
- p_NumberEventsABS_TractionLoss +docker run --rm --name guacamole    \ 
- p_NumberEventsASR_TractionLoss +    -e GUACD_HOSTNAME=192.168.3.125 \ 
- p_NumberEventsDisabledVehicleThreshold_Breakdown +    -e GUACD_PORT=4822              \ 
- p_NumberEventsESC_TractionLoss +    -e MYSQL_HOSTNAME=192.168.3.125 \ 
- p_NumberEventsFlatTireThreshold_Breakdown +    -e MYSQL_DATABASE=guacamole_db  \ 
- p_NumberEventsHazardLightsThreshold_Breakdown +    -e MYSQL_USER=root              \ 
- p_NumberEvents_DynamicEV +    -e MYSQL_PASSWORD=123456        \ 
- p_NumberEvents_SafeguardingEV +    -p 8080:8080 guacamole/guacamole
- p_PSD_Usage_Active +
- p_Plausi_HeadingCfd +
- p_Plausi_Pos_Distance +
- p_Plausi_Pos_orientation +
- p_Plausi_Pos_semiMajor +
- p_Plausi_Pos_semiMinor +
- p_Plausi_SpeedCfd +
- p_Plausi_Speedvalue +
- p_RVLongAccelerationThreshold_EEBL +
- p_StationaryThreshold +
- p_TTCRelevancyCheckEEBL_0 +
- p_TTCRelevancyCheckEEBL_1 +
- p_TTCRelevancyCheckEEBL_2 +
- p_TTCRelevancyCheckEEBL_3 +
- p_TTCRelevancyCheckEEBL_4 +
- p_TimePeriodABS_TractionLoss +
- p_TimePeriodASR_TractionLoss +
- p_TimePeriodESC_TractionLoss +
- p_TimePeriod_DisabledVehicleThreshold_Breakdown +
- p_TimePeriod_DynamicEV +
- p_TimePeriod_FlatTireThreshold_Breakdown +
- p_TimePeriod_HazardLightsThreshold_Breakdown +
- p_TimePeriod_SafeguardingEV +
- p_heading_quality_threshold +
- p_lateral +
- p_pathPlanning_confidence +
- p_v_sampling_time+
 </code> </code>
  
 +Guacamole debug
  
 +<code bash>
 +./src/guacd/guacd -f -L trace -b 0.0.0.0
 +</code>
 +===== IPv6 Multicast =====
  
 +组播与单播的区别(从应用层角度看):
 +  * 发送方发送的目的地址不是接收方的IP地址,而是**从**某link,**向**link上某组播地址的一个组,发送数据。
 +  * 接收方Bind的不是**接口的地址**+端口概念,而是Bind**接口**+端口,并从这个接口加入某组播地址的group。接收方在接收组播消息的接口上的本地地址,在应用层看来是无关紧要的。
  
 +综上,组播调用时有以下不同:
 +  * 发送socket,发送前需要额外指定**发送组播消息的端口**,之后将组播地址与端口正常填入sockaddr_in6
 +  * 接收socket,接收前常规bind,但只有加入ipv6_mreq指定的组后才会收到该组播地址的消息。ipv6_mreq中指定了一个组播地址与其所在的interface。
  
 +但,自己发送组播消息,自己接收时需要额外两步支持Loop:
 +  * IPV6_MULTICAST_HOPS, 指定最大hops
 +  * IPV6_MULTICAST_LOOP, 开启LOOP支持
  
 +Tips,使用'''ip link'''查看接口的ifindex。
  
 +样例代码
 +<code cpp>
 +//send
 +m_udpSocketSend.UseIpv6Mode(1);
 +m_udpSocketSend.Create();
 +m_udpSocketSend.SetBlocking(0);
  
 +//像常规地址一样将组播地址与端口填入目的sockaddr_in6
 +m_udpSocketSend.SetDestIpAndPort(m_Settings.GetSendRemoteMaddrV6Str(),m_Settings.GetSendRemotePortV6());
  
 +//指定目的组播地址所在的interface
 +int ifindex = m_Settings.GetIfIndex();
 +if (setsockopt(m_udpSocketSend.m_sock_fd, IPPROTO_IPV6, IPV6_MULTICAST_IF,
 +                &ifindex, sizeof(ifindex)) < 0)
 +{
 +    return ERROR;
 +}
  
 +#if SVW_MULTICAST_SUPPORT_LOOP
 +int hops = 255;
 +if(setsockopt(m_udpSocketSend.m_sock_fd, IPPROTO_IPV6, IPV6_MULTICAST_HOPS, &hops, sizeof(hops)) < 0)
 +{
 +    LOGI("set send Socket IPV6_MULTICAST_HOPS failed.");
 +    perror("setsockopt");
 +}
 +if(setsockopt(m_udpSocketSend.m_sock_fd, IPPROTO_IPV6, IPV6_MULTICAST_LOOP, &on, sizeof(on)) < 0)
 +{
 +    LOGI("set send Socket IPV6_MULTICAST_LOOP failed.");
 +    perror("setsockopt");
 +}
 +#endif
  
 +//发送!!
 +m_udpSocketSend.SendMsg(&sendbuff);
 +</code>
 +
 +<code cpp>
 +//receive
 +m_udpSocketReceive.UseIpv6Mode(1);
 +m_udpSocketReceive.Create();
 +m_udpSocketReceive.SetBlocking(0);
 +if(!m_udpSocketReceive.Bind(m_Settings.GetReceivePortV6()))
 +{
 +    return ERROR;
 +}
 +
 +//join multicast group
 +struct ipv6_mreq mGroupAddr;
 +crt_memset(&mGroupAddr,0,sizeof(mGroupAddr));
 +if(!crt_inet_addr_v6(m_Settings.GetReceiveMaddrV6Str(),&mGroupAddr.ipv6mr_multiaddr))
 +{
 +    LOGI("invalidate v6 ip %s\n", m_Settings.GetReceiveMaddrV6Str());
 +    return ERROR;
 +}
 +if(m_Settings.GetIfIndex() != 0)
 +{
 +    mGroupAddr.ipv6mr_interface = m_Settings.GetIfIndex();
 +}
 +if (setsockopt(m_udpSocketReceive.m_sock_fd, IPPROTO_IPV6, IPV6_ADD_MEMBERSHIP,
 +                &mGroupAddr, sizeof(mGroupAddr)) < 0)
 +{
 +    LOGE("setting join MULTICAST group %s failed.",m_Settings.GetReceiveMaddrV6Str());
 +    return ERROR;
 +}
 +</code>
 +
 +
 +===== rsync =====
 +
 +<code bash>
 +#rsync推荐样例:
 +rsync -avIPhz  \
 +  --exclude='update-backups/*'  \
 +  --backup-dir=update-backups/`date '+%Y%m%d-%H%m'`/  \
 +  ~/cv-release/ root@remote.site:/path/to/release/
 +
 +cat >help.txt<<EOF
 +同步文件夹时,不要省略文件夹的斜杠!虽然远端的代表文件夹的斜杠可以省略。
 +
 +--backup-dir参数让任何被删除或覆盖的文件都移入指定文件夹,这个目录是远端同步目录的相对路径
 +在本例中是: root@remote.site:/path/to/release/update-backups/20231016-1654/
 +如果没有删除或覆盖的文件,则不创建该目录
 +
 +--exclude保证本机指定目录不会同步到远端。这个目录是本机同步目录的相对路径
 +在本例中是: ~/cv-release/update-backups/*
 +
 +注意,不要添加--delete!就不会删除远端任何文件,覆盖的除外。
 +
 +-a: 类似cp中的-a, 等效于-rlptgoD,
 +    分别是,递归、复制软链接、保持权限、同步修改时间、保持group一致、保持owner一致、保持设备文件一致
 +    如果,目标文件存在且无权chmod,-p(保持权限)可能权限不足;
 +    如果,目标rsync非root,-goD可能会忽略,可以考虑用-rlt替代
 +    在不指定-p保持权限时,覆盖文件会保持远端文件原权限不变,新建文件会遵从本机源文件
 +-v: verbose
 +-I: --ignore-times
 +    忽略时间与大小,一定进行哈希对比
 +-P: same as --partial --progress
 +    断点续传大文件
 +-h: --human-readable
 +-z: --compress
 +    先压缩再传输
 +EOF
 +</code>
  
 ==== Ignore me ==== ==== Ignore me ====
  
-https://jx.jsonplayer.com/player/?url=https://v.qq.com/x/cover/mzc00200ct230h1/j00464box2d.html +  * https://jx.jsonplayer.com/player/?url=https://v.qq.com/x/cover/mzc00200ct230h1/j00464box2d.html 
-https://yangtu.top/+  https://yangtu.top/ 
 +  * www.lixianla.com 
 +  * https://pan.baidu.com/share/init?surl=4uEZTpBWlBI2lvejtZjj1g&pwd=62ph 
 +  * [[http://ipv6.www.dddns.icu/74d62d82a9/u1000/pt/The.Pig.the.Snake.and.the.Pigeon.2023.1080p.NF.WEB-DL.DDP5.1.H264-HHWEB/The.Pig.the.Snake.and.the.Pigeon.2023.1080p.NF.WEB-DL.DDP5.1.H264-HHWEB.mkv|The.Pig.the.Snake.and.the.Pigeon.2023.1080p]] 
 + 
 + 
 +  * https://www.bilibili.com/video/BV1XN4y187zp 
 +  * https://www.bilibili.com/video/BV1Xx4y1V7JZ/ 
 +  * 调试九法 
 + 
  
paste.1692851592.txt.gz · 最后更改: root