物联网开发 7 旗点云物联网云平台

物联网开发 7 旗点云物联网云平台目录一 演示效果 二 手机 APP 和智能网关通信过程 三 设备管理 四 使用旗点云平台五 手机应用程序安装 六 使用我们的提供的 p2p client 客户端测试程序 七 云平台服务器部署 p2p server 八 如何编写自己的嵌入式设备通信程序 1 设置好我们的设备名 2 设置好我们的发送函数 3 登录函数 4 接收数据函数 5 发送数据给设备九

目录

一、演示效果:

二、手机APP 和 智能网关通信过程:

三、设备管理:

四、使用旗点云平台

五、手机应用程序安装:

六、使用我们的提供的 p2p_client 客户端测试程序。

七、云平台服务器部署 p2p_server

八、如何编写自己的嵌入式设备通信程序

1、设置好我们的设备名:

2、设置好我们的发送函数

3、登录函数

4、接收数据函数

5、发送数据给设备

九、其它功能

1、P2P功能

2、微信小程序和嵌入式设备通信


 

一、演示效果:

演示效果可以观看这个视频:

物联网云平台演示

https://www.bilibili.com/video/av

代码下载路径: http://106.13.62.194/download/qdy/01demo/  

视频会讲的比较细致,也可以看接下来的图文,内容是差不多的。

可以加WX交流: 

整体的系统框架如下:

我们会准备四个测试程序:

  1. 智能网关程序(也就是嵌入式设备)
  2. 手机APP测试程序
  3. 云平台服务器
  4. 网页数据库管理设备、用户等。

可以实现类似机智云的功能。手机APP直接和嵌入式设备通信,可以在这个基础上实现物联网、智能家居。

升级版本可以支持如下功能:

1、微信小程序控制开发板

2、支持P2P通信,在大量设备连接的情况,P2P通信技术可以减少服务器的压力,增加系统中设备的连接数量,可以达到百万级别的设备连接

3、支持实时流传输。

 

整体系统框架如下:

物联网开发 7 旗点云物联网云平台

 

 

 

二、手机APP 和 智能网关通信过程:

 

  1. 安装完手机APP 后,
  2. 大家用串口连接到开发板,运行测试程序:p2p_client
  3. 开发板输入 send 对方设备名 要发送的内容
  4. 可以看到手机APP 可以收到开发板发过来的数据 。
  5. 物联网开发 7 旗点云物联网云平台

 

对于开发板来说,也可以收到手机APP的数据,至此通信完成

物联网开发 7 旗点云物联网云平台

 

三、设备管理:

上面的tom 、lancy 等设备,我们可以通过网页进行管理、添加、删除。

打开这个网页(需要账号密码,个人测试网站,暂时不公布账号密码)

http://106.13.62.194/phpmyadmin/index.php 

可以看到如下效果:

物联网开发 7 旗点云物联网云平台

可以通过插入添加新设备。上面也会显示当前设备的信息。由于测试版本,所以就显得比较简单。大家可以在基础上定制自己想要的功能。

 

接下来我们来看下测试程序怎么使用。

 

四、使用旗点云平台

  1. 需要有三个测试程序:

物联网开发 7 旗点云物联网云平台

 

我们一步一步来看吧。

 

五、手机应用程序安装:

首先最简单的是安装手机应用程序 app-release.apk

物联网开发 7 旗点云物联网云平台

 

这里我们暂时不用填写服务器IP 和端口号。我们只需要填写设备名即可。推荐使用 tom ,因为这个设备有在数据库中注册

接下来就进入到这个页面了:

物联网开发 7 旗点云物联网云平台

然后我们就可以发送数据给对应的设备了。

 

六、使用我们的提供的 p2p_client 客户端测试程序。

这里我们需要准备一个 linux 平台,推荐大家使用ubuntu吧。

我们要先安装好运行环境,输入如下命令:

apt-get install openssl

apt-get install libssl-dev

apt-get install libjosn0-dev

apt-get install libasound2-dev

 

如果顺利的话,应该就可以直接运行 p2p_client

可以看到如下打印信息:

物联网开发 7 旗点云物联网云平台

有看到 connet is ok! 表示登录到服务器成功了。

同时可以在当前路径下看到生成了这个 sys_info.json 配置文件

我们cat 看下这个配置文件:

物联网开发 7 旗点云物联网云平台

这个配置文件中有我们的设备名,还有一些密码、服务器ip 端口号等配置信息可以修改。主要第一次运行的话,设备名是随机的,记得修改一下。

可以输入send 对方设备名 发送的内容

即可发送数据给对方

 

七、云平台服务器部署 p2p_server

这个部署起来比较麻烦,如果只是想测试效果,建议直接使用我的百度云服务器测试,不需要自己安装部署 p2p_server 。

当然,如果自己想部署到自己的服务器上也可以按下面操作,有遇到问题可以沟通。

安装步骤:

apt-get install openssl

apt-get install libssl-dev

apt-get install libjosn0-dev

apt-get install libasound2-dev

 

接下来是要进入mysql数据库创建数据。

需要创建 数据库:p2p_user_list   表:device

数据格式:

CREATE TABLE device(

name VARCHAR(50),

passwd VARCHAR(50),

ip VARCHAR(50),

port VARCHAR(50),

login_cnt VARCHAR(50),

is_online VARCHAR(50)

);

然后往device 表中添加自己要注册的设备名即可。MySQL的数据库操作自行百度一下哈。

 

操作完上面之后,应该可以直接运行 p2p_server

可以看到如下信息:

 

物联网开发 7 旗点云物联网云平台

表示服务器运行成功。

 

 

八、如何编写自己的嵌入式设备通信程序

 

演示完上面的操作后,接下来我们来看下我们的嵌入式设备如果自己编写代码。同样我们需要如下代码文件:

物联网开发 7 旗点云物联网云平台

其中,client_demo.c 是我写的一个可以在linux平台运行的程序。大家可以根据自己的实际平台进行修改即可。

我们来关注下我们程序要如何写:

1、设置好我们的设备名:

void set_name(char *name, int len)

把你的设备名,长度传进去。

 

2、设置好我们的发送函数

void set_net_send(int (*send)(char *buf, int len))

我们可以这样写:

set_net_send(my_send);

对于linux平台来说, my_send 的原型是这样的:

物联网开发 7 旗点云物联网云平台

这样的话,对于你们如果使用其他的平台,比如有些人使用的 串口发送函数,我们只需要使用修改 my_send 即可了,可移植性比较好。

 

3、登录函数

void login(struct sockaddr_in *addr)

登录函数我写了一个demo版本,大家可以参考照着修改即可。只需要把里面的 sendto

Recvfrom 修改成你们对应的平台即可。

 

4、接收数据函数

收到数据后,可以把数据传输给 qdy_recv_data

void qdy_recv_data(char *recvbuf, int len) 

这样的话就会对数据进行解析。最后客户端发过来的数据就会到这个函数进行处理:

void qdy_resolve_recv_data(char *buf, int len)

这样的话,我们只需要在qdy_resolve_recv_data函数里面对数据处理即可,我们看下demo例子:

物联网开发 7 旗点云物联网云平台

recv_proto->src_name  :谁发送过来的数据

recv_data: 发送了什么数据

 

5、发送数据给设备

同样发送数据给设备的话可以直接使用这个函数:

int qdy_send_data(char *name, char *data, int len)

只需要写入设备名、数据内容、数据长度即可。

 

 

九、其它功能

 

1、P2P功能

上面只是给出来了演示例子。当然这个云平台还有很重要的功能就是支持P2P通信,下一节会将如何P2P通信,同时也会释放Android手机APP 的代码例子,教大家如何定制自己的手机APP 程序

2、微信小程序和嵌入式设备通信

第三节是教大家如何使用微信小程序直接和开发板通信

可以加WX交流: 

物联网开发 7 旗点云物联网云平台

 

物联网开发 7 旗点云物联网云平台

 

物联网开发 7 旗点云物联网云平台

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/200962.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午10:14
下一篇 2026年3月20日 上午10:14


相关推荐

  • 脉冲雷达信号处理流程

    脉冲雷达信号处理流程1 FPGAAD 采集回波 连续 M 个脉冲回波经过相干解调之后的基带数据形成的一个二维数据矩阵 上图只是雷达三维数据块的一个切面 其中数据的每一行代表的是对同一个距离单元的一连串脉冲测量 每一列对应的是一个脉冲回波的连续采样 也叫连续的距离门 其中每个小方块的元素都是一个复数 代表每个个距离单元的 I Q 分量 2 IQ 路信号进行数字下变频处理 核心是将中频 A D 采样信号与 DDC 中的数字控制振荡器 NCO 产生的本地数字中频载波信号进行混频 将中频信号下变频到基带 3 滤波处理

    2026年3月26日
    1
  • Robots.txt – 禁止爬虫

    Robots.txt – 禁止爬虫

    2021年10月9日
    332
  • 使用树莓派实现的口罩检测

    使用树莓派实现的口罩检测基于树莓派3B+官方摄像头两个指示灯实现的口罩检测项目演示链接口罩检测项目地址使用的口罩检测项目是AIZOO团队实现的使用的是目标检测常用的SSD算法。(由于疫情在家连不上实验室的服务器我无法训练)项目GitHub链接AIZOO团队给出的代码在Windows上很容易以跑通。配置的环境相对比较容易。也不需要很复杂的更改代码。因为模型较小我想出要在树莓派上运行,就进行了一些尝试。但是要在树莓派上运行需要修改一些代码。树莓派配置参考链接有很多基础配置对树莓派进行换源.

    2022年6月5日
    138
  • Hibernate入门教程

    Hibernate入门教程目录 Hibernate 介绍 Hibernate 是一种 ORM 框架 全称为 Object RelativeDate Mapping 在 Java 对象与关系数据库之间建立某种映射 以实现直接存取 Java 对象 ORM 概述 ORM 是一种思想 O 代表的是 Objcet R 代表的是 Relative M 代表的是 MappingORM gt 对象关系映射 ORM 关注是对象与数据库中的列的关系 Hibernate 入门指南入门 hibernate 总结下来可以分为以下三个步骤 概括地说就是

    2025年11月26日
    8
  • 2026智能体架构指南:OpenClaw框架如何深度集成4SAPI实现高可用自动化

    2026智能体架构指南:OpenClaw框架如何深度集成4SAPI实现高可用自动化

    2026年3月13日
    3
  • c 语言多线程作用,c语言 多线程

    c 语言多线程作用,c语言 多线程c 语言多线程 编辑 概述一个程序开始运行就是一个进程 进程包括运行中的程序和程序所使用到的内存和系统资源 而一个进程又是由多个线程所组成的 基本概念进程 当一个程序开始运行时 它就是一个进程 进程包括运行中的程序和程序所使用到的内存和系统资源 线程 线程是程序中的一个执行流 每个线程都有自己的专有寄存器 但代码区是共享的 即不同的线程可以执行同样的函数 多线程 多线程是指程序中包含多个执行流 即

    2026年3月26日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号