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

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

3天内不再提示

开源 | 百元左右,自制多功能4G手机?你也可以!

合宙LuatOS 2023-05-15 09:36 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

答案是:这是一款自制的4G手机可以实现电话通信、短信发送、音乐播放、一键指定呼叫、开关机及定时休眠、游戏娱乐、U盘模拟等功能

本期特别分享@flyn大佬在立创开源硬件平台的MiniPhone原创作品:

9dde61fc-f0a4-11ed-ba01-dac502259ad0.gif

使用Air724UG模组自制4G手机

感谢@flyn大佬开源分享此项目,为大家提供详细讲解及PCB/原理图/项目源码等相关资料。接下来,我们一起看看自制4G手机项目吧~

1

MiniPhone项目简介


这是一台简易4G手机,主控基于合宙Air724UG模组,LuatOS二次开发,实现了通话、短信发送、播放音乐等等功能。

9deca4e2-f0a4-11ed-ba01-dac502259ad0.gif

Air724UG是合宙通信推出的多功能LTE Cat.1模块,是4G全网通模块,采用紫光展锐的UIS8910平台,支持标准AT和LuatOS二次开发。

本次项目使用LuatOS二次开发将其直接作为主控,相对于常规的MCU+4G模块方案减少了成本和元器件,同时能更好的发挥其内部MCU性能。

a3ccd378-f0a4-11ed-ba01-dac502259ad0.png

a3e89220-f0a4-11ed-ba01-dac502259ad0.gif

MiniPhone已实现功能


01.电话通信

进入电话APP界面,输入电话号码,按“*”键拨出,按“#”键退出。

02.短信发送

进入短信APP界面,按右侧“↑”“↓”按键切换到号码框或短信框,在号码框输入电话号码,在短信框按“0-9”数字按键切换短信内容(消息列表存放在sd卡中的message.json文件里),按“*”号键发送,按“#”键退出。

03.音乐播放

进入音乐APP界面,按右侧“↑”“↓”按键切换mp3文件(文件保存在sd卡的music文件夹里),按“*”号键播放和停止,按“#”键停止并退出。

a3f6629c-f0a4-11ed-ba01-dac502259ad0.gif

04.一键指定呼叫

在主界面,按“0-9”数字按键,直接进入拨号界面并设置好对应电话号码(电话号码列表存放在sd卡中的call list.json文件里),按“*”键拨出,按“#”键退出。

05. 开关机及定时休眠

在关机状态,按住右侧电源按钮持续4秒手机开机,并显示开机动画。进入主菜单后,按住右侧电源按钮持续2秒弹出关机确认界面,按“*”号键关机,按“#”键返回。1分钟无按键操作,手机屏幕和按键灯熄灭,进入休眠状态以降低功耗。

06. 游戏娱乐

进入游戏APP界面,有一个小鸟游戏。用“*”号键控制小鸟上升,很简单的一个游戏,按“#”键退出。

a4a15c10-f0a4-11ed-ba01-dac502259ad0.gif

07. U盘模拟

手机接入电脑后会模拟出一个U盘,指向板上的sd卡,可以用来存放文件。

2

硬件说明


硬件上使用Air724UG模块作为主控,所有外设都接在模块上,主板采用4层板,阻容基本上是0402封装,整机外壳5X10cm,锂电池容量为1500mAH;板上预留了摄像头接口以及锂电池电量计芯片(未验证)。

硬件设计简易框图

a57b17e8-f0a4-11ed-ba01-dac502259ad0.png

手机正面示意图

a5912380-f0a4-11ed-ba01-dac502259ad0.png

手机正面是一块280X240的TFT液晶屏和12颗按键,按键采用的是6x6x7.2贴片带灯,套了数字按键帽,按键上的灯统一由Air724UG的一个PWM口控制。

侧面是3颗侧贴的轻触按钮,实现“上”、“下”、“开关机”功能。

底部是一个Type-C座和一个双色LED。Type-C口用于电池充电以及程序烧入,并且可以连接到PC用于模拟U盘,模拟的U盘目录指向手机上的SD卡。双色LED用于指示充电状态,红色表示充电,蓝色表示充满。

手机背面示意图

a5b09e4a-f0a4-11ed-ba01-dac502259ad0.png

手机背面为扬声器位置开孔以及4个M2.5的固定孔位置。

整机结构示意图

a5c2bf58-f0a4-11ed-ba01-dac502259ad0.png

PCB和整机实拍

a5d9009c-f0a4-11ed-ba01-dac502259ad0.gif

a5ec8b08-f0a4-11ed-ba01-dac502259ad0.png

a6131b1a-f0a4-11ed-ba01-dac502259ad0.png

3

软件说明


软件部分基于LuatOS-Air编写,LuatOS-Air = Lua + AT,是合宙嵌入式操作系统LuatOS在蜂窝物联网模组上推出的开源的二次开发框架。

LuatOS-Air开源仓库:
https://gitee.com/openLuat/Luat_Lua_Air724U

LuatOS-Air将传统的AT命令用Lua语言封装成API开发者可以通过调用API轻松便捷的实现SOCKET、MQTT、OTA、GPIO、I2C、SPI等功能。

软件架构框图

a63657ba-f0a4-11ed-ba01-dac502259ad0.png

紫光展锐8910平台的Cat.1模块底层core中跑的操作系统是FreeRTOS,core在启动过程中,会创建一系列的task。例如:音频、协议栈、串口等。

其中有一个task,用来加载Lua虚拟机,解析运行用户编写的Lua脚本,这个task我们称之为Lua virtual task(另外在Lua脚本中,利用Lua的协程特性封装了一个sys.taskInit接口,借用了task的概念,实际上并不是真正的task)。

脚本中的所有应用,都运行在Lua virtual machine task中,属于单task应用。

SDK框图

a648a5be-f0a4-11ed-ba01-dac502259ad0.png

固件定制

本次工程代码用到了VOLTE高清通话、LVGL、浮点运算以及模拟U盘等功能,官方发布的core不满足需求,所以需要定制固件。

合宙官方提供了固件定制系统,针对用户不同功能使用场景,进行在线定制固件。满足用户功能定制化需求,同时也能最大化保留Lua运行和存储空间。

固件定制链接:
http://erp.openluat.com/firm_customized

代码编写

代码主要编写app应用层脚本,我将代码分为3个文件夹,分别为/main、/panel和/resources。

main文件夹部分是一些应用初始化以及UI加载等代码;

panel文件夹部分是每个应用app界面代码;

resources文件夹存放一些app图标、控件图片以及音频文件,尺寸较大的图片和文件存放在sd卡中。

IDE使用

IDE使用VSCode,下载LuatIDE以及相应的debug插件,可以通过USB口进行下载调试,具体教程可看@稀饭放姜这位大佬的B站视频Luat开发视频教程合集和合宙官网(https://doc.openluat.com/)提供的资料,本次项目也是参考了官网的昆仑镜和iCool项目。

项目参考:
https://gitee.com/openLuat/Luat_Lua_Air724U/tree/master

UI设计

UI基于LVGL库,LVGL是一个开源的图形库,它提供了创建嵌入式GUI所需的一切,具有易于使用的图形元素、漂亮的视觉效果和低内存占用的特点。基本上,大部分控制器(需要能够驱动显示屏)都适合运行LVGL。

最低要求如下:

a66a6758-f0a4-11ed-ba01-dac502259ad0.png

C语言版本的LVGL支持触摸屏、鼠标、键盘、编码器、按钮等多种输入设备,合宙官方提供的demo是基于触摸屏的设计,移植到本工程改为按键输入时找不到group相对应的api,不知道是不是Lua版本的LVGL还未支持。目前是为所有界面编写了按键响应函数,这导致控件配合的不是很好。

操作规则

开机动画结束后进入主界面,顶部显示手机卡状态、当前时间以及电池电量。中间APP图标排成一排,当前选中的APP在中间,按右侧“↑”“↓”按键切换APP,按“*”键进入APP界面(当前切换动画代码未编写,切换过程不太直观),各APP界面功能看工程视频。

原工程链接:
https://oshwhub.com/flyn/MiniPhone

4

软硬件调试


硬件调试

由于Air724UG模块背面有焊盘类似BGA,在焊接时需要借助加热台。先在焊盘上涂抹锡膏,放上模块进行加热,所以PCB板背面的元件先不要焊接!

焊好模块周边的元件以及USB口部分的元件,先烧入脚本进行测试模块背面焊盘是否焊接良好。背面焊盘主要是按键和摄像头以及LCD背光,摄像头预留暂时未写对应代码暂时不管,想用的可以用官方的demo测试。

按键可以用线短接来模拟测试。

a67cf1ca-f0a4-11ed-ba01-dac502259ad0.png

主板与LCD板通过1.27间距的双排插座插针连接,这是为了检修以及安装方便。但是排针排座连接也增加了高度,为了参照按键的高度,我把LCD板上插针的黑色塑料部分拆了,剪短针长至4.5mm。

注意焊好后再去掉塑料部分是很困难的,在拔的过程中极有可能导致液晶屏损坏,所以最好先焊好排针最后焊液晶屏。

PCB板连接PC时需接上电池,否则TP4057可能工作不正常导致模块启不来。

软件调试

可以通过LuaTools工具进入脚本烧入,具体烧入步骤可以参考@稀饭放姜佬的B站视频。

LuaTools下载地址:
https://wiki.luatos.com/pages/tools.html

手机侧面的第二个按钮是BOOT键,按住该键再重启即可进入BOOT模式。同时板上接出了一个重启按键,在裸板时可以协助调试。另外板上预留了串口接口,可以接出使用(未使用过,使用USB调试很方便)。

LuaTools工具可以打印日志,想输出哪些信息在脚本里调用log.info()即可:

a6933016-f0a4-11ed-ba01-dac502259ad0.png

a6af219a-f0a4-11ed-ba01-dac502259ad0.png

烧入脚本程序重启后会发现没有开机动画,进入主界面也没有背景等问题。这是因为SD卡里没有对应文件。

用USB接上PC,会在PC端弹出一个U盘,该U盘指向的就是手机上的SD卡,将附件提供的music文件、message.json、call list.json、wallpaper.png、wallpaper2.png和startup animation.gif放入U盘,再重启就可以了。

如果PC端有提示U盘但是打不开,可能是SD卡格式损坏,将U盘快速格式化一遍就行了。

a6d254da-f0a4-11ed-ba01-dac502259ad0.png

5

总结和待实现功能


之前做的一些关于4G模块的项目都是MCU+4G方案,初次了解到合宙的这种方案,感觉这是种趋势,在性能和成本上都要好于常规方案配套的LuatOS框架也很大的提升了开发效率。

Lua作为一种脚本语言,可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML、ini等文件格式,并且更容易理解和维护。

本工程实现了所要求的功能,但还有些小瑕疵:喇叭在播放一段时间后会出现杂音不清晰、主界面切换APP图标有时会出现某一项图标消失不显示、长时间播放音乐手机会有发烫现象。后续等空闲时间的时候再改进吧。

还有一些功能后续也会添加:

比如录音、Wi-Fi定位、摄像头识别二维码、扫码支付、文件夹浏览等。(但是时间多久不定,勿cue)

9dde61fc-f0a4-11ed-ba01-dac502259ad0.gif

a6f61e60-f0a4-11ed-ba01-dac502259ad0.gif

原工程分享

本工程依据“CC-BY-NC-SA 4.0”知识共享许可协议,请勿用于商用,转载时请标明出处。

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

    关注

    36

    文章

    6981

    浏览量

    160663
  • 4G
    4G
    +关注

    关注

    15

    文章

    5607

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    工业物联网平台可以支持5G/4G通信吗

    工业物联网平台可以支持5G/4G通信 ,且5G/4G通信是工业物联网中实现远程监控与分布式设备连接的关键技术手段,其应用场景、技术实现和优势
    的头像 发表于 07-25 15:28 459次阅读
    工业物联网平台<b class='flag-5'>可以</b>支持5<b class='flag-5'>G</b>/<b class='flag-5'>4G</b>通信吗

    具有 MIPI® RF 前端控制功能的高频降压转换器,用于 2G/3G/4G RF 功率放大器 skyworksinc

    电子发烧友网为提供()具有 MIPI® RF 前端控制功能的高频降压转换器,用于 2G/3G/4G RF 功率放大器相关产品参数、数据手册
    发表于 07-24 18:31
    具有 MIPI® RF 前端控制<b class='flag-5'>功能</b>的高频降压转换器,用于 2<b class='flag-5'>G</b>/3<b class='flag-5'>G</b>/<b class='flag-5'>4G</b> RF 功率放大器 skyworksinc

    用于 3G/4G/LTE PA 包络跟踪的超快速升压电源 skyworksinc

    电子发烧友网为提供()用于 3G/4G/LTE PA 包络跟踪的超快速升压电源相关产品参数、数据手册,更有用于 3G/4G/LTE PA
    发表于 07-23 18:32
    用于 3<b class='flag-5'>G</b>/<b class='flag-5'>4G</b>/LTE PA 包络跟踪的超快速升压电源 skyworksinc

    SkyOne® 汽车多模多频段前端模块,用于 4G LTE 和 4G LTE-A(下行链路载波聚合 (CA) 应用) skyworksinc

    电子发烧友网为提供()SkyOne® 汽车多模多频段前端模块,用于 4G LTE 和 4G LTE-A(下行链路载波聚合 (CA) 应用)相关产品参数、数据手册,更有SkyOne® 汽车多模多频段
    发表于 07-01 18:31
    SkyOne® 汽车多模多频段前端模块,用于 <b class='flag-5'>4G</b> LTE 和 <b class='flag-5'>4G</b> LTE-A(下行链路载波聚合 (CA) 应用) skyworksinc

    4G全网通网关是什么?有什么功能

    广泛的网络兼容性。 4G全网通网关的功能 一、网络连接与转换功能 4G网络接入:通过插入SIM卡,连接运营商的4G网络,获取互联网接入能力,
    的头像 发表于 06-17 15:43 889次阅读
    <b class='flag-5'>4G</b>全网通网关是什么?有什么<b class='flag-5'>功能</b>?

    想用K230放在无人机上做图像识别,加装一个4G模块把识别结果和画面同时传输的地面站或者手机上,怎么操作?

    我想用K230放在无人机上做图像识别,然后想加装一个4G模块把识别结果和画面同时传输的地面站或者手机上,这个目前可以如何处理? 你好,目前底层是支持4G模块得驱动,参考https
    发表于 06-16 07:08

    4G DTU 无线数传模块:RS232/485转4G,稳定不宕机

    、物联网(IoT)等领域的关键通信设备。 一、功能特性 支持频段:全网通(5模13频)GSM(移动2G)、GSM(联通2G)、FDD-LTE(电信4G)、TD-LTE(移动
    的头像 发表于 05-29 14:58 833次阅读

    用于 4G 和 5G 应用的 Sky5® UHB 前端模块 skyworksinc

    电子发烧友网为提供()用于 4G 和 5G 应用的 Sky5® UHB 前端模块相关产品参数、数据手册,更有用于 4G 和 5G 应用的
    发表于 05-14 18:33
    用于 <b class='flag-5'>4G</b> 和 5<b class='flag-5'>G</b> 应用的 Sky5® UHB 前端模块 skyworksinc

    4G DTU设备选型指南:2025主流厂商品牌盘点与选购

    数据的远程传输,是工业通信和物联网解决方案中的核心组件之一。2025年,全球4G DTU市场竞争更加激烈,各品牌纷纷推出高性能、多功能的产品,以满足不同场景的需求。 本文基于权威数据平台(如 MarketsandMarkets、Statista 和 IHS Markit)
    的头像 发表于 04-17 15:51 1696次阅读

    4G DTU模块能当4G路由器用吗?揭秘工业场景的“隐藏技能”,附硬核产品推荐!

    : “能,但有限!” 两者的核心差异,在于 “使命”不同 。 4G路由器 :主打“网络共享”,功能简单粗暴——插卡、联网、分发给手机/电脑/摄像头。适合办公室、家庭、临时网点等场景。 4G
    的头像 发表于 04-15 17:45 839次阅读
    <b class='flag-5'>4G</b> DTU模块能当<b class='flag-5'>4G</b>路由器用吗?揭秘工业场景的“隐藏技能”,附硬核产品推荐!

    DIY开源智能马桶

    上手,功能扩展很方便。更棒的是,提供开源的主控板电路图及主控板源代码,还会定期进行网上直播教学,让轻松掌握实际产品开发技巧。 此产品可以
    发表于 04-13 21:56

    Sky5® 低、中、高频段前端模块,适用于 4G/5G 应用 skyworksinc

    电子发烧友网为提供()Sky5® 低、中、高频段前端模块,适用于 4G/5G 应用相关产品参数、数据手册,更有Sky5® 低、中、高频段前端模块,适用于 4G/5
    发表于 04-11 15:25
    Sky5® 低、中、高频段前端模块,适用于 <b class='flag-5'>4G</b>/5<b class='flag-5'>G</b> 应用 skyworksinc

    用于 4G 和 5G 应用的 Sky5® 前端模块 skyworksinc

    电子发烧友网为提供()用于 4G 和 5G 应用的 Sky5® 前端模块相关产品参数、数据手册,更有用于 4G 和 5G 应用的 Sky5
    发表于 04-11 15:24
    用于 <b class='flag-5'>4G</b> 和 5<b class='flag-5'>G</b> 应用的 Sky5® 前端模块 skyworksinc

    4G车联网T-BOX车载智能终端设计与应用

    车联网4g汽车tbox原理功能用途
    的头像 发表于 04-07 17:49 1261次阅读
    <b class='flag-5'>4G</b>车联网T-BOX车载智能终端设计与应用

    4G核心板_4G智能模组_联发科MTK|高通|紫光展锐4G模块开发

    4G核心板是一种集成了处理器、内存与存储、射频模块、接口等主要组件的小型电路板。它采用开放式的智能Android操作系统,并内置4G通信功能,专为嵌入式系统的核心功能实现而设计。由于核
    的头像 发表于 03-04 20:15 1001次阅读
    <b class='flag-5'>4G</b>核心板_<b class='flag-5'>4G</b>智能模组_联发科MTK|高通|紫光展锐<b class='flag-5'>4G</b>模块开发