ESP32连接云服务器【ESP32+宝塔面板】


相关文章

ESP32连接MQ Sensor实现气味反应
https://blog.csdn.net/ws15168689087/article/details/131365573
ESP32+MQTT+MySQL实现发布订阅【气味数据收集】
https://blog.csdn.net/ws15168689087/article/details/131627595
个人云服务器搭建MQTT服务器
https://blog.csdn.net/ws15168689087/article/details/131571433
ESP32开发板引脚介绍【附有引脚使用实例】
https://blog.csdn.net/ws15168689087/article/details/131654327

@

‍内容1:背景


ESP32-WROOM-32

ESP32 是一款由 Espressif Systems 开发的低功耗、高性能、可扩展的嵌入式微控制器,可用于构建各种物联网 (IoT) 应用。ESP32 芯片基于 ARM Cortex-M 内核,具有 32 位地址空间,支持 Wi-Fi、蓝牙和其他无线连接,以及多种外设接口,如 GPIO、定时器、PWM、串口等。

相关设备

‍♀️ESP32+云服务器+Arduino IDE

‍⚖️内容2:服务器配置


1️⃣配置第一步:

因为本次我们需要通过宝塔面板,将脚本挂上去

‍因此,有关云服务器和宝塔面板的初始配置,这里将直接跳过

2️⃣配置第二步:

首先是本次需要挂在服务器上的脚本代码️Server.py️

import socket
import datetime server = socket.socket(socket.AF_INET,socket.SOCK_STREAM) server.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
server.bind(('xxx.xxx.xxx.xxx',xxxx)) #这里是绑定要监听的地址(内网ip)和端口
server.listen(5) #开始监听 表示可以使用五个链接排队
print('listen')
while True: #conn就是客户端链接过来而在服务端为期生成的一个链接实例
conn,addr = server.accept() #等待链接,多个链接的时候就会出现问题,其实返回了两个值
print(conn, addr)
try:
data = conn.recv(1024) #接收数据
if data:
print('recive:',data.decode()) #打印接收到的数据
except ConnectionResetError as e:
print('关闭了正在占线的链接!')
break
# conn.close()

3️⃣配置第三步:

接着,在宝塔面板的软件商店中导入️️Python项目管理器️️



然后新建一个文件夹【例如下图中的esp】,并将脚本文件放入文件夹中

️之后,我们在Python项目管理器中添加一个Python项目

其中项目路径等内容,可以参照下图填写️





4️⃣配置第四步:

首先查看并复制刚才文件的MD5_venv️



接着打开终端连续输入下方代码️

cd /xxx/xxx/   #先转到所在目录
btpython -m venv MD5_venv #这里有些人用python3 -m 但是我报错了,就用了btpython -m



到这里,你可以到文件夹中的bin目录中,可以找到已经存在了activate文件

此时你已经可以将脚本挂到定时任务中执行

5️⃣配置第五步:

最后,我们将添加脚本任务

脚本的内容自行修改️





至此,服务器端的配置结束

‍内容3:ESP32配置


相关代码:

#include <Arduino.h>
#include <WiFi.h>
#include <WiFiClient.h> const char* ssid = "xxxx"; //WIFI名称
const char* password = "xxxx"; //WIFI密码 const char* host = "xxx.xxx.xxx.xxx"; //服务器的IP地址
const int port = 8081; //端口号
int num=0;
void setup()
{
Serial.begin(115200);
Serial.print("Connecting to ");
Serial.println(ssid);
/* connect to your WiFi */
WiFi.begin(ssid, password);
/* wait until ESP32 connect to WiFi*/
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected with IP address: ");
Serial.println(WiFi.localIP());
}
void loop()
{
delay(1000);
Serial.print("connecting to ");
Serial.println(host);
/* Use WiFiClient class to create TCP connections */
WiFiClient client; if (!client.connect(host, port)) {
Serial.println("connection failed");
return;
}
String msg ="test:"+String(num++);
Serial.println(msg);
client.println(msg);
//client.stop();
}

上传到ESP32开发板上,可以看见连接成功!

ESP32连接云服务器【WebSocket】的更多相关文章

  1. SSH如何通过公钥连接云服务器

    导读 通常我们连接远程服务器(linux)windows下通过putty或xshell等工具远程连接.linux下可以直接通过ssh命令连接.其实这两者都是一致的,都是通过ssh协议进行传输. 如果我 ...

  2. 连接云服务器中MySql数据库遇到的问题

    使用的免费的云服务器,上面只能下载MySql数据库,不过当云数据库使用绰绰有余了,也就放一些测试数据而已 而且上面只可以部署php项目,.netcore项目部署实现比较麻烦 问题如下: 下载了navi ...

  3. 项目day1 -- vscode远程连接云服务器

    刚学完go的语法,本来想着找个小项目试试手,发现大佬们都是vscode ssh到云服务器上做开发的.正好看到阿里云的学生认证后可以白嫖,就先嫖了个试试手 跟着各大教程简单配置了一下阿里云,安装vsco ...

  4. idea远程连接云服务器,并将本地代码部署在云端进行运算

    电脑内存和显存过小,需要在云服务器进行运算我的模型,由于一直在自己的电脑上写的代码,于是之间迁移代码到云服务器,只要通过ssh链接到云端后,将python解释器使用云端的解释器就ok 从 file-- ...

  5. 【redis】Java连接云服务器redis之JedisConnectionException的异常问题

    代码很简单: public static void main(String[] args) { Jedis jedis = new Jedis("116.85.10.216",63 ...

  6. mac 远程连接 云服务器

    之前mac 命令行连接云端服务器,一直失败,今天问题突然间解决了,如果遇到类似的问题,按照方法解决不了,可以在下面留言,共同探讨. 首先,在云端先判断一下云端服务器是否安装了    ssh服务器:op ...

  7. 解决连接云服务器的redis失败

    在本地连接服务器redis的时候,发现连接失败,这是因为服务器上的redis开启保护模式运行,该模式下是无法进行远程连接的.只需要修改redis目录下的redis.conf文件,找到 protecte ...

  8. 踩坑系列《十二》解决连接云服务器的redis失败

    在本地连接服务器redis的时候,发现连接失败,这是因为服务器上的redis开启保护模式运行,该模式下是无法进行远程连接的.只需要修改redis目录下的redis.conf文件,找到 protecte ...

  9. 云服务器远程连接mysql数据库

    首先需要在云服务器上,下载安装好mysql与Navicat. mysql下载好以后,打开云端的开始,找到mysql的命令窗,进入输入自己的mysql密码,稍等片刻进入mysql数据库 进入之后输入下列 ...

  10. 搭建自己的个人web项目指南 ---(一)服务器购买与基础配置 | windows连接到自己的云服务器

    (一)服务器购买与基础配置 | windows连接到自己的云服务器 一.服务器选购指南 厂商选择 目前市面上提供服务器租用的厂商很多,比较知名的还是阿里云和腾讯云,两家的稳定性都非常不错,小伙伴们可以 ...

随机推荐

  1. Appweb-6.1.1 移植到ARM

    Appweb-6.1.1 移植到ARM 编译环境:ubuntu-12.04 x64 开发平台:Hi3535 arm版 编译版本:appweb-6.1.1.zip ESP下载地址=> ESP we ...

  2. sklearn数据预处理中fit(),transform()与fit_transform()的区别

    1 概述 注意这是数据预处理中的方法: Fit(): Method calculates the parameters μ and σ and saves them as internal objec ...

  3. TED--10 ways to have a better conversation

    10 ways to have a better conversation All right, I want to see a show of hands: how many of you have ...

  4. 玩一玩 Ubuntu 下的 VSCode 编程

    一:背景 1. 讲故事 今天是五一的最后一天,想着长期都在 Windows 平台上做开发,准备今天换到 Ubuntu 系统上体验下,主要是想学习下 AT&T 风格的汇编,这里 Visual S ...

  5. Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Bolb Storage

    一,引言 结合前几篇文章,我们了解到 Azure Pipeline 完美的解决了持续集成,自动编译.同时也兼顾了 Sonarqube 作为代码扫描工具.接下来另外一个问题出现了,Azure DevOp ...

  6. TCP/IP网络模型

    在网络模型中有分为7层模型(OSI模型)和5层模型和TCP/IP模型 OSI模型将应用层和表示层作为独立的两层,而TCP/IP模型将它们合并为一个应用层. 两种对比来说,TCP/IP模型更符合实际开发 ...

  7. 自制ASP.NET 本地授权文件

    asp.net登录时验证本地ini文件是否正确,主要步骤. 1.导入myini.DLL文件. 下载地址:http://yunpan.cn/cKw9kHJUk9Ui8  提取码 6631 2.添加引用 ...

  8. Redis内存兜底策略——内存淘汰及回收机制

    Redis内存兜底策略--内存淘汰及回收机制 Redis内存淘汰及回收策略都是Redis内存优化兜底的策略,那它们是如何进行兜底的呢?先来说明一下什么是内存淘汰和内存回收策略: Redis内存淘汰:当 ...

  9. Linux 目录 查看 压缩 编辑 命令

    目录 一.文件目录 二.查看文件 三.压缩与解压 四.vim编辑 一.文件目录结构 文件类型: /root 管理员的家目录 /home 用户家目录 /bin   命令文件目录,存放命令,管理员和用户可 ...

  10. APP中RN页面渲染流程-ReactNative源码分析

    在APP启动后,RN框架开始启动.等RN框架启动后,就开始进行RN页面渲染了. RN页面原生侧页面渲染的主要逻辑实现是在RCTUIManager和RCTShadowView完成的. 通过看UIMana ...