目录

一、任务要求

二、开发环境

三、网关上线

四、数据上传与命令下发

五、JSON命令解析思路

六、总结


一、任务要求

我们将要实现的效果是:Android开发平板与Lora板进行有线串口通信,解析Lora板传来的数据,并将数据实时上传至云平台。


二、开发环境

1.Android Studio

2.TCP设备接入协议

新大陆云平台TCP接入协议下载

3.熟悉JSON数据的文本解析封装规则

JAVA中TCP/HTTP协议JSON数据的封装~三分钟看懂
        4.掌握Android的TCP通信


三、网关上线

首先下载"新大陆云平台TCP接入协议",查看接入流程:

通过接入流程我们可以看到本设备是通过TCP协议接入的,通过数据报文与平台进行交互。

我们需要提前进入新大陆云平台官网注册账号,并在开发设置中,申请Key(设备传输密钥)。

通过审题,我们需要与开发板完成通信,实时读取开发板传递过来的温湿度数据等,作为我们需要上传的传感器数据。

在新大陆云平台上新建项目,后期需要用到设备标识与传输秘钥等信息。

        新建传感器与执行器,自定义标识名称等信息。

创建Android程序,导入SerialPort包,并配置好网络权限。

<uses-permission android:name="android.permission.INTERNET"/>

随后我们需要设置串口并初始化串口监听器:

    SerialPortEx serialPortEx=new SerialPortEx("COM0",9600);//配置好通信串口 并协商好波特率String value="";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);serialPortEx.Open();serialPortEx.setOnDataReceiveListener(new OnDataReceiveListener() {@Overridepublic void onDataReceive(byte[] bytes, int i) {//数据接收函数value=new String(bytes);}});}

我们需要ping一下地址以获取最新的IP:

随后连接新大陆云平台(端口8600或8601),调用client函数连接。

我们可以看到返回信息,状态码为0代表连接成功,程序自动启动心跳函数,保持连接状态。

此时我们查看新大陆云平台,发现网关处于在线状态。


四、数据上传与命令下发

我们打开云平台的实时数据功能,让其显示实时数据。

在串口监听器中,对数据做部分处理,随后在接收到串口数据时,上报接收到的数据。

@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);serialPortEx.Open();serialPortEx.setOnDataReceiveListener(new OnDataReceiveListener() {@Overridepublic void onDataReceive(byte[] bytes, int i) {//数据接收函数receive=new byte[i];System.arraycopy(bytes,0,receive,0,i);value=new String(receive);//去除多余数据System.out.println("串口接收数据:"+value);report(value);//调用上报数据函数}});client();//调用连接函数连接至云平台}

我们通过串口调试助手连接Android工业开发平板,模拟与Lora板的通信。

如图所示,Android程序接收了我们发送的模拟温度数据,并上报云平台,得到了上报响应,status状态码为0,代表上报成功。

此时我们进入云平台,通过实时数据可以看到,温度为25.6℃。

程序的监听报文机制,同时也是在程序连接成功后开启的,并对接收到的报文做解析处理,使得云平台对于执行器的操作可以被捕获并执行。

下面我们在云平台将照明灯打开,并从调试信息上查看相关报文信息。

程序已经对相关的命令做出了反馈,并且输出照明灯开启的信息,下面我们将照明灯关闭。

程序依旧可以很快做出解析处理,至此新大陆云平台Android物联网网关通信任务就圆满完成。

五、JSON命令解析思路

Android中的Json解析方式不同于IDEA中,Android中为我们提供了JSONObject类,可以方便的为我们提供解析,我们首先查看设备接入协议中的相关格式。

下列代码是我的解析方法,供大家参考。

JSONObject jsonObject=new JSONObject(down);
apitag=jsonObject.getString("apitag");//获取apitag
if(apitag.equals("m_lamp"))
{if(jsonObject.getInt("data")==1)System.out.println("照明灯开启");else if(jsonObject.getInt("data")==0)System.out.println("照明灯关闭");
}

六、总结

本篇文章在于讲解相关思路,本题的重难点在于485通信、协议拟定、云平台数据上报、指令下发,相关知识需要多多积累才能顺利完成。有需要源码的朋友可以私信我哦,如果有其他疑问请在评论区留言。

新大陆物联网-Android实现网关功能-连接云平台并上传传感器数据-获取执行器指令并执行-Android网关开发-通信-数据上传云平台-JAVA原理讲解-免费云平台使用-竞赛2022国赛真题相关推荐

  1. 第13届蓝桥杯国赛真题剖析-2022年5月29日Scratch编程初中级组

    [导读]:超平老师的<Scratch蓝桥杯真题解析100讲>已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第127讲. 第13届蓝桥杯Scratch国赛真题,这 ...

  2. 网络技能大赛-2019年国赛真题[2019年全国职业技能大赛高职组计算机网络应用赛项真题-H卷]路由交换部分答案详解

    网络技能大赛-2019年国赛真题[2019年全国职业技能大赛高职组计算机网络应用赛项真题-H卷]路由交换部分答案详解 2022年全国职业技能大赛网络系统管理赛项相较2021年再次做出改动,Linux部 ...

  3. 网络技能大赛-2019年国赛真题[2019年全国职业技能大赛高职组计算机网络应用赛项真题-H卷]AC/AP/EG部分答案详解

    网络技能大赛-2019年国赛真题[2019年全国职业技能大赛高职组计算机网络应用赛项真题-H卷]AC/AP/EG部分答案详解 2022年全国职业技能大赛网络系统管理赛项相较2021年再次做出改动,Li ...

  4. 跑酷游戏-第13届蓝桥杯Scratch国赛真题第3题

    [导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第27讲. 第13届蓝桥杯青少年组国赛于2022年5月29日举行,形式为在线考试.Scrat ...

  5. 捉迷藏之四-第10届蓝桥杯Scratch国赛真题第6题程序4

    本文同步发表于"超平的编程课"公众号,更多教程,可移步至公众号. [导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第17 ...

  6. 镜像画笔-第13届蓝桥杯Scratch国赛真题第2题

    [导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第28讲. 第13届蓝桥杯青少年组国赛于2022年5月29日举行,形式为在线考试.Scrat ...

  7. 逃不掉的小球-第10届蓝桥杯Scratch国赛真题第1题

    [导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第22讲. 第10届蓝桥杯青少年组国赛于2019年5月25日举行,形式为线下考试,考生自带电 ...

  8. 第12届蓝桥杯国赛真题剖析-2021年5月29日Scratch编程初中级组

    [导读]:超平老师的<Scratch蓝桥杯真题解析100讲>已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第128讲. 第12届蓝桥杯Scratch国赛真题,这 ...

  9. 历届蓝桥杯Scratch编程国赛 初级 中级 青少年编程比赛国赛真题解析【持续更新 已更新至27题】

    历届蓝桥杯国赛真题 第十三界.十二届.十一届等历届青少年蓝桥杯Scratch编程比赛国赛真题解析 国赛真题01-河马带球[试看] [蓝桥杯国赛真题01]Scratch河马带球 少儿编程蓝桥杯Scrat ...

最新文章

  1. 一致 先验分布 后验分布_分布式事务常见解决方案与最终一致性
  2. Eclipse常用插件下载地址
  3. CSDN 2020博客之星投票进行中:送你喜爱的博主C位出道!
  4. 「AtCoder Grand018A」Getting Difference(GCD)
  5. alreader 2 android,【AlReader2怎么用】AlReader2好不好_使用技巧-ZOL软件百科
  6. emf(Enhanced MetaFile)图片格式——在印刷工业中应用于Windows操作系统的文件格式
  7. 计算机毕业设计node+vue基于微信小程序的乐团团购系统的设计与实现
  8. 14期 《星星之火,可以燎原》4月刊
  9. c++ LintCode刷题记录之52. 下一个排列
  10. denoiser降噪实例
  11. 【OpenCvSharp】使用SSIM指数衡量图片相似度
  12. 【oracle】关于 NLS_LANG
  13. java中synchrogined和Lock的知识点整理
  14. 曙光服务器通过ipmi安装系统,曙光服务器ipmi部署记录.doc
  15. 基于matlab的循环卷积,【 MATLAB 】【 MATLAB 】DFT的性质讨论(三)序列的循环卷积及其 MATLAB 实现...
  16. Mybatis的Dao层实现
  17. Visual.Assist.X.10.9.Build.2375.0 2020.05.16 最新版
  18. 全球及中国电影院线行业营销策略创新市场竞争份额调研报告2021-2027年
  19. 中值联认证中心推出区块链诚信证书杜绝“炒币”现象
  20. 【题解】HDU6599 I Love Palindrome String 回文自动机

热门文章

  1. cdn服务器怎么登网站,服务器使用CDN服务的过程是怎样的?
  2. MassGrid有奖征文活动
  3. 互联网晚报 | 2月14日 星期一 | 格力电器拟现金分红55.37亿元;央视《新闻联播》入驻微信视频号;好时否认撤出中国市场...
  4. 什么是物理隔离?物理隔离光端机是什么?
  5. 量化指标WR:弱的确是弱,但是老Q会魔改啊!
  6. HUAWEI防火墙端口映射配置
  7. Html,JavaScript 判断浏览器的内核
  8. 没有 TPM 芯片,安装原版 Windows 11【图解】
  9. 机器学习入门——KNN电影分类
  10. 量化交易入门阶段——MACD配合探底回升因子测试(上)