物联网开发 7 旗点云物联网云平台
目录
一、演示效果:
二、手机APP 和 智能网关通信过程:
三、设备管理:
四、使用旗点云平台
五、手机应用程序安装:
六、使用我们的提供的 p2p_client 客户端测试程序。
七、云平台服务器部署 p2p_server
八、如何编写自己的嵌入式设备通信程序
1、设置好我们的设备名:
2、设置好我们的发送函数
3、登录函数
4、接收数据函数
5、发送数据给设备
九、其它功能
1、P2P功能
2、微信小程序和嵌入式设备通信
一、演示效果:
演示效果可以观看这个视频:
物联网云平台演示
https://www.bilibili.com/video/av78434035
代码下载路径: http://106.13.62.194/download/qdy/01demo/
视频会讲的比较细致,也可以看接下来的图文,内容是差不多的。
可以加WX交流:13510979604
整体的系统框架如下:
我们会准备四个测试程序:
- 智能网关程序(也就是嵌入式设备)
- 手机APP测试程序
- 云平台服务器
- 网页数据库管理设备、用户等。
可以实现类似机智云的功能。手机APP直接和嵌入式设备通信,可以在这个基础上实现物联网、智能家居。
升级版本可以支持如下功能:
1、微信小程序控制开发板
2、支持P2P通信,在大量设备连接的情况,P2P通信技术可以减少服务器的压力,增加系统中设备的连接数量,可以达到百万级别的设备连接
3、支持实时流传输。
整体系统框架如下:
二、手机APP 和 智能网关通信过程:
- 安装完手机APP 后,
- 大家用串口连接到开发板,运行测试程序:p2p_client
- 开发板输入 send 对方设备名 要发送的内容
- 可以看到手机APP 可以收到开发板发过来的数据 。
对于开发板来说,也可以收到手机APP的数据,至此通信完成
三、设备管理:
上面的tom 、lancy 等设备,我们可以通过网页进行管理、添加、删除。
打开这个网页(需要账号密码,个人测试网站,暂时不公布账号密码)
http://106.13.62.194/phpmyadmin/index.php
可以看到如下效果:
可以通过插入添加新设备。上面也会显示当前设备的信息。由于测试版本,所以就显得比较简单。大家可以在基础上定制自己想要的功能。
接下来我们来看下测试程序怎么使用。
四、使用旗点云平台
- 需要有三个测试程序:
我们一步一步来看吧。
五、手机应用程序安装:
首先最简单的是安装手机应用程序 app-release.apk
这里我们暂时不用填写服务器IP 和端口号。我们只需要填写设备名即可。推荐使用 tom ,因为这个设备有在数据库中注册
接下来就进入到这个页面了:
然后我们就可以发送数据给对应的设备了。
六、使用我们的提供的 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
可以看到如下打印信息:
有看到 connet is ok! 表示登录到服务器成功了。
同时可以在当前路径下看到生成了这个 sys_info.json 配置文件
我们cat 看下这个配置文件:
这个配置文件中有我们的设备名,还有一些密码、服务器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
apt-get install mysql-client
sudo apt-get install libmysqlclient-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
可以看到如下信息:
表示服务器运行成功。
八、如何编写自己的嵌入式设备通信程序
演示完上面的操作后,接下来我们来看下我们的嵌入式设备如果自己编写代码。同样我们需要如下代码文件:
其中,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 的原型是这样的:
这样的话,对于你们如果使用其他的平台,比如有些人使用的 串口发送函数,我们只需要使用修改 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例子:
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交流:13510979604
物联网开发 7 旗点云物联网云平台相关推荐
- 【物联网开发】基于STM32和阿里云的室内温、湿、亮度监测系统(一)—— 物联网介绍和系统初步设计
这是我的物联网开发系列文章,将介绍如何从嵌入式开发.云平台开发.Android端开发来实现一个简单的物联网应用开发,体验物联网全栈开发的过程,积累开发的经验. 本篇文章为系列文章的第一篇,主要介绍该系 ...
- 基于机智云物联网平台的智慧农业管理系统
为了解决传统农业温室大棚生产管理效率低.智能化程度不高等问题,通过总结目前农业现代化的发展状况,分析具体使用方案和开发平台,由开发者以农业温室大棚内生长的农作物为研究对象,综合温室环境对农作物生长影响 ...
- 【机智云物联网低功耗转接板】+模拟MCU快速上手
GE211是机智云自研的定制化转接板,使用 ESP32-C3-WROOM-02 通讯模块,适用于白色智能家电等设备应用. 转接板已经烧录了机智云连云的最新GAgent固件,所以不需要烧写任何软件就可以 ...
- 物联网开发笔记(94)- 使用Micropython开发ESP32开发板之获取天气数据并用ILI9341屏幕显示
一.目的 这一节我们学习如何使用乐鑫的ESP32开发板通过心知天气API控获取实时天气的数据,并使用串口SPI控制ILI9341 液晶屏,显示出来. 二.环境 ESP32(固件:esp32-20220 ...
- 青软集团「翱翔100物联网开发板」通过OpenHarmony兼容性测评
近日,青软集团研发的鸿蒙教学产品「翱翔100物联网开发板」通过开放原子基金会测评,取得OpenHarmony生态产品兼容性证书. 青软积极参与OpenHarmony社区生态建设,坚持科技研发与创新,在 ...
- 脚本语言适合物联网开发吗
序言 物联网在今天已经不是一个新词汇,尤其是"物"这么接地气的东西,在互联网深入到各行各业时,自然而然会结合在一起,形成物联网. 这个"物",就是千奇百怪.多种 ...
- 阿里云物联网平台python开发手册_阿里云物联网平台体验(树莓派+Python篇)
虽然对阿里云物联网平台比较熟悉了,从一开始就有幸参与了飞凤平台(Link Develop 一站式开发平台的前身)的一些偏硬件接入的工作.但是同时也见证了阿里云物联网团队从几十人到数百人的迅速扩张,其物 ...
- 移远EC20 4G模块LTE开发板三网通模块 MQTT阿里云物联网
摘自:移远EC20 4G模块LTE开发板三网通模块 MQTT阿里云物联网STM32代码-电脑看 地址:https://www.bilibili.com/video/BV1EJ411P7CR?from= ...
- 【物联网开发实战】- 设备上云方案详解?
[物联网开发实战]- 如何让设备上云? 物联网开发过程中遇到的第一个棘手问题就是:如何让设备连接上云? 我们以智能洗衣机为例,至少包含:温度/水位等传感器,主控MCU(Microcontroller ...
最新文章
- 2022-2028年中国科技馆行业研究及前瞻分析报告
- virtualenv创建虚拟环境为主_多版本
- 一个由跨平台产生的浮点数bug | 有你意想不到的结果
- 软键盘挡住WebView中输入框解决方法
- 我在思考的时候神告诉我的(大学里的爱恋)
- 录屏、直播中的鼠标键盘演示神器PointFocus
- android view 镜像,Android 实现镜像效果
- swift5表情键盘项目封装
- 【炼丹技巧】指数移动平均(EMA)【在一定程度上提高最终模型在测试数据上的表现(例如accuracy、FID、泛化能力...)】
- 【正则表达式】正则表达式
- Python 测试驱动开发(五)测试数据库(上)
- viewport总结
- 交换机通过port-channel互联
- 连接ftp服务器教程
- matlab二值化处理、分形维数和结构占比计算
- 谷歌搜索广告如何根据国家市场定点投放
- 中国剩余定理与韩信点兵问题原理
- element-ui组件的下载与安装
- Mac-homebrew使用(Mac下包管理工具)
- Java岛屿的最大面积leetcode