https://www.cnblogs.com/yangfengwu/p/7514336.html 我们写lua用这个软件 如果点击的时候提示安装,,安装就行,,如果没有提示呢可以,按照下面链接的提示自己安装哈,,,,,或者自己百度 http://jingyan.baidu.com/article/3c343ff70bc6ea0d377963df.html 让这个灯亮 这个灯连接到了GPIO2,低电平点亮 gpio.mode(,gpio.OUTPUT)--输出模式 gpio.write(,)--…
让这个灯亮 我们写lua用这个软件 链接:http://pan.baidu.com/s/1kVN09cr 密码:pfv7 http://www.cnblogs.com/yangfengwu/p/6247048.html   这个有点使用说明 这个灯连接到了GPIO2,低电平点亮 gpio.mode(4,gpio.OUTPUT)--输出模式 gpio.write(4,0)--输出低电平 这两句话就亮了 可能会有疑问,明明是GPIO2为什么填4 看资料 https://nodemcu.readthe…
这些天,,,,今天终于看到了希望,,,天道酬勤 先说实现的功能...让ESP8266连接无线网,然后让它建立服务器,,我的客户端连接上以后,发给客户端发数据模块打印到串口,,往ESP8266串口里发数据自动转发给网口 先看效果图,终于不需要单片机配置了 程序源码 我的init.lua lighton= pin= gpio.mode(pin,gpio.OUTPUT) tmr.alarm(,,,function() then lighton= gpio.write(pin,gpio.HIGH) el…
https://www.cnblogs.com/yangfengwu/p/7533845.html 应该是LUA介绍8266的最后一篇,,,,,,下回是直接用SDK,,然后再列个12345.......不过要等一两个星期,先忙完朋友的事情 前面几篇 用AT指令版本的 一,  http://www.cnblogs.com/yangfengwu/p/5205570.html    发AT指令,,其实AT指令就是事先用SDK内部写好了 二,  http://www.cnblogs.com/yangfe…
今天不知道是不是让我姐挺失望.......很多时候都不知道自己努力的方向对不对,,以后能不能带给家人最美好的期盼...... Init.lua 没啥改变,,就改了一下加载Client.lua gpio.mode(,gpio.OUTPUT) gpio.write(,) tmr.alarm(, , , function() gpio.write(,-gpio.read()) end) tmr.alarm(, , , function() dofile("Client.lua") end)…
https://www.cnblogs.com/yangfengwu/p/7524326.html 一些时间去准备朋友的元器件了... 接着写,,争取今天写完所有的文章,,因为答应了朋友下周5之前要做好朋友的东西 对于TCP大家在玩AT指令的时候有没有发现客户端最多连接5个,,,再连接就不行了?? 所以在用AT指令开发的时候单片机程序一定要记得清除多余的连接 现在看用LUA语言怎么做 直接先上菜 Init.lua gpio.mode(,gpio.OUTPUT) gpio.mode(,gpio.O…
https://www.cnblogs.com/yangfengwu/p/7520260.html 重点是说SPI通信协议,,,, 不要害怕协议因为协议是人规定的,,刚好我也是人......规定的协议既然能成为规范让所有人所接受,那么必然有它的优势和优点,必然值得学习,, 害怕协议的人是因为当初碰到了不懂的老师,他只会告诉你这很难............其实是他不会........ CS      :   Chip Selection    片选引脚,多个设备时可以用这个引脚选择和哪个设备通信…
用自己的小板测试...... 安排上呢 一, ESP8266下载和刷固件(Lua开发----体验一下lua开发的魅力所在) 二, 控制一个灯亮灭 三, TCP服务器 四, TCP客户端 五, UDP 六, 文件操作(保存数据到8266内部) 七, 外设操作(SPI,ADC) 八, 再说...... 先看下载自己的固件 填写好自己的的邮箱地址,然后选择好自己需要的功能,一会编译好的固件就会发到您的邮箱 地址 https://nodemcu-build.com/ 我下载的 链接:https://pa…
现在我有一个需求,WIFI模块控制一个继电器,我要做的是如果内部程序跑乱了,造成了内部程序复位重启,那么控制继电器的状态不能改变 如果是设备断电了,然后又来电了,我需要的是继电器一定要是断开才好.不能加额外的电路,只能在程序中做判断 其实  内部程序跑乱了,造成了内部程序复位重启     和   设备断电了,然后又来电了     然后都是重新执行程序,不知道大家是如何做的 我的思路是... 先说一下WIFI模块的一个很大的优点, 大家有没有注意WIFI模块的引脚,假设配置了一个引脚为高电平,无论…
我要赶时间赶紧写完所有的内容....朋友的东西答应的还没做完呢!!!!!!!没想到又来了新的事情,,....... 配置模块作为TCP服务器然后呢咱们连接服务器发指令控制LED亮灭 控制的指令呢咱就配置成---- http://www.cnblogs.com/yangfengwu/p/7513097.html 这篇文章最后的指令,,毕竟最终咱们就要做成那样子.....这样的话8266就应该使用的非常顺手和轻松了 可以看一下这篇文章,,初略看一下就行,这是以前写的代码不怎么好,,,这篇文章会详细的…
前言 这一节测试一下诱人的程序 实现的功能,APP通过SmartConfig给Wi-Fi模块配网并绑定设备,然后通过MQTT远程控制开发板的继电器, APP显示ESP8266采集的温湿度数据. 简而言之:ESP8266用LUA开发实现MQTT(连接的本人云服务器上的MQTT服务器软件) ESP8266订阅的主题:user/Wi-Fi的MAC地址 ESP8266发布的主题:device/Wi-Fi的MAC地址 使用USB连接开发板 二,如果自己的电脑没有安装CH340(串口模块)驱动,请先安装CH…
前言 当前8266有各种开发 1.在官方已经封装好的C库上开发(SDK开发) 2.官方在SDK的基础上封装的AT指令程序(AT指令开发) 3.在SDK的基础上嵌入脚本语言(Lua,Python等开发方式) 所以大家首先要明白,AT指令和脚本语言是别人在SDK的基础上进行了封装 然后咱再在封装的基础上进行开发,实际上最终还是调用SDK函数执行. 举个例子:STM32嵌入LUA语言开发 https://www.cnblogs.com/yangfengwu/p/9315841.html    点击查看…
https://nodemcu.readthedocs.io/en/master/modules/tmr/ local mytimer1 = tmr.create() function TimeFunction1() print("1S 循环定时器") end mytimer1:register(, , TimeFunction1) mytimer1:start() local mytimer2 = tmr.create() function TimeFunction2() print…
https://nodemcu.readthedocs.io/en/master/modules/gpio/#gpiomode 测试引脚 GPIO0 gpio.mode(,gpio.INT) function GpioDown() print("GpioDown") end gpio.trig(,"down",GpioDown) 按下按钮 提示: 打印多个是因为按钮抖动…
咱使用 GPIO0 https://nodemcu.readthedocs.io/en/master/modules/gpio/#gpioread 第一种 GPIO设置为输出的状态下读取引脚状态 gpio.mode(, gpio.OUTPUT) gpio.write(, gpio.HIGH) ) == then print("GPIO0 is HIGH") end 可以检测继电器输出的状态,自行扩展! 第二种 GPIO设置为输入的状态下.检测GPIO状态 gpio.mode(, gpi…
前言 所有的LUA开发API参考 https://nodemcu.readthedocs.io/en/master/en/modules/gpio/ 原理图 让GPIO2输出高电平只需 gpio.mode(4, gpio.OUTPUT) //设置为输出 gpio.write(4, 1)//输出高电平 注意: GPIO有个对应关系 测试 点亮 熄灭 gpio.mode(4, gpio.OUTPUT)gpio.write(4, 0) 扩展 控制继电器吸合 故 gpio.mode(1, gpio.OU…
前言 注:为了咱后期统一起来,所以统一使用我编译的LUA固件 一,固件打开了SmartConfig / AirKiss 配网功能 二,打开了SSL 三,其它模块化程序 刷空固件 一,为了保证固件是干净的,咱先刷空固件 二,选择空固件 四,按下复位按钮 → 按下固件按钮 → 松开复位按钮 → 松开固件按钮 按照上述步骤,ESP8266进入等待刷固件状态 五,点击软件 START开始刷空固件 六,完成 刷LUA固件 一,步骤还是按照上面那样,固件选择 二,刷入固件 三,完成…
https://nodemcu.readthedocs.io/en/master/modules/uart/ 串口发送数据 发送一个16进制到串口 uart.write(0, 0xaa) 注: 之所以有后面的这两个是因为咱打印的时候其实单片机还没有完全运行完内部的程序 3E 代表 >      20是空 咱加个定时器,每隔1S打印 打印字符串 local mytimer1 = tmr.create() function TimeFunction1() uart.write(, "hello…
原理图 实物图 硬件说明 开发板板载说明: 1.主控芯片: ESP8266_12F 1.温湿度传感器DHT11   与连接ESP8266        GPIO4引脚 2.一路继电器                  与连接ESP8266        GPIO5引脚 3.OLED液晶屏                与连接ESP8266       SDA--GPIO13       SCL--GPIO14 4.指示灯                         与连接ESP8266  …
上一篇文章忘了插入代码了,方便粘贴复制...... 函数 对于c语言就是 void aa()//c语言是用void { print("这是一个函数") } Lua就变成了 function aa()--定义一个函数 print("这是一个函数") end aa()--调用函数 function aa(str)--定义一个函数 print("传进来的是"..str) end aa()--调用函数 看有返回值的 function aa(str) re…
上一篇文章忘了插入代码了,方便粘贴复制...... 函数 对于c语言就是 void aa()//c语言是用void { print("这是一个函数") } Lua就变成了 function aa()--定义一个函数 print("这是一个函数") end aa()--调用函数 function aa(str)--定义一个函数 print("传进来的是"..str) end aa()--调用函数 看有返回值的 function aa(str) re…
前言 这节说一下多个文件调用 多个文件之间变量调用 准备两个文件 init.lua other.lua 开始 模块默认一开始调用的是init.lua 咱让init.lua调用 other.lua 很简单 dofile("other.lua") 注意: 因为是init.lua 调用 other.lua 所以需要先下载 other.lua 然后再下载 init.lua 软件已启动便会 打开other.lua 然后调用 print("other") 现在看变量 记住一句话…
前言 开发Lua需要使用这个软件 注:该软件需要按照JDK  即 JAVA虚拟机,如果没有安装过JDK,请先看JDK安装教程安装JDK USB线连接开发板接入电脑 选择自己的串口号 波特率115200 然后点击打开 复位下模块 注意: 就像是咱单片机默认一开始执行main一样 LUA开发的时候 ,LUA默认执行 init.lua文件 因为现在里面没有init.lua文件所以有下面的显示 新建init.lua文件 打印 hello 8266 print("hello 8266") 然后把…
前言 这节咱自己编译LUA固件 准备一台linux的机子 我把固件放到了git上,方便电脑用http下载 我先用这个连接linux 大家随意哈,只要是一台linux的机子就可以,不管是图形页面还是命令行形式使用,只要自己可以操作就可以 我用的是ubuntu16.4 执行 apt-get update 如果自己的ubuntu什么都没有安装,,先执行个命令 apt-get update 更新一下软件库列表,其实是发行ubuntu的人们为咱把几乎所有可能用到的软件都放到了一个地方.咱执行这个命令,就可…
前言 这节咱去官网上获取lua开发的固件. 官网下载 下面是我以前写的,咱不使用官网下载的固件,咱使用自己编译的固件.. 填写好自己的的邮箱地址,然后选择好自己需要的功能,一会编译好的固件就会发到您的邮箱 地址 https://nodemcu-build.com/ 我一开始用的QQ邮箱,不过后来不知道怎么的我的qq邮箱不可以了,,,,所以就用的自己的新浪邮箱 然后就会出现下面的界面,,等着哈 邮件发过来啦 这样就在官网上获取了固件了. 刷的时候刷其中一个进去就可以 注:不用刷,咱不用官方的固件.…
一:首先在我的平台注册platform_device,保证能让spi-gpio.c能执行到probe函数. 1: struct spi_gpio_platform_data { 2: unsigned sck; 3: unsigned mosi; 4: unsigned miso; 5:   6: u16 num_chipselect; 7: }; 1: //#define NCS GPIO_PB(2) //定义SS所对应的GPIO接口编号 2: //#define SCLK GPIO_PB(0…
上次用gpio模拟i2c理解i2c协议.相同的,我用gpio模拟spi来理解spi协议. 我用的是4线spi,四线各自是片选.时钟.命令/数据.数据. 数据在时钟上升沿传递,数据表示的是数据还是命令由命令/数据线决定. 開始条件: void spi_start(void) { gpio_config(GPIO_CS, GPIO_OUTPUT); udelay(SPI_SPEED_DURATION); gpio_set(GPIO_CS, 0);/* start condition */ udela…
序 一入坑便停不下来... 还挺有意思的哈,233,,,, 资料杂,自己一个一个去找确实浪费了不少时间,而且大多还都是英文的,需要硬着头皮看. 这次实践入门,更是对英语的重要确信无疑.Github必须要玩的6了,多好的东西啊,就那么放到你的眼前就因为你的不懂英文把人家拒之门外,可悲可怜可叹~ 另外还对API文档也感悟颇深,多么详细的资料.多么好的教程,可惜自己以前就是不会用.哎~ > 不扯淡了,分享自己探索历程希望你可以少走弯路. Lua初识 NodeMCU自带LUA的解释器,所以可以用LUA语…
本篇,来谈谈类型系统,以及部分与垃圾收集器相关的内容. 一.基本类型 Xmas的基本类型:Null.Boolean.Label.String.Ref.Function.Integer.Float.Decimal.Array.List.Set.Map.Object:14个,相对于其他的脚本语言是有些多的:但,这些类型都是"原子的",少了其中一种,多少会有些不方便(但并非不完备,如Decimal可以代替所有算数类型:Map则可以可以替代所有容器类型).如果,你看过上一篇,会发现有那么一点点…
javascript 是可以运行在网页前端的脚本语言,可以基于 html 之上实现更丰富的交互(网页内容的交互显示).异步回调.多线程.定时器.动画等. hello_world.html <html> <head></head> <body> <script type="javascript"> document.write("<h1>hello world!</h1>") <…