esp8266

NodeMCU HTTP server stops responding

余生长醉 提交于 2019-12-20 04:19:54
问题 I'm trying to make a simple HTTP server with NodeMCU. I start up nodeMCU then connect it to the wifi and then run the program below. I can connect to the server from my browser. If I keep on reloading the page it would work forever, but when I stop sending requests for a minute or two, the server will somehow stop functioning. Which means, when I reload page nodeMCU does not receive any data (and cannot return any data back). a=0 function receive(conn,payload) a=a+1 print(payload) local

一,ESP8266下载和刷固件(基于Lua脚本语言)

爷,独闯天下 提交于 2019-12-20 03:32:35
用自己的小板测试...... 安排上呢 一, ESP8266下载和刷固件(Lua开发----体验一下lua开发的魅力所在) 二, 控制一个灯亮灭 三, TCP服务器 四, TCP客户端 五, UDP 六, 文件操作(保存数据到8266内部) 七, 外设操作(SPI,ADC) 八, 再说...... 先看下载自己的固件 填写好自己的的邮箱地址,然后选择好自己需要的功能,一会编译好的固件就会发到您的邮箱 地址 https://nodemcu-build.com/ 我下载的 链接: https://pan.baidu.com/s/15FEYwWu-57zcMlzPTwhPOA 密码:zpe4 我一开始用的QQ邮箱,不过后来不知道怎么的我的qq邮箱不可以了,,,,所以就用的自己的新浪邮箱 然后就会出现下面的界面,,等着哈 对了还有Lua开发的API文档 https://nodemcu.readthedocs.io/en/master/en/modules/gpio/ 邮件发过来啦 烧写固件的软件 无论哪一个软件,模块的接线都一样 现在烧写固件 参考文章.. http://www.cnblogs.com/yangfengwu/p/6247048.html 只是看看就行不要下载或用里面链接的东西了,用本文中的就行了 http://www.cnblogs.com/yangfengwu/p

esp8266 rtos sdk示例工程

爱⌒轻易说出口 提交于 2019-12-18 06:01:00
esp8266 rtos sdk示例工程 上一篇文章说明了使用ubuntu 14.04搭建esp8266编译环境,搭建成功后,在使用其sdk 用户示例工程partitions_singleapp工程编译测试成功,生成了三个主要的bin文件。 一.程序烧录 他们路径分别是:bootloader.bin,partitions_singleapp.bin,project_template.bin,其实还有些其他烧录文件,比如射频校准等,现在还没有研究,后面再说,先让开发板跑起来。 我们只有使用其烧写工具将其烧录进开发板中即可。 由于购买开发板商家提供的nonos相关文档信息,与rtos sdk烧写有些区别,通过百度搜索,查找有关资料,得知,需要将上面三个文件分别烧写到如下地址中,开发板就能启动。 此次因为没有找到开发板flash大小,就假设使用2m flash进行烧写测试的,好在暂时不影响使用,后面我回通过调用api接口获取其flash大小在做调整。 注意上面的烧写参数设置,在编译project_template工程之前,我们需要make menuconfig 设置烧写参数: 二.程序测试(project_template) 1.修改代码 我们修改程序中的下面代码: /* This example code is in the Public Domain (or CC0 licensed

esp8266 wifi模块刷nodemcu固件并蓝牙串口调试

此生再无相见时 提交于 2019-12-17 14:55:29
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> esp8266 wifi模块价格十分实惠。出厂是默认带AT指令的系统,通过串口使用at命令进行交互。但是可以刷别的固件,例如nodemcu。 nodemcu可以用lua脚本控制模块,而且lua脚本的优势是非常容易编写,也不需要编译。本文简单的介绍一下在esp8266模块上烧写nodemcu固件,并简单的通过串口让模块接入AP。 下载 nodemcu_flasher64bit.exe 这是一个nodemcu固件的烧写软件。我下载的是64为版本。32为版本地址为: http://www.nodemcu.com/download/flasher/nodemcu_flasher32bit.exe 下载最新固件,这是非必要步骤,因为烧写软件会自动从网上下载固件,但我不知道是不是最新的。 使用usb转ttl连接模块的uart,同时拉低模块GPIO0,把GPIO0这个引脚连接到gnd脚,进入烧录模式,平时不这么接为正常模式。 打开烧录软件,点击“Flash”按钮,如果下方能正常显示mac地址,且有进度条则烧录进行中,一般也就正常了。 烧录好了后,我是用putty连接COM4口,具体哪个口看设备管理器。输入如下类似命令,即连入家里的路由。 print(wifi.sta.getip()) --nil wifi.setmode

ESP8266App重要更新,目录结构调整

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-17 14:33:49
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> ESP8266App包含了基于ESP8266的多个开源的重要项目,包括对LUA/MicroPython及MQTT消息协议的支持。 ESP8266App进行了2015年的第一次重要更新(2015-04-17),改动如下: 1、ESP8266_SDK加入主目录,去除了原来ESP8266App下的SDK相关目录,添加了SDK0.9.6(非官方)和(官方)1.0.0、1.0.1版本。注意:0.9.6兼容以前的0.9.5等版本,但在目前发布的1.0.0及以上版本有的工程无法编译通过。 2、AT/RtOS/LowPower等Espressif官方开源项目提升到主目录层次。 3、增加bulid的部分脚本,可以完全支持Mac OS X Yosemite和Ubuntu14.04/14.10上的编译了。 4、增加从ESP_MQTT衍生的工程esp_mqtt,增加了DHT22(温湿度测量)/HALL(运动检测)/APM(空气微粒检测)的传感器支持,可以直接将传感器数据到MQTT Broker。 注意:该工程目前为研究阶段,未与ESP_MQTT同步,使用ESP_MQTT_SENSOR保持同步,但该工程落后于最新的修改。 5、实用脚本x-git.sh/x-pull.sh/x-merge.sh/x-commit.sh等进行了更新

esp8266 rtos sdk编译后flash镜像构成

假装没事ソ 提交于 2019-12-17 14:33:36
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 由于官方文件没有说明esp8266的启动特点,本文根据sdk内的flash map文档,sdk makefile, ld文件及flash image 生成的python脚本文件,简要分析esp8266的启动和运行,及flash镜像的构成特点。这里使用的sdk和编译时配置项见 esp8266 rtos sdk在小黄板上的使用 ##sdk生成的elf文件 这里主要分析sdk根目录下的makefile文件就可以得到elf相关信息。 在执行make前我们已经选择好编译的配置项,这里直接给出: boot=none app=0 freqdiv=0 mode=0 size_map=4 flash=4096 从makefile内可以分析到使用的ld文件是: LD_FILE = $(LDDIR)/eagle.app.v6.ld eagle.app.v6.ld可以看到 MEMORY { dport0_0_seg : org = 0x3FF00000, len = 0x10 dram0_0_seg : org = 0x3FFE8000, len = 0x14000 iram1_0_seg : org = 0x40100000, len = 0x8000 irom0_0_seg : org = 0x40240000, len =

MacOS 下搭建esp8266环境

大憨熊 提交于 2019-12-15 04:04:48
MacOS 下搭建esp8266交叉编译环境 自己是搞ARM嵌入式开发的,但手头又是一台Mac,对于Mac里面跑window虚拟机已是家常便饭。但如果可以直接用Mac开发,我是一定要尝试的,毕竟体验好这么多。这次,一个偶然机会,在参考网上教程后,顺利搭建成功,故记录一下。 总体步骤和网上众多Linux安装步骤类似。 不知道esp8266是什么? 请看这里 1.安装Homebrew Homebrew是Mac下的软件包管理工具。如果安装了的就跳过这步。 /usr/bin/ruby -e " $( curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install ) " 1 2.安装所需依赖 brew install binutils coreutils automake autoconf wget gawk libtool help2man gperf gnu-sed --with-default-names grep 1 3.准备交叉编译包 toolchain来源(找到的最新编译好的Mac版是2.3.0): https://github.com/esp8266/Arduino/releases sudo mkdir -p /opt/esp8266 sudo chmod 777 /opt

ESP8266 send and receive sockets

…衆ロ難τιáo~ 提交于 2019-12-14 03:48:56
问题 I'm new to NodeMCU programming for ESP8266. I need to send strings to the server and receive response strings. So I wrote some code, but it doesn't work properly. My program works through time, and then displays a message that the memory is full. Can you help me? ---------init funсtion----------------- wifi.setmode(wifi.STATION) wifi.sta.config("TP-LINK_ROBOT","63793246") wifi.sta.connect() --------------------------------------------- function hello (sck,c) print (c) sk:close() if c ==

WeMos (ESP8266) Function While

六眼飞鱼酱① 提交于 2019-12-14 03:36:21
问题 My function while have a problem. When I comment this line doesn't have error in monitor serial, but, when I use all function show this error on monitor serial. void windvelocity(){ speedwind = 0; counter = 0; attachInterrupt(0, addcount, RISING); unsigned long millis(); long startTime = millis(); while(millis() < startTime + period) { } } When I make upload this function to wemos, the Serial Monitor print this ets Jan 8 2013,rst cause:2, boot mode:(3,6) load 0x4010f000, len 1384, room 16

Making a UDP class which doesn't block an ESP8266 / Arduino

拜拜、爱过 提交于 2019-12-13 09:06:06
问题 I have a need in my Arduino compatible project to listen on an ESP8266 to a specific UDP port and respond when an appropriate message is received, whilst doing other application stuff in the main program loop. I want to abstract the UDP stuff into its own class, and this is where my question comes. How do I let my class continue to listen, read a UDP packet, and then call a send response method, without putting lots of code into the main program loop? The interface for my class is: #ifndef