0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

资产定位 | 合宙Air201模组LuatOS快速入门01-hello world

合宙LuatOS 2024-09-13 15:21 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

合宙的Air201模组,功耗低,品质稳定,购买样品也方便,且资料全开放。

问题是:用合宙的Air201模组,直接开发OpenCPU的应用,够方便吗?

可以不用熟悉繁琐的环境搭建吗?

可以不用关注繁琐的编译选项吗?

可以不用关心繁琐的C语言陷阱吗?

可以用寥寥几行代码,就完成模组对外设的控制,和服务器的通信吗?

答案是:完全可以!

接下来,我将用手把手的教程,教会你怎么在合宙Air201模组里面,用脚本写代码,开发各种应用。

篇幅原因,本期先讲解基于LuatOS开发的hello world教程。

wKgaombjrdeAQ2kPAElqhUKg8E8605.png

一、 Air201模组是什么

合宙Air201资产定位模组——是一个集成超低功耗4G通信、语音通话、超低功耗定位、计步、震动、Type-C、充电、放音、录音等功能的超小PCBA。

内部集成高效、简单、可靠的LuatOS语言,旨在帮助客户降低开发难度,降低研发成本,以及打造超小超低功耗的精品产品。

wKgaombjpmyAKqJMAA-21XOfNTI243.png

二、hello world教程

本章节教你怎么用简单的几个步骤,就可以完成一个helloworld项目,让合宙4G模组轻松打印hello world!

要达到这个目标,你只需要学会用一个名字叫做LuaTools的PC工具——往模组烧录固件和脚本,并用这个同样的LuaTools查看模组的打印日志。

一切就是这么的简单!

2.1 必须先要告诉你的一些废话

这里,先要告诉你一些前提条件,虽然听着像是废话,但是如果不知道的话,可能后面会比较懵逼,所以还是希望你能够认真看一看这一节。

这个项目的产品定义是:

模组每隔3秒,就往串口输出一次“hello world”字符串。

要想达到这个目的,这里有必要先介绍一下LuatOS在合宙4G模组的运行原理:

- LuatOS在合宙4G模组的运行原理 -

合宙的4G模组,除了运行4G协议栈之外,还植入了5.3版本的Lua虚拟机,以及内置的一个脚本代码区。

4G模组上电之后,虚拟机会去代码区读取脚本代码的main入口, 并执行这个main入口函数。

你只需要用Lua脚本改写main入口函数,并把这个脚本烧录到模组的正确位置,就可以正确运行脚本的代码。

幸运的是,你只需要用合宙的LuaTools工具烧录脚本,就一定能保证脚本烧录到正确的位置。

在完成这个初始项目之前, 你还需要准备好一套合适的硬件。

合适的硬件是什么呢?

——是合宙的能运行LuatOS脚本的4G模组。

怎么知道合宙的哪些4G模组能运行LuatOS呢?

打开这个代码仓库的网址,你会看到合宙公开的一系列代码仓库。合宙不仅仅公开了每个模组的示例代码,还把缺陷跟踪也公开了,真是绝对自信!

进入这个网址后,你看到如下以LuatOS开头的代码仓库,就是可以支持LuatOS开发的型号:

wKgZombjqR-AdW9-AAXXBm7Vyv4260.png

如上图,Air201、Air780E等,都是能够运行LuatOS的模组型号。

你要想运行哪个模组的软件,就在合宙官方淘宝店购买对应的模组开发板,然后进入对应的代码仓库,就可以开发了!

今天,我们用LuatOS-Air201这个仓库作为例子。

所以,我已经事先准备好了合宙Air201,你准备好了吗?直接用Air201的PCBA调试,或用Air201整机调试都可以。

wKgaombjr9GADS4IAAxS1Demv3s068.png

2.2 下载模组的示例代码

下载示例代码,到一个合适的项目目录。

01)在Gitee注册账户

https://gitee.com/signup

02)下载git,一路默认安装

https://git-scm.com/download/win

03)下载git管理工具TortoiseGit,一路默认安装

https://tortoisegit.org/download/

wKgZombjuQuAWcFcAAIESN9-__I357.png

此处填写第一步在Gitee上注册的名称和Email。

04)下拉代码

右击鼠标克隆代码

wKgaombjz_GAGUUeAAHtU90XlWs009.png

下载对应的仓库 -
https://gitee.com/openLuat/LuatOS-Air201.git

wKgZombj0GKAR_5mAAKVv4GZfs0327.png

下拉代码成功

wKgaombj0LyAFOaWAAPp2ZQVmuc271.png


2.3 修改代码

用编辑器打开你下载下来的main.lua文件:

LuatOS-Air201/demo/hello_world/main.lua

wKgZombj0r-AL_7gAACq6M-x5q8367.png


我是习惯用VSCode,也可以用记事本。如果你是用其他的编辑器,也差不多类似。

打开main.lua, 是这个样子的代码:

wKgZombj0leAPA-fAAIMI0cV8MY634.png

这个代码,第12行打印了 “hi, LuatOS”,而不是“hello world”,这就给你留下了发挥的空间。

你把这段代码稍作修改后,改为这样:

wKgaombj0yeALBL_AAHgScHTTRA464.png

然后保存,代码修改工作就大功告成了!
是不是超级简单?

2.4 烧录代码到硬件

烧录代码,需要进行如下几步:

01)下载和安装合宙调试工具LuaTools

要想烧录代码,先要下载合宙自研的功能强大的调试工具——LuaTools。如果你已经安装使用过LuaTools(注:需要升级到最新版本),可以直接跳到下个小节:烧录代码。

LuaTools工具最新版本的介绍和下载链接:
https://doc.openluat.com/wiki/52?wiki_page_id=5071

- LuaTools主要功能 -

自动从合宙服务器获取最新的合宙模组固件;

烧录固件和脚本;

查看和保存模组的串口输出日志;

简单的串口调试。

LuaTools下载之后,无需安装,解压到你的硬盘,点击Luatools_v2.exe运行,出现如下界面,就代表LuaTools安装成功了:

wKgZombj1DqAA72xAAR-1P1rnUY329.png

02)烧录代码

首先要说明一点:脚本代码,要和Core文件一起烧录。

wKgaombj1e2ADuP4AACzneXA-14144.png

Core固件是代码路径下core文件夹的.soc文件,可以理解为运行环境,脚本会在Core上运行,所以两个都要下载。

烧录操作流程


Step 1. 正确连接电脑和4G模组电路板

使用带有数据通信功能的数据线,不要使用仅有充电功能的数据线。

Step 2. 新建项目

首先,确保你的LuaTools的版本,大于3.0.0版本;在LuaTools的左上角有显示版本信息。

如下图所示【注意勾选4G模块USB打印】:

wKgaombj1iWAd65jAAMOSeJx83M122.png

LuaTools版本没问题的话,点击LuaTools右上角的“项目管理测试”按钮。

如下图所示:

wKgaombj1ouAAliJAAGMFHDaIQ0915.png

这时,会弹出项目管理和烧录管理的对话框。

如下图所示:

wKgaombj1r6ADrV1AAXe1rJTIgk433.png

下载过程如果出现找不到端口,注意看下数据线连接是否有问题:

wKgaombj4XKAD9ZCAACSzNYv1hs502.png

Step 3. 开始烧录

wKgZombj4d-AAryhAADRLn8YlQY768.png

03)烧录问题排查

如果你在烧录过程中遇到了问题,请点击如下链接,进行烧录的问题排查。

详细的烧录操作步骤参考此处:
https://doc.openluat.com/wiki/52?wiki_page_id=5071#_23

2.5 验证功能

烧录完成后,会自动开机,此时电脑的设备管理器中会虚拟出三个端口表示正常开机:

wKgZombj4i-AGvyDAANqIFdMbSA993.png

LuaTools会自动抓取应用日志和系统日志,并且在主界面解析显示应用日志。

如下图所示(点击放大查看):

wKgZombj5gaAMKzUAAW1LsN9dgo363.png

从打印的日志可以看到——这个4G开发板,在不断的打印hello world。

太棒了!你成功了!
下一期,我们一起来学习Air201的点灯…

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2944

    文章

    47758

    浏览量

    413541
  • 定位模块
    +关注

    关注

    0

    文章

    107

    浏览量

    17021
  • 嵌入式硬件
    +关注

    关注

    1

    文章

    1004

    浏览量

    9176
  • 合宙通信
    +关注

    关注

    0

    文章

    160

    浏览量

    2445
  • LuatOS
    +关注

    关注

    0

    文章

    153

    浏览量

    2658
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    高效接入语音交互:模组音频方案如何选?

    本文特别分享4G模组选型与硬件设计要点,为开发者提供实用参考。 一、模组音频支持概况 从主芯片是否原生支持音频功能来看,4G模组大致可分
    的头像 发表于 02-08 14:59 551次阅读
    高效接入语音交互:<b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>模组</b>音频方案如何选?

    LuatOS-Air脚本移植到LuatOS版本注意事项

    LuatOS-Air的api: 在https://doc.openluat.com/wiki/21?wiki_page_id=2068这里,又分为了5.1 原生接口 ,提供的 额外接口 两种。 在额外的接口其中,又分为
    的头像 发表于 01-17 14:48 1114次阅读
    <b class='flag-5'>LuatOS-Air</b>脚本移植到<b class='flag-5'>LuatOS</b>版本注意事项

    LuatOS-AirLuatOS常见故障排查手册

    LuatOS-Air脚本在LuatOS环境中运行失败,问题往往集中在几个关键模块:任务调度、外设驱动、网络配置和固件版本匹配。本文以故障排查的逻辑为主线,列出常见报错现象、可能原因及快速修复
    的头像 发表于 01-13 19:20 94次阅读
    <b class='flag-5'>LuatOS-Air</b>转<b class='flag-5'>LuatOS</b>常见故障排查手册

    警惕兼容性陷阱:LuatOS-Air脚本在LuatOS中的运行异常分析

    即使语法正确的LuatOS-Air脚本,在LuatOS环境中也可能出现“静默失败”——程序无报错但功能未执行。这类问题多与系统事件循环、模块加载时机或硬件抽象层调用方式有关。本文通过多个真实
    的头像 发表于 01-13 19:20 116次阅读
    警惕兼容性陷阱:<b class='flag-5'>LuatOS-Air</b>脚本在<b class='flag-5'>LuatOS</b>中的运行异常分析

    构建可靠USB应用:硬件设计要点与LuatOS开发技巧!

    指导。 本文以Air780EPM系列低功耗模组为例,分享USB接口的硬件设计要点以及LuatOS高效开发API,帮助开发者在设计中避开常见陷阱,快速构建稳定可靠的USB应用。
    的头像 发表于 12-15 10:46 194次阅读
    构建可靠USB应用:硬件设计要点与<b class='flag-5'>LuatOS</b>开发技巧!

    VS Code运行 pytest_hello_world.py

    VS Code运行 pytest_hello_world.py
    的头像 发表于 11-24 00:33 559次阅读

    LuatOS AGPS 辅助定位开发实战教程

    为解决传统 GPS 定位慢、功耗高的痛点,AGPS 技术通过辅助数据注入提升效率。本教程以 LuatOS 开发环境为基础,循序渐进地讲解 AGPS 辅助定位的开发流程,包括 AGPS 服务器对接
    的头像 发表于 10-31 17:34 1163次阅读
    <b class='flag-5'>LuatOS</b> AGPS 辅助<b class='flag-5'>定位</b>开发实战教程

    LuatOSAir8000 AGPS辅助定位教程与实践

    本教程演示了Air8000在LuatOS中利用AGPS辅助定位实现快速定位的方法,系统讲解AGPS原理及开发应用时的注意事项。   一、AG
    的头像 发表于 10-31 16:51 3073次阅读
    <b class='flag-5'>LuatOS</b>下<b class='flag-5'>Air</b>8000 AGPS辅助<b class='flag-5'>定位</b>教程与实践

    Air780EGH开源代码来袭!定位功能快速入门指南

    欢迎探索Air780EGH开源生态!最新版本解锁定位功能源代码,无论你是新手还是资深开发者,都能通过简洁的示例代码快速上手。从初始化配置到实时定位数据获取,一站式解决
    的头像 发表于 07-29 16:13 681次阅读
    <b class='flag-5'>Air</b>780EGH开源代码来袭!<b class='flag-5'>定位</b>功能<b class='flag-5'>快速</b><b class='flag-5'>入门</b>指南

    揭秘Air780EGH定位功能:源码开放助力极速开发 !

    例,带你快速上手定位功能的基本使用方法,可根据实际需求灵活扩展和应用。   一、Air780EGH定位示例源码开放 Air780EGH示例持
    的头像 发表于 07-29 16:11 629次阅读
    揭秘<b class='flag-5'>Air</b>780EGH<b class='flag-5'>定位</b>功能:源码开放助力极速开发 !

    深度解析Air780EPM模组LuatOS下CAN总线通信的完整方案!

    本文聚焦Air780EPM的CAN通信能力,结合LuatOS实时操作系统,从底层驱动到应用层协议,详细拆解如何实现工业级CAN总线数据传输,助力开发者快速落地项目。 最新资料详见: https
    的头像 发表于 05-06 14:22 857次阅读
    深度解析<b class='flag-5'>Air</b>780EPM<b class='flag-5'>模组</b>:<b class='flag-5'>LuatOS</b>下CAN总线通信的完整方案!

    从零开始:Air780EPM与LuatOS的硬件与软件配置全解析

    在物联网开发领域,选择合适的硬件平台与操作系统是项目成功的关键。本文将带领你从零开始,通过详细的步骤与示例代码,掌握Air780EPM与LuatOS入门开发流程,并深入探讨其核心功能与扩展潜力
    的头像 发表于 03-25 16:45 3296次阅读
    从零开始:<b class='flag-5'>Air</b>780EPM与<b class='flag-5'>LuatOS</b>的硬件与软件配置全解析

    手把手教你!利用Air780EPM快速体验LuatOS入门

    在物联网开发领域,选择合适的硬件平台与操作系统是项目成功的关键。本文将带领你从零开始,通过详细的步骤与示例代码,掌握Air780EPM与LuatOS入门开发流程,并深入探讨其核心功能与扩展潜力
    的头像 发表于 03-25 16:38 661次阅读
    手把手教你!利用<b class='flag-5'>Air</b>780EPM<b class='flag-5'>快速</b>体验<b class='flag-5'>LuatOS</b>的<b class='flag-5'>入门</b>

    手把手教你!4G模组Air780EPM——GPIO的设计说明

      开发方式 :Air780EPM 仅支持 LuatOS 软件开发方式,不支持 AT 指令开发方式。若使用 AT 指令开发方式,可选择 Air780EQ。 LuatOS 开发优势 :
    的头像 发表于 03-17 16:07 1060次阅读
    手把手教你!4G<b class='flag-5'>模组</b><b class='flag-5'>Air</b>780EPM——GPIO的设计说明

    Air8201,助力武装押运枪支定位

    Air8201 工业引擎 ,主打AirTrack超低功耗定位。 导入了众多位置服务场景,以往的文章都有谈及,本期主要讲武装押运枪支定位场景。   一、行业痛点 在武装押运场景中,枪支实时定位
    的头像 发表于 02-26 14:27 545次阅读
    <b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>Air</b>8201,助力武装押运枪支<b class='flag-5'>定位</b>