LuatOS | 全新在线模拟器,随时随地发挥创意

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
随时随地,发挥你的灵感创意吧~


LuatOS | 全新在线模拟器,随时随地发挥创意的更多相关文章
- Linux 在线模拟器
最近在学习Linux的一些命令的使用,但是很久之前装的Linux虚拟机被删掉了,又不想为了练习几个命令折腾一遍虚拟机.所以,就尝试地搜了一下,看看有没有在线的Linux模拟器可以使用,只要可以练习一下 ...
- linux===linux在线模拟器汇总
jslinux: http://bellard.org/jslinux/ 一个叫Fabrice Bellard的工程师使用 JavaScript 在浏览器上模拟出了一个 Linux 系统.没有图形化界 ...
- Open XML SDK 在线编程黑客松
2015年2月10日-3月20日,开源社 成员 微软开放技术,GitCafe,极客学院联合举办" Open XML SDK 在线编程黑客松 ",为专注于开发提高生产力的应用及服务的 ...
- 介绍Visual Studio的Android模拟器
介绍Visual Studio的Android模拟器 http://blogs.msdn.com/b/visualstudioalm/archive/2014/11/12/introducing-vi ...
- Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) JAVA日志的前世今生 .NET MVC采用SignalR更新在线用户数 C#多线程编程系列(五)- 使用任务并行库 C#多线程编程系列(三)- 线程同步 C#多线程编程系列(二)- 线程基础 C#多线程编程系列(一)- 简介
Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) 一.前言 由于本篇文章较长,所以下面给出内容目录方便跳转阅读,当然也可以用博客页面最右侧的文章目录导航栏进行跳转查阅. 一.前言 ...
- 免费在线生成彩色带logo的个性二维码
码工具网站提供免费的在线二维码生成服务,可以把网址.文本.电子邮件.短信.电话号码.电子名片.wifi网络等信息生成对应的二维码图片.你可以设置二维码图片的格式(png,jpg,gif). ...
- 供Linux学习使用的在线模拟系统
前言 我只是一名搬运工. 最近想要找一个linux服务器用于调试shell脚本,但是公司服务器又只能内网访问,外网无法使用.对安装VMWARE+Linux镜像觉得繁琐.查找了一下资料.找到了几个在线模 ...
- 人工智能AI芯片与Maker创意接轨(下)
继「人工智能AI芯片与Maker创意接轨」的(上)篇中,认识了人工智能.深度学习,以及深度学习技术的应用,以及(中)篇对市面上AI芯片的类型及解决方案现况做了完整剖析后,系列文到了最后一篇,将带领各位 ...
- 人工智能AI芯片与Maker创意接轨 (中)
在人工智能AI芯片与Maker创意接轨(上)这篇文章中,介绍人工智能与深度学习,以及深度学习技术的应用,了解内部真实的作业原理,让我们能够跟上这波AI新浪潮.系列文来到了中篇,将详细介绍目前市面上的各 ...
随机推荐
- 【译】.NET 的新的动态检测分析
随着 Visual Studio 16.9 的发布,Visual Studio 中的检测分析变得更好用了.本文介绍我们新的动态分析工具.这个工具显示了函数被调用的确切次数,并且比我们以前的静态检测工具 ...
- 深度解析对象的hashcode和equals的差异,以及String的内存分配方式
Q:Java对象的hashcode是怎么得到的 A:Java对象的hashcode是native方法,不是通过Java实现的.hashcode的值是根据对象的内存地址得到的一串数字. Q:如果两个对象 ...
- 0902-用GAN生成动漫头像
0902-用GAN生成动漫头像 目录 一.概述 二.代码结构 三.model.py 3.1 生成器 3.2 判别器 四.参数配置 五.数据处理 六.训练 七.随机生成图片 八.训练模型并测试 pyto ...
- react+antd 使用脚手架动态修改主题色
最近做了一个需求,后台管理系统添加一个可以动态修改ant-design主题色.查询了大多数的文章,发现基本都是抄来抄去,而且文章记录的也一点也不详细.刚刚把这个功能做完了,顺便记录一下如何去修改主题色 ...
- sscanf的应用
1.提取字符串 2.提取指定长度的字符串 3.提取指定字符为止的字符串 4.取仅包含指定字符集的字符串 5.取到指定字符集为止的字符串 #include <stdio.h> int mai ...
- 实施CRM系统后 企业客户服务的改变
通过实施CRM客户管理系统,企业的竞争力和盈利能力得到大幅提高.在这个过程中,客户服务不仅能够持续的满足客户的需求,还能够促进客户与企业建立长期的互惠互利的良好客户关系,这也为企业赢得了更多的商机和利 ...
- Java集合详解(三):LinkedList原理解析
概述 本文是基于jdk8_271源码进行分析的. LinkedList底层是基于链表实现.链表没有长度限制,内存地址不需要固定长度,也不需要是连续的地址来进行存储,只需要通过引用来关联前后元素即可完成 ...
- Docker——Registry搭建私有镜像仓库
前言 在 Docker 中,当我们执行 docker pull xxx 的时候,它实际上是从 registry.hub.docker.com 这个地址去查找,这就是Docker公司为我们提供的公共仓库 ...
- 006.Ansible自定义变量
ansible支持变量,用于存储会在整个项目中重复使用到的一些值.以简化项目的创建与维护,降低出错的机率. 变量的定义: 变量名应该由字母.数字下划数组成 变量名必须以字母开头 ansible内置关键 ...
- Linux服务之nginx服务篇五(静态/动态文件缓存)
一.nginx实现静态文件缓存实战 1.nginx静态文件缓存 如果要熟练使用nginx来实现文件的缓存,那下面的几个指令你必须要牢记于心 (1)指令1:proxy_cache_path 作用:设置缓 ...