国产精品久久久久久一区二区三区,国产精品美女乱子伦高潮,被强到爽的邻居人妻完整版,国产成人国产三级,国产精品白浆无码流出

我的訂單購物車(0)會員中心 聯(lián)系客服 幫助中心供應(yīng)商合作 嘉立創(chuàng)產(chǎn)業(yè)服務(wù)群
領(lǐng)券中心備貨找料立推專區(qū)爆款推薦PLUS會員BOM配單品牌庫PCB/SMT工業(yè)品面板定制

自制4G手機(jī)!電路代碼全開源!

2023-05-09 13:48:54閱讀量:7723

本文作者:立創(chuàng)開源硬件平臺 OSHWHub @flyn,禁止商用,未經(jīng)許可禁止轉(zhuǎn)載,點擊看原文章



1、工程描述

自制4G手機(jī),基于Air724UG模組,Lua開發(fā)語言設(shè)計。手機(jī)有7大功能,分別是——電話通信、短信發(fā)送、音樂播放、一鍵指定呼叫、開關(guān)機(jī)及定時休眠、游戲娛樂、U盤模擬。



  



2、功能描述


Ⅰ 電話通信

進(jìn)入電話app界面,輸入電話號碼,按“*”鍵撥出,按“#”鍵退出。


短信發(fā)送

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


音樂播放

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


一鍵指定呼叫

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


開關(guān)機(jī)及定時休眠

在關(guān)機(jī)狀態(tài),按住右側(cè)電源按鈕持續(xù)4秒手機(jī)開機(jī),并顯示開機(jī)動畫。

進(jìn)入主菜單后,按住右側(cè)電源按鈕持續(xù)2秒彈出關(guān)機(jī)確認(rèn)界面,按“*”號鍵關(guān)機(jī),按“#”鍵返回。

1分鐘無按鍵操作,手機(jī)屏幕和按鍵燈熄滅,進(jìn)入休眠狀態(tài)以降低功耗。


游戲娛樂

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


U盤模擬

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



3、設(shè)計圖


  

原理(點擊進(jìn)入嘉創(chuàng)EDA編輯器打開)




4、硬件說明

硬件上使用Air724UG模塊作為主控,所有外設(shè)都接在模塊上。


  



主板采用4層板,阻容基本上是0402封裝,整機(jī)外殼5X10cm,鋰電池容量為1500mAH。板上預(yù)留了攝像頭接口以及鋰電池電量計芯片(未驗證)。



  

  


手機(jī)正面是一塊280X240的tft液晶屏和12顆按鍵。按鍵采用的是6x6x7.2貼片帶燈,套了數(shù)字按鍵帽,按鍵上的燈統(tǒng)一由air724UG的一個pwm口控制。側(cè)面是3顆側(cè)貼的輕觸按鈕,實現(xiàn)“上”、“下”、“開關(guān)機(jī)”功能。


底部是一個Typec座和一個雙色LED:

typec口用于電池充電以及程序燒入,并且可以連接到PC用于模擬U盤,模擬的U盤目錄指向手機(jī)上的SD卡。
雙色LED用于指示充電狀態(tài),紅色表示充電,藍(lán)色表示充滿。
背面揚聲器位置開孔以及4個M2.5的固定孔位置。




  

  

  

PCB和整機(jī)圖片



5、軟件說明


軟件部分基于LuatOS-Air編寫。LuatOS-Air = Lua + AT,是合宙嵌入式操作系統(tǒng)LuatOS在蜂窩物聯(lián)網(wǎng)模組上推出的開源的二次開發(fā)框架。

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


  


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

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

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


  



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


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


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

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

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



IDE使用VSCode,下載luatIDE以及相應(yīng)的debug插件,可以通過usb口進(jìn)行下載調(diào)試。

UI基于LVGL庫,LVGL 是一個開源的圖形庫,它提供了創(chuàng)建嵌入式 GUI 所需的一切,具有易于使用的圖形元素、漂亮的視覺效果和低內(nèi)存占用的特點。

基本上,大部分控制器(需要能夠驅(qū)動顯示屏)都適合運行 LVGL。最低要求是:


  


C語言版本的LVGL支持觸摸屏、鼠標(biāo)、鍵盤、編碼器、按鈕等多種輸入設(shè)備,合閘官方提供的demo是基于觸摸屏的設(shè)計,移植到本工程改為按鍵輸入時找不到group相對應(yīng)的api,不知道是不是lua 版本的 LVGL還未支持。

目前是為所有界面編寫了按鍵響應(yīng)函數(shù),這導(dǎo)致控件配合的不是很好。

手機(jī)使用方法:開機(jī)動畫結(jié)束后進(jìn)入主界面,頂部顯示手機(jī)卡狀態(tài)、當(dāng)前時間以及電池電量。中間app圖標(biāo)排成一排,當(dāng)前選中的app在中間,按右側(cè)“↑”“↓”按鍵切換app,按“*”鍵進(jìn)入app界面(當(dāng)前切換動畫代碼未編寫,切換過程不太直觀)。



6、軟硬件調(diào)試


硬件調(diào)試

由于air724UG模塊背面有焊盤類似BGA,在焊接時需要借助加熱臺。

①先在焊盤上涂抹錫膏,放上模塊進(jìn)行加熱,所以PCB板背面的元件先不要焊接!

②焊好模塊周邊的元件以及usb口部分的元件,先燒入腳本進(jìn)行測試模塊背面焊盤是否焊接良好。

③背面焊盤主要是按鍵和攝像頭以及l(fā)cd背光,攝像頭預(yù)留暫時未寫對應(yīng)代碼暫時不管,想用的可以用官方的demo測試。

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

  



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

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

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


軟件調(diào)試

可以通過LuaTools工具進(jìn)入腳本燒入。
手機(jī)側(cè)面的第二個按鈕是boot鍵,按住該鍵再重啟即可進(jìn)入boot模式。
板上接出重啟按鍵,在裸板時可以協(xié)助調(diào)試。板上預(yù)留串口接口,可以接出使用(未使用過,使用usb調(diào)試很方便)。
LuaTools工具可以打印日志,想輸出哪些信息在腳本里調(diào)用log.info()即可。

  

  


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

用usb接上PC,會在PC端彈出一個U盤,該U盤指向的就是手機(jī)上的sd卡,將附件提供的music文件、message.json、call list.json、wallpaper.png、wallpaper2.png和startup animation.gif放入U盤,再重啟就可以了。

如果PC端有提示U盤但是打不開,可能是sd卡格式損壞,將U盤快速格式化一遍就行了。

  



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


本工程實現(xiàn)了所要求的功能,但還有些小瑕疵:喇叭在播放一段時間后會出現(xiàn)雜音不清晰、主界面切換app圖標(biāo)時有時會出現(xiàn)某一項圖標(biāo)消失不顯示、長時間播放音樂手機(jī)會有發(fā)燙現(xiàn)象。

后續(xù)等空閑時間的時候再改進(jìn)吧,還有一些功能后續(xù)也會添加,比如錄音、wifi定位、攝像頭識別二維碼、掃碼支付、文件夾瀏覽等。(但是時間多久不定,勿cue)


更多詳情及附件,可從原工程查看。

本文作者:立創(chuàng)開源硬件平臺 OSHWHub 用戶@flyn,禁止商用,未經(jīng)許可禁止轉(zhuǎn)載


標(biāo)簽圖標(biāo)
DIY | 手機(jī)