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…
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…
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…
前言 当前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    点击查看…
前言 这一节测试一下诱人的程序 实现的功能,APP通过SmartConfig给Wi-Fi模块配网并绑定设备,然后通过MQTT远程控制开发板的继电器, APP显示ESP8266采集的温湿度数据. 简而言之:ESP8266用LUA开发实现MQTT(连接的本人云服务器上的MQTT服务器软件) ESP8266订阅的主题:user/Wi-Fi的MAC地址 ESP8266发布的主题:device/Wi-Fi的MAC地址 使用USB连接开发板 二,如果自己的电脑没有安装CH340(串口模块)驱动,请先安装CH…
前言 开发Lua需要使用这个软件 注:该软件需要按照JDK  即 JAVA虚拟机,如果没有安装过JDK,请先看JDK安装教程安装JDK USB线连接开发板接入电脑 选择自己的串口号 波特率115200 然后点击打开 复位下模块 注意: 就像是咱单片机默认一开始执行main一样 LUA开发的时候 ,LUA默认执行 init.lua文件 因为现在里面没有init.lua文件所以有下面的显示 新建init.lua文件 打印 hello 8266 print("hello 8266") 然后把…
前言 注:为了咱后期统一起来,所以统一使用我编译的LUA固件 一,固件打开了SmartConfig / AirKiss 配网功能 二,打开了SSL 三,其它模块化程序 刷空固件 一,为了保证固件是干净的,咱先刷空固件 二,选择空固件 四,按下复位按钮 → 按下固件按钮 → 松开复位按钮 → 松开固件按钮 按照上述步骤,ESP8266进入等待刷固件状态 五,点击软件 START开始刷空固件 六,完成 刷LUA固件 一,步骤还是按照上面那样,固件选择 二,刷入固件 三,完成…
前言 官方提供了以下函数检测引脚输入状态 检测GPIO5 if( GPIO_INPUT_GET(5) == 0 ) GPIO5当前为低电平 if( GPIO_INPUT_GET(5) == 1 ) GPIO5当前为高电平 检测输入的第一种方式 在引脚为输出的状态下,检测引脚输入状态 注:该模式应用于检测引脚输出的高低电平状态. PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO5_U , FUNC_GPIO5); GPIO_OUTPUT_SET(5, 1);//设置GPIO5…
原理图 实物图 硬件说明 开发板板载说明: 1.主控芯片: ESP8266_12F 1.温湿度传感器DHT11   与连接ESP8266        GPIO4引脚 2.一路继电器                  与连接ESP8266        GPIO5引脚 3.OLED液晶屏                与连接ESP8266       SDA--GPIO13       SCL--GPIO14 4.指示灯                         与连接ESP8266  …
前言 这节咱自己编译LUA固件 准备一台linux的机子 我把固件放到了git上,方便电脑用http下载 我先用这个连接linux 大家随意哈,只要是一台linux的机子就可以,不管是图形页面还是命令行形式使用,只要自己可以操作就可以 我用的是ubuntu16.4 执行 apt-get update 如果自己的ubuntu什么都没有安装,,先执行个命令 apt-get update 更新一下软件库列表,其实是发行ubuntu的人们为咱把几乎所有可能用到的软件都放到了一个地方.咱执行这个命令,就可…
前言 这节咱去官网上获取lua开发的固件. 官网下载 下面是我以前写的,咱不使用官网下载的固件,咱使用自己编译的固件.. 填写好自己的的邮箱地址,然后选择好自己需要的功能,一会编译好的固件就会发到您的邮箱 地址 https://nodemcu-build.com/ 我一开始用的QQ邮箱,不过后来不知道怎么的我的qq邮箱不可以了,,,,所以就用的自己的新浪邮箱 然后就会出现下面的界面,,等着哈 邮件发过来啦 这样就在官网上获取了固件了. 刷的时候刷其中一个进去就可以 注:不用刷,咱不用官方的固件.…
前言 这节说一下多个文件调用 多个文件之间变量调用 准备两个文件 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") 现在看变量 记住一句话…
一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市场快速变化的开发团队,以达到节省开发成本.缩短开发时间,快速适应市场变化的目的. AgileEAS.NET SOA中间件平台提供了敏捷快速开发软件工程的最佳实践,通过提供大量的基础支撑功能如IOC.ORM.SOA.分布式体系及敏捷并发开发方法所支撑的插件开发体系,以及提供了大量的实体.数据模型设计生…
前言 官方提供了两个函数 GPIO_OUTPUT_SET(gpio_no, bit_value) 设置GPIO2输出高电平 GPIO_OUTPUT_SET(2, 1); 设置GPIO2输出低电平 GPIO_OUTPUT_SET(2, 0); GPIO_OUTPUT(gpio_bits, bit_value) 官方提供的一次性设置多个引脚函数 设置GPIO2和GPIO5输出高电平 GPIO_OUTPUT(BIT2 | BIT5, 1); 设置GPIO2和GPIO5输出低电平 GPIO_OUTPUT…
这些天,,,,今天终于看到了希望,,,天道酬勤 先说实现的功能...让ESP8266连接无线网,然后让它建立服务器,,我的客户端连接上以后,发给客户端发数据模块打印到串口,,往ESP8266串口里发数据自动转发给网口 先看效果图,终于不需要单片机配置了 程序源码 我的init.lua lighton= pin= gpio.mode(pin,gpio.OUTPUT) tmr.alarm(,,,function() then lighton= gpio.write(pin,gpio.HIGH) el…
---恢复内容开始--- 写完这篇Lua脚本语言入门,自己就要尝试去用Lua脚本语言写esp8266了,,自己现在挺心急的,因为朋友使用esp8266本来说自己帮忙写好程序的,但是用的单片机不一样自己没有,没有办法测试,用AT指令就显得不方便,还要根据单片机改程序,,而且自己以前用感觉AT指令发信息那块,麻烦,,,,自己知道用脚本去操作8266要比AT指令灵活和稳定的多,真想赶紧学会用Lua脚本去操作8266,那样的话就可以很方便的帮到朋友了......本来答应了,,,,,,,竟然食言了....…
这是道哥的第008篇原创 一.前言 上篇文章我们聊了gdb的底层调试机制,明白了gdb是利用操作系统提供的系统信号来调试目标程序的.很多朋友私下留言了,看到能帮助到大家,我心里还是很开心的,其实这也是我继续输出文章的最大动力!后面我会继续把自己在项目开发中的实战经验进行总结. 由于gdb的代码相对复杂,没有办法从代码层面仔细的分析调试细节,所以这次我们选择一个小巧.开源的Lua脚本语言,深入到最底层的代码中去探究一下代码调试真正是怎么一回事. 不过请放心,虽然深入到代码最底层,但是理解难度并不大…
Lua是一个实用的脚本语言,相对于Python来说,比较小巧,但它功能并不逊色,特别是在游戏开发中非常实用(WoW采用的就是Lua作为脚本的).Lua在C\C++的实现我就不多说了,网上随便一搜,到处都是这方面的介绍,我想说的是如何在Java下使用Lua以提高编程效率.增强你的程序可扩展性. 首先,要在Java上使用Lua脚本,必须有关于Lua脚本解释器以及Java程序可以访问这些脚本的相关API,即相关类库.我使用的是一个叫做LuaJava的开源项目,可以在: http://www.keple…
今天开始自己的Lua语言学习,Lua脚本语言,是介于应用程序和开发其应用程序的底层编程语言之间,,它很方便调用其它语言,它只是在载入时对其进行编译,而不像我们写的单片机程序是预编译的,先编译好然后写入单片机,它只是在调用时编译,所以脚本语言的灵活性很高,,,,,对于自己为什么又开始学习脚本语言了,,因为需要了 ........ 先打印个 hello world 一,变量 Lua有五种变量类型nil,Boolean,string,Number,table 看一个例子,,,,,,,,,先哄我外甥玩,…
又要找工作了,变的忧虑了,唯有学习才让内心变得踏实,今天玩了一下午的王者荣耀,正事都忘了...... 如果认为所谓的毅力是每分每秒的"艰苦忍耐"式的奋斗,那这是一种很不足的心理状态.毅力是一种习惯,毅力是一种状态,毅力是一种生活--- 摘至老衲五木写得--"LwIP协议栈源码详解",,,一工作总是感觉以前的热情没有了,不知道这种状态还要持续到什么时候,每一次改变总需要一个开始..希望尽快开始...... 你像一个小小的太阳有一种温暖总是让我将要冰冷的心有地方取暖你总…
又要找工作了,变的忧虑了,唯有学习才让内心变得踏实,今天玩了一下午的王者荣耀,正事都忘了...... 如果认为所谓的毅力是每分每秒的“艰苦忍耐”式的奋斗,那这是一种很不足的心理状态.毅力是一种习惯,毅力是一种状态,毅力是一种生活--- 摘至老衲五木写得--"LwIP协议栈源码详解",,,一工作总是感觉以前的热情没有了,不知道这种状态还要持续到什么时候,每一次改变总需要一个开始..希望尽快开始...... 你像一个小小的太阳有一种温暖总是让我将要冰冷的心有地方取暖你总是微笑如花总是看我沉…
一直觉得大部分的FC/NES模拟器的作弊码金手指不是那么方便使用, 比如魂斗罗1代, 玩家的武器可以通过修改0xAA的值来改变: 0x11为M弹(重机枪),0x12为F弹(圈圈),0x13为S弹(散弹),0x14为L弹(激光束), 于是金手指就像下面这样: 00AA-01-11 M弹 00AA-01-12 F弹 ....... 这种修改的方式显得比较死板, 而且大部分的模拟器金手指没有分类, 全部写在一起, 没有分类, 不友好. 下面看看我增加的脚本功能吧(双击就可以执行指定的脚本): 首先可以…
纯属个人见解. 大致来说:c/c++执行效率高,游戏中一些性能敏感的复杂计算需要用c/c++来实现,防止游戏卡顿和低帧率.这些复杂计算包括战斗逻辑,复杂AI,骨骼动画蒙皮骨骼点的坐标计算等等.但c++是一种比较复杂的编程语言,开发效率较低.嘛,不过这不是主要问题,对于商业手游项目只用c++开发,是致命的.这一点在后边lua具体说明. lua是脚本语言,执行效率不及c/c++,往往用来实现性能不敏感的游戏逻辑,比如窗口界面等等.另外lua语法简单,开发效率高,没有编程背景的策划花精力后也可以掌握,…
Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用.不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,Ini等文件格式,并且更容易理解和维护.同时,它广泛地应用于网游.自动化交易系统.股软(公式)等中. Lua 是一个小巧的脚本语言.作者是巴西人.该语言的设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能.它的主页是 www.lua.org. 在C#中使用Lua也十分简单. LuaInterface is…
学了两天Lua语言,感叹其短小精悍,上手极快,语法还很舒服,不错!整理下学习过程中经常用到的基础知识,共勉! Lua用法简述 Lua语言是在1993年由巴西一个大学研究小组发明,其设计目标是作为嵌入式程序移植到其他应用程序,它是由C语言实现的,虽然简单小巧但是功能强大,所以许多应用都选用它作为脚本语言,尤其是在游戏领域,例如大名鼎鼎的暴雪公司将Lua语言引入到"魔兽世界"这款游戏中,Rovio公司将Lua语言作为"愤怒的小鸟"这款火爆游戏的关卡升级引擎,Web服务器…
文章结束给大家来个程序员笑话:[M] 为了放慢Script.NET的开展,蓝蚂蚁工作室将在近期将Script.NET的全部代码开源,因为开源之前需要将代码先整理一遍,大约需要一周时间,筹划7月初可以整理实现,之后我们会将代码在github上开源. Script.NET是蓝蚂蚁工作室从2000年开始开辟的一套用于Tcl.Python.Perl.Ruby.Lua等脚本语言的集成开辟环境,Script.NET的界面如下:     每日一道理 古人云:“海纳百川,有容乃大.”人世间,不可能没有矛盾和争吵…
ESP8266 Non-OS SDK 和 RTOS SDK 实现GPIO的方法稍有不同: 对于 Non-OS SDK,比如需要把 MTDO 配置成输入,同时下降沿触发中断: gpio_init(void) { PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDO_U,FUNC_GPIO15); GPIO_DIS_OUTPUT(GPIO_ID_PIN()); //Configure it in input mode. ETS_GPIO_INTR_DISABLE(); //Clos…
https://www.cnblogs.com/yangfengwu/p/7514336.html 我们写lua用这个软件 如果点击的时候提示安装,,安装就行,,如果没有提示呢可以,按照下面链接的提示自己安装哈,,,,,或者自己百度 http://jingyan.baidu.com/article/3c343ff70bc6ea0d377963df.html 让这个灯亮 这个灯连接到了GPIO2,低电平点亮 gpio.mode(,gpio.OUTPUT)--输出模式 gpio.write(,)--…