查看: 924|回复: 8

[未解决] 关于给esp8266编程和给arduino编程的一些疑问

[复制链接]
  • TA的每日心情
    奋斗
    2020-12-15 09:03
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    发表于 2020-11-23 15:46 | 显示全部楼层 |阅读模式
    本人大一学生,目前正在做创新作业,已经进行到了最后一步:arduino从onenet上调取数据(汉字),调取过来的汉字存储在streaml中,数据类型为String,之后使用U8g2库中的print函数显示在oled屏上。
    代码是从网上大佬的代码直接照搬过来并多次改动的,最初保留了void setup中涉及到连接wifi的一段代码(见图一),结果编译时显示没能连接到ESP8266(见图二),问了助教后助教问我“是在给ESP8266编程还是在给arduino编程?”,并说明ESP8266也是可以编程的元件,但问题的具体解决办法助教也无法很好地说明,后来我将void setup中关于wifi连接的代码注释掉(见图三),并使用AT命令手动连接WIFI,再次编译时还是显示没能连接到ESP8266(情况与图二相同)。
    编译时的情况具体来说就是:首先正常编译,当进度条中的绿色充满时,显示如图四,持续尝试连接都不能成功,之后就显示连接失败。
    综上所述,我想知道什么是给ESP8266编译,什么情况下是给ESP8266编译,我的第二次编译为什么连接不上ESP8266模块,究竟怎么改动才能使arduino能够调用onenet中的数据呢,恳请大佬解答。
    //如果需要更详细的代码请直接告诉我。
    TE84WBJ0W1I_4IOIR[JR~92.png
    6V}GSVSUE4HF%T(5V)XPWSX.png
    F]M6]NBOV{(LHK@]AJSM)66.png
  • TA的每日心情
    奋斗
    2020-12-15 09:03
  • 签到天数: 6 天

    [LV.2]偶尔看看I

     楼主| 发表于 2020-11-23 15:53 | 显示全部楼层
    file:///D:/Backup/%E6%A1%8C%E9%9D%A2/3KT~0%60E%60BW%7BWC6GUAQ91MH4.png
    附上voidloop 中的代码
  • TA的每日心情
    奋斗
    2020-12-15 09:03
  • 签到天数: 6 天

    [LV.2]偶尔看看I

     楼主| 发表于 2020-11-23 15:54 | 显示全部楼层

    void loop() {
      // put your main code here, to run repeatedly:
      delay(2000);
      u8g2.firstPage();
      do {
        //建立连接并判断 -- Connecting to server
        if (!client.connect(OneNetServer, tcpPort))
        {
          Serial.println("connection failed");
          return;
        }
        //从云端获取值并存于streaml -- get data from server
        streaml=readData(651641648, DataStreams);
        Serial.println(streaml);
        Serial.println("closing connection");
      
        u8g2.setFont(u8g2_font_wqy12_t_chinese3);
        //u8g2.drawBitmap(60, 10, 4, 32, streaml);
        u8g2.setCursor(0, 15);
        u8g2.print(streaml);
       }while (u8g2.nextPage());
    }
    之前的图是不是没发出来?我直接把代码打出来算了
  • TA的每日心情
    奋斗
    2020-12-15 09:03
  • 签到天数: 6 天

    [LV.2]偶尔看看I

     楼主| 发表于 2020-11-23 15:57 | 显示全部楼层
    1. void loop() {
    2.   // put your main code here, to run repeatedly:
    3.   delay(2000);
    4.   u8g2.firstPage();
    5.   do {
    6.     //建立连接并判断 -- Connecting to server
    7.     if (!client.connect(OneNetServer, tcpPort))
    8.     {
    9.       Serial.println("connection failed");
    10.       return;
    11.     }
    12.     //从云端获取值并存于streaml -- get data from server
    13.     streaml=readData(651641648, DataStreams);
    14.     Serial.println(streaml);
    15.     Serial.println("closing connection");
    16.   
    17.     u8g2.setFont(u8g2_font_wqy12_t_chinese3);
    18.     //u8g2.drawBitmap(60, 10, 4, 32, streaml);
    19.     u8g2.setCursor(0, 15);
    20.     u8g2.print(streaml);
    21.    }while (u8g2.nextPage());
    22. }
    复制代码

    我还是直接把代码打出来吧
  • TA的每日心情
    慵懒
    2018-11-12 08:58
  • 签到天数: 37 天

    [LV.5]常住居民I

    发表于 2020-11-24 09:22 | 显示全部楼层
    8266也是款单片机也可以用arduino ide给他写程序下载程序到8266里,不用uno
  • TA的每日心情
    慵懒
    2021-1-26 15:22
  • 签到天数: 253 天

    [LV.8]以坛为家I

    发表于 2020-11-24 17:29 | 显示全部楼层
    不知道你用的是那款,是01还是12E,我之前也出现过类似情况,我的当时的问题是供电不足
  • TA的每日心情
    奋斗
    2020-12-15 09:03
  • 签到天数: 6 天

    [LV.2]偶尔看看I

     楼主| 发表于 2020-11-25 20:51 | 显示全部楼层
    跑龙套的保 发表于 2020-11-24 09:22
    8266也是款单片机也可以用arduino ide给他写程序下载程序到8266里,不用uno

    那请问图中的错误是什么原因呢
  • TA的每日心情
    奋斗
    2021-1-26 19:45
  • 签到天数: 403 天

    [LV.9]以坛为家II

    发表于 2020-11-25 23:50 | 显示全部楼层
    本帖最后由 topdog 于 2020-11-26 00:01 编辑

    esp8266使用AT命令、MQTT协议等首先要刷入相应的固件,其次使用软串口和arduino连接通讯,由arduino发出联网等调试命令完成onenet数据获取、分析和oled的显示。板子选择仍然是uno等,图片上你选的是直接把esp8266作为mcu使用所以IDE报错。你可以看下我的教程:烧写固件 https://geek-workshop.com/thread-15703-1-1.html
    AT命令联网和服务器的设置 https://www.arduino.cn/thread-30964-1-2.html

    esp8266单mcu完成上述工程也是可以的。你需要了解esp8266管脚定义、onenet物联网的API,网络数据json解析的使用、oled库的esp8266用法知识点还是比较多的。你可以看下我的教程:
    https://www.arduino.cn/thread-43013-1-1.html
    https://www.arduino.cn/thread-43015-1-2.html
    https://www.arduino.cn/thread-43019-1-2.html

  • TA的每日心情
    无聊
    2019-12-11 17:29
  • 签到天数: 22 天

    [LV.4]偶尔看看III

    发表于 2020-11-27 11:02 | 显示全部楼层
    图二的错误并不是WiFi连接错误,是烧写ESP8266时串口通信错误。
    一些8266的片子烧写的时候gpio0需要接地。反正是有一些特殊要求的。
    你买nodemcu就不会有这样的问题了。
    至于连接wifa,你程序都没烧进去,当然无法连接到wifa的,你先把程序烧进去再说吧!
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    热门推荐

    (开源)微信小程序控制esp8266,可远程
    (开源)微信小程序控制es
    流程说明:首先要使esp8266能够联网,能联网就可以控制,使用示例程序,修改WIFI、
    arduino封装了一个无线串口模块LC12S的操作库
    arduino封装了一个无线串
    前一段时间接触到一个比较好用的2.4G无线串口通信模块LC12S, 在淘宝上仅四五块钱,收
    【花雕动手做】快餐盒盖,极低成本搭建机器人实验平台
    【花雕动手做】快餐盒盖,
    吃完快餐粥,除了粥的味道不错之外,我对个快餐盒的圆盖子产生了兴趣,能否做个极低成
    全新AVR芯片ATMEGA328P烧录程序的教程
    全新AVR芯片ATMEGA328P烧
    潜水多年,觉得有义务贡献一些内容,此贴作为最近学习Arduino的一个总结。 玩Arduino
    【Arduino】168种传感器模块系列实验(90)--- ULN2003步进电机
    【Arduino】168种传感器模
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表