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. 【Docker】网络管理

    一.容器默认网络通信 Usage: dockerd [OPTIONS] Options: --icc Enable inter-container communication (default tru ...

  2. 优雅的操作文件:java.nio.file 库介绍

    概述 在早期的 Java 版本中,文件 IO 操作功能一直相对较弱,主要存在以下问题: 缺乏对现代文件系统的支持:只提供的基础的文件操作,不支持很多现代的文件系统 API 不够直观:文件操作的 API ...

  3. IDEA中GIT提交后,发现提交有误想修改提交

    问题描述:在IDEA开发工具中,使用GIT提交本地后,在push时发现有问题,想要修改提交的内容. 步骤 一:打开version control,点击log 二:找到提交记录,右键点击Undo com ...

  4. js数组和字符串方法

    一.数组方法 1.1.可以改变原数组 var arr = [10, 20, 30, 40, 50, 55]; // 1. **** push() --- 在数组的最后添加一项内容 // var ret ...

  5. 2022-09-26:以下go语言代码输出什么?A:{“Time“: “2020-12-20T00:00:00Z“, “N“: 5 };B:“2020-12-20T00:00:00Z“;C:{“N“:

    2022-09-26:以下go语言代码输出什么?A:{"Time": "2020-12-20T00:00:00Z", "N": 5 }:B: ...

  6. 2022-05-22:给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p

    2022-05-22:给定一个二叉树, 找到该树中两个指定节点的最近公共祖先. 百度百科中最近公共祖先的定义为:"对于有根树 T 的两个节点 p.q,最近公共祖先表示为一个节点 x,满足 x ...

  7. 2022-01-05:有四种诗的韵律分别为: AABB、ABAB、ABBA、AAAA。 比如 : 1 1 3 3就属于AABB型的韵律、

    2022-01-05:有四种诗的韵律分别为: AABB.ABAB.ABBA.AAAA. 比如 : 1 1 3 3就属于AABB型的韵律.6 6 6 6就属于AAAA型的韵律等等, 一个数组arr,当然 ...

  8. 2021-09-19:数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合。

    2021-09-19:数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合. 福大大 答案2021-09-19: 递归. 参数1:左括号-右括号的数量. 参数2:左 ...

  9. dockder 学习第一篇

    1 docker安装 1 yum包的更新到最新 yum update 2 安装需要软件包,yum-util [root@localhost ~]# yum install -y yum-utils d ...

  10. html+css实现二级导航栏效果,简单易看懂噢!

    这应该是这几天以来看到的最简单易懂的有二级菜单栏的导航栏效果实现了 使用html+css实现,看了好几天导航栏的实现方式,要么是太复杂的需要JS或者框架的,要么是太简单仅仅使用div和超链接的, 再要 ...