esp8266 udp 广播能既做tcp又做udp么

基于ESP8266WIFI控制板物联网云平台手机监测
注:10000元大奖!第二届立创商城电子制作节火热报名中!超低门槛、自由发挥、轻松入围,更有第三方专家评委点评打分、荣誉证书和定制奖杯!报名成功越早设计时间越充足,按要求简单发帖即完成报名,赶紧参加吧!官网介绍:/go/17523dej
本作品为首届立创商城电子制作节优秀作品之一,经作者护航小牛人(立创社区昵称)授权发布并标注原创,转载请注明出处,未经允许不得用作商业用途。原文链接:
/article/details_654_1.html
一、作品简介
自从ESP8266wifi模块上市以来,由于其低成本,高性能的特点,越来越受到各个公司的关注,初期个人也花了很多的时间去学习ESP8266的wifi固件编写,由于长期做外包设计,接触到需要定制开发wifi固件的相关公司比较多,也就积累了一定的资源和开发经验,发现近来开发wifi开关的公司挺多,于是产生了开发一个WIFI开发板即可用于初学者学习,也可以供给相关需要开发wifi插座或温湿度检测的公司做为demo样机使用。于是设计了该块wifi开发套件,通过该控制板可以快速学习ESP8266 基于Ecpipse编译平台的SDK固件二次开发,也可以学习最近比较流行的Ardunio平台编程开发。配套有工程源码,视频教程。基于该WIFI控制板写了一套可以采集温湿度,光照强度,远程控制继电器开关,实现了MQTT协议接口,目前可以连接第三方www.tlink.io云服务器平台(根据需要,也可以实现与其它物联网云平台的远程监控)。可以通过该源码深入学习物联网智能软硬件产品的开发,同时利用该源码也可以实现自己产品的商用,缩短研发周期,快速将自己的产品推向市场。配套有原理图,工程源码,视频教程等。可以让没有相关开发经验的WiFi开发人员快速上手。实现自己的wifi通信功能需求。
2.使用场景举例:农场、室内等
该WIFI通讯控制板上集成了温湿度传感器,光照传感器,一路继电器开关信号可以将该WiFi模块放到蔬菜大棚中,手机APP端或手机微信公众账号下,都可以实时远程查看当前蔬菜大棚中的温度、湿度、光照环境是否满足蔬菜的正常生长,如当环境中湿度偏低,干燥时,可以通过手机端远程控制打开控制板的继电器开关,继电器开关控制小型电机自动对蔬菜就行喷水,当湿度满足要求时,自动或手动远程手机操作关闭喷水电机,实现智能化大棚蔬菜种植管理。
以上仅为个别使用案例,类似的物联网智能化管理需求很多。
3.硬件外设简介:
该模块采用ESP8266 Wifi模块设计,外围功能如下图所示:
该WIFI控制板,采用了ESP8266-12F的模块,除了模块上焊接的外设以外,ESP8266其余可扩展接口都已插针的形式引出,方便后续扩展外设使用。
WIFI固件部分:
(1)基于Eclipse开发平台一套完整的C语言例程源码,十几个例程,涵盖了ESP8266核心开发的常用功能。
常用主要包括:
WIFI工作在AP模式下:ESP8266作为Tcp Client 客户端模式通信,ESP8266作为Tcp Server服务器模式通信,实现点对点AP模式下WIFI通讯固件开发。
WIFI工作在station模式下(添加到路由器中):ESP8266作为Tcp Client 客户端模式通信,ESP8266作为Tcp Server服务器模式通信,ESP8266作为UDP通信,以及8266常规外设的使用例程等。
(2)基于Arduino开发平台的物联网手机云平台实现温度、湿度、光照、远程继电器控制的工程源代码,集成MQTT协议。
手机端APP及微信公众号
手机端APP,微信公众号软件,支持android和apple手机以及电脑端监测和控制。
二、系统构架图
三、原理图
四、PCB线路板图及实物图
五、软件部分的描述
配备完整的开发环境资料,源码,视频教程等。
基于SDK开发的Eclipse平台工程源码:
配套Arduino工程源码:
该工程源码可以采集温湿度,光照强度,远程控制继电器开关,实现了MQTT协议接口,可以连接第三方www.tlink.io 云服务器平台。可以通过该源码深入学习物联网智能软硬件产品的开发,同时利用该源码也可以实现自己产品的商用,缩短研发周期,快速将自己的产品推向市场。
手机APP、微信、电脑端远程监控
该wifi开发板支持MQTT协议,支持手机端App、微信、电脑端网页三种监控和控制方式。三种方式界面显示统一,可通过任何一种方式实现远程监控和控制。
六、作品演示
以下为手机端实际监控界面,手机截图展示:
1.该物联网模块手机端实现的监控界面如下所以,可以显示当前温度、当前环境湿度、当前光照强度,手机实现远程开关控制,通过开关可以控制家里的用电设备。
2.可以远程查看温度曲线图。
3.可以查看环境湿度变化曲线图。
4.可以查看光照强度变化曲线图。
5.可以远程控制继电器接通关断,实现家电设备远程控制。
6.控制中心:
7.可以添加触发器,触发器可选择微信、邮箱或短信。当达到触发条件时,会根据您的选择发送一条消息到手机端(微信、邮件或短信的方式)。
8.如果添加的触发器为温度值报警,则当温度超过设定值时,将会发送一条微信到手机端,如下所示:
从事嵌入式软硬件开发已经将近10个年头,从板子的原理图到PCB设计,对于一个老兵来说,还是非常顺利的,PCB是在嘉立创打的样板,第一次打了十片,并都已手工焊接出成品,全部测试通过,大部分的元器件也是嘉立创平台采购。
软件部分,工作量就非常大了,前期花了很多时间去研究ESP8266的固件开发,也走了不少弯路,主要原因为该芯片面市不久,很多资料当时还不完善,学习起来非常痛苦,经过了两个月的断断续续的学习后,算是把整套开发都玩熟了。也才开发了该套wifi套件。
在此非常感谢嘉立创提供了这么好的PCB生产及元器件商城平台,给我们工程师产品设计提供了方便。平台提供的贴片业务也已经让公司的样板在使用,大大提高了效率,后续很多板子也准备在该平台贴片。
七、致谢:
非常感谢立创商城平台主办的该次活动,希望该技术论坛慢慢发展壮大,给国内的工程师一个很好的技术交流,互助学习的平台。
「关于」立创商城()成立于2011年,致力于为客户提供一站式电子元器件线上采购服务,成交量全国领先。自建6000多平米现代化元器件仓库,现货库存超40000种。本文由经作者授权发布并标注原创,转载请注明出处。
责任编辑:
声明:本文由入驻搜狐号的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
立创商城是中国在线订单成交量最大的一站式电子元器件采购自营商城,正品、低价!
立创社区是嘉立创旗下专业的电子工程师交流论坛,覆盖电子全产业链交流。
今日搜狐热点后使用快捷导航没有帐号?
来自ValentinRuhry的创意,这哥们用整整500
esp8266WiFi模块资料整理
& & 昨晚试了一下ESP-01模块,有几个想法,不知道能不能实现?
& & 有A/B/C/D四种情况,其中试过了B情况的绿色箭头的通讯可以实现,红色箭头一直没能调通。
& & 其它三种情况都是想法,还没去测试,A情况准备今晚试一下。
& & A方式:红线箭头的通讯能实现,9月23日晚验证通过。
& && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && &
& & B方式:绿线箭头的通讯能实现,9月22日晚验证通过。红线箭头仍没有实现,但是想了一下,WIFI用服务器模式,
& & 在电脑串口上软件实现转发的话,可以通讯,9月23日晚。
& & & && && &
& & C方式:进一步对模块了解后,这个方式不能实现手机上网,
& & 但有个想法是,电脑上有个串口+TCP转换的是否可以实现呢?,9月23日晚。
& && && && &&&
& & D方式:今天测试一下,9月24日。
& && && && &&&& &
& & 我用的模块是如上图片所示的模块印出来八个引脚()& & & && && && &
& & 关于四个引脚(GPIO2,、GPIO0、CH_PO和CPIO16(RST))的定义如下:& & GPIO0:当为高电平时代表从FLASH启动,为低电平时进入系统升级状态;& & GPIO16:可以作为外部硬件复位(RST);& & CH_PD:正常使用需要拉高用来选择AT指令模式;& &
& & 其中需要主要的是UTXD接单片机的RX,& & VCC接3.3V其他引脚都通过10K电阻接VCC(默认进入AT指令模式)& & 1.1.& && && &&&主要参数 & & 表 1 介绍了该模组的主要参数。& & & & 表 1& &参数表
& & & && &类别& && &参数说明无线参数无线标准802.11 b/g/n频率范围2.4GHz-2.5GHz (.5M)硬件参数数据接⼝UART/HSPI/I2C/I2S/Ir Remote ContorlGPIO/PWM工作电压3.0~3.6V(建议3.3V)工作电流平均值: 80mA工作温度-40°~125°存储温度常温封装大小14.3mm*24.8mm*3mm外部接⼝N/A软件参数无线网络模式station/softAP/SoftAP+station安全机制WPA/WPA2加密类型WEP/TKIP/AES升级固件本地串口烧录 / 云端升级 / 主机下载烧录软件开发支持客户自定义服务器& && && && &提供 SDK 给客户二次开发网络协议IPv4, TCP/UDP/HTTP/FTP用户配置AT+指令集, 云端服务器, Android/iOS APP& &
& & 2.& && && &接口定义 & & ESP-01 共接出 8 个接口,表 2 是接口定义。 & & & && && && & 图2&&ESP-01 管脚图 & & 表2&&ESP-01 管脚功能定义 & & & && &序号& && &Pin 脚名称功能说明1GNDGND2GPIO2通用IO,内部已上拉3GPIO01)工作模式选择:& && && && & 悬空:Flash Boot,工作模式& && &&&下拉:UART DownLoad,下载模式4 RXD串口0数据接收端RXD5 VCC3.3V,模块供电6 RST1)外部复位管脚,低电平复位& && &2)可以悬空或者接外部MCU7CH_PD芯片使能,高电平使能,低电平失能8TXD串口0数据发送端TXD& &
& & 表3引脚模式& & & && &模式& && &GPIO15GPIO0GPIO2UART 下载模式低低高Flash Boot 模式低高高& & 表4接收灵敏度
& & & && &参数& && &最⼩小值典型值最大值单位输入频率2412 2484MHz输入电阻 50 Ω输入反射
-10dB72.2 Mbps下,PA 的输出功率141516dBm11b 模式下,PA 的输出功率17.518.519.5dBm灵敏度
DSSS, 1 Mbps -98 dBmCCK, 11 Mbps -91 dBm6 Mbps (1/2& && &BPSK) -93 dBm54 Mbps (3/4& && &64-QAM) -75 dBmHT20, MCS7 (65& && &Mbps, 72.2 Mbps) -72 dBm邻频抑制
OFDM, 6 Mbps 37 dBOFDM, 54 Mbps 21 dBHT20, MCS0 37 dBHT20, MCS7 20 dB& &
& & 开始进入正题:& & ESP8266可以配置成station 、AP、station+AP三种模式,& & 就是说模块可以当成一个设备(client)连接区域网内的路由,也可以设置成是一个路& & 由(sever),也可以既作为局域网里面的client同时又是其他client的sever& & 1、AP模式(据说这个模式最稳定所以就先说这个):& & 第一步& & & && && && &发送命令:AT+RST(执行指令)& & & && && && &指令:AT+RST& & & && &&& 响应:OK& & & && && &&&& && && & & & 第二步:
& & & & 发送命令:AT+CWMODE=2(设置指令)& & & && && && &指令:AT+CWMODE=&mode&& & & && && & 说明:&mode&:1-Station模式,2-AP模式,3-AP兼Station模式& & & && && &&&响应:OK& & & && && & 说明:需重启后生效(AT+RST)& & & && && && & 第三布:& & 发送命令:AT+CWSAP=&ESP8266&,&&,11,0& & & && && &&&指令:AT+& & CWSAP=&ssid&,&pwd&,&chl&, &ecn&& & & && && & 说明:指令只有在AP模式开启后有效& & &ssid&:字符串参数,接入点名称& & &pwd&:字符串参数,密码最长64字节,ASCII& & &chl&:通道号& & && & ecn &:0-OPEN,1-WEP,2-WPA_PSK,3-WPA2_PSK,4-WPA_WPA2_PSK& & & && && && &响应:OK& & & && && && & 然后就可以在你的手机或者是电脑通过无线网卡连接到ESP8266上了& & 最后一步是开启服务器模式:& & 发送命令:AT+& & CIPMUX=1 和AT+CIPSERVER=1,8080(因为只有在开启多连接模& & 式的时候才能开启服务器模式)& & & && && && & 然后就可以通过网络调试助手来通过“TCP Client”模式下添加“IP:192.168.4.1(模块& & 默认的IP),端口8080(上一步设置的)”& &
& & 2、Client模式:& & 第一步:& & AT+RST& & AT+CWMODE=1& && & //设置为station模式& & AT+RST& && && && && && && & //重启生效& & AT+CWLAP& && && && && &//查看可以网络& & AT+CWJAP=&G202&,&****&& && && &//连接自己要连接的网络,前面是SSID后面是密码,具体AT指令可以参考官方的AT集& & AT+CIFSR& && && && && && && && && && && &&&//返回模块的IP地址说明已经正确连接到路由器& & AT+CIPMUX=1& && && && && && &&&//打开多连接否则会报错 Link typ error& & AT+CIPSTART=0,&TCP&,&192.168.1.111&,8080& && & //其中的IP号和端口号是自己在局域网内建立的,具体怎实现的就不讲了(太晚了要回去了)& & AT+CIPSEND=0,10& && && && & & && && && && && && &&&//发送10个字符给服务器& & 3、Station+Client模式:& & AT+RST& & AT+CWMODE=3& && & //设置为station模式& & AT+CWLAP& && && && && &//查看可以网络& & AT+CWJAP=&G202&,&****&& && && &//连接自己要连接的网络& & AT+CIFSR& && && && && && && && && && && &&&//返回模块的IP地址说明已经正确连接到路由器返回IP地址“192.168.1.130”& & AT+CIPMUX=1& && && && && && && && &&&//打开多连接& & AT+CIPSERVER=1,8080& && & //建立sever& &
23:33 上传
点击文件名下载附件
下载积分: 下载币 -5
201 Bytes, 下载次数: 9, 下载积分: 下载币 -5
百度云链接搜集
有喜欢的可以下载来学习下
xxlouzhude dongxi
Copyright &
Powered by&>&&>&&>&&>&tcp_udp课程源代码esp8266
tcp_udp课程源代码esp8266
上传大小:43.57MB
tcp_udp课程源代码esp8266
综合评分:4.5(4位用户评分)
所需积分:
下载次数:87
审核通过送C币
创建者:fightsqlee
创建者:zhoujianjun2
创建者:zhoujianjun2
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var q = $("#form1").serializeArray();
console.log(q);
var res_area_r = $.trim($(".res_area_r").val());
if (res_area_r == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
var mess = $(".res_area_r").val();
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, _username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
//填充回复
function KeyP(v) {
$(".res_area_r").val($.trim($(".res_area").val()));
/*删除回复*/
$(".del_comment_r").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
评论共有1条
具有一定的参考价值
上传者其他资源上传者专辑
课程资源热门标签
VIP会员动态
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
android服务器底层网络模块的设计方法
所需积分:0
剩余积分:720
您当前C币:0
可兑换下载积分:0
兑换下载分:
兑换失败,您当前C币不够,请先充值C币
消耗C币:0
你当前的下载分为234。
tcp_udp课程源代码esp8266
会员到期时间:剩余下载次数:
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:上一篇文章讲述了如何进行UDP通信;好了,废话不多少;直接进入主题;
上一篇的UDP的时候,我们讲述了如何去连接别的WiFi热点;和给ESP8266改名字和密码之类的东西,TCP通信也是一样的,TCP通信和UDP通信基本是一样的,差别在于这里;
当你连连接上wifi 的时候,你需要设置一下你的TCP通信(这一点和UDP是一样的);我们在my_station_init()函数中设置一下;
这里的type我们选择的是TCP模式;这里的state我们选择的是proto共同体我们配置的是TCP的;
这里我们需要配置的是esp_tcp的这个结构体;首先remote_port是我们连接的WiFi的端口号;local_port是我们自己的端口号;然后local_ip是我们己得而ip地址;remote_ip是我们连接的WiFi的ip地址;
espconn_connect_callback connect_
espconn_reconnect_callback reconnect_
espconn_connect_callback disconnect_
espconn_connect_callback write_finish_
这四个函数,我们需要去配置一下 ;
所以这里我们需要去注册一个回调函数;
espconn_regist_coonectcb
这个函数用来初始化我们的连接成功的回调函数;
这个是我建立的一个连接成功的回调函数;在这里我们去注册一下接收数据的回调函数;
这个是我们初始化接收数据回调函数的初始化函数;
在这个接收数据的回调函数中我们将其接收的数据打印出来;
接下来我们去注册一个发送数据的回调函数;
在发送数据的回调函数中我们打印出发送数据成功;
然后我们再去创建一个断开TCP成功的回调函数;
在断开连接的回调函数中我们去打印出断开TCP成功;
接下来回到那个est_tcp结构体中去初始化下一个回调函数;
这个是重新连接的回调函数;
这里打印出连接的错误,继续连接
做完这些我们就可以调用我们的连接函数
连接上就可以TCP通信了;
好了上结果图和代码
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1779次
排名:千里之外
原创:14篇
(3)(4)(1)(1)(1)(2)(5)(1)

我要回帖

更多关于 esp8266 udp 的文章

 

随机推荐