手机(蓝牙串口助手)控制ESP8266获取天气

本文介绍了如何通过手机控制ESP8266获取天气信息,一般我们拿到透传的模组,在写MCU程序前会先用电脑上的串口助手控制它,运行一下常用指令,看看模块如何回复,一切正常后再去coding。但PC上应该如何输入AT命令,输入哪些AT命令,我们会从网上看别的贴子,再一条条去尝试,效率比较低下。如果有别人调过这个模组,他用的哪些AT指令,我能不能直接拿来用?答案是可以的「蓝牙串口助手」云端会保存常用的指令集,或由调试好的工程师直接分享过来,这个效率简直太高了……


手机运行微信小程序蓝牙串口助手控制透传Wi-Fi ESP8266获取天气预报信息


用到的硬件:

1、一部能运行微信的手机(搜索小程序:蓝牙串口助手)

2、HexCom-V1,如果没有,选择其它蓝牙模组代替


普通蓝牙连接后会遍历出它所有的服务及特征值

3、ESP8266模组


硬件清单

串口连接比较简单,VCC,GND两根直连,蓝牙的TXD,RXD和Wi-Fi的交叉连接。

硬件连接好后,主要是软件调试工作,软件调试分三部:

第一步:获取ESP8266常用指令

打开小程序「收藏 」介面,从服务器获取ESP8266的指令集

加载云端布局文件

下面分别显示了,如何保存本地布局,加载本地布局,加载云端布局

保存加载布局文件

第二步:修改指令。

1、我们需要修改连接路由器指令AT+CWJAP中的SSID和密码

2、我们需要修改GET天气的密钥


因为我们获取天气信息需要用到心知天气的API,我们需要在https://www.seniverse.com申请免费试用,免费用户的权益:

国内 370 个主要城市

天气实况,包括天气现象文字、代码和气温 3 项数据

未来 3 天天气预报,包括白天天气现象文字及代码、晚间天气现象文字及代码、当天最高温度和最低温度、风向风速

6 项基本类生活指数,包括穿衣、紫外线强度、洗车、旅游、感冒、运动指数

上面这些功能对于我们调试足够了,我们需要一条GET命令从服务器获取天气信息,我们注册账号的目的主要是获取“私钥”替换下面URL中的your_private_key

将 API 密钥中的“私钥”作为 API 请求中的 key 参数值: https://api.seniverse.com/v3/weather/now.json?key=your_private_key&location=beijing&language=zh-Hans&unit=c

完成上面修改后,将布局保存到本地,防止误删。

指令布局

第三步:开始调试

调试的步骤参考乐鑫官网给的“TCP client单连接透传”示例步骤:

透传指令

按上面顺序一条条走,不出意外你应该能GET到天气的信息了,服务返回的JSON包格式如下:

{"results":[{"location":{"id":"WX4FBXXFKE4F","name":"Beijing","country":"CN","path":"Beijing,Beijing,China","timezone":"Asia/Shanghai","timezone_offset":"+08:00"},"now":{"text":"Sunny","code":"0","temperature":"3"},"last_update":"2021-02-07T09:50:00+08:00"}]}

temperature就是当前的天气。

至此,通过手机控制ESP8266获取天气的示例就完成了,有不清晰的可以再观看前面的视频或私信我,感谢阅读!

你可能感兴趣的:(手机(蓝牙串口助手)控制ESP8266获取天气)