阅读 158

物联网系统1.1(云服务器)

物联网系统1.1(云服务器)

在物联网系统1.0(局域网)的基础上实现STM32连接云服务器,云服务器发送收到的数据到电脑就行了


云服务器评测如何将数据发送给电脑

电脑是一个内网IP,不用云服务器去找电脑,让电脑作为TCP client连接云服务器就行了

1

STM32需要的指令

uint8_t AT[]="AT\r\n";

uint8_t AT_RST[]="AT+RST\r\n";

uint8_t AT_CWJAP_CUR[]="AT+CWJAP_CUR=\"Cise_128_01\",\"213213213\"\r\n";//Á¬½ÓAP

uint8_t AT_CIPSTART[]="AT+CIPSTART=\"TCP\",\"云服务器IP\",6699\r\n";//Á¬½ÓTCP

不再设置单连接和透传模式

1

2

3

4

5

STM32发送数据

先使用AT+CIPSENDBUF=%d指定要发送的数据长度

    uint8_t qw[18];

    sprintf(qw,"AT+CIPSENDBUF=%d\r\n",sizeof(hongawai));

    HAL_UART_Transmit(&huart2, (uint8_t *)qw, sizeof(qw), 0xFFFF);

再发送数据

【不同于透传,透传模式建立后直接发送数据即可】

【如果服务器可以建立多个tcp端口就可以使用透传了】

1

2

3

4

5

6

7

服务器评测使用python建立TCP server,打开两个socket等待连接

#!/usr/bin/env python3

#-*- coding:utf-8 -*-


from socket import *

from time import ctime


host = ''

port = 6999

buffsize = 2048

ADDR = (host,port)


host1 = ''

port1 = 7777

buffsize1 = 2048

ADDR1 = (host1,port1)


tctime = socket(AF_INET,SOCK_STREAM)

tctime.bind(ADDR)

tctime.listen(3)


tctime1 = socket(AF_INET,SOCK_STREAM)

tctime1.bind(ADDR1)

tctime1.listen(3)


while True:

        print('Wait for connection ...')

        tctimeClient,addr = tctime.accept()

        print("Connection from :",addr)

        tctimeClient1,addr1 = tctime1.accept()

        print("Connection from :",addr1)


        while True:

                data = tctimeClient.recv(buffsize).decode()

                if not data:

                        break

                print(data)

                tctimeClient1.send(('[%s] %s' % (ctime(),data)).encode())

        tctimeClient.close()

        tctimeClient1.close()

tctimeClient.close()

tctimeClient1.close()

————————————————

版权声明:本文为CSDN博主「流氓兔来啦」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/superce/article/details/78306848


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐