找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2081|回复: 1
收起左侧

8266大神们帮我看看这代码怎样加入DH11温湿度传感器

[复制链接]
ID:63317 发表于 2018-10-29 07:57 | 显示全部楼层 |阅读模式
本帖最后由 WFX777888 于 2018-11-3 16:39 编辑


* user_main.c
*
*  Created on: 2015年7月13日
*      Author: Administrator
*/
#include "driver/uart.h"
#include "user_main.h"
void ICACHE_FLASH_ATTR user_udp_send(void){
        char hwaddr[6];
        char DeviceBuffer[40]={0};
        wifi_get_macaddr(STATION_IF,hwaddr);
        os_sprintf(DeviceBuffer,"设备MAC地址为"MACSTR"!!\r\n",MAC2STR(hwaddr));
        espconn_sent(&user_udp_espconn,DeviceBuffer,os_strlen(DeviceBuffer));
}
void ICACHE_FLASH_ATTR user_udp_sent_cb(void *arg){
os_printf("发送成功!");
os_timer_disarm(&test_timer);
os_timer_setfn(&test_timer,user_udp_send,NULL);
os_timer_arm(&test_timer,1000,NULL);
}
void ICACHE_FLASH_ATTR user_udp_recv_cb(void *arg,
char *pdata,
unsigned short len){
os_printf("udp已经接收数据:%s",pdata);
}

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;
            }
            os_memcpy(&stationConf.ssid, "TP-LINK", 32);
            os_memcpy(&stationConf.password, "1122334455", 64);
            wifi_station_set_config_current(&stationConf);
            wifi_station_connect();
            os_timer_setfn(&connect_timer,Wifi_conned,NULL);
            os_timer_arm(&connect_timer,2000,NULL);
          }
          else
          {
        //          os_sprintf(temp,"err, scan status %d\r\n", status);
        //          uart0_sendStr(temp);

          }

}
void to_scan(void) { wifi_station_scan(NULL,scan_done); }
void user_init(){
        struct softap_config config;
uart_init(115200,115200);

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(){}

DHT11.rar

2.53 MB, 下载次数: 6

回复

使用道具 举报

ID:396960 发表于 2018-10-30 13:08 | 显示全部楼层
代码里一点注释都没有,怎么方便读???

不知道你的8266是芯片开发还是模块应用,芯片开发没做过,如果是模块应用的话,是单片机串口和模块通信,发送也是串口处理了。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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