0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

合宙LuatOS ? 2023-05-15 09:36 ? 次閱讀

答案是:這是一款自制的4G手機!可以實現(xiàn)電話通信、短信發(fā)送、音樂播放、一鍵指定呼叫、開關(guān)機及定時休眠、游戲娛樂、U盤模擬等功能。

本期特別分享@flyn大佬在立創(chuàng)開源硬件平臺的MiniPhone原創(chuàng)作品:

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

使用Air724UG模組自制4G手機

感謝@flyn大佬開源分享此項目,為大家提供詳細講解及PCB/原理圖/項目源碼等相關(guān)資料。接下來,我們一起看看自制4G手機項目吧~

1

MiniPhone項目簡介


這是一臺簡易4G手機,主控基于合宙Air724UG模組,LuatOS二次開發(fā),實現(xiàn)了通話、短信發(fā)送、播放音樂等等功能。

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

Air724UG是合宙通信推出的多功能LTE Cat.1模塊,是4G全網(wǎng)通模塊,采用紫光展銳的UIS8910平臺,支持標準AT和LuatOS二次開發(fā)。

本次項目使用LuatOS二次開發(fā)將其直接作為主控,相對于常規(guī)的MCU+4G模塊方案減少了成本和元器件,同時能更好的發(fā)揮其內(nèi)部MCU性能。

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

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

MiniPhone已實現(xiàn)功能


01.電話通信

進入電話APP界面,輸入電話號碼,按“*”鍵撥出,按“#”鍵退出。

02.短信發(fā)送

進入短信APP界面,按右側(cè)“↑”“↓”按鍵切換到號碼框或短信框,在號碼框輸入電話號碼,在短信框按“0-9”數(shù)字按鍵切換短信內(nèi)容(消息列表存放在sd卡中的message.json文件里),按“*”號鍵發(fā)送,按“#”鍵退出。

03.音樂播放

進入音樂APP界面,按右側(cè)“↑”“↓”按鍵切換mp3文件(文件保存在sd卡的music文件夾里),按“*”號鍵播放和停止,按“#”鍵停止并退出。

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

04.一鍵指定呼叫

在主界面,按“0-9”數(shù)字按鍵,直接進入撥號界面并設(shè)置好對應(yīng)電話號碼(電話號碼列表存放在sd卡中的call list.json文件里),按“*”鍵撥出,按“#”鍵退出。

05. 開關(guān)機及定時休眠

在關(guān)機狀態(tài),按住右側(cè)電源按鈕持續(xù)4秒手機開機,并顯示開機動畫。進入主菜單后,按住右側(cè)電源按鈕持續(xù)2秒彈出關(guān)機確認界面,按“*”號鍵關(guān)機,按“#”鍵返回。1分鐘無按鍵操作,手機屏幕和按鍵燈熄滅,進入休眠狀態(tài)以降低功耗。

06. 游戲娛樂

進入游戲APP界面,有一個小鳥游戲。用“*”號鍵控制小鳥上升,很簡單的一個游戲,按“#”鍵退出。

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

07. U盤模擬

手機接入電腦后會模擬出一個U盤,指向板上的sd卡,可以用來存放文件。

2

硬件說明


硬件上使用Air724UG模塊作為主控,所有外設(shè)都接在模塊上,主板采用4層板,阻容基本上是0402封裝,整機外殼5X10cm,鋰電池容量為1500mAH;板上預留了攝像頭接口以及鋰電池電量計芯片(未驗證)。

硬件設(shè)計簡易框圖

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

手機正面示意圖

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

手機正面是一塊280X240的TFT液晶屏和12顆按鍵,按鍵采用的是6x6x7.2貼片帶燈,套了數(shù)字按鍵帽,按鍵上的燈統(tǒng)一由Air724UG的一個PWM口控制。

側(cè)面是3顆側(cè)貼的輕觸按鈕,實現(xiàn)“上”、“下”、“開關(guān)機”功能。

底部是一個Type-C座和一個雙色LED。Type-C口用于電池充電以及程序燒入,并且可以連接到PC用于模擬U盤,模擬的U盤目錄指向手機上的SD卡。雙色LED用于指示充電狀態(tài),紅色表示充電,藍色表示充滿。

手機背面示意圖

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

手機背面為揚聲器位置開孔以及4個M2.5的固定孔位置。

整機結(jié)構(gòu)示意圖

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,是合宙嵌入式操作系統(tǒng)LuatOS在蜂窩物聯(lián)網(wǎng)模組上推出的開源的二次開發(fā)框架。

LuatOS-Air開源倉庫:
https://gitee.com/openLuat/Luat_Lua_Air724U

LuatOS-Air將傳統(tǒng)的AT命令用Lua語言封裝成API,開發(fā)者可以通過調(diào)用API輕松便捷的實現(xiàn)SOCKET、MQTT、OTA、GPIO、I2C、SPI等功能。

軟件架構(gòu)框圖

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

紫光展銳8910平臺的Cat.1模塊底層core中跑的操作系統(tǒng)是FreeRTOS,core在啟動過程中,會創(chuàng)建一系列的task。例如:音頻、協(xié)議棧、串口等。

其中有一個task,用來加載Lua虛擬機,解析運行用戶編寫的Lua腳本,這個task我們稱之為Lua virtual task(另外在Lua腳本中,利用Lua的協(xié)程特性封裝了一個sys.taskInit接口,借用了task的概念,實際上并不是真正的task)。

腳本中的所有應(yīng)用,都運行在Lua virtual machine task中,屬于單task應(yīng)用。

SDK框圖

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

固件定制

本次工程代碼用到了VOLTE高清通話、LVGL、浮點運算以及模擬U盤等功能,官方發(fā)布的core不滿足需求,所以需要定制固件。

合宙官方提供了固件定制系統(tǒng),針對用戶不同功能使用場景,進行在線定制固件。滿足用戶功能定制化需求,同時也能最大化保留Lua運行和存儲空間。

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

代碼編寫

代碼主要編寫app應(yīng)用層腳本,我將代碼分為3個文件夾,分別為/main、/panel和/resources。

main文件夾部分是一些應(yīng)用初始化以及UI加載等代碼;

panel文件夾部分是每個應(yīng)用app界面代碼;

resources文件夾存放一些app圖標、控件圖片以及音頻文件,尺寸較大的圖片和文件存放在sd卡中。

IDE使用

IDE使用VSCode,下載LuatIDE以及相應(yīng)的debug插件,可以通過USB口進行下載調(diào)試,具體教程可看@稀飯放姜這位大佬的B站視頻Luat開發(fā)視頻教程合集和合宙官網(wǎng)(https://doc.openluat.com/)提供的資料,本次項目也是參考了官網(wǎng)的昆侖鏡和iCool項目。

項目參考:
https://gitee.com/openLuat/Luat_Lua_Air724U/tree/master

UI設(shè)計

UI基于LVGL庫,LVGL是一個開源的圖形庫,它提供了創(chuàng)建嵌入式GUI所需的一切,具有易于使用的圖形元素、漂亮的視覺效果和低內(nèi)存占用的特點?;旧?,大部分控制器(需要能夠驅(qū)動顯示屏)都適合運行LVGL。

最低要求如下:

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

C語言版本的LVGL支持觸摸屏、鼠標、鍵盤、編碼器、按鈕等多種輸入設(shè)備,合宙官方提供的demo是基于觸摸屏的設(shè)計,移植到本工程改為按鍵輸入時找不到group相對應(yīng)的api,不知道是不是Lua版本的LVGL還未支持。目前是為所有界面編寫了按鍵響應(yīng)函數(shù),這導致控件配合的不是很好。

操作規(guī)則

開機動畫結(jié)束后進入主界面,頂部顯示手機卡狀態(tài)、當前時間以及電池電量。中間APP圖標排成一排,當前選中的APP在中間,按右側(cè)“↑”“↓”按鍵切換APP,按“*”鍵進入APP界面(當前切換動畫代碼未編寫,切換過程不太直觀),各APP界面功能看工程視頻。

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

4

軟硬件調(diào)試


硬件調(diào)試

由于Air724UG模塊背面有焊盤類似BGA,在焊接時需要借助加熱臺。先在焊盤上涂抹錫膏,放上模塊進行加熱,所以PCB板背面的元件先不要焊接!

焊好模塊周邊的元件以及USB口部分的元件,先燒入腳本進行測試模塊背面焊盤是否焊接良好。背面焊盤主要是按鍵和攝像頭以及LCD背光,攝像頭預留暫時未寫對應(yīng)代碼暫時不管,想用的可以用官方的demo測試。

按鍵可以用線短接來模擬測試。

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

主板與LCD板通過1.27間距的雙排插座插針連接,這是為了檢修以及安裝方便。但是排針排座連接也增加了高度,為了參照按鍵的高度,我把LCD板上插針的黑色塑料部分拆了,剪短針長至4.5mm。

注意焊好后再去掉塑料部分是很困難的,在拔的過程中極有可能導致液晶屏損壞,所以最好先焊好排針最后焊液晶屏。

PCB板連接PC時需接上電池,否則TP4057可能工作不正常導致模塊啟不來。

軟件調(diào)試

可以通過LuaTools工具進入腳本燒入,具體燒入步驟可以參考@稀飯放姜佬的B站視頻。

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

手機側(cè)面的第二個按鈕是BOOT鍵,按住該鍵再重啟即可進入BOOT模式。同時板上接出了一個重啟按鍵,在裸板時可以協(xié)助調(diào)試。另外板上預留了串口接口,可以接出使用(未使用過,使用USB調(diào)試很方便)。

LuaTools工具可以打印日志,想輸出哪些信息在腳本里調(diào)用log.info()即可:

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

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

燒入腳本程序重啟后會發(fā)現(xiàn)沒有開機動畫,進入主界面也沒有背景等問題。這是因為SD卡里沒有對應(yīng)文件。

用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

總結(jié)和待實現(xiàn)功能


之前做的一些關(guān)于4G模塊的項目都是MCU+4G方案,初次了解到合宙的這種方案,感覺這是種趨勢,在性能和成本上都要好于常規(guī)方案,配套的LuatOS框架也很大的提升了開發(fā)效率。

Lua作為一種腳本語言,可以很容易的被C/C++代碼調(diào)用,也可以反過來調(diào)用C/C++的函數(shù),這使得Lua在應(yīng)用程序中可以被廣泛應(yīng)用。不僅僅作為擴展腳本,也可以作為普通的配置文件,代替XML、ini等文件格式,并且更容易理解和維護。

本工程實現(xiàn)了所要求的功能,但還有些小瑕疵:喇叭在播放一段時間后會出現(xiàn)雜音不清晰、主界面切換APP圖標有時會出現(xiàn)某一項圖標消失不顯示、長時間播放音樂手機會有發(fā)燙現(xiàn)象。后續(xù)等空閑時間的時候再改進吧。

還有一些功能后續(xù)也會添加:

比如錄音、Wi-Fi定位、攝像頭識別二維碼、掃碼支付、文件夾瀏覽等。(但是時間多久不定,勿cue)

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

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

原工程分享

本工程依據(jù)“CC-BY-NC-SA 4.0”知識共享許可協(xié)議,請勿用于商用,轉(zhuǎn)載時請標明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 手機
    +關(guān)注

    關(guān)注

    35

    文章

    6825

    瀏覽量

    157196
  • 4G
    4G
    +關(guān)注

    關(guān)注

    15

    文章

    5479

    瀏覽量

    118652
收藏 人收藏

    評論

    相關(guān)推薦

    4G模塊聯(lián)網(wǎng)問題

    最近在調(diào)試4G模塊,4G模塊驅(qū)動調(diào)試成功,可以ping通外網(wǎng)(比如www.baidu.com)。我的電腦連接路由器,
    發(fā)表于 08-01 19:01

    4G手機智能遙控開關(guān)

    什么是4G手機智能遙控開關(guān) 4G手機智能遙控開關(guān)作為現(xiàn)代智能家居與工業(yè)自動化的重要組成部分,提供了便捷、高效的遠程控制方案。它利用4G通信技
    的頭像 發(fā)表于 07-30 14:32 ?245次閱讀
    <b class='flag-5'>4G</b><b class='flag-5'>手機</b>智能遙控開關(guān)

    嵌入式設(shè)備中的4G/5G模塊管理

    模塊添加到文件系統(tǒng)里,當客戶想使用4G或5G上網(wǎng)功能時,可以開啟該應(yīng)用,它將自行管理4G/5G
    發(fā)表于 07-13 16:45

    深圳特信屏蔽器|4G5G手機信號屏蔽器:如何高效應(yīng)對信息泄露風險.

    、多頻段支持:支持多種通信頻段,包括2G、3G4G和5G等,確保全面覆蓋各種手機信號;3、智能控制:具備遠程控制和定時開關(guān)
    發(fā)表于 05-20 09:01

    深圳特信電子|4G手機信號放大器:解決信號弱區(qū),提升移動網(wǎng)絡(luò).

    實用設(shè)備。一、4G手機信號放大器的原理4G手機信號放大器,稱為手機信號增強器或信號中繼器,是一
    發(fā)表于 05-06 09:02

    什么是4G Cat.1?4G Cat.1與4G有什么區(qū)別?

    4G的區(qū)別和具體特點。 首先,4G是一種第四代移動通信技術(shù),稱為LTE網(wǎng)絡(luò)。它能夠提供高速數(shù)據(jù)傳輸,讓用戶能夠更快地瀏覽互聯(lián)網(wǎng),下載和上傳大文件。而4G Cat.1則是
    的頭像 發(fā)表于 02-03 11:38 ?3446次閱讀

    遠程數(shù)據(jù)獲取多功能RTU水文監(jiān)測

    隨著科技的不斷發(fā)展,水文監(jiān)測技術(shù)在不斷進步。多功能RTU水文監(jiān)測應(yīng)用作為當前水文監(jiān)測領(lǐng)域的新技術(shù),已經(jīng)得到了廣泛應(yīng)用。 ? 多功能RTU水文監(jiān)測應(yīng)用可4G遠程監(jiān)控,具有以下優(yōu)勢:
    的頭像 發(fā)表于 01-27 14:07 ?286次閱讀
    遠程數(shù)據(jù)獲取<b class='flag-5'>多功能</b>RTU水文監(jiān)測

    【飛騰派4G版免費試用】飛騰派4G版開發(fā)板套裝測試及環(huán)境搭建

    先簡單介紹一下這款飛騰派4G版開發(fā)板套裝; 飛騰派是由中電港螢火工場研發(fā)的一款面向行業(yè)工程師、學生和愛好者的開源硬件。主板處理器采用飛騰嵌入式四核處理器,兼容ARM V8架構(gòu),包含2個FTC664核
    發(fā)表于 01-22 00:47

    【飛騰派4G版免費試用】來更多的了解飛騰派4G版開發(fā)板!

    飛騰派4G版開發(fā)板是由中電港螢火工場與飛騰合作推出的飛騰派,搭載飛騰定制嵌入式芯片,采用飛騰自主研發(fā)的高能效異構(gòu)多核處理器技術(shù),具有模塊化、易上手、全開源、低成本的特點,大大降低了國產(chǎn)處理器的開發(fā)
    發(fā)表于 01-22 00:34

    4G無線路由器,讓隨時暢游互聯(lián)網(wǎng)

    現(xiàn)代社會,4G無線路由器讓生活更便捷,無需布線,可隨時隨地暢游互聯(lián)網(wǎng)。它將4G信號轉(zhuǎn)化為Wi-Fi信號,讓你在沒有寬帶的地方能隨時暢游互聯(lián)網(wǎng)。4G無線路由器速度快,穩(wěn)定性高,讓
    的頭像 發(fā)表于 01-17 13:18 ?403次閱讀

    【飛騰派4G版免費試用】測試用飛騰派安裝OpenHarmony

    加速卡與4G、5G 通信等多種功能模塊的擴展。 主板操作系統(tǒng)支持 Ubuntu、Debian 等國外主流開源操作系統(tǒng),支持國內(nèi)Open
    發(fā)表于 01-13 22:02

    【飛騰派4G版免費試用】飛騰派開發(fā)板運行Ubuntu系統(tǒng)

    、UART、CAN、HDMI、 音頻等接口,集成一路miniPCIE接口,可實現(xiàn)AI加速卡與4G、5G通信等多種功能模塊的擴展。在操作系統(tǒng)層面,飛騰派支持Ubuntu、Debian等國外主流
    發(fā)表于 01-08 22:40

    【飛騰派4G版免費試用】大家來了解飛騰派4G版開發(fā)板

    加速卡與4G、5G通信等多種功能模塊的擴展。在操作系統(tǒng)層面,飛騰派支持Ubuntu、Debian等國外主流開源操作系統(tǒng),支持國內(nèi)OpenK
    發(fā)表于 01-02 22:43

    【飛騰派4G版免費試用】初步認識飛騰派4G版開發(fā)板

    這幾天收到飛騰派 4G 基礎(chǔ)套件,給大家做個介紹,讓大家可以了解一下這塊開發(fā)板, 飛騰派 4G 基礎(chǔ)套件單板+電源+風扇 開源開發(fā)板 支持Ubuntu SylixOS OpenKyli
    發(fā)表于 01-02 22:23

    4G藍牙網(wǎng)關(guān)M1000功能及產(chǎn)品介紹

    支持4G移動網(wǎng)絡(luò),能夠快速、穩(wěn)定地連接到互聯(lián)網(wǎng),實現(xiàn)遠程數(shù)據(jù)傳輸和設(shè)備控制。 藍牙通信:M1000支持藍牙通信,可以與各種藍牙設(shè)備進行連接和數(shù)據(jù)傳輸,如智能手機、平板電腦、智能手表等。 遠程管理:通過
    發(fā)表于 12-22 14:38