合宙LuatOS AIR700 IPV6 TCP 客户端向NodeRed发送数据
为了验证 AIR700 IPV6 ,特别新建向NodeRed Tcp发送的工程。
Air700发送TCP数据源码如下:
--[[
IPv6客户端演示, 仅EC618系列支持, 例如Air780E/Air600E/Air780UG/Air700E
]]-- LuaTools需要PROJECT和VERSION这两个信息
PROJECT = "IPV6_SendDate_Nodered_TCP"
VERSION = "1.0.0"log.info("main", PROJECT, VERSION)-- 一定要添加sys.lua !!!!
sys = require("sys")
libnet = require "libnet"
local netc-- 演示task
sys.taskInit(function()-- 仅EC618系列支持, 例如Air780E/Air600E/Air780UG/Air700Eif rtos.bsp() ~= "EC618" thenwhile 1 dolog.info("ipv6", "only Air780E/Air600E/Air780UG/Air700E supported")sys.wait(1000)endend-- 启用IPv6, 默认关闭状态,必须在驻网前开启-- 注意, 启用IPv6, 联网速度会慢2~3秒mobile.ipv6(true)log.info("ipv6", "等待联网")sys.waitUntil("IP_READY")log.info("ipv6", "联网完成")sys.wait(100)socket.setDNS(nil, 1, "119.29.29.29")socket.setDNS(nil, 2, "114.114.114.114")
end)sys.taskInit(function()sys.waitUntil("IP_READY")local dName = "D2_TASK"netc = socket.create(nil, dName)local succ=socket.config(netc)log.info("socket.congfig",succ )local succ1, result = socket.connect(netc, "www.yourUrl.top",12300,true)log.info("socket.connect",succ1) log.info("IPV6", "ip", socket.localIP())sys.wait(2000)local cnt=0local strCntwhile true docnt=cnt+1strCnt="From Air700 No."..cnt.." Messages."local succ1, full, result1 = socket.tx(netc, strCnt)-- local succ1, full, result1 = socket.tx(netc, strCnt, "www.yourUrl.top", 12300 ) --TCP应用则忽略 --端口--TCP应用则忽略log.info("socket.SEND",strCnt) sys.wait(6000)endend)-- 用户代码已结束---------------------------------------------
-- 结尾总是这一句
sys.run()
-- sys.run()之后后面不要加任何语句!!!!!
代码中注意点:
1 socket.connect(netc, "www.yourUrl.top",12300,true)
socket.connect函数的need_ipv6_dns必须设置成true,以便开启IPV6.
2 socket.tx(netc, strCnt, "www.yourUrl.top",12300 ) 函数中的域名和端口号可以忽略。

3 行号52 sys.wait(2000)延时不能少,可保证NodeRed收到第一条数据
NodeRed代码


[{"id": "f6f2187d.f17ca8","type": "tab","label": "Flow 1","disabled": false,"info": ""},{"id": "4ba8347f531551e7","type": "debug","z": "f6f2187d.f17ca8","name": "debug 2","active": true,"tosidebar": true,"console": false,"tostatus": false,"complete": "false","statusVal": "","statusType": "auto","x": 480,"y": 240,"wires": []},{"id": "5d8b8559cac5fb20","type": "tcp in","z": "f6f2187d.f17ca8","name": "","server": "server","host": "","port": "2300","datamode": "stream","datatype": "utf8","newline": "","topic": "","trim": false,"base64": false,"tls": "","x": 280,"y": 240,"wires": [["4ba8347f531551e7"]]}
]
NodeRed接收数据

Air700发送的数据

注意:NodeRed是基于Docker运行的

![]()
外部TCP端口号是12300,Docker内部是2300
注意上述问题,即可验证AIR700是支持IPV6的。
相关文章:
合宙LuatOS AIR700 IPV6 TCP 客户端向NodeRed发送数据
为了验证 AIR700 IPV6 ,特别新建向NodeRed Tcp发送的工程。 Air700发送TCP数据源码如下: --[[ IPv6客户端演示, 仅EC618系列支持, 例如Air780E/Air600E/Air780UG/Air700E ]]-- LuaTools需要PROJECT和VERSION这两个信息 PROJECT "IPV6_SendDate_N…...
git 如何生成sshkey公钥
打开git客户端 输入 ssh-keygen -t rsa -b 4096 -C "xxxxxxexample.com" 然后根据提示按enter 或者y 直到出现下图所示 打开 c盘的路径下的文件,/c/Users/18159/.ssh/id_rsa.pub 将id_rsa.pub中的公钥贴到git 网站上的SSH keys即可...
python从入门到精通:函数
目录 1、函数介绍 2、函数的定义 3、函数的传入参数 4、函数的返回值 5、函数说明文档 6、函数的嵌套调用 7、变量的作用域 1、函数介绍 函数是组织好的,可重复使用的,用来实现特定功能的代码段。 name "zhangsan"; length len(nam…...
【Android性能篇】如何分析 dumpsys meminfo 信息
一、dumpsys meminfo是什么 dumpsys meminfo 是一个用于分析Android设备内存使用情况的强大命令。 二、dumpsys meminfo的关键信息 要分析其输出信息,我们需要注意以下几个关键点: Total PSS by OOM adjustment:这个值表示每个进程的总比…...
c++进阶——继承的定义,复杂的菱形继承及菱形虚拟继承
目录 前言: 1.继承的概念及定义 1.1继承的概念 1.2 继承定义 1.2.2继承关系和访问限定符 1.2.3继承基类成员访问方式的变化 2.基类和派生类对象赋值转换 3.继承中的作用域 4.派生类的默认成员函数 5.继承与友元 6. 继承与静态成员 7.复杂的菱形继承及菱…...
计算机网络:DNS、子网掩码、网关
参考: https://blog.csdn.net/weixin_55255438/article/details/123074896 https://zhuanlan.zhihu.com/p/65226634 在计算机网络中,DNS(Domain Name System,域名系统)、子网掩码(Subnet Mask)…...
程序员如何学习开源项目
程序员如何学习开源项目 豆包MarsCode使用豆包MarsCode学习开源项目步骤导入git上开源的项目 豆包MarsCode https://www.marscode.cn/home 使用豆包MarsCode学习开源项目 步骤 https://www.marscode.cn/dashboard 导入git上开源的项目 找到项目的README.md文件,使…...
探索数据结构:红黑树的分析与实现
✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:数据结构与算法 贝蒂的主页:Betty’s blog 1. 红黑树的介绍 1.1. 红黑树的引入 我们前面学习了AVL树,…...
【设计模式】装饰器模式和适配模式
装饰器模式 装饰器模式能够很好的对已有功能进行拓展,这样不会更改原有的代码,对其他的业务产生影响,这方便我们在较少的改动下对软件功能进行拓展。 类似于 router 的前置守卫和后置守卫。 Function.prototype.before function (beforeFn)…...
Visual Studio VS 插件之 ReSharper
集成在VS2022上的ReSharper暂无找到汉化方式,如果有大神可以汉化,请指导下。 首先ReSharper 是IDE 下的插件 主要是基于C# 语句优化的这么一个插件。 使用ReSharper可以使开发效率大大提高,但是也是比较吃电脑的配置。所以说如果配置低的小…...
【二分查找】--- 进阶题目赏析
Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏: 算法Journey 本篇博客我们继续来了解一些有关二分查找算法的进阶题目。 🏠 寻找峰值 📌 题目内容 162. 寻找峰值 - 力扣&#…...
CSS 对齐
CSS 对齐 在网页设计中,CSS(层叠样式表)对齐是一种基本而重要的技术,它决定了网页元素的位置和布局。CSS 提供了多种对齐方法,可以精确控制元素的水平、垂直对齐,以及相对于其父元素或整个页面的位置。本文…...
暑假算法刷题日记 Day 10
目录 重点整理 054、 拼数 题目描述 输入格式 输出格式 输入输出样例 核心思路 代码 055、 求第k小的数 题目描述 输入格式 输出格式 输入输出样例 核心思路 代码 总结 这几天我们主要刷了洛谷上排序算法对应的一些题目,相对来说比较简单 一共是13道…...
【Midjourney】AI作画提示词工程:精细化技巧与高效实践指南
文章目录 💯AI作画提示词基础结构1 图片链接1.1 上传流程 2 文字描述3 后置参数 💯AI作画提示词的文字描述结构1 主体主体细节描述2 环境背景2.1 环境2.2 光线2.3 色彩2.4 氛围 3 视角4 景别构图5 艺术风格6 图片制作方法7 作品质量万能词 💯…...
C语言——文件
文件操作 概念 文件是指存储在外存储器上(一般代指磁盘,也可以是U盘,移动硬盘等)的数据的集合。 文件操作体现在哪几个方面 1.文件内容的读取 2.文件内容的写入 数据的读取和写入可被视为针对文件进行输入和输出的操作…...
视频孪生技术在智慧水利(水务)场景中的典型应用展示
一、智慧水利建设规划 根据水利部编制《“十四五”智慧水利建设规划》,建设数字孪生流域、“2N”水利智能业务应用体系、安全可控水利网络安全防护体系、优化健全水利网信保障体系,建成七大江河数字孪生流域,推进水利工程智能化改造…...
使用kubekey快速搭建k8s集群
项目仓库地址 https://github.com/kubesphere/kubekey/ 支持的Kubernetes Versions https://github.com/kubesphere/kubekey/blob/master/docs/kubernetes-versions.md 安装 选择自己想要下载的版本 https://github.com/kubesphere/kubekey/releases 复制下载链接并下载 示…...
C++——入门基础(上)
目录 一、C参考文档 二、C在工作领域的应用 三、C学习书籍 四、C的第一个程序 五、命名空间 (1)namespace的定义 (2)命名空间的使用 六、C的输入和输出 七、缺省函数 八、函数重载 九、写在最后 一、C参考文档 (1)虽…...
Spring事务失效
类内部访问导致事务不生效原因: 注解Transaction的底层实现是Spring AOP技术,而Spring AOP技术使用的是动态代理。spring事务失效的原因就是动态代理失效的原因: 对于static方法和非public方法,注解Transactional是失效的,因为不…...
Qt QLabel标签制作弹框效果,3s后缓慢自动消失
效果图 初始化说明 void InitStatusTips() {if (NULL statusTips_) {return;}statusTips_->setFixedSize(300, 80);//固定大小statusTips_->move((width() - statusTips_->width()) / 2, height() - 30 - statusTips_->height());//移动位置statusTips_->setA…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...
label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
GruntJS-前端自动化任务运行器从入门到实战
Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...
力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
Web后端基础(基础知识)
BS架构:Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器,应用程序的逻辑和数据都存储在服务端。 优点:维护方便缺点:体验一般 CS架构:Client/Server,客户端/服务器架构模式。需要单独…...
【Ftrace 专栏】Ftrace 参考博文
ftrace、perf、bcc、bpftrace、ply、simple_perf的使用Ftrace 基本用法Linux 利用 ftrace 分析内核调用如何利用ftrace精确跟踪特定进程调度信息使用 ftrace 进行追踪延迟Linux-培训笔记-ftracehttps://www.kernel.org/doc/html/v4.18/trace/events.htmlhttps://blog.csdn.net/…...
