ESP8266 MP3制作——esp8266联网

ESP8266联网

概述

因为需要用到网络天气和时间,所以得用到esp8266的联网功能,这也是我不用普通arduino板子做这个mp3的原因

库的选择

要是你有了解过esp8266的话,会发现单纯是联网就有好多个库,所以库的选中也是挺关键的一步。我在自带的库里面翻了一下,恰好找到这个库
在这里插入图片描述
库里面用到了ESP8266WiFiMulti WiFiMulti这个类对象,Multi,从名字就可以看出来他可以有多个备用wifi,一个不行再试另一个,然后是设置WiFi

	WiFi.mode(WIFI_STA);
 	WiFiMulti.addAP("SSID", "PASSWORD");
  • 第一句是设置为STA模式,大概就是我们常用的WiFi连接模式,与之相对的还有AP模式,就是开“热点”,不过这个热点不能上网,有一些打印机能支持无线打印,估计用的就是AP模式。
  • 第二句是填写wifi名称和密码,到这一步还没开始连接,如果要填写备用wifi,多写几次这句就行了
    启动wifi
	if ((WiFiMulti.run() == WL_CONNECTED)) {
		...
	}

默认的实例就是这样的,我照做了,结果出现了下面的问题

出现了问题

我把这些代码一起复制到setup函数里面,然后改成自己的wifi名称和密码,接下来连接板子,上传,结果显示wifi连接不成功,我于是开始找原因

  • 板子坏了,这当然是最坏的结果,所以我留到最后再看看是不是
  • wifi的ssid和密码错误,我校对了好几遍都没问题
  • 最后我突然想起来,我之前好像在写这个程序的时候有加等待,好久没写就给忘了,于是我加了下面这段代码
	while(WiFiMulti.run() != WL_CONNECTED) {
	    Serial.print(".");
	    delay(500);
    } 

在等待一段时间后wifi终于连上了!
原来run函数是不阻塞的,而我们知道连接wifi是需要时间的,要给他这个时间来连接,否则就会出现上述情况

接下来做什么

我会从心知天气注册一个账号,然后通过httpclient获取天气信息,处理json信息,然后匹配我下载并取模好的天气信息数据,输出到oled屏幕上,完成mp3桌面的编写

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值