当前位置:网站首页>微信小程序基于udp协议与esp8266进行通信
微信小程序基于udp协议与esp8266进行通信
2022-04-23 14:02:00 【1029179954】
1、概述
微信小程序有关于UDP协议的API,具体内容可前往官网查看;整体实现的思路就是利用路由组一个局域网,手机、路由器和esp8266,手机和esp8266连接路由器,登录路由器查看esp8266的ip,微信小程序利用udp协议可以往esp8266发送数据,进而实现微信小程序与esp8266通信,也就实现了与单片机通信。
2、硬件准备
路由器、手机、esp8266
3、实现思路
(1)组局域网
路由器、手机和esp8266组局域网;手机和esp8266连接路由器
(2)查看ip
登录路由的后台查看esp8266的ip,微信小程序udp协议用ip(这里仅仅查看esp8266即可)
4、微信小程序发送命令到esp8266
下面以控制灯光为例
wxml
<view class="scan">
<view class="time-section">
<view class="time">
<view class="hourminuts">
<text>{
{hours}}:{
{minutes}}</text>
</view>
<view class="seconds">
<text>{
{seconds}}</text>
</view>
</view>
<view class="date">
<text>{
{month}}月{
{day}}日 {
{week}}</text>
</view>
</view>
</view>
<view class="section">
<view class="section-title">灯1</view>
<view class="section-form">
<view class="form-group">
<label>灯1的控制</label>
<switch color="#007aff" checked bindchange="light" ></switch>
</view>
</view>
</view>
<view class="section">
<view class="section-title">灯2</view>
<view class="section-form">
<view class="form-group">
<label>灯2的控制</label>
<switch color="#007aff" checked bindchange="wind" ></switch>
</view>
</view>
</view>
<view class="section">
<view class="section-title">灯3</view>
<view class="section-form">
<view class="form-group">
<label>灯3的控制</label>
<switch color="#007aff" checked bindchange="buzzer" ></switch>
</view>
</view>
</view>
wxss
/* pages/scan/scan.wxss */
page {
background-color: #fafafa;
}
.name {
margin-top: 20rpx;
margin-bottom: 40rpx;
line-height: 32px;
font-size: 17.25pt;
color: #000000;
}
.time-section {
margin-top: 110rpx;
}
.time {
display: flex;
flex-direction: row;
justify-content: center;
}
.hourminuts {
line-height: 154rpx;
font-size: 41.25pt;
color: rgba(0, 0, 0, 0.87);
}
.seconds {
line-height: 72rpx;
font-size: 18.75pt;
color: #f5a623;
margin: auto 0rpx 20rpx 0rpx;
}
.date {
margin-top: 12rpx;
text-align: center;
font-weight: 500;
line-height: 22px;
font-size: 12pt;
color: rgba(0, 0, 0, 0.54);
margin-bottom: 60rpx;
}
.footer {
/*display: flex;
flex-direction: column;
justify-content: center;*/
/*align-items: center;*/
margin: 0 auto;
width: 80%;
}
.to-clock {
background-color: #22a1e0;
color: #ffffff;
margin-bottom: 40rpx;
}
.hover-to-clock {
opacity: 0.7;
}
.to-list {
color: rgba(0, 0, 0, 0.54);
margin-bottom: 40rpx;
}
.hover-to-list {
opacity: 0.7;
}
.main-body {
display: flex;
flex-direction: column;
width: 100%;
height: 100%;
}
.section {
width: 100%;
padding: 20rpx;
}
.section-title {
font-size: 35rpx;
width: 300rpx;
height: 80rpx;
line-height: 80rpx;
padding-left: 20rpx;
border-bottom: 4rpx solid #000;
}
.section-form {
display: flex;
flex-direction: column;
padding: 10rpx 20rpx;
}
.form-group {
display: flex;
flex-direction: row;
width: 100%;
height: 80rpx;
line-height: 80rpx;
font-size: 32rpx;
}
.form-group label {
width: 75%;
}
.form-group input,
.form-group switch {
height: 80rpx;
width: 60rpx;
line-height: 80rpx;
text-align: center;
}
.form-group input {
border-bottom: 2rpx solid #000;
height: 60rpx;
line-height: 60rpx;
}
js
以灯1为列,核心代码
//灯 26 high1 low1
light(e){
var iip=wx.getStorageSync('ip')//这里是手动输入绑定ip 获取缓存 也可以在这里写死
console.log("iip"+iip)
var that=this
var status=e.detail.value
if(status==true){
console.log("开灯")
var mess="on"
var ip1 = iip;
var port = "";
const udp = wx.createUDPSocket();
udp.bind();
udp.send({
address: ip1,
port: port,
message: mess
});
}else{
console.log("关灯")
var mess="off"
var ip2 = iip;
var port = "";
const udp = wx.createUDPSocket();
udp.bind();
udp.send({
address: ip2,
port: port,
message: mess
});
}
},
5、esp8266接受微信小程序传输过来的数据
版权声明
本文为[1029179954]所创,转载请带上原文链接,感谢
https://blog.csdn.net/baidu_38978508/article/details/124318118
边栏推荐
猜你喜欢
33 million IOPs, 39 microsecond delay, carbon footprint certification, who is serious?
Nodejs安装及环境配置
Interesting talk about network protocol
Quartus Prime硬件实验开发(DE2-115板)实验二功能可调综合计时器设计
Universal template for scikit learn model construction
Multithreading
SQL数据库
Express middleware ③ (custom Middleware)
Elmo (bilstm-crf + Elmo) (conll-2003 named entity recognition NER)
Express中间件③(自定义中间件)
随机推荐
STM32 learning record 0007 - new project (based on register version)
网站_收藏
联想产品经理林林:天津当地网络运营商网络故障 ZUI系统后台服务器暂时无法正常工作
smart-doc + torna生成接口文档
JS 力扣刷题 102. 二叉树的层序遍历
Android篇:2019初中级Android开发社招面试解答(中
[code analysis (6)] communication efficient learning of deep networks from decentralized data
Logging模块
Autumn recruitment in 2021, salary ranking No
centOS下mysql主从配置
Quartus Prime硬件实验开发(DE2-115板)实验二功能可调综合计时器设计
Strange bug of cnpm
Record a strange bug: component copy after cache component jump
SPC简介
生产环境——
[code analysis (2)] communication efficient learning of deep networks from decentralized data
What is the difference between blue-green publishing, rolling publishing and gray publishing?
crontab定时任务输出产生大量邮件耗尽文件系统inode问题处理
Lin Lin, product manager of Lenovo: network failure of local network operator in Tianjin. The background server of Zui system can't work normally for the time being
2022年江西最新建筑八大员(质量员)模拟考试题库及答案解析