完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
手上有一块nodemcu,这货可以用lua编译脚本语言编程,也可以用arduinoIDE来编辑,用C语言来开发,甚至可以刷入micropython系统,用python语言开发。功能多而且就价格便宜,是DIY智能硬件的首选。
nodemcu onenet平台是中移推出的一台智能硬件连接平台,可以支持http,mqtt,edp等等协议,由于nodemcu的主芯片是esp8266,我们就使用http协议来处理数据上传。话不多说,详细说明下学习过程。 1:注册onenet平台 注册吗?就是根据页面提示操作就好,验证邮箱,手机之后,就可以了,最后,我添加了一个nodemcu设备。 我的nodemcu设备 点击设备信息,查看设备相关设备数据。 设备信息 设备湿度 设备温度 2:模拟测试数据 当我们接触新的东西的时候,首先一点,学会利用官网工具,模拟上传数据,返回结果,得到success的时候,说明已经成功一半了。在设备管理当中,点击在线设备调试。 在线调试 在数据模拟器中,我们选择数据模拟器中选择上传数据流。 模拟上传数据 设备ID:自己设备的ID号,每个设备都有自己的ID。 APIKEY:设备的API钥匙,调用接口时候需要,每个设备的API-KEY也可以唯一。 数据流:任意自己定义的数据流,我这里取名test。 数据范围:我把温度的取值定义0-100℃。 间隔时间:每个五秒发送数据。 发送日志记录:error:succ代表数据成功上传。 这样,我们就可以在数据流展示区看看我们刚刚上传的数据。 模拟数据上传成功 3:POST请求数据 post请求数据是一项比较实用的技能,几乎所有的web开发在测试API的时候都需要用到。那我们用API调试工具来测试数据上传。 POST请求成功 ApiURL地址:自己需要调用的API地址。 请求方式:选择POST请求,至于用GET还是POST请求,这两者的区别,请读者自己考虑。 APIKey:自身设备的API钥匙,跟模拟数据上传的数据一样。 返回结果:error:succ代表成功。 很多人刚开始不熟悉的时候,都会出现各种各样错误,返回值不成功的情况,我举例说明: APIkey不对,提示APIKey非法。 数据流不对,提示datestreams非法。 数据值不对,提示datapoints非法。 基本都是以上三者,请大家仔细阅读错误提示。 4:postman工具测试 当如果我们需要测试一个新的API的时候呢,有什么好的工具吗?我这里推荐谷歌的postman插件。 postman测试 点击右上角的code,可以完整的看出本次的请求。真的很方便,随时可以验证请求是否正确,返回status=200代表数据请求成功。 post请求数据包 5:nodemcu刷入espeasy系统 由于原来已经烧写过程序,刷入系统之前先擦除原来的程序,使用esptool工具来擦除系统默认程序。下载espeasy固件。下载地址:github.com/letscontrolit/ESPEasy/releases,目前已经更新到Release v2.0.0-dev12,我们下载到最新版本就可以。固件包里面就有工具。 esptool.exe就是删除工具 首先要确认一下esp8266所连接的端口号,因为需要以端口号作为参数的,比如我的端口号是COM4,我就可以运行以下命令来擦除flash # esptool.py --port COM4 erase_flash 擦除程序 再使用flashesp8266烧写固件车程序,选择ESPEasy_v2.0.0-dev12_dev_4096.bin文件。 烧写程序 烧写完成之后,就会出现ESP_Easy_0的的无线wifi,用手机或是ipad连接wifi并配置wifi密码。配置好之后,设备就可以工作上传数据了。 设备配置信息 192.168.1.196是自动分配的IP地址,如果大家不知道分配的IP地址是多少的话,可以使用IPScan工具,查看局域网内的各个设备的IP。 可以看到espressif的制造商 7:配置http客户端 我们需要把nodemcu配置成http客户端,链接到onenet平台上的服务器。 http服务配置 protocol:传输协议,选择genneric htttp协议,想通过http协议传输奥其他平台上的一可以使用这个。 locate Controller:选择主机名字还是IP地址。 Controller Hostname: onenet云服务地址。 Controller Port:http的默认端口基本上都是80。 HTTP Method:http请求方式,这里选择POST请求。 HTTP URL:http请求连接地址。 HTTP Header: 添加API-key的值。 HTTP Body:请求数据包。 配置http服务之后,还需要配置DHT11温湿度传感器的信息,在Devices选项里面选择需要的配置的传感器信息。 DHT11传感器配置 Device:选择传感器类型。 Name:自定义传感器名字。 Enable:传感器使能接入设备。 GPIO:由于DHT11的Data数据只需要一个引脚就可以上传温湿度了。 DHT Type:硬件的具体型号。 Value1: temp就是上传的数据流名字,formula就是对这个获取值的计算方式,decimals就是默认小数点位数为2位。 Value2: 跟Value1的内容差不多。 点击提交(summit)之后,在关闭(closed)传感器配置信息,我们就可以看到上传的数据信息了。 温度27.00,湿度33.00,跟上面的设置一样。很明显温度就是27℃,湿度就是33%。 8:验证数据能不能上传以及上传的数据是否正确 打开串口调试工具或者是putty,查看串口输出信息。 已经读到传感器的数值了 再回到onenet平台上来,点击设备信息,查看数据流。 温度27℃ 湿度33% 最后来张现场实物图: nodemcu和DHT11传感器 |
|
|
|
只有小组成员才能发言,加入小组>>
3278 浏览 9 评论
2956 浏览 16 评论
3456 浏览 1 评论
8988 浏览 16 评论
4050 浏览 18 评论
1102浏览 3评论
570浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
568浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2301浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1857浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 13:39 , Processed in 1.166958 second(s), Total 79, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号