您好,
会员登录 快速注册
退出 ( 条未读消息)
关于本站 意见反馈 首页

公告:小宅博客网可以开发票了,需要发票的,去群里找群主哈!!
全部文章分类
  • 人工智能 >

  • 编程语言 >

  • WPF系列 >

  • ASP.NET系列 >

  • Linux >

  • 数据库 >

  • 嵌入式 >

  • WEB技术 >

  • PLC系列 >

  • 微服务与框架 >

  • 小宅DIY >

  • 学习资料 >

OpenCv基础 ANN车牌识别 yolov5车牌识别 指针式仪表识别 ROS系列 YOLO Halcon Detectron2 昇腾AI ChatGPT在线体验 英伟达JETSON ChatGLM ChatTTS FunASR 地平线 ByteTrack 魔搭社区 LangChain
C C# C++ Python Java Go
WPF
ASP.NET小功能 GPS定位系统-MVC GPS定位系统-VUE ASP.NET WebRTC
Linux Linux内核 Shell MakeFile
MySql SqlServer Oracle
STM8 STM32 51单片机
VUE入门 HTML JavaScript CSS layui镜像网站 ElementUi中文官网 element-plus 图标 Vue - Ant Design官方
三菱 欧姆龙 西门子 施耐德 松下 台达
IOTSharp IOTGateway ABP FRAMEWORK Docker
亚克力音响 编程仙途:智驭万法
面试题与技巧 Python入门技能树 微软C#教程
首页 编程之美 工具下载 全国就业 流量地图 文心一言
GPS定位-EC-01G
ASP.NET GPS定位系统介绍(物联网) GPS定位EC-01G模块系列教程源码下载页(物联网) 1、新建.net core web工程 2、添加自定义登录页面 3、添加百度地图页面 4、添加后台日志系统 5、添加mysql数据存储 6、添加SqlServer数据存储(额外内容) 7、用户注册与登录功能实现 8、添加坐标报表页面(用于遍历地图坐标) 9、前后端数据交互与报表数据展示 10、报表数据的编辑与修改 11、用户登录与退出 12、自定义GPRS通讯协议 13、添加TCP通讯功能(接收) 14、添加TCP通讯功能(发送) 15、模拟GPRS数据通讯 16、设备链接状态检测与提示 17、asp.net发布\winform\wpf版本操作流程 18、GPS协议与AT命令流程说明
13、添加TCP通讯功能(接收)
15、模拟GPRS数据通讯
激萌の小宅 小宅博客 GPS定位-EC-01G

文章作者:激萌の小宅

促销:¥0

价格:¥0

配送方式: 购买后立即生效(如购买异常,请联系站长)
付款之后一定要等待自动跳转结束,否则购买可能会失败
  • 0 天

    有效期

  • 0

    总销量

  • 0

    累计评价

添加TCP通讯功能(发送)    

参考视频如下,视频来源《GPS定位系统-MVC-添加TCP通讯功能(发送》

备注:视频中的部分操作可能会因为Visual Studio的版本差异有所不一样,总体操作流程都是一样的,请自行尝试。视频中采用的是安信可的A9G模块,和当前系列使用的EC-01G模块在AT指令上可能存在差异,这里以博客内容为主,视频主要是讲操作流程。


工程源码下载:GPS定位EC-01G模块系列教程源码下载页(物联网)

IDE环境:Visual Studio 2022


        在上一节中,我们已经实现了接收的功能,今天这个章节,给大家演示如何实现发送。对于当前项目来说,发送功能其实是用不到的,因为我们最终要实现的功能是下位机定时上报GPS的坐标信息。不过为了能够更好的讲解整个系统的功能使用,我这里也顺便加了个发送的功能,即:用户通过在前端页面点击发送按钮,当下位机接收到命令之后,再主动上报GPS数据。也就是将下位机主动采集GPS数据上报,改成了上位机手动采集。


1、前端页面修改

        前端页面改动主要添加发送按钮,已经向后端进行数据请求的post调用方法,添加的按钮如下:

QQ截图20220917194639.jpg


接着是js请求代码:

/* 手动读取下位机数据 */
function ReadData() {
    $.post('Home/SendOrder', null, function (resJson) {
        var res = JSON.parse(resJson);
        if (!res.Success) {
            layer.alert(res.ErrorCode, { title: '下发失败', icon: 5 });
        }
        else {
            layer.alert(res.Msg, { title: '下发成功', icon: 5 });
        }
    });
}


2、HomeController.cs控制器修改

        在HomeController.cs文件中,新增一个SendOrder()方法:

/// <summary>
/// 手动下发采集命令
/// </summary>
/// <param name="msg"></param>
/// <returns></returns>
public ActionResult SendOrder()
{
    AjaxResult res = new AjaxResult() { Success = false };
    try
    {
        // 由于初始化的时候,设置的设备类型是1,设备号也是1,所以这边查询的时候也要按这个参数查询
        Link.Equipment.GpsModel sense = Link.Res.Socs.FirstOrDefault(v => v.equi == 1 && v.equino.ByteToInt() == 1) as Link.Equipment.GpsModel;
        if (sense != null)
        {
            if(sense.socketstate == 1)
            {
                // 下发命令,可以带参数,这里用0
                int ret = sense.SetState(0);
                if (ret == 0) res.Msg = "命令发送成功.";
                if (ret == 1) res.Msg = "命令发送失败.";
                if (ret == -1) res.Msg = "网络错误.";
                res.Success = true;
            }
            else throw new Exception($"设备链接已断开");
        }
        else throw new Exception($"未查询到设备");
    }
    catch (Exception e)
    {
        res.ErrorCode = e.Message;
    }
    return Content(res.ToJson());
}


3、运行测试

        由于博主这里采用的是博主自己写的模拟器进行测试,并且带有自动反馈功能,如需要该模拟器的,可以自己去群文件里面下载,或者自己手动反馈,反馈命令:CC 01 00 01 00 0D 01 00 C0

link (2).gif



13、添加TCP通讯功能(接收)
15、模拟GPRS数据通讯

友情链接: CSDN激萌の小宅 95知识库 自考题库 罗分明个人网络博客 精益编程leanboot

小宅博客  www.bilibili996.com All Rights Reserved. 备案号: 闽ICP备2024034575号

网站经营许可证  福建省福州市 Copyright©2021-2026 版权所有

小宅博客
首页 智能家居 地图定位
公告:小宅博客网可以开发票了,需要发票的,去群里找群主哈!!

文章作者:激萌の小宅

促销:¥0

价格:¥0

配送方式: 购买后立即生效(如购买异常,请联系站长)
付款之后一定要等待自动跳转结束,否则购买可能会失败
  • 0 天

    有效期

  • 0

    总销量

  • 0

    累计评价

添加TCP通讯功能(发送)    

参考视频如下,视频来源《GPS定位系统-MVC-添加TCP通讯功能(发送》

备注:视频中的部分操作可能会因为Visual Studio的版本差异有所不一样,总体操作流程都是一样的,请自行尝试。视频中采用的是安信可的A9G模块,和当前系列使用的EC-01G模块在AT指令上可能存在差异,这里以博客内容为主,视频主要是讲操作流程。


工程源码下载:GPS定位EC-01G模块系列教程源码下载页(物联网)

IDE环境:Visual Studio 2022


        在上一节中,我们已经实现了接收的功能,今天这个章节,给大家演示如何实现发送。对于当前项目来说,发送功能其实是用不到的,因为我们最终要实现的功能是下位机定时上报GPS的坐标信息。不过为了能够更好的讲解整个系统的功能使用,我这里也顺便加了个发送的功能,即:用户通过在前端页面点击发送按钮,当下位机接收到命令之后,再主动上报GPS数据。也就是将下位机主动采集GPS数据上报,改成了上位机手动采集。


1、前端页面修改

        前端页面改动主要添加发送按钮,已经向后端进行数据请求的post调用方法,添加的按钮如下:

QQ截图20220917194639.jpg


接着是js请求代码:

/* 手动读取下位机数据 */
function ReadData() {
    $.post('Home/SendOrder', null, function (resJson) {
        var res = JSON.parse(resJson);
        if (!res.Success) {
            layer.alert(res.ErrorCode, { title: '下发失败', icon: 5 });
        }
        else {
            layer.alert(res.Msg, { title: '下发成功', icon: 5 });
        }
    });
}


2、HomeController.cs控制器修改

        在HomeController.cs文件中,新增一个SendOrder()方法:

/// <summary>
/// 手动下发采集命令
/// </summary>
/// <param name="msg"></param>
/// <returns></returns>
public ActionResult SendOrder()
{
    AjaxResult res = new AjaxResult() { Success = false };
    try
    {
        // 由于初始化的时候,设置的设备类型是1,设备号也是1,所以这边查询的时候也要按这个参数查询
        Link.Equipment.GpsModel sense = Link.Res.Socs.FirstOrDefault(v => v.equi == 1 && v.equino.ByteToInt() == 1) as Link.Equipment.GpsModel;
        if (sense != null)
        {
            if(sense.socketstate == 1)
            {
                // 下发命令,可以带参数,这里用0
                int ret = sense.SetState(0);
                if (ret == 0) res.Msg = "命令发送成功.";
                if (ret == 1) res.Msg = "命令发送失败.";
                if (ret == -1) res.Msg = "网络错误.";
                res.Success = true;
            }
            else throw new Exception($"设备链接已断开");
        }
        else throw new Exception($"未查询到设备");
    }
    catch (Exception e)
    {
        res.ErrorCode = e.Message;
    }
    return Content(res.ToJson());
}


3、运行测试

        由于博主这里采用的是博主自己写的模拟器进行测试,并且带有自动反馈功能,如需要该模拟器的,可以自己去群文件里面下载,或者自己手动反馈,反馈命令:CC 01 00 01 00 0D 01 00 C0

link (2).gif