我是靠谱客的博主 强健大船,最近开发中收集的这篇文章主要介绍Linux虚拟机向OneNET云平台上传数据,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

OneNET

OneNET云平台

配置虚拟机网络

1、linux虚拟机连接外网的配置方法,配置linux虚拟机能连接外网

1)、虚拟机配置成桥接模式
桥接2)、linux 虚拟机ip设置,配置网关、DNS等,需重启虚拟机让配置生效

网络配置网络
网关
3)、检查ip配置是否成功(ifconfig)
4)、测试

网关配置正确,能ping通外网

外网
DNS配置正确,能ping通外网网址
DNS

上传数据

1、从虚拟机上上传数据到OneNET平台的功能
1)、创建一个Socket套接字描述符

sockfd = socket(AF_INET,SOCK_STREAM,0)
// 客户端程序建立TCP协议的socked套接字描述符
if((sockfd = socket(AF_INET,SOCK_STREAM,0))==-1) 
      { 
            perror("socket"); 
            exit(1); 
      }

2)、客户端初始化sockaddr结构体,设定与服务器相同端口号

// 客户端程序初始化sockaddr结构体,连接到服务器的端口 
    their_addr.sin_family = AF_INET; 
    their_addr.sin_port = htons(80); 
    their_addr.sin_addr = *((struct in_addr *)he->h_addr); 
    bzero(&(their_addr.sin_zero),8); 

3)、调用connect函数来连接服务器

connect(sockfd,(struct sockaddr *)&their_addr,sizeof(struct sockaddr))
if(connect(sockfd,(struct sockaddr *)&their_addr,sizeof(struct sockaddr))==-1)
	  { 
             perror("connect"); 
              exit(1); 
     } 
     
     setsockopt(sockfd,SOL_SOCKET, SO_RCVTIMEO, (char *)&nNetTimeout,sizeof(int));

4)、HTTP 消息构造

HTTP报文格式示例:

示例1
格式
示例2
格式

// HTTP 消息构造
sprintf(sndBuf, "POST /devices/1078739/datapoints?type=5 HTTP/1.1rn");
strcat(sndBuf,"api-key: bryNFvy26sbj91Isu5mHXp322fwIvtc=rn");
strcat(sndBuf,"Host:api.clouds.comrn");
strcat(sndBuf,"Content-Length:13rn");
strcat(sndBuf,"rn");
strcat(sndBuf,",;hightemp,35");

5)、发送或接受数据,使用send和recv函数调用来实现
6)、终止连接

close(sockfd); 

2、编译客户端程序
1)、编写编译客户端程序的Makefile文件,由于客户端程序在宿主机上运行,使用gcc编译器,Makefile文件如下:

// Makefile
EXTRA_LIBS += -lpthread
CC=gcc
EXEC =  ./oneclient
OBJS = oneclient.o 

all: $(EXEC)

$(EXEC): $(OBJS)
	$(CC) $(LDFLAGS) -o $@ $(OBJS) $(EXTRA_LIBS)


install:
	$(EXP_INSTALL) $(EXEC) $(INSTALL_DIR)

clean:
	-rm -f $(EXEC) *.elf *.gdb *.o

2)、运行编译客户端程序的Makefile,直接输入make
3)、连接OneNET,上传数据

运行运行
3、登录OneNET

在OneNET云平台上注册用户,创建产品,查看数据流
数据流

最后

以上就是强健大船为你收集整理的Linux虚拟机向OneNET云平台上传数据的全部内容,希望文章能够帮你解决Linux虚拟机向OneNET云平台上传数据所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部