今天看到了一个有关使用 ESP8266的AT指令 的HTTP连接的demo,因此想拿来 访问API试一下,简单访问 心知天气 天气服务平台的地区天气接口 (万物基于API,你细品)

本文仅发布在CSDN 青云双青 和我的个人博客,其他地方出现均为搬运

需要准备的

  • NodeMCU开发板一个 (ESP-12E)
  • Flash Download Tools 烧录软件一个
  • AT指令的固件
  • 串口助手QCOM_V1.1
  • 已经注册成功的心知天气的API接口一个(下面这个可以直接使用)
https://api.seniverse.com/v3/weather/now.json?key=SBHCbw5MrmOr6BLqN&location=nanjing&language=zh-Hans&unit=c

心知天气平台说明

心知致力于通过气象和环境大数据分析为企业提供气象信息产品和BI服务,帮助企业增强在不同天气和环境中赢利的能力。心知的团队核心成员来自微软、Google、京东、Frog Design等知名公司,心知天气正在为华为、中国航信、科勒、泰康人寿、中青旅、霍尼韦尔、大姨吗等上百家客户提供企业级的气象服务。

心知天气注册链接

给8266烧录AT固件

a.将NodeMCU与PC连接,确定安装好 串口驱动 并且保证可以在设备管理器查看到端口号
b.打开 Flash Download Tools 烧录软件,选择 ESP8266,然后按照下面的配置选择和烧录代码
c.选择的固件名称为

AiThinker_ESP8266_DOUT_32M-C1_0.0.0.7s_20170804.bin

d.下载地址为

0x0000

e.更多的信息如图,需要特别注意红框里面的内容要一致


d.点击烧录,等待完成即可,全程不用再对板子进行任何操作

烧录成功测试

让NodeMCU与PC相连,打开串口助手,设置波特率为 115200 ,然后发送 AT+RST,会收到下面的回复即为正常Ok

串口发送AT指令

这里仅给出AT指令的设置和对应的含义,对8266返回的代码不再说明
配置WiFi模组为单STA模式并保存

AT+CWMODE_DEF=1

配置要连接的AP的信息

AT+CWJAP_DEF="XXXX","XXXX"

使能上电自动连接AP

AT+CWAUTOCONN=1

建立到Host的80端口TCP连接

AT+CIPSTART="TCP","api.seniverse.com",80

设置透传

AT+CIPMODE=1

启动发送

AT+CIPSEND

访问请求格式 GET+ API 接口

GET https://api.seniverse.com/v3/weather/now.json?key=SBHCbw5MrmOr6BLqN&location=nanjing&language=zh-Hans&unit=c
  • 按照顺序以此输入即可,如果指令有效则会返回 ok
  • 如果使用普通的串口助手记得在指令后面添加 回车+换行
  • 默认的波特率为 115200

执行结果

  • 对于的到的数据判断是Json格式的数据,但是出现了乱码,可能是对汉字字符的不匹配,后续我再继续研究来解决这种问题


使用Json在线工具解析

其实AT指令在这里就是与服务器建立了TCP连接,使用指令进行GET的访问形式来获取API对应的Json数据
你可以直接点击这个 链接测试,结果是相同的

总结

  • 借助AT指令的开发,在有时候对数据的获取会特别方便
  • 这个HTTP demo 的原理其实和浏览器访问是一样的
  • 你可以举一反三,可以再另借助单片机去 解析得到的Json数据,得到自己想要的数据
  • 也可以访问 Onenet的服务器 或者进行 BiliBili的粉丝数 的获取

本文使用MarkDown语法编辑,如有疑问可以私信或者在下方评论留言!

ESP8266使用AT指令进行API访问相关推荐

  1. 毕设 CC2530+esp8266使用AT指令上传与获取onenet服务器的数据

    CC2530+esp8266使用AT指令上传与获取onenet服务器的数据 我们首先看效果视频, VID_20221023_175149(0)(0) 我一开始做这个项目的时候我发现对于这个CC2530 ...

  2. ODBC + WIN32 API 访问MYSQL 数据库实现简单QQ用户注册和登录 的代码分析

    ODBC + WIN32 API 访问MYSQL 数据库实现简单QQ用户注册和登录 的代码分析 . /   // datadase odbc1.cpp : 定义应用程序的入口点.  //   #inc ...

  3. 6 HBase java API访问HBase数据库

    HBase java API访问HBase数据库 package com.hunan.hbase_options;import org.apache.hadoop.conf.Configuration ...

  4. Java API访问HDFS集群(HA)

    title: Java API访问HDFS集群(HA) date: 2021-06-23 17:06:11 tags: HDFS hadoopV2版本及以后都是HA架构,active namenode ...

  5. ElasticSearch 使用Java Api访问集群

    ElasticSearch 使用Java Api访问集群 1.创建maven工程导入pom依赖 <dependencies><dependency><groupId> ...

  6. python谷歌翻译 频率限制_Django限制API访问频率常用方法解析

    需求描述: 平台中需要编写接口供第三方调用,需要控制调用频率,需求为5s内调用一次后不得再次调用. 解决思路 1.Django官方插件库中有个django-ratelimit插件可以满足要求, dja ...

  7. Java API 访问HA模式下的HDFS集群

    在使用Hadoop Java API访问HDFS集群时,在创建FileSystem对象时,直接指定NameNode的IP以及端口号即可.但是在HA模式下,访问HDFS集群却有一些不同,需要指定Name ...

  8. 网易云api访问登录后仍返回{msg: ‘需要登录‘, code: 301}

    网易云api访问登录后仍返回{msg: '需要登录', code: 301} 在用网易云API做网页时,需要使用某些需要登录的接口,在登录后仍然无法获取相关数据. 原因:在跨域请求时,没有携带用户凭证 ...

  9. 使用Arcgis Javascript api 访问其他地图

    概述 在最初接触GIS开发的时候,手上没有任何的地图数据,只是简单的把ArcGIS提供的或者国家地理信息中心公开的低分辨率矢量数据使用ArcGIS Server发布成地图服务来使用.慢慢的开始下载Go ...

最新文章

  1. mybatis中${}和#{}的区别
  2. 硅谷蓝图创始人 Patrick:数据驱动规模化增长
  3. wx5 mysql起不来_mysql(四)—–mysql主从配置-wx5bd1240aa20ac的博客
  4. 嵌入式系统中看门狗概述。。。
  5. Spring MVC –自定义RequestMappingHandlerMapping
  6. 洛谷 P3183 [HAOI2016]食物链
  7. #define 喵 int_【Angew. Chem. Int. Ed.】具多样化不对称反应性的三氮唑芳基碘化物
  8. Tapestry5中的DI
  9. 【漫画】程序员永远修不好的Bug——情人节
  10. 手机还能做电路仿真啊!电子电路兴趣爱好者福音!
  11. css在线代码生成工具汇总
  12. 群晖python套件包_想在群晖上运行python该怎么弄?
  13. Android将数据导出为excel文件的方法
  14. 详解CSS中的百分号%设置
  15. 【愚公系列】2022年09月 微信小程序-WebGL立体图形的绘制
  16. redis--客户端
  17. 前后端分离状态保持问题之JWT
  18. 那位学软件测试的广州宝妈,后来怎样了?
  19. 读书笔记--PRML(1)
  20. 【版本管理】软件项目版本号的命名规则及格式

热门文章

  1. Linux——rpm,yum源仓库安装及管理程序
  2. 9 设计简介PPT模板
  3. cad文件不大但是打开特别卡怎么解决?cad保存卡死的方法
  4. 用JavaScript实现歌词滚动播放
  5. malloc函数与free函数
  6. nodeJs相关知识
  7. 华强北airpods三代连接安卓手机没声音_华强北airpods买二代还是三代?
  8. MyBatis的<trim></trim>标签及prefix,suffix,suffixOverrides
  9. 巨巨的磁盘(线段树)
  10. c语言中的函数的组成,c语言函数由哪几部分组成