找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2393|回复: 9
打印 上一主题 下一主题
收起左侧

懂行的帮我看看串口能打印温湿度怎能发送到手机呢

[复制链接]
跳转到指定楼层
楼主
ID:63317 发表于 2018-11-28 18:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 WFX777888 于 2018-11-28 18:10 编辑

这个问题就是弄不明白啊8266UDP传输的
#include "driver/uart.h"
#include "user_main.h"
#include "gpio.h"

struct espconn PhoneConn;
esp_udp PhoneConnUdp;

void ICACHE_FLASH_ATTR user_udp_send(void){
}
void ICACHE_FLASH_ATTR user_udp_sent_cb(void *arg){

}


void ICACHE_FLASH_ATTR user_udp_recv_cb(void *arg,
char *pdata,
unsigned short len)
{
        if(pdata[0]=='W')//手机来信息
        {   
                 GetDHT11();                //获取DHT11的温湿度返回手机数据
             SendData();                //串口打印温湿度
                //os_sprintf(wenshiduudp,"%d *C-----%d %%",wendu,shidu);
                //espconn_sent((struct espconn *)arg,wenshiduudp,strlen(wenshiduudp));
        }

}

void ICACHE_FLASH_ATTR Wifi_conned(void *arg){
static uint8 count=0;
uint8 status;
os_timer_disarm(&connect_timer);
count++;
status=wifi_station_get_connect_status();
if(status==STATION_GOT_IP){
os_printf("Wifi connect success!");
wifi_set_broadcast_if(STATIONAP_MODE);
user_udp_espconn.type=ESPCONN_UDP;
user_udp_espconn.proto.udp=(esp_udp *)os_zalloc(sizeof(esp_udp));
user_udp_espconn.proto.udp->local_port=2525;
user_udp_espconn.proto.udp->remote_port=1112;
const char udp_remote_ip[4]={255,255,255,255};
os_memcpy(user_udp_espconn.proto.udp->remote_ip,udp_remote_ip,4);
espconn_regist_recvcb(&user_udp_espconn,user_udp_recv_cb);

espconn_regist_sentcb(&user_udp_espconn,user_udp_sent_cb);
espconn_create(&user_udp_espconn);
user_udp_send();

return;
}else{
if(count>=7){
os_printf("Wifi connect fail!");
return;
}
}



os_timer_arm(&connect_timer,2000,NULL);
}
void ICACHE_FLASH_ATTR scan_done(void *arg,STATUS status){
        uint8 ssid[33];
        struct station_config stationConf;

          if (status == OK)
          {
            struct bss_info *bss_link = (struct bss_info *)arg;
            bss_link = bss_link->next.stqe_next;//ignore first

            while (bss_link != NULL)
            {
              os_memset(ssid, 0, 33);
              if (os_strlen(bss_link->ssid) <= 32)
              {
                os_memcpy(ssid, bss_link->ssid, os_strlen(bss_link->ssid));
              }
              else
              {
                os_memcpy(ssid, bss_link->ssid, 32);
              }
              os_printf("+CWLAP:(%d,\"%s\",%d,\""MACSTR"\",%d)\r\n",
                         bss_link->authmode, ssid, bss_link->rssi,
                         MAC2STR(bss_link->bssid),bss_link->channel);

              bss_link = bss_link->next.stqe_next;
            }
           
          }
          else
          {


          }

}
void to_scan(void) { wifi_station_scan(NULL,scan_done); }
void user_init()
{

struct softap_config config;
uart_init(115200,115200);

GetDHT11();                //获取DHT11的温湿度
SendData();                //串口打印温湿度

wifi_set_opmode(0x03);
wifi_softap_get_config(&config);
os_memcpy(config.ssid,"ESP8226",strlen("ESP8226"));
os_memcpy(config.password,"123456789",strlen("123456789"));
config.ssid_len=strlen("ESP8226");
config.authmode=AUTH_WPA_WPA2_PSK;
config.beacon_interval=100;
config.channel=1;
config.max_connection=4;
config.ssid_hidden=0;
wifi_softap_set_config(&config);
system_init_done_cb(to_scan);
}
void user_rf_pre_init(){}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:310519 发表于 2018-11-28 18:36 | 只看该作者
不太理解你的问题......
回复

使用道具 举报

板凳
ID:63317 发表于 2018-11-28 21:20 | 只看该作者
diy1997 发表于 2018-11-28 18:36
不太理解你的问题......

8266用DHT11手机接收温湿度
怎样实现手机接收UDP模式
回复

使用道具 举报

地板
ID:310519 发表于 2018-11-30 09:38 | 只看该作者
WFX777888 发表于 2018-11-28 21:20
8266用DHT11手机接收温湿度
怎样实现手机接收UDP模式

你是读不了DH11?

还是ESP8266发送不了?

还是手机APP接收不了?
回复

使用道具 举报

5#
ID:246251 发表于 2018-12-1 10:06 | 只看该作者
问题不明确,首先DHT11读出数据有没有问题,再用TCP调试工具看下,wifi发送有没有问题,最后再查手机接收,你是用什么app来接收数据
回复

使用道具 举报

6#
ID:436988 发表于 2018-12-1 10:50 | 只看该作者
可以将ESP8266刷入NODMCU固件,用lua脚本语言写个客户端,用手机的WiFi调试软件开个服务器,这样就能把esp8266的数据发送到手机了。
回复

使用道具 举报

7#
ID:63317 发表于 2018-12-28 21:32 | 只看该作者
diy1997 发表于 2018-11-30 09:38
你是读不了DH11?

还是ESP8266发送不了?

UDP模式弄好
现在DH11的温湿度数据不知道怎样发送到手机端
手机端是用易安卓编写的
回复

使用道具 举报

8#
ID:63317 发表于 2018-12-28 21:35 | 只看该作者
new_hand 发表于 2018-12-1 10:06
问题不明确,首先DHT11读出数据有没有问题,再用TCP调试工具看下,wifi发送有没有问题,最后再查手机接收, ...

串口能打印出来就是不会发送到手机端
手机端用的是易安卓编写的
回复

使用道具 举报

9#
ID:75000 发表于 2018-12-29 11:18 | 只看该作者
手机下个UDP模式调试工具,确定能和手机正常通信,后面就是软件的问题啦
回复

使用道具 举报

10#
ID:449525 发表于 2018-12-29 12:13 | 只看该作者
要发送的数据通过单片机串口给模块,udp透传的,你不用管,连接上就ok了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表