nodeMCU捣鼓笔记(从固件刷入到wifi扫描)

2018-11-28 14,752

本文作者:loid

这个小东西是安卓老师送我的,然后就一直在捣鼓这个玩意儿。挺好玩的,这捣鼓的过程也学到了很多东西。

网上资料也算比较多,只是遇到很多问题,也捣鼓了很久。

首先你要有一个nodeMCU, 他是长这样的,并且我的是ESP8266

image.png

到手之后,首先是找文档瞅瞅

官方文档

可以看到快速开始的三个步骤

1542784075868506.jpg

step1. 构建固件(选择你自己喜欢的模块构建)

step2. 刷入固件

step3. 上传代码到设备


通过在线云构建固件cloud build service

输入要接收固件的邮箱(两次确认, 这里好像并不能用@qq.com,我用的是@http://163.com)

v2-c99d77997524d383e9fb176d7ce2dbbe_hd.jpg


选择需要的模块(因为需要,这里我就只新勾选了一个mqtt模块), 然后就点击最下面的start your build

v2-96d9e629e3e9a01cf7ffc9fbaa7a0d64_hd.jpg

等会儿就可以收到email(一共两条email,其中一条是固件下载地址)

v2-ea3354dd749afaa509a953dfa8e03ca5_r.jpg

准备刷入固件的工具


官方这里推荐了几个工具,一个是esptool.py, 另一个是NodeMCU PyFlasher等

这里我推荐用后者,后者图形化也简单些 (

https://github.com/marcelstoer/nodemcuyflasher)


固件刷入

根据需要选择. 串口,固件位置,波特率,Flash mode(点击那个小红点会有提示,根据自己的硬件选择,我这里的是esp8266),是否擦除数据

ps: 用type-c转usb的转换器的同学,请换个接口,我写这篇文章的时候,一直刷入失败!!!刷了一个下午….我tm…

v2-53f4e5d422eb198f2fa1c3893030c59f_hd.jpg

使用ESPlorer连接nodeMCU并进行脚本编写/上传/运行

我这使用官方的ESPlorer连接时会有问题(点连接后,发送一个消息才能看到连接成功的回显), 找了一个中文版的可以正常连接

v2-a798c39dba1c7aa75e949cfa262d2fba_hd.jpg

准备工作结束


----------------------------------------------------------------------------- 一个华丽的分割线 -------------------------------------------------------------------

编写并上传脚本

整体思路

1、作为HTTP Server

2、创建AP,可以被其他设备连接

3、其他设备通过IP访问Web界面进行Wi-Fi扫描/连接管理

项目代码自行找合适的代码

这里需要

httpServer.lua,table_to_string.lua,start_http.lua,wifi_set_ap.lua,index.html

v2-be5230facedb85c10d9b9c83e37ad4eb_hd.jpg


Wi-Fi AP的名字和密码可以修改wifi_set_ap.lua

下载httpServer库,编写web接口(httpServer方法)


v2-688afd0bb4757812899b444b41d922e3_hd.jpg

调用的时候,可以先dofile(filename)导入库,然后调用函数


其他脚本/文件上传如上一步操作

测试是否可用

发送单行命令依次执行wifi_set_ap.lua与start_http.lua分别建立热点和创建web服务

dofile('wifi_set_ap.lua')与dofile('start_http.lua')

v2-b3f03f071663289aa5c2c88c37461a65_hd.jpg

手机连接名为nodemcu的Wi-Fi,密码为12345678(这是默认的,修改过wifi_set_ap.lua的不一样)

手机浏览器访问192.168.4.1可以看到web界面

v2-d27008477114109fc15f662a95aaf738_r.jpg

扫描wifi和连接wifi

v2-47442608cabbef4f64a9c842216e2644_r.jpg

v2-a4afdca433c9cf987a1a959afd215e29_hd.jpg

ps: 这里我验证Wi-Fi是否连接成功是等待10秒查看是否获取到ip,

如果你有更好的方法验证,可以自己修改下start_http.lua


开机自动部署

如果你喜欢开机就自己设置AP和开启Web服务, 可以写一个init.lua,

里面加上开机运行的代码比如

dofile('wifi_set_ap.lua')
dofile('start_http.lua'


本文作者:226safe

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/82363.html

Tags:
评论  (0)
快来写下你的想法吧!

226safe

文章数:3 积分: 32

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号