OpenLinux SIM7600E-H moodulite koostisosana

OpenLinux SIM7600E-H moodulite koostisosana

Kasutaja rakenduse arendamise ja selle moodulisse laadimise mehhanism on saadaval nii Linuxi kui ka Windowsi operatsioonisĂŒsteemides. KĂ€esolevas artiklis vaatleme pĂ”hjalikult, kuidas kasutada antud SDK nĂ€iteid. SIMCom Wireless Solutions kasutada ja laadida kasutajarakendust moodulisse.

Enne artikli kirjutamist palus ĂŒks tuttav, kes ei olnud Linuxi arendamisega kokku puutunud, kĂ€sitleda seda teemat vĂ”imalikult ĂŒksikasjalikult, et "ma saaksin aru". See oli peamine kriteerium materjali esitlemisel.

Kutsun teid tutvuma, mis vÀlja tuli.

Artikkel tÀiendatakse ja uuendatakse regulaarselt.

Eelajak

Tavaliselt kasutatakse mobiilimooduleid ainult andmete edastamiseks, hÀÀlkĂ”nede jaoks, SMSide saatmiseks ja sarnaseks. KĂ”ik see toimub AAT-kĂ€skude kaudu, mis saadetakse vĂ€liselt juhtivalt mikrokontrollerilt. Kuid on mooduleid, mis vĂ”imaldavad kĂ€itada vĂ€liselt laaditavat kasutajakoode. MĂ”nel juhul vĂ€hendab see seadme ĂŒldkulusid, vĂ”imaldades paigaldada lihtsama (ja odavama) mikrokontrolleri vĂ”i loobuda sellest tĂ€ielikult. LTE moodulite, mida juhib Android vĂ”i Linux, ja nende vĂ”imsate ressursside ilminguga saab lahendada kĂ”iki ĂŒlesandeid, mis on kergesti kĂ€tte saadavad tuntud protsessoritele. KĂ€esolevas artiklis rÀÀgime Linuxi juhitavast SIM7600E-H-st. Vaatame, kuidas laadida ja kĂ€ivitada tĂ€idetavat rakendust.

Materjal pÔhineb suuresti dokumendil 'SIM7600 Open Linux development guide', kuid mÔned tÀiendid ning eelkÔige venekeelne versioon on kasulikud. Artikkel aitab neil, kes alles alustavad mooduli uurimist, jÔuda vaatamise demonstreerimissovetis ning omandada vajalikke oskusi edasiseks tööks.

LĂŒhidalt SIM7600E-H-st

SIM7600E-H on Qualcommi ARM Cortex-A7 1.3GHz protsessorile pĂ”hinev moodul, millel on Linuxi operatsioonisĂŒsteem (kernel 3.18.20) ning mis toetab Euroopa (sealhulgas Venemaa) 2G/3G/LTE sagedusvahemikke. Toetab Cat.4, pakkudes maksimaalset allalaadimiskiirust kuni 150 Mbps ja ĂŒleslaadimiskiirust kuni 50 Mbps. Rikkalikud liidesed, tööstuslik temperatuurivahemik ja integreeritud GPS/GLONASS navigatsioon rahuldavad kĂ”ik kaasaegse modulaarse lahenduse nĂ”uded M2M valdkonnas.

SĂŒsteemi ĂŒlevaade

SIM7600E-H moodul pĂ”hineb Linuxi operatsioonisĂŒsteemil (kernel 3.18.20). FailisĂŒsteem pĂ”hineb ajakirjendatud failisĂŒsteemil UBIFS (Unsorted Block Image File System).

Selle failisĂŒsteemi olulised omadused on:

  • töötamine osadega, vĂ”imaldab luua, kustutada vĂ”i muuta nende suurust;
  • tagab kirjutamise tasakaalu kogu mĂ€lumeedia mahus;
  • töötamine halva plokkidega;
  • minimeerib andmekao tĂ”enĂ€osust voolu katkestamise vĂ”i muude tĂ”rgete korral;
  • ajakirjade pidamine.

Kirjeldus on pĂ€rit siit, seal on ka pĂ”hjalikumalt juttu sellisest failisĂŒsteemist.

See tĂ€hendab, et see failisĂŒsteemi tĂŒĂŒp sobib ideaalselt mooduli töötingimuste karmidele nĂ”udmistele ja vĂ”imalikele toiteprobleemidele. Kuid see ei tĂ€henda, et ebastabiilne toiteallikas oleks mooduli töötamise oodatud reĆŸiim, see ĂŒtleb lihtsalt seadme suurema elujĂ”udluse kohta.

MĂ€lu

MÀlupiirkondade jaotus on jÀrgmine:

OpenLinux SIM7600E-H moodulite koostisosana

Tuleb vÀlja tuua kolm peamist ala:

ubi0:rootfs – on ainult lugemiseks ja sisaldab Linuxi kernelit
ubi0:usrfs – kasutatakse peamiselt kasutajaprogrammi ja andmete salvestamiseks
ubi0:cahcefs – reserveeritud FOTA vĂ€rskendusteks. Kui laadimiseks pole piisavalt ruumi – sĂŒsteem kustutab kasutamata failid ja vabastab ruumi. Kuid turvakaalutlustel ei tohiks seal oma faile hoida.

KÔik kolm osa on jaotatud jÀrgmiselt:

Filesystem
Suurus
Kasutatud
Saadaval
Kasutus%
Mountitud

ubi0:rootfs
40.7M
36.2M
4.4M
89%
/

ubi0:usrfs
10.5M
360K
10.1M
3%
/data

ubi0:cachefs
50.3M
20K
47.7M
0%
/cache

Saadaval funktsionaalsus

Nagu eelnevalt mainitud, pÔhineb moodul Qualcommi Cortex A7 kiibistikul. Oleks vale mitte pakkuda sellist kÔrge jÔudlusega tuuma kliendiprogrammi töötlemiseks ja seadme peamise protsessori koormuse vÀhendamiseks, kandes moodulile osa programmikoodist.

Kliendiprogrammi jaoks on meil saadaval jĂ€rgmised perifeeria tööreĆŸiimid:

Pin No.
Nimi
Sys GPIO No.
Vaikimisi toiming
Func1
Func2
Pull
Wakeup interrupt

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-Card
—
—
B-PD
—

22
SD_DATA0
—
SD-Card
—
—
B-PD
—

23
SD_DATA1
—
SD-Card
—
—
B-PD
—

24
SD_DATA2
—
SD-Card
—
—
B-PD
—

25
SD_DATA3
—
SD-Card
—
—
B-PD
—

26
SD_CLK
—
SD-Card
—
—
B-PN
—

27
SDIO_DATA1
—
WLAN
—
—
B-PD
—

28
SDIO_DATA2
—
WLAN
—
—
B-PD
—

29
SDIO_CMD
—
WLAN
—
—
B-PD
—

30
SDIO_DATA0
—
WLAN
—
—
B-PD
—

31
SDIO_DATA3
—
WLAN
—
—
B-PD
—

32
SDIO_CLK
—
WLAN
—
—
B-PN
—

33
GPIO3
GPIO_1020
MIFI_POWER_EN
GPIO
MIFI_POWER_EN
B-PU
—

34
GPIO6
GPIO_1023
MIFI_SLEEP_CLK
GPIO
MIFI_SLEEP_CLK
B-PD
—

46
ADC2
—
ADC
—
—
—
—

47
ADC1
—
ADC
—
—
B-PU
—

48
SD_DET
GPIO_26
GPIO
GPIO
SD_DET
B-PD
X

49
STATUS
GPIO_52
Oleku
GPIO
Oleku
B-PD
X

50
GPIO43
GPIO_36
MIFI_COEX
GPIO
MIFI_COEX
B-PD
—

52
GPIO41
GPIO_79
BT
GPIO
BT
B-PD
X

55
SCL
—
I2C_SCL
—
—
B-PD
—

56
SDA
—
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
—
GPIO
—
—
B-PD
—

71
TxD
—
UART2_Tx
—
—
B-PD
—

72
DTR
—
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
GPIO
BT
B-PD
—

Kuna loetelu on muljetavaldav, pane tĂ€hele, et osa perifeeriast kasutatakse mooduli töö tegemiseks ruuterina. TeisisĂ”nu, sellise mooduli baasil on vĂ”imalik luua vĂ€ike ruuter, mis jagab internetiĂŒhendust Wi-Fi kaudu. Ühtlasi on olemas juba valmis lahendus, mida nimetatakse SIM7600E-H-MIFI ja mis koosneb miniPCIE kaartidest, millele on paigaldatud SIM7600E-H moodul ja mitmed antenni vĂ€ljundid, millest ĂŒks on Wi-Fi antenn. Siiski, see on juba teema eraldi materjaliks.

Keskkond (mitte nÀdalapÀev)

SIMCom Wireless Solutions annab arendajatele vĂ”imaluse valida endale kĂ”ige tuttavama arendusmuhkonna Linuxi vĂ”i Windowsi jaoks. Kui tegemist on ĂŒhe kĂ€itatava rakendusega moodulil, on parem valida Windows, kuna see on kiirem ja lihtsam. Kui on planeeritud keeruline rakenduse arhitektuur ja hilisemad uuendused, on parem kasutada Linuxi. Samuti vajame Linuxit kĂ€itatavate failide kompileerimiseks moodulisse laadimiseks; kompileerimiseks on tĂ€iesti piisav virtuaalne masin.

Selleks, mida teil vajatakse ja mis ei ole vabalt saadaval, on SDK, mida saab kĂŒsida oma edasimĂŒĂŒjalt.

Tööriistade installimine mooduliga töötamiseks

Siin ja edaspidi töötame Windowsi all, kuna see on enamikule kasutajatest tuttav operatsioonisĂŒsteem.

Meie on vaja paari lihtsa sammu jooksul installida vajalik tarkvara, et Ôppida mooduliga töötama:

  1. GNU/Linux
  2. Cygwin
  3. Draiverid
  4. ADB

GNU/Linux installimine

Rakenduse koostamiseks saab kasutada mis tahes ARM-Linuxiga ĂŒhilduvat kompilaatorit. Me kasutame SourceryCodeBenchLiteARM GNU/Linux tĂ”lkijat, mille saab alla laadida aadressilt lingil.

Kuna kĂ”ik komponendid peavad olema Ă”igesti installitud, jĂ€tan mĂ”ned ekraanipildid installiprotsessist. Üldiselt pole installimises midagi keerulist.

Kuna kĂ”ik komponendid peavad olema Ă”igesti installitud, jĂ€tan mĂ”ned ekraanipildid installiprotsessist. Üldiselt pole installimises midagi keerulist.

  1. VÔtame vastu litsentsilepingu
    OpenLinux SIM7600E-H moodulite koostisosana
  2. NĂ€idake installikausta
    OpenLinux SIM7600E-H moodulite koostisosana
  3. Vajalikke komponente jÀtame muutmata
    OpenLinux SIM7600E-H moodulite koostisosana
  4. JĂ€tame nii nagu on
    OpenLinux SIM7600E-H moodulite koostisosana
  5. MĂ”ned korda „Next”, „Install” ja tegelikult kĂ”ik
    OpenLinux SIM7600E-H moodulite koostisosana

Cygwini installimine

Edasi vajatakse arendamiseks komplekti raamatukogusid ja utiliite, mille pakub Cygwin. Siin on kÔik lihtne, Cygwini viimase versiooni saab tasuta alla laadida projekti ametlikult veebilehelt, artikli kirjutamise ajal oli saadaval versioon 3.1.5, mida me kasutasime materjali ettevalmistamisel.

Cygwini installimises pole midagi keerulist, ainus, mida tuleb valida – peegel, millelt installiprogramm laeb vajalikud failid, valige ĂŒkskĂ”ik milline ja installige, samuti komplekt utiliite ja raamatukogusid, jĂ€tame kĂ”ik saadaval olevad raamatukogud ja utiliidid valituks.

Juhtarvutite installimine

PĂ€rast seda, kui moodul on ĂŒhendatud PC-ga, tuleb installida draiverid. Need saavad nĂ”uda oma jaoturilt (soovitatav). Ei soovita neid ise internetist otsida, kuna vĂ”ib kuluda palju aega seadmete konfliktide leolvasse.

OpenLinux SIM7600E-H moodulite koostisosana

Valitud portide seas nÀeme jÀrgmisi:

Windows
Linux
Kirjeldus

SimTech HS-USB Diagnostics
USB Serial
Diagnostic Interface

SimTech HS-USB NMEA
USB Serial
GPS NMEA Interface

SimTech HS-USB AT Port
USB Serial
AT port Interface

SimTech HS-USB Modem
USB Serial
Modem port Interface

SimTech HS-USB Audio
USB Serial
USB Audio Interface

SimTech HS-USB WWAN Adapter
USB Net
NDIS wwan Interface

Android Composite ADB Interface
USB ADB
Android add debug port

Nagu kindlasti olete mĂ€rganud, ei ole ekraanipildil USB ADB porti, kuna ADB port moodulis on vaikimisi suletud ja see tuleb aktiveerida, saates kĂ€su ‘AT+CUSBADB=1’ mooduli AT-porti ja taaskĂ€ivitama selle (seda saab teha kĂ€suga ‘AT+CRESET’).

KokkuvÔttes saame seadmehalduris vajaliku liidese:

OpenLinux SIM7600E-H moodulite koostisosana

Draiveritega oleme lÔpetanud, liigume ADB juurde.

ADB installimine

KĂŒlastage Android arendajate ametlikku veebilehte aadressil lingil. Ei hakka alla laadima mahukat Android Studio't, piisab meile kĂ€sureast, mis on saadaval allalaadimiseks lingilt „Laadi alla SDK Platform-Tools for Windows”.

OpenLinux SIM7600E-H moodulite koostisosana

Laadi alla ja lahti pakkida saadud arhiiv ketta C juurese.

Keskkonnamuutujad

Cygwin'i installimise jĂ€rel tuleb lisada tee Cygwin/bin/ arenduskeskkonna keskkonnamuutujatesse (Klassikaline OhjelmĂ€ntnöpan -> SĂŒsteem -> TĂ€iendavad sĂŒsteemseaded -> TĂ€iendav -> Keskkonnamuutujad -> SĂŒsteemi muutujad -> Path -> Muuda), nagu on nĂ€idatud alloleval ekraanipildil:

OpenLinux SIM7600E-H moodulite koostisosana

Samuti lisame tee alla laaditud ja vÀlja pakitud ADB arhiivi juurdiskis C.

OpenLinux SIM7600E-H moodulite koostisosana

Klikkige korduvalt OK ja taaskÀivitage arvuti.

PÀrast taaskÀivitamist saab hÔlpsasti kontrollida, kas ADB töötab Ôigesti, avades kÀsuviiba (Win+R -> cmd) ja tippides kÀsu 'adb version'. Saame umbkaudu sellise tulemuse:

OpenLinux SIM7600E-H moodulite koostisosana

Ühendame mooduli PC-ga (kui see juhtub, et see on vĂ€lja lĂŒlitatud) ja kontrollime, kas ADB nĂ€eb seda kĂ€suga 'adb devices':

OpenLinux SIM7600E-H moodulite koostisosana

Valmis, nĂŒĂŒd on mooduli ĂŒhendamise seadistamine lĂ”petatud ja me saame kĂ€ivitada shelli, et töötada mooduliga.

OpenLinux SIM7600E-H moodulite koostisosana

SDK vÀljavÔtmine ja kompileerimine

PÀrast seda, kui oleme saanud juurdepÀÀsu shellile ja saame alustada mooduliga kÀsuviiba tööd, proovime kompileerida meie esimest rakendust, mille saame laadida moodulisse.

Sellega vĂ”ivad paljudel tekkida raskusi! Kuna moodul töötab Linuxi operatsioonisĂŒsteemis, et vĂ€ltida kokkupĂ”rkeid Windowsi all koodi kompileerimisel, on parem kompileerida natiivsetes keskkondades – Linuxis.

Me ei jÀÀ detailidesse, kuidas Linuxi puudumisel ja soovi selle oma masinale installimiseks, saab selle installida virtuaalsesse. Kasutame VirtualBoxi, installime Ubuntu versiooni 20.04 (lugu kirjutamise hetkel aktuaalne versioon) ja alustame selle all tööd kompilaatorite, SDK-de jne. kanssa.

Liigume Linuxi keskkonda ja vÀljavÔtame jaotajalt saadud arhiivi.

simcom@VirtualBox:~/Desktop/OpenLinux$ sudo tar -xzf MDM9x07_OL_2U_22_V1.12_191227.tar.gz 

Liigume kausta sim_open_sdk ja lisame keskkonna:

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 

JÀÀme samasse kausta ja edasised kÀsud tÀidame seal.
Installime raamatukogu libncurses5-dev, kui see ei ole veel installitud:

simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ sudo apt-get update && sudo apt-get install libncurses5-dev -y

Python, kui see samuti ei ole installitud:

simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ sudo apt-get install python -y

ja gcc:

simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ sudo apt-get install gcc

Kompileerimine:

NĂŒĂŒd tuleb meil kompileerida mitu faili, jĂ€rjestikku tĂ€idame jĂ€rgmised kĂ€sud.

Kui kompileerimise ajal ilmub tuumaseadmise aken, valige lihtsalt Exit ja naaske konsooli, meil pole praegu tuuma konfigureerimise vajadust.

TĂ€idame:

simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ make

Kompileerime bootloaderi:

simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ make aboot

Kompileerime tuuma:

simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ make kernel_menuconfig
simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ make kernel

Kompileerime juurfailisĂŒsteemi:

simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ make rootfs

Linuxi kasutajatele on asjakohane kompileerida mooduli draiver:

simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ make kernel_module

Kompileerime demot:

simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ make demo

PĂ€rast seda ilmuvad kaustas sim_open_sdk/output mitmed uued failid:

simcom@VirtualBox:~/Desktop/OpenLinux/sim_open_sdk$ ls output/
appsboot.mbn  boot.img  demo_app  helloworld  system.img

Demo

Proovime laadida demonstraatsiooni meie moodulisse ja vaatame, mis juhtub.

Laadimine

Kaustas sim_open_sdk nĂ€eme faili demo_app. Viime selle C: juure ja ĂŒhendame PC, kuhu moodul on ĂŒhendatud. SeejĂ€rel kĂ€ivitame Windowsi kĂ€suviiba (Win+R -> cmd) ja sisestame:

C:>adb push C:demo_app /data/

Konsool teatab meile:

C:demo_app: 1 file pushed, 0 skipped. 151.4 MB/s (838900 bytes in 0.005s)

See tĂ€hendab, et fail saadeti moodulile edukalt ja meil jÀÀb vaid see kĂ€ivitada. Ärme viivita.

TĂ€idame:

C:>adb shell

Laadime alla faili Ôigused:

/ # cdhmod 777 /data/demo_app

Ja kÀivitame:

/ # /data/demo_app

Samas konsoolis teatab moodul meile jÀrgmist:

SDK_VER : SIM_SDK_VER_20191205
DEMO_VER: SIM_SDK_VER_20191205

Palun valige testimiseks valik allpool olevate punktide hulgast.

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
Valik >   

Vaadake mooduli IMEI-d, sisestame 7 (komandireĆŸiimi sisenemine) ja seejĂ€rel 5:

Palun vali testimiseks valik allolevatest toodud valikutest.

1. WIFI                       2. KÕNE
3. AndmekÔne                4. SMS
5. WDS(APN)                 6. NAS
7. AT                         8. OTA
9. TTS                        10. GPIO
11. GPS                       12. Bluetooth
13. TCP/UDP                  14. Taimer
15. ADC                       16. I2C
17. UIM(SimCard)             18. DMS(IMEI,MEID)
19. UART                      20. SPI
21. Versioon                  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. VĂ€lju
Valik > 7

Palun vali testimiseks valik allolevatest toodud valikutest.

1. saada mooduli versioon        2. saada CSQ
3. saada CREG                    4. saada ICCID
5. saada IMEI                    6. saada CIMI
99. tagasi
Valik > 5
IMEI: 867584030090489

Palun vali testimiseks valik allolevatest toodud valikutest.

1. saada mooduli versioon        2. saada CSQ
3. saada CREG                    4. saada ICCID
5. saada IMEI                    6. saada CIMI
99. tagasi
Valik >

Nii nÀeme mooduli IMEI-d.

KokkuvÔtteks

Loodan, et suutsime anda ĂŒldise ĂŒlevaate, kuidas mooduliga alustada. JĂ€rgmistes artiklites vaatleme lĂ€hemalt SIM7600E-H platvormi pakutavaid vĂ”imalusi ja seda, kuidas saab kaugelt oma rakendust moodulis uuendada.

KĂŒsin, et esitage kĂŒsimusi kommentaarides ning mĂ€rkige, millist aspekti mooduli vĂ”imalustest tuleks kajastada jĂ€rgmistes artiklites.

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster