LuatOS ——运行在嵌入式硬件的实时操作系统,开启全新物联网生态。

聚焦嵌入式应用生态,内置功能可支持绝大多数物联网应用场景。深度整合Lua语言,只需少量内存和Flash空间就能运行。不局限于合宙产品,不局限于通信模块,更注重各软硬件平台的可移植性。

LuatOS全新在线模拟器,可快速体验开发流程、熟悉开发接口,无需硬件设备、无需软件设置,随时随地发挥创意,在线实验即刻实现!

复制链接至浏览器,即可使用:

https://wiki.luatos.com/pages/emulator.html

在线模拟示例:点灯


通过在线运行以下代码,即可实现上图点灯效果。可以根据自己想要的各种点灯效果,修改代码尝试。

\--加载sys库

sys = require("sys")

\-- 设置gpio1为输出模式,初始状态为低电平,返回的led1为控制gpio的函数

led1 = gpio.setup(1,0,gpio.PULLUP)

\-- 设置gpio1为高电平,点亮led1

led1(1)

\-- 设置gpio2为输出模式,初始状态为低电平,返回的led1为控制gpio的函数

led2 = gpio.setup(2,0,gpio.PULLUP)

\-- 记录上次的led状态

local last = false

\-- 一秒改变一次led2的状态

sys.timerLoopStart(function()

 led2(last and 0 or 1)\-- 根据上次状态决定是否亮灯

 log.info("led2",last)

 last = not last\--更改状态标志

end,1000)

\-- 用户代码已结束--

\-- 运行lua task,只能调用一次,而且必须写在末尾

\-- 结尾总是这一句

sys.run()

\-- sys.run()之后后面不要加任何语句!!!!!

在线模拟示例:PWM控制转速


通过在线运行以下代码,即可实现上图PWM转速控制效果。可根据所需,调整相关参数以实现不同转速。

\--加载sys库

sys = require("sys")

\-- 打开PWM0, 频率1kHz, 占空比1%

pwm.open(0, 1000, 1)

\--开个任务,让pwm转速慢慢增大后,循环

sys.taskInit(function()

 local speed = 0

 while true do

 speed = speed + 10

 if speed > 100 then speed = 0 end

 log.info("pwm","speed now",speed,"%")

 pwm.open(0, 1000, speed)

 sys.wait(5000)

 end

end)

\--不用的时候应该关掉

\--pwm.close(0)

\-- 用户代码已结束--

\-- 运行lua task,只能调用一次,而且必须写在末尾

\-- 结尾总是这一句

sys.run()

\-- sys.run()之后后面不要加任何语句!!!!!

更多示例,请通过LuatOS在线模拟器体验:

https://wiki.luatos.com/pages/emulator.html

我们也为普通的Lua开发,提供了在线的交互调试工具:

https://wiki.luatos.com/_static/repl/index.html

随时随地,发挥你的灵感创意吧~

上海合宙通信模块 - 合宙Luat,让万物互联更简单

LuatOS | 全新在线模拟器,随时随地发挥创意的更多相关文章

  1. Linux 在线模拟器

    最近在学习Linux的一些命令的使用,但是很久之前装的Linux虚拟机被删掉了,又不想为了练习几个命令折腾一遍虚拟机.所以,就尝试地搜了一下,看看有没有在线的Linux模拟器可以使用,只要可以练习一下 ...

  2. linux===linux在线模拟器汇总

    jslinux: http://bellard.org/jslinux/ 一个叫Fabrice Bellard的工程师使用 JavaScript 在浏览器上模拟出了一个 Linux 系统.没有图形化界 ...

  3. Open XML SDK 在线编程黑客松

    2015年2月10日-3月20日,开源社 成员 微软开放技术,GitCafe,极客学院联合举办" Open XML SDK 在线编程黑客松 ",为专注于开发提高生产力的应用及服务的 ...

  4. 介绍Visual Studio的Android模拟器

    介绍Visual Studio的Android模拟器 http://blogs.msdn.com/b/visualstudioalm/archive/2014/11/12/introducing-vi ...

  5. Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) JAVA日志的前世今生 .NET MVC采用SignalR更新在线用户数 C#多线程编程系列(五)- 使用任务并行库 C#多线程编程系列(三)- 线程同步 C#多线程编程系列(二)- 线程基础 C#多线程编程系列(一)- 简介

    Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) 一.前言 由于本篇文章较长,所以下面给出内容目录方便跳转阅读,当然也可以用博客页面最右侧的文章目录导航栏进行跳转查阅. 一.前言 ...

  6. 免费在线生成彩色带logo的个性二维码

          码工具网站提供免费的在线二维码生成服务,可以把网址.文本.电子邮件.短信.电话号码.电子名片.wifi网络等信息生成对应的二维码图片.你可以设置二维码图片的格式(png,jpg,gif). ...

  7. 供Linux学习使用的在线模拟系统

    前言 我只是一名搬运工. 最近想要找一个linux服务器用于调试shell脚本,但是公司服务器又只能内网访问,外网无法使用.对安装VMWARE+Linux镜像觉得繁琐.查找了一下资料.找到了几个在线模 ...

  8. 人工智能AI芯片与Maker创意接轨(下)

    继「人工智能AI芯片与Maker创意接轨」的(上)篇中,认识了人工智能.深度学习,以及深度学习技术的应用,以及(中)篇对市面上AI芯片的类型及解决方案现况做了完整剖析后,系列文到了最后一篇,将带领各位 ...

  9. 人工智能AI芯片与Maker创意接轨 (中)

    在人工智能AI芯片与Maker创意接轨(上)这篇文章中,介绍人工智能与深度学习,以及深度学习技术的应用,了解内部真实的作业原理,让我们能够跟上这波AI新浪潮.系列文来到了中篇,将详细介绍目前市面上的各 ...

随机推荐

  1. phpstorm中加上符号($,括号等)后搜索不到

    Ctrl+F右边选中这个Regex后带上符号就搜索不到,不要勾选这个就可以带符搜索了

  2. 微信小程序中的加载更多(即列表分页)

    1.app.json中: "window": { "enablePullDownRefresh": true //是否开启当前页面下拉刷新 } 2.wxml中: ...

  3. 常用的 TCP KeepAlive 参数

    转自:http://dola.xinfan.org/?p=359 我们知道 TCP 协议有检测连接状态的机制,当连接不活跃的时候,连接双方会通过一定的算法检测连接是否正常.这个机制就是 TCP 的 K ...

  4. 【技术博客】基于vue的前端快速开发(工具篇)

    一.Vue教程 vue.js是一套构建用户界面的渐进式框架.vue采用自底向上增量开发的设计.vue的核心库只关心视图层,非常容易学习,非常容易与其它库和已有项目整合.vue完全有能力驱动采用单文件组 ...

  5. java集合-哈希表HashTable

    一.简介 HashTable也是一种key-value结构,key-value不允许null,并且这个类的几乎全部的方法都加上了synchronized锁,来保证并发安全,由于加了锁所以性能方面会比较 ...

  6. Mybatis-Plus的应用场景及注入SQL原理分析

    一.背景 1.1 传统Mybatis的弊端 1.1.1 场景描述 假设有两张表:一张商品表.一张订单表,具体表的字段如下: 现有如下需求: 分别根据id查询商品表和订单表所有信息 根据支付状态和通知状 ...

  7. 020.Python生成器和生成器函数

    一 生成器 1.1 基本概念 元组推导式是是生成器(generator) 生成器定义 生成器可以实现自定义,迭代器是系统内置的,不能够更改 生成器的本质就是迭代器,只不过可以自定义. 生成器有两种定义 ...

  8. shell基础之shell相关概念

    一.脚本介绍 1.脚本简单地说就是一条条的文字命令(一些指令的堆积),这些文字命令是可以看到的(如可以用记事本打开查看.编辑). 常见的脚本: JavaScript(JS,前端),VBScript, ...

  9. 结合JVM 浅谈Java 类加载器(Day_03)

    所谓错过,不是错了,而是过了. 什么是JAVA类加载? Class对象由JVM自动产生,每当一个类被加载时,JVM就自动为其生成一个Class对象,通过Class对象可以获得类的相关信息.将类信息读取 ...

  10. 3D网页小实验-基于Babylon.js与recast.js实现RTS式单位控制

    一.运行效果 1.建立一幅具有地形起伏和不同地貌纹理的地图: 地图中间为凹陷的河道,两角为突出的高地,高地和低地之间以斜坡通道相连. 水下为沙土材质,沙土材质网格贴合地形,河流材质网格则保持水平. 2 ...