Ilana fun idagbasoke ohun elo aṣa ati ikojọpọ sinu module wa labẹ mejeeji Linux ati awọn ọna ṣiṣe Windows. Ninu nkan yii a yoo wo alaye ni bii, ni lilo awọn apẹẹrẹ lati SDK ti a pese
Ṣaaju ki o to kọ nkan naa, ọkan ninu awọn ojulumọ mi, ti o jinna lati dagbasoke fun Linux, beere lọwọ mi lati sunmọ ọran ti n ṣalaye ilana ti idagbasoke ohun elo ti ara mi fun module SIM7600E-H ni awọn alaye pupọ bi o ti ṣee. Idiyele fun igbelewọn iraye si igbejade ohun elo ni gbolohun “ki MO le loye.”
Mo pe o lati gba acquainted pẹlu ohun to sele.
Nkan naa jẹ afikun nigbagbogbo ati imudojuiwọn
Prelude
Ni deede, awọn modulu ibaraẹnisọrọ cellular ni a lo fun gbigbe data nikan, awọn ipe ohun, gbigbe SMS ati bii. Gbogbo eyi ni a ṣe nipasẹ awọn aṣẹ AT ti a firanṣẹ lati microcontroller iṣakoso ita. Ṣugbọn ẹka kan wa ti awọn modulu ti o gba ọ laaye lati ṣiṣẹ koodu aṣa ti kojọpọ lati ita. Ni awọn igba miiran, eyi ṣe pataki dinku isuna gbogbogbo ti ẹrọ naa, gbigba ọ laaye lati fi sori ẹrọ rọrun (ati isuna dọgba) microcontroller lori igbimọ tabi fi silẹ lapapọ. Pẹlu dide ti awọn modulu LTE ti iṣakoso nipasẹ Android tabi Linux OS ati awọn orisun agbara wọn, o ṣee ṣe lati yanju awọn iṣẹ ṣiṣe eyikeyi ti o wa si awọn ilana olokiki. Nkan yii yoo sọrọ nipa SIM7600E-H, iṣakoso nipasẹ Linux OS. A yoo wo bi o ṣe le ṣe igbasilẹ ati ṣiṣe ohun elo ṣiṣe kan.
Ni ọpọlọpọ awọn ọna, ohun elo naa da lori iwe-ipamọ “SIM7600 Ṣii Linux idagbasoke quide”, ṣugbọn diẹ ninu awọn afikun ati, ni akọkọ, ẹya Russian yoo wulo. Nkan naa yoo ṣe iranlọwọ fun awọn ti o bẹrẹ lati Titunto si module ni oye bi o ṣe le ṣe igbasilẹ ohun elo demo ati pese awọn ọgbọn pataki fun iṣẹ atẹle.
Ni soki nipa ẹniti SIM7600E-H jẹ
SIM7600E-H jẹ module ti a ṣe lori ARM Cortex-A7 1.3GHz ero isise lati Qualcomm, nini ẹrọ ṣiṣe Linux (kernel 3.18.20) inu, ti o lagbara lati ṣiṣẹ pẹlu European (pẹlu Russian) awọn ẹgbẹ igbohunsafẹfẹ 2G/3G/ LTE ti n ṣe atilẹyin Cat. .4, pese awọn iyara igbasilẹ ti o pọju ti o to 150Mbps ati awọn iyara ikojọpọ ti o to 50Mbps. Awọn agbeegbe ọlọrọ, iwọn otutu ile-iṣẹ ati wiwa GPS/GLONASS ti a ṣe sinu lilọ kiri bo awọn ibeere eyikeyi fun ojutu apọjuwọn ode oni ni aaye M2M.
System Akopọ
SIM7600E-H module ti wa ni da lori Linux ẹrọ (kernel 3.18.20). Ni ọna, eto faili ti wa ni itumọ ti lori ipilẹ ti eto faili ti a ṣe akọọlẹ UBIFS (Eto faili Aworan Idina ti a ko pin).
Awọn ẹya pataki ti eto faili yii pẹlu:
- ṣiṣẹ pẹlu awọn ipin, gba ọ laaye lati ṣẹda, paarẹ, tabi yi iwọn wọn pada;
- ṣe idaniloju titete gbigbasilẹ kọja gbogbo iwọn didun media;
- ṣiṣẹ pẹlu awọn bulọọki buburu;
- dinku o ṣeeṣe ti pipadanu data lakoko ijade agbara tabi awọn ikuna miiran;
- fifi àkọọlẹ.
Apejuwe ya
Awon. Iru eto faili yii jẹ apẹrẹ fun awọn ipo iṣẹ lile ti module ati awọn iṣoro agbara ti o ṣeeṣe. Ṣugbọn eyi ko tumọ si pe awọn ipo agbara riru yoo jẹ ipo iṣẹ ti a nireti ti module; o tọka nikan ṣiṣeeṣe nla ti ẹrọ naa.
Iranti
Pipin awọn agbegbe iranti jẹ itumọ bi atẹle:
Awọn agbegbe akọkọ mẹta wa lati ṣe afihan:
ubi0: rootfs - kika-nikan ati ni ekuro Linux funrararẹ
ubi0: usrfs - ti a lo nipataki fun eto olumulo ati ibi ipamọ data
ubi0: cahcefs - wa ni ipamọ fun awọn imudojuiwọn FOTA. Ti aaye to wa ko ba to lati ṣe igbasilẹ imudojuiwọn naa, eto naa yoo paarẹ awọn faili ti ko lo ati nitorinaa laaye aaye. Ṣugbọn fun awọn idi aabo, o yẹ ki o ko gbe awọn faili rẹ sibẹ.
Gbogbo awọn apakan mẹta ti pin bi atẹle:
Awọn faili igbasilẹ
iwọn
lo
wa
Lo%
Ti gbe sori
ubi0: rootfs
40.7M
36.2M
4.4M
89%
/
ubi0: usrfs
10.5M
360K
10.1M
3%
/ data
ubi0: awọn kaṣe
50.3M
20K
47.7M
0%
/ kaṣe
Iṣẹ ṣiṣe to wa
Bi darukọ loke, awọn module ti wa ni itumọ ti lori Cortex A7 chipset lati Qualcomm. Yoo jẹ aṣiṣe lati ma pese iru mojuto iṣẹ ṣiṣe giga lati ṣe ilana eto olumulo ati gbe ero isise akọkọ ti ẹrọ naa nipa gbigbe apakan diẹ ninu eto naa si module.
Fun eto olumulo, awọn ipo iṣẹ agbeegbe atẹle yoo wa fun wa:
PIN Bẹẹkọ.
Name
Sys GPIO No.
Iṣe aipe
Iṣẹ-ṣiṣe1
Iṣẹ-ṣiṣe2
Fa
Idalọwọduro ji
6
SPI_CLK
-
UART1_RTS
-
-
B-PD
-
7
SPI_MISO
-
UART1_Rx
-
-
B-PD
-
8
SPI_MOSI
-
UART1_Tx
-
-
B-PD
-
9
SPI_CS
-
UART1_CTS
-
-
B-PD
-
21
SD_CMD
-
SD-Kaadi
-
-
B-PD
-
22
SD_DATA0
-
SD-Kaadi
-
-
B-PD
-
23
SD_DATA1
-
SD-Kaadi
-
-
B-PD
-
24
SD_DATA2
-
SD-Kaadi
-
-
B-PD
-
25
SD_DATA3
-
SD-Kaadi
-
-
B-PD
-
26
SD_CLK
-
SD-Kaadi
-
-
B-PN
-
27
SDIO_DATA1
-
Fi
-
-
B-PD
-
28
SDIO_DATA2
-
Fi
-
-
B-PD
-
29
SDIO_CMD
-
Fi
-
-
B-PD
-
30
SDIO_DATA0
-
Fi
-
-
B-PD
-
31
SDIO_DATA3
-
Fi
-
-
B-PD
-
32
SDIO_CLK
-
Fi
-
-
B-PN
-
33
GPIO3
GPIO_1020
MIFI_POWER_EN
Awọn GPIO
MIFI_POWER_EN
B-PU
-
34
GPIO6
GPIO_1023
MIFI_SLEEP_CLK
Awọn GPIO
MIFI_SLEEP_CLK
B-PD
-
46
AD2
-
ADC
-
-
-
-
47
AD1
-
ADC
-
-
B-PU
-
48
SD_DET
GPIO_26
Awọn GPIO
Awọn GPIO
SD_DET
B-PD
X
49
Ẹrọ
GPIO_52
Ipo
Awọn GPIO
Ipo
B-PD
X
50
GPIO43
GPIO_36
MIFI_COEX
Awọn GPIO
MIFI_COEX
B-PD
-
52
GPIO41
GPIO_79
BT
Awọn GPIO
BT
B-PD
X
55
SCL
-
I2C_SCL
-
-
B-PD
-
56
ohun alumọni
-
I2C_SDA
-
-
B-PU
-
66
RTS
-
UART2_RTS
-
-
B-PD
-
67
CTS
-
UART2_CTS
-
-
B-PD
-
68
RxD
-
UART2_Rx
-
-
B-PD
-
69
RI
-
GPIO(RI)
-
-
B-PD
-
70
DCD
-
Awọn GPIO
-
-
B-PD
-
71
TXD
-
UART2_Tx
-
-
B-PD
-
72
DTRMo siwaju sii
-
GPIO(DTR)
-
-
B-PD
X
73
PCM_OUT
-
PCM
-
-
B-PD
-
74
PCM_IN
-
PCM
-
-
B-PD
-
75
PCM_SYNC
-
PCM
-
-
B-PD
-
76
PCM_CLK
-
PCM
-
-
B-PU
-
87
GPIO77
GPIO77
BT
Awọn GPIO
BT
B-PD
-
Gba, atokọ naa jẹ iwunilori ati akiyesi: apakan ti awọn agbeegbe ni a lo lati ṣiṣẹ module bi olulana. Awon. Da lori iru module kan, o le ṣe olulana kekere kan ti yoo pin kaakiri Intanẹẹti nipasẹ Wi-Fi. Nipa ọna, ojutu ti a ti ṣetan ti a pe ni SIM7600E-H-MIFI ati pe o jẹ kaadi miniPCIE pẹlu module SIM7600E-H ti o ta ati awọn pinni eriali pupọ, ọkan ninu wọn jẹ eriali Wi-Fi kan. Sibẹsibẹ, eyi jẹ koko-ọrọ fun nkan lọtọ.
Ọjọbọ (kii ṣe ọjọ kan ti ọsẹ)
Ohun ti o nilo kii ṣe larọwọto wa fun igbasilẹ – SDK kan, eyiti o le beere lọwọ olupin rẹ.
Fifi awọn ohun elo fun ṣiṣẹ pẹlu module
Lẹhin eyi, a yoo ṣiṣẹ labẹ Windows bi OS ti o mọ julọ si ọpọlọpọ awọn olumulo.
A yoo nilo lati fi sọfitiwia pataki sori ẹrọ ni awọn igbesẹ ti o rọrun diẹ lati ṣe atẹle ṣiṣẹ pẹlu module naa:
- GNU / Lainos
- Cygwin
- Awakọ
- ADB
Fifi GNU/Linux sori ẹrọ
Lati kọ ohun elo naa, o le lo eyikeyi akojọpọ ibaramu ARM-Linux. A yoo lo SourceryCodeBenchLiteARM GNU/Linuxtranslater wa fun igbasilẹ ni
Lati rii daju pe gbogbo awọn paati ti fi sori ẹrọ ni deede, Emi yoo fi awọn sikirinisoti diẹ ti ilana fifi sori ẹrọ. Ni opo, ko si ohun idiju ni fifi sori ẹrọ.
Lati rii daju pe gbogbo awọn paati ti fi sori ẹrọ ni deede, Emi yoo fi awọn sikirinisoti diẹ ti ilana fifi sori ẹrọ. Ni opo, ko si ohun idiju ni fifi sori ẹrọ.
- A gba adehun iwe-aṣẹ
- Pato folda fifi sori ẹrọ
- A fi awọn pataki irinše ko yipada
- Fi silẹ bi o ṣe jẹ
- Ni ọpọlọpọ igba "Niwaju", "Fi sori ẹrọ" ati pe o jẹ bẹ
Fifi sori ẹrọ Cygwin
Siwaju sii, fun idagbasoke, iwọ yoo nilo akojọpọ awọn ile-ikawe ati awọn ohun elo lati inu eto ti a pese
Ko si ohun idiju ni fifi Cygwin sori ẹrọ, ohun kan ṣoṣo ti o nilo lati yan ni digi kan lati eyiti insitola yoo ṣe igbasilẹ awọn faili pataki, yan eyikeyi ki o fi sii, ati ṣeto awọn ohun elo ati awọn ile ikawe, nlọ gbogbo awọn ile-ikawe ti o wa ati awọn ohun elo ti a ti yan.
Iwakọ fifi sori
Lẹhin ti module ti sopọ si PC, iwọ yoo nilo lati fi awọn awakọ sii. Iwọnyi le beere lọwọ olupin rẹ (a ṣeduro). Emi ko ṣeduro wiwa Intanẹẹti funrararẹ, nitori… O le gba akoko pupọ lati wa ohun ti o fa ija ẹrọ naa.
Lara awọn ebute oko oju omi ti a yan a rii atẹle naa:
Windows
Linux
Apejuwe
SimTech HS-USB Aisan
USB Serial
Aisan Interface
SimTech HS-USB NMEA
USB Serial
GPS NMEA Interface
SimTech HS-USB AT Port
USB Serial
AT ibudo Interface
SimTech HS-USB modẹmu
USB Serial
Iṣiṣẹ modẹmu ibudo Interface
SimTech HS-USB Audio
USB Serial
USB Audio Interface
SimTech HS-USB WWAN Adapter
Nẹtiwọọki USB
NDIS WWAN Interface
ADB Interface Apapo Android
USB ADB
Android fi yokokoro ibudo
Bi o ti ṣee ṣe akiyesi, ko si USB ADB laarin awọn ebute oko oju omi inu sikirinifoto, eyi jẹ nitori pe ibudo ADB ninu module naa ti wa ni pipade nipasẹ aiyipada ati pe o nilo lati mu ṣiṣẹ nipa fifiranṣẹ aṣẹ 'AT + CUSBADB = 1' si AT ibudo module ki o tun atunbere (eyi le ṣee ṣe pẹlu aṣẹ 'AT + CRESET').
Bi abajade, a gba wiwo ti o fẹ ninu oluṣakoso ẹrọ:
A ti pari pẹlu awọn awakọ, jẹ ki a lọ si ADB.
Fifi ADB sori ẹrọ
Lọ si oju opo wẹẹbu Olùgbéejáde Android osise
Ṣe igbasilẹ ati ṣii iwe-ipamọ abajade ti o yọrisi si gbongbo drive C.
Awọn iyipada Ayika
Lẹhin fifi sori Cygwin, iwọ yoo nilo lati ṣafikun ọna Cygwin / bin / si awọn oniyipada ayika idagbasoke (Igbimọ Iṣakoso Ayebaye → Eto → Awọn eto eto ilọsiwaju → To ti ni ilọsiwaju → Awọn iyipada Ayika → Awọn iyipada eto → Ọna → Ṣatunkọ) bi a ṣe han ninu sikirinifoto ni isalẹ:
Bakanna, ṣafikun ọna si igbasilẹ ADB ti a gbasilẹ ati ṣiṣi silẹ si gbongbo drive C.
Tẹ O DARA ni igba pupọ ki o tun bẹrẹ kọmputa naa.
Lẹhin atunbere, o le ni rọọrun ṣayẹwo boya ADB n ṣiṣẹ ni deede nipa ṣiṣi laini aṣẹ (Win + R → cmd) ati titẹ aṣẹ 'adb version'. A gba nkan bii eyi:
Jẹ ki a so module pọ mọ PC (ti o ba ṣẹlẹ pe o ti ge asopọ) ki o ṣayẹwo boya ADB rii pẹlu aṣẹ 'adb awọn ẹrọ':
Ti ṣe, eyi pari iṣeto ti asopọ si module ati pe a le ṣe ifilọlẹ ikarahun lati ṣiṣẹ pẹlu module naa.
Ṣiṣii ati ṣajọ SDK
Ni bayi ti a ni iwọle si ikarahun naa ati pe o le bẹrẹ ṣiṣẹ pẹlu laini aṣẹ module, jẹ ki a gbiyanju lati ṣajọ ohun elo akọkọ wa lati fifuye sinu module.
Ọpọlọpọ eniyan le ni iṣoro pẹlu eyi! Nitori Module naa nṣiṣẹ lori ẹrọ ṣiṣe Linux; lati yago fun ikọlura nigbati o ba n ṣajọ koodu labẹ Windows, o dara julọ lati ṣajọ ni agbegbe abinibi - Linux.
A kii yoo gbe ni alaye lori bii, ni isansa Linux ati ifẹ lati fi sori ẹrọ lori ẹrọ rẹ, o le fi sii lori ẹrọ foju kan. A yoo lo VirtualBox, fi ẹya Ubuntu 20.04 sori ẹrọ (ẹya ti isiyi ni akoko kikọ) ati labẹ rẹ a yoo bẹrẹ ṣiṣẹ pẹlu awọn akopọ, SDKs, ati bẹbẹ lọ.
Jẹ ki a lọ si agbegbe Linux ki o si ṣii iwe-ipamọ ti o gba lati ọdọ olupin naa.
simcom@VirtualBox:~/Desktop/OpenLinux$ sudo tar -xzf MDM9x07_OL_2U_22_V1.12_191227.tar.gz
Lọ si itọsọna sim_open_sdk ki o ṣafikun agbegbe naa:
simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ cd sim_open_sdk
simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ source sim_crosscompile/sim-crosscompile-env-init
A wa ninu folda kanna ati ṣiṣe awọn aṣẹ atẹle nigba ti o wa ninu rẹ.
Fi ibi-ikawe libncurses5-dev sori ẹrọ ti ko ba ti fi sii:
simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ sudo apt-get update && sudo apt-get install libncurses5-dev -y
Python, ti ko ba fi sii boya:
simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ sudo apt-get install python -y
ati gcc:
simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ sudo apt-get install gcc
Iṣakojọpọ:
Bayi a nilo lati ṣajọ awọn faili pupọ, a ṣiṣe awọn aṣẹ wọnyi ni atẹlera.
Ti window iṣeto ekuro ba jade lakoko ikojọpọ, kan yan Jade ki o pada si console; a ko nilo lati tunto ekuro ni bayi.
A ṣe:
simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ make
Akojọpọ bootloader:
simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ make aboot
Iṣakojọpọ kernel:
simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ make kernel_menuconfig
simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ make kernel
Ṣe akopọ eto faili root:
simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ make rootfs
Fun awọn olumulo Linux yoo jẹ pataki lati ṣajọ awakọ module:
simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ make kernel_module
Jẹ ki a ṣajọ demo naa:
simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ make demo
Lẹhin eyi ọpọlọpọ awọn faili titun yoo han ninu sim_open_sdk/itọsọnajade:
simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ ls output/
appsboot.mbn boot.img demo_app helloworld system.img
Ririnkiri
Jẹ ki a gbiyanju ikojọpọ demo sinu module wa ki o wo ohun ti o jade ninu rẹ.
Gba lati ayelujara
Ninu ilana sim_open_sdk a le rii demo_app faili naa. A mu lọ ki o gbe lọ si root ti drive C lori PC si eyiti a ti sopọ mọ module naa. Lẹhinna lọlẹ laini aṣẹ Windows (Win + R -> cmd) ki o tẹ:
C:>adb push C:demo_app /data/
console yoo sọ fun wa:
C:demo_app: 1 file pushed, 0 skipped. 151.4 MB/s (838900 bytes in 0.005s)
Eyi tumọ si pe faili naa ti firanṣẹ ni ifijišẹ si module ati gbogbo ohun ti a ni lati ṣe ni ṣiṣe. Jẹ ki a ṣiyemeji.
A ṣe:
C:>adb shell
A faagun awọn ẹtọ ti faili ti a gbasile:
/ # cdhmod 777 /data/demo_app
Ati pe a nṣiṣẹ:
/ # /data/demo_app
Ninu console kanna, module naa yoo sọ fun wa ni atẹle:
SDK_VER : SIM_SDK_VER_20191205
DEMO_VER: SIM_SDK_VER_20191205
Please select an option to test from the items listed below.
1. WIFI 2. VOICE CALL
3. DATA CALL 4. SMS
5. WDS(APN) 6. NAS
7. AT 8. OTA
9. TTS 10. GPIO
11. GPS 12. Bluetooth
13. TCP/UDP 14. Timer
15. ADC 16. I2C
17. UIM(SimCard) 18. DMS(IMEI,MEID)
19. UART 20. SPI
21. Version 22. Ethernet
23. FTP 24. SSL
25. HTTP(S) 26. FTP(S)
27. MQTT(S) 28. ALSA
29. DEV 30. AUDIO
31. JSON 32. LBS
99. EXIT
Option >
Jẹ ki a wo IMEI ti module, tẹ 7 (yipada si ipo aṣẹ) ati lẹhinna tẹ 5:
Please select an option to test from the items listed below.
1. WIFI 2. VOICE CALL
3. DATA CALL 4. SMS
5. WDS(APN) 6. NAS
7. AT 8. OTA
9. TTS 10. GPIO
11. GPS 12. Bluetooth
13. TCP/UDP 14. Timer
15. ADC 16. I2C
17. UIM(SimCard) 18. DMS(IMEI,MEID)
19. UART 20. SPI
21. Version 22. Ethernet
23. FTP 24. SSL
25. HTTP(S) 26. FTP(S)
27. MQTT(S) 28. ALSA
29. DEV 30. AUDIO
31. JSON 32. LBS
99. EXIT
Option > 7
Please select an option to test from the items listed below.
1. get Module Version 2. get CSQ
3. get CREG 4. get ICCID
5. get IMEI 6. get CIMI
99. back
Option > 5
IMEI: 867584030090489
Please select an option to test from the items listed below.
1. get Module Version 2. get CSQ
3. get CREG 4. get ICCID
5. get IMEI 6. get CIMI
99. back
Option >
Ni ọna yii a yoo rii IMEI ti module naa.
Bi ipari
Mo nireti pe a ni anfani lati ni imọran gbogbogbo ti bii o ṣe le bẹrẹ pẹlu module naa. Ninu awọn nkan atẹle, a yoo ṣe akiyesi awọn agbara ti pẹpẹ SIM7600E-H pese, ati bii o ṣe le ṣe imudojuiwọn ohun elo tirẹ ni module.
Mo pe ọ lati beere awọn ibeere ninu awọn asọye, ati tun tọka iru abala ti awọn agbara module yẹ ki o ṣafihan ninu awọn nkan atẹle.
orisun: www.habr.com