首页
学习
活动
专区
圈层
工具
发布

当DevOps撞上物联网

NodeMCU Amica是来自Espressif的基于ESP8266芯片的可编程的小设备。除了基本的ESP8266芯片,Amica板额外的特性让开发更加容易。...···NodeMCU Amica板有一个USB接口可以给固件编程并连接到电源适配器。ESP8266芯片需要一个USB到串口的适配器去连接USB接口,它由NodeMCU板提供。...···NodeMCU自带的固件可以通过Lua语言来编程。Lua是一种高级语言,可以快速实现原型。顺便提一句,它在游戏编程领域也很流行,也可以从另一方面说明Lua的高效。...下面是一些NodeMCU的入门提示: ···NodeMCU包含的固件提供了交互式Lua解释器,可以通过串行端口访问。你通过串行线来直接开发代码。在你的开发机上安装串行通信软件。...timer函数,不经意地显露出了Lua的函数型范式。

1.1K30

ESP8266继电器控制(假装有继电器)

目前ESP8266的开发方式有这几种: AT指令方式 –烧录AT的固件包,使用AT指令与ESP8266交互,执行相应指令,需与单片机相连 NodeMCU的lua开发 –烧录NodeMCU的固件包,使用...Lua语言开发,使用ESP内部资源。...NodeMCU的lua开发:NodeMCU本质也是ESP8266,只是它的固件是与lua脚本语言交互。 优点:节省资源,开发简单,代码量少。...缺点:lua解释器执行效率较低,最终换成ArduinoIDE开发,就是因为读取传感器数据时,总是漏掉一个数据。前期准备比较麻烦。需要准备相应功能的固件,烧录进去,然后使用lua语言和工具与之调试。...语言执行效率高,节省资源,库函数比较多,开发语言简单,能够很快上手。 缺点:Arduino IDE需要写较长的代码时,不是很方便,如果需要查看底层函数或者方法,非常费劲。

3.4K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ESP8266上的MicroPython入门(1)

    这个地方有个坑,我说一下.我想写Arduino.我也知道要刷一个固件.但是我不知道要刷上面东西在里面.后来才搞明白.其实就是所谓的NodeMCU的那个固件,还支持Lua语言开发的那个.我日..........其它特性 Lua还具有其它一些特性:同时支持面向过程(procedure-oriented)编程和函数式编程(functional programming);自动内存管理;只提供了一种通用类型的表(table...,比如数据抽象,虚函数,继承和重载等。...(我也有些看不懂...高级特性俺还用不到)......看看热闹就行 用NodeMCU的好处是入手容易Lua与MicroPython相对于Arduino C来说要简单很多,所以学习其编程是非常快的...,我看Lua文档一下午,看NodeMCU一晚上,看文档一晚上,就差不多可以写了。

    1.5K30

    25-ESP8266 SDK开发基础入门篇--控制WIFI连接路由器

    (绝对的稳定可靠) 大家都知道有个团队嵌入了lua,使得WIFI可以用lua 开发,如果大家看过我写过的关于lua 的一些文章,大家应该知道实际上lua 只不过是在咱SDK开发的基础上又进行了一次封装(...咱现在这节是控制WIFI连接路由器,我给大家说怎么找 还记得咱lua开发的时候,连接路由器是 https://nodemcu.readthedocs.io/en/master/modules/wifi/...知道步骤之后呢,最好把用到的函数在API文档里面看一下,看看有没有特殊要求的 ?  ...介绍说,如果这个函数放到user_init里面,那么就不需要调用wifi_station_connect,而且还是自动重连 所以 ?...不过这是源码自带的打印,咱呢想自己打印 这样就需要监控下WIFI的连接状态 看lua 的源码 ? ? ? 咱先拷贝这个函数 ?

    1.1K20

    给Lua实现了一个数学库

    这就需要一个Lua版的数学库。 怎么给Lua写一个简洁高效的数学库,这并不是最近才开始思考的问题。...这些对象都是在栈上分配,函数返回即销毁。就算当值返回,也是直接值拷贝出去的。 在Lua中,严格意义的值类型只有boolean,number两种类型。...这个栈的范围只能在一个函数内使用。 如果你想将计算结果返回到另一个函数使用,你只能将栈中的值取出,然后显式返回给其他函数。 如果其他函数需要再次进行数学计算,就需要重新开辟一个数学栈空间。...这里使用了Lua的toclose特性, 当栈使用完之后,__close函数会自动将栈对象放入Cache中。 下次调用math.begin时,直接从Cache中分配,这样可以做到0内存分配。...= stk:vector3f_cross(v1, v2) v2 = stk:vector3f_cross(v1, v2) v2 = stk:vector3f_cross(v1, v2) v2 = stk

    53320

    【小白学Lua】之Lua变长参数和unpack函数

    一、简介   Lua的变长参数和unpack函数在实际的开发中应用的还挺多的,比如在设计print函数的时候,需要支持对多个变量进行打印输出,这时我们就需要用到Lua中的变长参数和unpack函数了。...二、Lua变长参数与unpack函数   Lua中支持可变参数,用 ... 表示。...接着我们再来看看unpack函数,在Lua里面我们通常使用它来将数组形式的table拆开。...,v3,v4,v5,v6 = func1(info) print(v1,v2,v3,v4,v5,v6)   需要注意的一点是,如果遇到数组下有nil,或者有字母key的时候,unpack将会返回nil,...运行效果如下: 1 2 3 123 456 abc 四、总结   在本篇博客中,马三同大家一起了解了Lua中变长参数和unpack函数的使用,并且通过拓展原生print函数的实例进行了练习。

    4.3K30

    二,ESP8266 GPIO和SPI和定时器和串口(基于Lua脚本语言)

    gpio.mode(4,gpio.OUTPUT)--输出模式 gpio.write(4,0)--输出低电平 这样的话这个灯就亮了 可能会有疑问,明明是GPIO2为什么填4 看资料 https://nodemcu.readthedocs.io...第一个参数 一共可以同时使用7个定时器,,id号呢是0-6 第二个参数是延时多少ms执行最后面的函数 第三个参数是设置是只执行一次,,还是调用启动函数时执行一下,还是一直间隔第二个参数的时间执行最后面的函数...,,, 解决方案是 一,重新烧写固件 但是呢也有可能重新烧写固件也不能把以前写的.lua文件清除 二,先烧写别的固件,再烧写现在的 比如:可以先烧写一个AT指令的固件,让它运行一下,然后再重新烧写lua...开发版本的,但是也有可能不能把以前写的.lua文件清除 三,修改程序保存的偏移量 您想哈,,我们的.lua程序肯定也在flash里面,,,我烧写固件时把偏移量调大肯定能把我们写的.lua代码给清除掉.要是调整后出现一直发乱码...我的做法...我用定时器做空闲检测 关于Lua的部分语法可以看,,其实了解就行,,当时自己以为需要把lua学的很好才能用lua开发8266,,,最后才知道只需要了解些语法就好了,,剩下的看8266的API

    1.4K40

    Redis 事务

    1) OK 2) OK 3) OK 127.0.0.1:6379> multi OK 127.0.0.1:6379> set a1 v1 QUEUED 127.0.0.1:6379> set a2 v2...组队成功,报错不影响其他命令 Lua 脚本 Lua 是一个小巧的脚本语言,Lua 脚本可以很容易的被 C/C++ 代码调用,也可以反过来调用 C/C++ 的函数,Lua 并没有提供强大的库,一个完整的...Lua 解释器不过 200k,所以 Lua 不适合作为开发独立应用程序的语言,而是作为嵌入式脚本语言。...很多应用程序、游戏使用 LUA 作为自己的嵌入式脚本语言,以此来实现可配置性、可扩展性 Lua 脚本在 Redis 中的优势 将复杂的或者多步的 redis 操作,写为一个脚本,一次提交给 redis...但是注意 redis 的 lua 脚本功能,只有在 Redis 2.6 以上的版本才可以使用 利用 lua 脚本淘汰用户,解决超卖问题,redis 2.6 版本以后,通过 lua 脚本解决争抢问题,实际上是

    11910

    29-ESP8266 SDK开发基础入门篇--编写TCP 客户端程序(Lwip RAW模式,非RTOS版,精简入门)

    站在巨人的肩膀上) 咱再细细的看下lua怎么实现的源码 首先确定lua都调用了什么函数 https://www.cnblogs.com/yangfengwu/p/7533302.html    lua写的...TcpConnect = nil tmr.start(1) end) end) https://nodemcu.readthedocs.io...注意:lua源码里面为了使用户操作起来便捷,所以封装的很灵活(代码更复杂些,咱只提取咱用到的部分) ? 源码实际处理部分 ? ? ?...大家知道lwip提供了两种实现网络通信的方式 第一种是 :RAW模式   就是不需要操作系统参与,所有的都是靠回调函数实现 第二种是:跑任务的 其实lua源码里面是使用的RAW模式的 大家可以自行百度LWIP...lua里面封装了以后 ,所有的信息都记录在 ud那个结构体里面 tcp_arg()的第二个参数是ud 其实下面的每一个回调函数都有个参数,上面设置以后,传递给回调函数的参数就是ud了,lua做法是直接判断和控制

    1.5K20
    领券